Release 1.37.0
News ·
archied — A request is attributed to the identity that made it
- A browser can sign in, and an action taken through it records the person. The dashboard validates a
provider-issued token, resolves it to an identity, and attaches it to the request; the task-action record
then names the actor.
Authenticateand the sign-in callback share one resolver, so a browser sign-in cannot be accepted on terms a presented token would be refused on. - archie issues no session. The callback stores the provider’s own token in an HttpOnly cookie and every later request re-verifies it, so nothing archie holds can outlive the provider’s decision and there is no session table to expire, revoke or get wrong.
- The event kind describes the actor. A person’s approval records
human_approvedas that person; an agent’s recordsagent_approved; an action with no authorising principal recordstask_approvedwith the attribution fields empty. Nothing is credited to an identity that did not act, and an unattributed action is recorded as unattributed rather than guessed. - The acting identity is derived from the presented credential and never from a request field: a body
carrying
actor,actor_id,identityand anX-Archie-Actorheader still cannot choose it.
archied — A host install now works, and an update refuses a host it cannot keep consistent
install.shwrites and enables all five host units; previously it seeded onlyarchied.service, so a fresh host ran one service of five and an operator applied the rest by hand from a runbook. The runbook is a description again: it names the units and points atsystemctl --user cat.- Every host binary reports its version, and the updater reads all of them before it can report “nothing to install”. A host whose binaries disagree is refused, naming each one: a newer messaging binary beside an older state store crash-loops against a service the older store does not serve, and that install previously looked healthy from the updater’s point of view.
- The packaged, installer and updater command lists are pinned by a test, so a service added to one and not the others fails the gate instead of shipping a partial install.
archied — A release image can be traced to a commit
- The publish step derives the commit by dereferencing the ref rather than reading
github.sha, because every release tag in this repository is annotated and a tag’s object id is not a commit. An immutablesha-<commit>tag is published alongside:latest, and a build with no release tag is stampeddev+<short sha>rather than a baredevthat identified nothing.
archied — Curator definitions are data, not a second registry
- Curator definitions may come from configuration or code and run through one engine into the existing registry — no parallel authority and no second config reader. A definition declares its tools, and an unknown tool name fails rather than widening the set silently.