Skip to content

fix(agent): observe legacy owned-session settlement - #79

Merged
rynfar merged 4 commits into
pylonfrom
fix/legacy-owned-session-settlement
Sep 18, 2026
Merged

rynfar merged 4 commits into
pylonfrom
fix/legacy-owned-session-settlement

Conversation

@rynfar

@rynfar rynfar commented Sep 18, 2026 •

Copy link
Copy Markdown

A host restart can leave a capability-proved acquired receipt without a recovery handle or prior socket path. Add the frozen owned_session_settlement_observation_v1 SDK feature and read-only observeOwnedSessionSettlement API so the host can establish exact root settlement across the recorded canonical agent home's durable socket namespaces.

The observer relies on the existing registration-before-startup and descriptor-last cleanup invariant. It never launches, adopts, completes, or signals work. Existing registration, malformed/changing/nonprivate/aliased state, missing registries, unsupported platforms, and bounded-scan exhaustion refuse settlement. Results expose no paths, process identities, or session identifiers. Recoverable adoption and daemon protocol shapes remain unchanged.

Validation: npm run check passed; 60 focused tests and 22 release-recipe tests passed, including a real isolated supervisor and owned worker proving registered before cleanup and settled after exact cleanup and supervisor exit. Packaged-artifact smoke checks also exercise the new public API before and after owned cleanup. Upstream PrimeIntellect-ai#1908 was reviewed and concerns a different PID-based lease sweep. Pylon counterpart: pylon-code/pylon#649; delivery tracked in pylon-code/pylon#557.

Fixes #78.

Model: GPT-6 Astra. Harness: Codex.

Fixes #78. Add a read-only SDK proof across durable socket namespaces without claiming historical ownership.
@rynfar

rynfar commented Sep 18, 2026

Copy link
Copy Markdown
Author

Adversarial review of bfa8cea: the observer remains read-only and requires prior caller-owned contract evidence, exact canonical home, private non-aliased registration state, bounded reads, and stable file/directory identities. It never treats missing sockets or dead PIDs as authority. Malformed, changing, missing, or still-registered state fails closed. The older installed build 686c4cef0303 also persists the descriptor before releasing the startup gate and removes it after ancillary cleanup, so the legacy premise applies.

Review corrections cover FIFO blocking, descriptor replacement, public SDK feature expectations, packaged API availability, and isolation of native process tests. Settlement acceptance joins the captured supervisor exit before requiring a stable scan. The exact CI artifact and revised packaged smoke passed locally on macOS; 60 focused tests, 22 packaging tests, and npm run check passed. Pylon counterpart PrimeIntellect-ai#649 is merged; protected publication, graduation and installed acceptance remain tracked in pylon-code/pylon#557.

Maintainer authorization to review, merge, publish and update installed Nightly was explicitly provided in the task conversation. Merge only after all latest-head checks are green.

@rynfar
rynfar merged commit 72899e4 into pylon Sep 18, 2026
22 checks passed
@rynfar
rynfar deleted the fix/legacy-owned-session-settlement branch September 18, 2026 21:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support read-only settlement observation for legacy host receipts

1 participant