tenant.openagents/omega
No repository description is available.
30617:7649603503856e5148d571eac2766b288a8ff1e9e35d380337a1d2b0015b4f92:omegagit clone https://openagents.com/git/tenant.openagents/omega.gitPublish the Full Auto adjuncts to admitted devices (omega#49)
Publish the Full Auto adjuncts to admitted devices (omega#49) The mobile Workroom rendered `no_host_projection` on any device, paired or not. That was never a device problem. Omega already built both adjuncts — `publish_issue31_host_snapshot` produces the `host.v1` snapshot and the `fullauto.v1` detail from live host state — and nothing ever sent them over Nostr. The durable authority existed, the mobile consumer existed, and there was no wire between them. `publish_issue31_host_adjuncts` runs in `sync_issue31_host_with` right after `project_issue31_sources`. Per active grant it asks an injected `Issue31HostProjectionSource` for the live reading, refuses a document whose `hostRef` is not the grant's or that already claims a delivery binding — the pump owns that binding, not the panel — refuses a detail whose `snapshotRef` disagrees with the snapshot beside it, and enqueues both through the existing durable private outbox so they roll back together. A `grantRef:generation -> sha256(host||detail)` digest is committed with the outbox before the flush publishes, and persisted in `DurableIssue31HostState`, so a restart neither resends forever nor records a publish that never happened. The seam into `full_auto_ui` is a closure because `full_auto_ui` already depends on `omega_effectd`; inverting it would be circular. What it publishes is honest about what it does not know. A host with no reading publishes nothing at all and the phone says `no_host_projection`. A host that is running nothing publishes an empty view, which is a different sentence and is asserted as such on both sides. Provider connection handoffs are always empty because the daemon exposes no handoff records — omega#49's handoff journey has a contract and a wire and no host data behind it, and the phone will render zero handoffs honestly until that changes. Proved on deployed `wss://relay.openagents.com` by running the shipped pump with a real `WebSocketRelayAdapter` and a real pairing chain. Reverting the pump call fails that test; so do reverting the `hostRef` check, the emission digest, and the `snapshotRef` equality check. Also fixes a stale assertion in `agent_ui` that predates this work: 9c00b53658 renamed the user-facing worktree message from Zed to Omega and left the test asserting the old string. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- Commit
1fe77eef8c8f51180194c6dc3b80e7b48b856fa0- Author
- AtlantisPleb
- Authored
- Parents
460e04e57e0c- Diffstat
- +1217 −25 across 16 files