Separate stable agent identity from mutable presentation - #136
Conversation
agent-session-id: dev3.cos-fr-relay agent-tool: Codex agent-tool-version: 0.145.0 agent-model: gpt-5.6-sol agent-runtime-profile: /nix/store/qlk5xbdfmj5nn1q145j0fx73f2pmdjj7-coding-agent-runtime-profile/share/coding-agents/profile.json agent-skills-manifest: /nix/store/2km8dbiyv3wc484l1hd8n2lh65121qvq-agent-skills-corpus/share/agent-skills/manifest.json tooling-profile: dotfiles@unknown-dirty
|
Review result for exact head The approved core direction is narrower: the existing positional/ Six blockers remain:
Please converge as three bounded slices:
Do not mark PR136 ready or request Nathan review until slice A is small, internally consistent, source-linked, and fully green. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: dcf77b758a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
agent-session-id: dev3.cos-fr-relay agent-tool: Codex agent-tool-version: 0.145.0 agent-model: gpt-5.6-sol agent-runtime-profile: /nix/store/qlk5xbdfmj5nn1q145j0fx73f2pmdjj7-coding-agent-runtime-profile/share/coding-agents/profile.json agent-skills-manifest: /nix/store/2km8dbiyv3wc484l1hd8n2lh65121qvq-agent-skills-corpus/share/agent-skills/manifest.json tooling-profile: dotfiles@unknown-dirty
|
Addressed at Triage of the six blockers:
Current proof after the fixes on the capped ARM builder:
There were no inline review threads to resolve. The architectural Discuss items remain visible here for Nathan's decision; the concrete fixes and follow-up gates are recorded in the PR body. |
agent-session-id: dev3.cos-fr-relay agent-tool: Codex agent-tool-version: 0.145.0 agent-model: gpt-5.6-sol agent-runtime-profile: /nix/store/qlk5xbdfmj5nn1q145j0fx73f2pmdjj7-coding-agent-runtime-profile/share/coding-agents/profile.json agent-skills-manifest: /nix/store/2km8dbiyv3wc484l1hd8n2lh65121qvq-agent-skills-corpus/share/agent-skills/manifest.json tooling-profile: dotfiles@unknown-dirty
agent-session-id: dev3.cos-fr-relay agent-tool: Codex agent-tool-version: 0.145.0 agent-model: gpt-5.6-sol agent-runtime-profile: /nix/store/qlk5xbdfmj5nn1q145j0fx73f2pmdjj7-coding-agent-runtime-profile/share/coding-agents/profile.json agent-skills-manifest: /nix/store/2km8dbiyv3wc484l1hd8n2lh65121qvq-agent-skills-corpus/share/agent-skills/manifest.json tooling-profile: dotfiles@unknown-dirty
agent-session-id: dev3.cos-fr-relay agent-tool: Codex agent-tool-version: 0.145.0 agent-model: gpt-5.6-sol agent-runtime-profile: /nix/store/qlk5xbdfmj5nn1q145j0fx73f2pmdjj7-coding-agent-runtime-profile/share/coding-agents/profile.json agent-skills-manifest: /nix/store/2km8dbiyv3wc484l1hd8n2lh65121qvq-agent-skills-corpus/share/agent-skills/manifest.json tooling-profile: dotfiles@unknown-dirty
|
Follow-up correction to blocker 6 at exact head The black-box eval caught that removing the entire message-routing change also restored an older infallible send fallback. In a populated catalog, The correction does not restore the review-rejected
Proof against PTY
The PR remains draft and the prior inline threads remain resolved. |
HOLD — exact review REDReviewed exact head The three prior code defects are fixed: positional identity without children, compact inline field-clear separator handling, and post-create file mode under restrictive umask. Their review threads are resolved. Merge remains blocked:
Please return PR #136 to draft. Keep it unmerged and undeployed, and keep this exact head outside Nathan's review TODO until these blockers are resolved. |
|
Addressed the actionable proof gap at exact head Fix - owner verification: the repository's exact owner gate now passes without exclusions:
Discuss - scope and VRS acceptance: the 29-file end-to-end scope, draft VRS decision, Follow-up gate - Nix provenance: downstream Nix emitter support is now pending, but compatible binaries and the marker must still deploy as one gated cohort before authoring is activated. This PR does not claim deployed provenance today. Discuss - PTY metadata boundary: all owned PTYs retain the stable actor and optional description tags, while only the primary task receives the native display name. The conflict with PR #80's canonical-PTY-only identity boundary remains visible for explicit acceptance. Follow-up gate - dependency: PTY #142 is independently owner-green and ready for review at Per the explicit owner direction, this PR remains ready for review. It is not merge-ready or deployable: merge/deployment remain held on Nathan's bounded VRS/tag acceptance, the PTY dependency landing, and the downstream provenance/deployment gate. The exact head stays outside Nathan's review TODO until those design gates are accepted. There are no new unresolved inline threads; the architectural Discuss items remain open in this conversation. |
|
Nathan likes this direction and wants it to advance. CoS reviewed exact head |
# Conflicts: # flake.lock # flake.nix # tests/nomad_survival.rs
|
@codex review Please adversarially review exact successor |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6c95a74bd1
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
agent-session-id: dev3.dotfiles-cos-misc-issue-1329-upstream agent-tool: Codex agent-tool-version: 0.145.0 agent-model: gpt-5.6-sol agent-runtime-profile: /nix/store/qlk5xbdfmj5nn1q145j0fx73f2pmdjj7-coding-agent-runtime-profile/share/coding-agents/profile.json agent-skills-manifest: /nix/store/2km8dbiyv3wc484l1hd8n2lh65121qvq-agent-skills-corpus/share/agent-skills/manifest.json tooling-profile: dotfiles@unknown-dirty
|
@codex review Please re-review exact successor |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4061a1d9d5
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
agent-session-id: dev3.dotfiles-cos-misc-issue-1329-upstream agent-tool: Codex agent-tool-version: 0.145.0 agent-model: gpt-5.6-sol agent-runtime-profile: /nix/store/qlk5xbdfmj5nn1q145j0fx73f2pmdjj7-coding-agent-runtime-profile/share/coding-agents/profile.json agent-skills-manifest: /nix/store/2km8dbiyv3wc484l1hd8n2lh65121qvq-agent-skills-corpus/share/agent-skills/manifest.json tooling-profile: dotfiles@unknown-dirty
|
@codex review Please adversarially review exact successor |
|
@myobie exact successor
Please review/approve this exact VRS head when the final adversarial pass is clean. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 624550cbb3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
agent-session-id: dev3.dotfiles-cos-misc-issue-1329-upstream agent-tool: Codex agent-tool-version: 0.145.0 agent-model: gpt-5.6-sol agent-runtime-profile: /nix/store/qlk5xbdfmj5nn1q145j0fx73f2pmdjj7-coding-agent-runtime-profile/share/coding-agents/profile.json agent-skills-manifest: /nix/store/2km8dbiyv3wc484l1hd8n2lh65121qvq-agent-skills-corpus/share/agent-skills/manifest.json tooling-profile: dotfiles@unknown-dirty
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: aad301e9a7
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
agent-session-id: dev3.dotfiles-cos-misc-issue-1329-upstream agent-tool: Codex agent-tool-version: 0.145.0 agent-model: gpt-5.6-sol agent-runtime-profile: /nix/store/qlk5xbdfmj5nn1q145j0fx73f2pmdjj7-coding-agent-runtime-profile/share/coding-agents/profile.json agent-skills-manifest: /nix/store/2km8dbiyv3wc484l1hd8n2lh65121qvq-agent-skills-corpus/share/agent-skills/manifest.json tooling-profile: dotfiles@unknown-dirty
|
@codex review Please perform the final adversarial review of exact head |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9c4c18e619
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
agent-session-id: dev3.dotfiles-cos-misc-issue-1329-upstream agent-tool: Codex agent-tool-version: 0.145.0 agent-model: gpt-5.6-sol agent-runtime-profile: /nix/store/qlk5xbdfmj5nn1q145j0fx73f2pmdjj7-coding-agent-runtime-profile/share/coding-agents/profile.json agent-skills-manifest: /nix/store/2km8dbiyv3wc484l1hd8n2lh65121qvq-agent-skills-corpus/share/agent-skills/manifest.json tooling-profile: dotfiles@unknown-dirty
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Lines 361 to 364 in 391a684
When --root is a canonical-agent eval catalog, discovery finds valid agent specs, but the requester is intentionally external and undeclared. The canonical fixtures send completion to requester (for example, tests/eval_run_e2e.rs:322 and :510), so this condition now makes resolve_inbox reject those sends instead of writing <root>/requester/inbox; because the scripts suppress the command error, wait_done times out and the canonical completion judge fails. Keep display-name routing rejected, but retain an explicit flat-bus route for external eval requesters.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
agent-session-id: dev3.dotfiles-cos-misc-issue-1329-upstream agent-tool: Codex agent-tool-version: 0.145.0 agent-model: gpt-5.6-sol agent-runtime-profile: /nix/store/qlk5xbdfmj5nn1q145j0fx73f2pmdjj7-coding-agent-runtime-profile/share/coding-agents/profile.json agent-skills-manifest: /nix/store/2km8dbiyv3wc484l1hd8n2lh65121qvq-agent-skills-corpus/share/agent-skills/manifest.json tooling-profile: dotfiles@unknown-dirty
agent-session-id: dev3.dotfiles-cos-misc-issue-1329-upstream agent-tool: Codex agent-tool-version: 0.145.0 agent-model: gpt-5.6-sol agent-runtime-profile: /nix/store/qlk5xbdfmj5nn1q145j0fx73f2pmdjj7-coding-agent-runtime-profile/share/coding-agents/profile.json agent-skills-manifest: /nix/store/2km8dbiyv3wc484l1hd8n2lh65121qvq-agent-skills-corpus/share/agent-skills/manifest.json tooling-profile: dotfiles@unknown-dirty
agent-session-id: dev3.dotfiles-cos-misc-issue-1329-upstream agent-tool: Codex agent-tool-version: 0.145.0 agent-model: gpt-5.6-sol agent-runtime-profile: /nix/store/qlk5xbdfmj5nn1q145j0fx73f2pmdjj7-coding-agent-runtime-profile/share/coding-agents/profile.json agent-skills-manifest: /nix/store/2km8dbiyv3wc484l1hd8n2lh65121qvq-agent-skills-corpus/share/agent-skills/manifest.json tooling-profile: dotfiles@unknown-dirty
|
Addressed the exact-head Codex P1 and two additional independent-audit P1s in three narrow commits:
Local exact-head proof: 206/206 library tests; 33/33 reconcile tests; 28/28 run tests; canonical eval repro green; live PTY continuity green; |
|
@codex review Please perform the final adversarial review of exact head
Exact-head GitHub Nix run 251 is green; owner unit selection is 206/206; reconcile/run integrations are 33/33 and 28/28; canonical eval and live no-restart PTY regressions are green; no inline thread remains unresolved. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3d00dcd30f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
agent-session-id: dev3.dotfiles-cos-misc-issue-1329-upstream agent-tool: Codex agent-tool-version: 0.145.0 agent-model: gpt-5.6-sol agent-runtime-profile: /nix/store/qlk5xbdfmj5nn1q145j0fx73f2pmdjj7-coding-agent-runtime-profile/share/coding-agents/profile.json agent-skills-manifest: /nix/store/2km8dbiyv3wc484l1hd8n2lh65121qvq-agent-skills-corpus/share/agent-skills/manifest.json tooling-profile: dotfiles@unknown-dirty
|
@codex review Please adversarially review exact head |
There was a problem hiding this comment.
💡 Codex Review
Line 262 in 3187b79
When host evalhost admits valid identities worker and evalhost.worker, inserting the latter's bare identity overwrites the former's bus-ID route. A kickoff addressed to bare worker still resolves uniquely to the first spec, but canonical_sup becomes evalhost.worker, so admitted_route delivers the kickoff and reads completion from the second agent's inbox. Strict validation only rejects duplicate bus IDs, not this cross-spelling collision, so reject duplicate keys here instead of silently replacing an admitted route.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
agent-session-id: dev3.dotfiles-cos-misc-issue-1329-upstream agent-tool: Codex agent-tool-version: 0.145.0 agent-model: gpt-5.6-sol agent-runtime-profile: /nix/store/qlk5xbdfmj5nn1q145j0fx73f2pmdjj7-coding-agent-runtime-profile/share/coding-agents/profile.json agent-skills-manifest: /nix/store/2km8dbiyv3wc484l1hd8n2lh65121qvq-agent-skills-corpus/share/agent-skills/manifest.json tooling-profile: dotfiles@unknown-dirty
|
Addressed the exact-head route-spelling collision in Canonical route admission now uses no-overwrite map entries for both each bus ID and bare identity, so a cross-spelling collision fails before any task spawns instead of silently redirecting kickoff/completion. The new fail-closed e2e case admits identities Local proof on |
|
@codex review Please perform the final adversarial review of exact head GitHub Nix run #253 passed on this exact head. Local exact-head gates are 206/206 owner tests, 15/15 eval e2e tests, 33/33 reconcile, 28/28 run, workspace/all-target check, and diff hygiene. No inline thread remains unresolved. |
|
Codex Review: Didn't find any major issues. Breezy! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
|
@myobie Final acceptance request for exact head This successor preserves the accepted identity/presentation design and resolves the semantic merge against current |
Problem
Agent Spec overloads one identity string as both the durable automation key and the human label. Renaming that label risks routing, state, task, and process continuity. The sibling
namefile also creates a competing source of truth.Contract
identityas the sole stable automation ID. There is no identity rename or compatibility alias.nameanddescriptionpresentation fields. They are non-unique and never routing, selection, authorization, state, or lifecycle aliases.namefile without a read/write shim.st2 renameandst2 describe; JSON, TOML, and explicitly Nix-owned declarations refuse mutation.agentPTY receives nativedisplayName. Presentation failure never authorizes lifecycle action.Current integration
Current exact head:
70729a34823487e31adfeaee78581e729aa5389c.Merge commit
6c95a74bd16a21e4aff732eb8b6721d4083336c2has parents:79b0e483d1a2f324386ac57498ca45d78157f4c7;mainat integration time,8ca0f3653aae6ca6ebcb880f82e9296016df6e08.The conflict resolution preserves both independent contracts added to
tests/nomad_survival.rs: managed color-environment persistence frommain, and presentation metadata continuity from this PR.The packaged PTY dependency pins merged PR #142 commit
504ac7332895fe1fa3767b530dcd99f091f56cda. Its source tree is identical to the previously reviewed PR head0deb3f0.Fifteen adversarial findings are fixed with regressions:
4061a1d: terminate and reap the metadata child after early stdin failure.624550c: keep direct-child reaping within the existing deadline and hand off any remaining wait.afb40bb: retain resolved host and source identity separately, so dotted hosts are never parsed out of a bus ID.d758dd1: put metadata stdin writing under the existing child deadline.47d205f: use caller-thread nonblocking writes so an escaped undrained reader cannot retain a writer thread or payload.ffffb1f: enforce the shared deadline before every nonblocking write attempt, including continuously progressing writes.aad301e: preserve the literal st2-owned presentation snapshot at initial spawn while expanding ordinary task tags.9c4c18e: clear dedicated presentation fields byte-preservingly in CRLF declarations.391a684: suppress a PTY display name equal to its lifecycle ID at spawn.222cab5: preserve a pre-provisioned external eval requester route without restoring presentation-name routing.1cac690: keep lifecycle-equal display names suppressed during later live reconciliation.3d00dcd: filter exact observed metadata, run lifecycle work first, and visibly bound each presentation-repair batch.3187b79: reject external requesters that collide with admitted presentation names before spawn.3187b79: rotate the bounded presentation-repair batch so persistent early failures cannot starve later drift.70729a3: reject cross-spelling collisions between admitted bus IDs and bare identities before spawn.The final undrained-reader regression uses a direct kernel pipe, with no shell, external command, or process-lifetime dependency (
cf8adbe).Verification
cargo check --workspace --all-targetsgit diff --checkThe local full Nix gate was indeterminate before evaluation because the configured binary cache returned HTTP 522. GitHub's independent exact-head full Nix gate completed successfully. The optional repository-wide
rustfmtprobe remains red on pre-existing formatting outside this semantic merge; no formatting-only rewrite is included.Review result and remaining gate
Adversarial review has covered identity/routing separation, actor guardrails, Nix refusal, source-shape preservation, local writer serialization, symlink refusal, exact-ID PTY patching, metadata idempotence and fleet bounds, failure-to-lifecycle isolation, dotted-host identity, bounded child I/O/cleanup, PTY lifecycle/display-name separation, canonical eval requester routing, requester/presentation-name collisions, and bounded-batch fairness. Fifteen exact-head findings were fixed with regressions; no inline thread remains unresolved.
A final adversarial pass is required on
70729a3. The design is accepted in direction. The VRS decision remainsStatus: draftand explicitly requires Nathan's acceptance of the final successor head before merge. This PR remains unmerged and undeployed until that exact-head acceptance and the final adversarial pass complete.Deployment ordering
References
Refs #128.
Refs #127.
Supersedes #133 and #112.
Supersedes the presentation design in #80; remaining #80 work is runner-derived launch identity.
Depends on merged compoundingtech/pty#142.