Skip to content

Separate stable agent identity from mutable presentation - #133

Closed
schickling-assistant wants to merge 2 commits into
mainfrom
schickling-assistant/2026-07-31-2026-07-31-agent-presentation-clean
Closed

Separate stable agent identity from mutable presentation#133
schickling-assistant wants to merge 2 commits into
mainfrom
schickling-assistant/2026-07-31-2026-07-31-agent-presentation-clean

Conversation

@schickling-assistant

@schickling-assistant schickling-assistant commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Summary

  • preserve the positional Agent Spec identity as the sole stable routing, authorization, task, state, and lifecycle key
  • add optional bounded name and description declaration fields across KDL, TOML, JSON, roster output, and compact eval lowering
  • add constrained source-preserving st2 rename / st2 describe KDL authoring with catalog locking, stale-source detection, Nix refusal, and self/descendant admission
  • reconcile presentation in place through exact-ID atomic PTY metadata patches; primary names map to native displayName, while every managed PTY gets the versioned actor/description tag snapshot
  • make catalog-derived message routing accept declared stable Agent Spec identities only, so a mutable display name cannot create or address undeclared catalog state
  • keep explicit --root as the low-level eval transport boundary: declared identities resolve to native resource boxes first, while an absent exact id addresses a flat mailbox such as the eval-owned requester
  • pin the PTY prerequisite to compoundingtech/pty@4c67fb51 (draft feat: add transactional catalog bootstrap #142, stacked on duplicate-display draft fix(eval): scope external requester inbox authority #139)

Stable-ID rename and compatibility aliases are intentionally absent. The retired sibling name file is ignored. Current activity is intentionally outside this schema.

Refs #128.
Refs #127.
Depends on compoundingtech/pty#142 and compoundingtech/pty#139.

Verification

  • cargo check --workspace --tests
  • exact schema, authoring, CLI, reconcile, spawn, metadata-payload, and routing-mode tests
  • eval-found negative: catalog-backed send to Shared Worker is rejected before creating a flat directory; send/list by stable id still uses the native declared inbox
  • explicit-root eval continuity: declared canonical inboxes and the flat requester mailbox both work without display-name resolution
  • live exact-PTY continuity: set/change/clear preserved stable ID, PID, and createdAt; effective changes emitted one atomic event, a no-op emitted none, and retirement still tore down the task
  • focused follow-up suites: message_cli 7/7, message 5/5, canonical-agent eval filter 6/6 across the initial run plus exact retry of one post-completion PTY-list timeout
  • CARGO_BUILD_JOBS=4 cargo test --all-targets --all-features -- --test-threads=4 with PATH pinned to PTY 4c67fb51: green
  • git diff --check
  • zero deliberate retired-activity-field surface in schema/API/CLI/roster/tags/VRS

devenv tasks run check:quick is unavailable because this repository has no devenv.nix. The README clippy command remains inherited-red with 161 pre-existing warnings promoted to errors; the one new warning found in this change was fixed. The flake explicitly does not gate clippy or rustfmt.

The VRS decision remains draft and requires Nathan's approval.

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
@schickling-assistant

Copy link
Copy Markdown
Contributor Author

Superseded by #136, which is restacked on current main, pins final PTY #142 head 706e4f5, closes the validation and lifecycle-proof gaps, and preserves the accepted narrow authoring-lock design.

@schickling schickling added area:agent-spec Agent Spec format, parsing, and the agent-spec crate · Set: manual area:identity Agent, session, run, and launch-generation identity · Set: manual area:pty PTY sessions and terminal integration · Set: manual origin:agent Filed or primarily produced by an AI agent · Set: manual type:feature New user-visible or system capability · Set: manual labels Aug 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:agent-spec Agent Spec format, parsing, and the agent-spec crate · Set: manual area:identity Agent, session, run, and launch-generation identity · Set: manual area:pty PTY sessions and terminal integration · Set: manual origin:agent Filed or primarily produced by an AI agent · Set: manual type:feature New user-visible or system capability · Set: manual

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants