Appearance
SystemsLab 144.0.0
Added
- Contexts can now be pinned. The home page surfaces a dedicated pinned section, the
context pinandcontext unpincommands toggle the flag, and the context detail page gains a pin button. Pinning is also exposed throughPATCH /api/v1/context/{id}via apinned: boolfield. - Contexts gained a markdown
descriptionfield, plumbed through the REST and GraphQL APIs, CLI, and frontend. Thecontext newcommand accepts--descriptionand--description-file, and a newcontext describe <id>subcommand edits an existing context's description. Submitted markdown is sanitized server-side withammonia. host listandhost showCLI commands for inspecting hosts registered in the cluster.host listsupports--name,--state,--tag, and--limitfilters along with the standard tabular output flags;host showdisplays detailed state, tags, registration time, and agent version.GET /api/v1/job/:id/:run/eventsnow supports SSE event resumption via theLast-Event-IDheader or?lastEventId=<n>query parameter (the latter for browserEventSourceclients, which cannot set the header on the initial connection). Each emitted event carries a monotonicu64ordinal in itsid:field.
Changed
- The report view and report-template editor have been restructured to use a fixed sidebar tab nav matching the rezolus metrics page, replacing the previous horizontal tab bar. The sidebar is now shown even for single-tab reports, and the editor's section cards have been replaced with collapsible
<details>blocks. - The KPI cache is now backed by a new
artifact_kpisPostgreSQL table rather than an in-memory LRU. Cached entries survive server restarts and are no longer bounded by process memory; they are automatically invalidated when the underlying artifact bytes change. - On-demand host provisioning has been folded into the main scheduler. Operators declare
[ec2.virtual_tags](and optionally[local.virtual_tags]) mapping a virtual tag to an EC2 launch template; runs carrying an unmatched virtual tag cause the scheduler to provision a host on demand and bind it to the run via IMDSv2 user-data. The standaloneAmiSchedulerservice has been removed. - The home page no longer filters out cancelled contexts client-side, so the "Cancelled" option in the status filter dropdown is now reachable.
Fixed
- When a barrier action's barrier reaches the
Cancelledstate (because another job in the experiment failed and the agent cancelled the remaining barriers), the runner now reports the job as cancelled rather than failed. GET /api/v1/job/:id/:run/eventsno longer hangs for runs that ended in theCancelled,Lost, orTimeoutstates; any terminal state now opens the event stream.- New
systemslab-agentpackage installs now create a home directory for thesystemslab-agentuser.