feat: add durable role text over local and WebSocket connections #66
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/c6a4b291-durable-conversations"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Roles now exchange durable text through one SQLite queue/history and shared delivery implementation. Local and WebSocket adapters share ordering, deduplication and permissions; only acknowledgements confirm acceptance. Replies are ordinary messages; forwarding selected text to a human is an explicit, locally authorized CLI action. The old ask/answer path is removed, preserving its historical human messages.
Six tables reuse Kysely and existing sealed-secret handling. A third run subject reuses the runtime host. Settings shares props-fed presentations with phone/desktop stories.
agent connectionsdiscovers configured IDs/destinations and the caller's private send grants.Evidence
d438a759: 129 files / 862 tests, docs, deployment-tool checks and both server/agent image builds. Current targeted delivery and runtime regressions pass, including lost text/acks, file-backed restart, independent ordered pairs, token renewal, revocation, live destinations, safe pairing retry, real runtime-failure recovery and the full human → PA → peer → PA → explicit local human flow over both adapters. The peer history excludes the local human conversation ID.Merge danger
Door: one-way
Migration 037 adds six tables and rebuilds
runsfor a third subject, preserving existing records. Destructive downgrade is refused. Morten approved migration/socket/release deployment and personally squash merged this PR. v0.49.0 is now deployed at972bb75athrough apps0e5f8a41. The socket uses the existing private TLS gateway atwss://mission-control.olsen.cloud/api/agent-connections/socket. Security review found zero issues; the approved customized instruction is preserved and its three contexts rendered successfully live.Blast radius: app
Task/human runs share the migrated table and runtime host. Durable acceptance is separate from subsequent agent work.
Rollback and verification
d438a759: Standards 0 findings, Spec 0 findings; 40 independent focused tests passed. Morten approved the customized organizational instruction; its live hash matches. Morten must still approve migration 037 and the authenticated socket route atwss://mission-control.olsen.cloud/api/agent-connections/socket, plus stable release publication that triggers deployment. No Designer sign-off was requested.Rollout evidence
0e5f8a41. Actual server digestf09bbb2a…, new agent digestdf6207e5…, server1/1 ready, same Bound PVC. Every pre-migration captured record ID remains; schema037 and zero FK violations.Security review at
d438a759against base0a548350. Standards: no blocking or nonblocking findings; checked human-owner setup/configuration ACLs, secret sealing/rekey, serializers, image/privilege/RBAC scope and green Forgejo statuses for PR pipeline 466 and push 465. Spec: no blocking or nonblocking findings; traced invitation single use/exact replay, key pinning, mutual JWT purpose/issuer/audience/CID/expiry, authenticated rejection and permanent revocation, private grants/receiver exposure, bounded work, durable deduplication/ordered retry, local sponsor/run-token selection and explicit authorized human forwarding. Independently ran 40 tests in 7 files: all passed, including real sockets, both delivery contracts, restarts, runtime flow, API ACLs and migration preservation; diff check passed. Paired installation is the trust boundary for remote role authorship; selected text can invoke the exposed local role's existing authority. Live deployment remains 0.48.0; feature production behavior and native sharing unverified. Morten must still approve migration 037/socket exposure, and organizational compatibility blocker 65c2d692 remains. Software Engineer owns rollout and must verify approved endpoint/revision, pairing/text/forwarding/revocation live. Recovery must retain schema/registry/third-subject support and all durable text; incompatible pre-037 images and destructive down are unsuitable. Not deployment approval or risk acceptance. Full evidence recorded on security review task a6d915e0. Standards: 0 findings, worst none. Spec: 0 findings, worst none.