Agent Native
Operate caller-selected agent sessions as explicit roles without turning the
runtime into AgentOps lifecycle authority.
For judgment, default to a fresh context in the author's model family.
Cross-model Validate, mixed Council and dueling model perspectives are explicit
caller selections. Follow
references/model-dispatch.md: the working
session is the controller; check the explicitly selected adapter at runtime;
no factory is required and Agent Mail is never the judgment path. The recipe
owns host authorization, finite input/output, timeout and cleanup requirements.
Role requests declare authority; actual native runtime/OS filesystem and egress
controls must enforce it. A prompt, worktree, chmod or unrestricted same-user
process does not establish isolation. Observe synthetic canary denials before
restricted-source work; unavailable protection remains unavailable.
When a worker looks stuck, score interventions by evidence and reversibility
before acting: observe more (free, fully reversible), then nudge, then replace
the worker, then restart the runtime — escalate only when observable state,
not impatience, rules out the cheaper step. Stop the observe-nudge cycle once
the worker reaches a terminal status or the caller's observation window ends;
past that point further intervention manufactures noise, not evidence.
Named failure mode — prompt-send optimism: treating a successfully
delivered prompt as a working worker; delivery proves transport, not
engagement.
Anti-pattern: restarting an unresponsive worker as the first move. Corrective:
capture its observable state first — a restart destroys the evidence of why it
stalled, and rescue is usually cheaper than rerun.
Roles
- Orchestrator: passes explicit packets and reports runtime facts.
- Implementer: may modify only its packet's declared subject.
- Validator: receives exact candidate content in a fresh, read-only context.
- Scribe: records runtime evidence without judging acceptance.
Contract
- Require caller intent, role, workspace, authorized source/output scope and
evidence destination before starting a worker. Pass source-store/project/work
identity and permitted intent locators before execution can fail. Record this
dispatch association in caller-owned native comments/metadata or runtime
facts, with actual worker session/context IDs explicitly unknown until
observed; a requested ID is not an observed ID. This adds no AO packet schema.
- Capture observed native runtime/session/context identity at startup, before
substantive work and independently of final handoff. Return the observation
through the caller-owned native recording channel with its provenance and
permitted source locator. Preserve launch failures and unknowns if startup
never becomes observable. Follow
session associations
for separate parent/resume links, supported multi-work spans and frozen source
bounds. A controller is not necessarily a native parent; every requested
child and resumed execution needs its own observed association. If recording
fails, report the gap; do not claim crash recovery from prompt delivery alone.
Prove runtime readiness and engagement from observable state; a successful
prompt send is not proof of work.
- Keep concurrent writers disjoint and isolated. Runtime coordination is not a
claim, lease, queue, or completion state in AgentOps.
- Record provider state, transcript references, artifacts, and terminal status.
- Return runtime evidence to the caller. Do not convert provider retries,
reconnects, idle states, or failures into Plan, Candidate, or verdict state.
- A validator session may supply judgment to Validate, but only Validate writes
verdict.v2. The adapter cannot select AgentOps semantics, issue a binding verdict, or turn factory completion into delivery or validation proof.
NTM, Codex exec, native processes, Agent Mail, and Gas City are replaceable
adapters. Use them only when the caller selected that execution shape. A
single local agent pays no factory coordination cost. Model identity, when
recorded, is a declared runtime fact like context identity — see
references/model-dispatch.md.
Native judgment receipts defines exact private
receipt references and the independent profile/subject/acceptance checks for
caller-required model diversity. Missing native identity never satisfies a leg.
1---
2name: agent-native
3description: 'Operate explicit orchestrator, implementer, validator, and scribe roles through a caller-selected agent runtime. Triggers: "agent-native factory", "role-shaped agent panes", "persistent workers".'
4practices: [team-topologies, design-by-contract]
5hexagonal_role: supporting
6consumes: [explicit-role-packets]
7produces: [runtime-evidence, worker-handoff]
8context_rel:
9- kind: customer-of
10 with: ntm
11- kind: customer-of
12 with: codex-exec
13- kind: customer-of
14 with: agent-mail
15skill_api_version: 1
16user-invocable: true
17metadata:
18 tier: meta
19 dependencies: []
20 capabilities: [role_dispatch, observe_workers, handoff]
21 effects: [manage_runtime_sessions]
22 canonical_status: canonical
23 disposition: keep_optional_adapter
24output_contract: runtime evidence for explicit packets
25---
26
27# Agent Native
28
29Operate caller-selected agent sessions as explicit roles without turning the
30runtime into AgentOps lifecycle authority.
31
32For judgment, default to a fresh context in the author's model family.
33Cross-model Validate, mixed Council and dueling model perspectives are explicit
34caller selections. Follow
35[references/model-dispatch.md](references/model-dispatch.md): the working
36session is the controller; check the explicitly selected adapter at runtime;
37no factory is required and Agent Mail is never the judgment path. The recipe
38owns host authorization, finite input/output, timeout and cleanup requirements.
39
40Role requests declare authority; actual native runtime/OS filesystem and egress
41controls must enforce it. A prompt, worktree, chmod or unrestricted same-user
42process does not establish isolation. Observe synthetic canary denials before
43restricted-source work; unavailable protection remains unavailable.
44
45When a worker looks stuck, score interventions by evidence and reversibility
46before acting: observe more (free, fully reversible), then nudge, then replace
47the worker, then restart the runtime — escalate only when observable state,
48not impatience, rules out the cheaper step. Stop the observe-nudge cycle once
49the worker reaches a terminal status or the caller's observation window ends;
50past that point further intervention manufactures noise, not evidence.
51
52Named failure mode — **prompt-send optimism**: treating a successfully
53delivered prompt as a working worker; delivery proves transport, not
54engagement.
55
56Anti-pattern: restarting an unresponsive worker as the first move. Corrective:
57capture its observable state first — a restart destroys the evidence of why it
58stalled, and rescue is usually cheaper than rerun.
59
60## Roles
61
62- **Orchestrator:** passes explicit packets and reports runtime facts.
63- **Implementer:** may modify only its packet's declared subject.
64- **Validator:** receives exact candidate content in a fresh, read-only context.
65- **Scribe:** records runtime evidence without judging acceptance.
66
67## Contract
68
691. Require caller intent, role, workspace, authorized source/output scope and
70 evidence destination before starting a worker. Pass source-store/project/work
71 identity and permitted intent locators before execution can fail. Record this
72 dispatch association in caller-owned native comments/metadata or runtime
73 facts, with actual worker session/context IDs explicitly unknown until
74 observed; a requested ID is not an observed ID. This adds no AO packet schema.
752. Capture observed native runtime/session/context identity at startup, before
76 substantive work and independently of final handoff. Return the observation
77 through the caller-owned native recording channel with its provenance and
78 permitted source locator. Preserve launch failures and unknowns if startup
79 never becomes observable. Follow
80 [session associations](../cass/references/SESSION_FORMATS.md#work-to-session-associations)
81 for separate parent/resume links, supported multi-work spans and frozen source
82 bounds. A controller is not necessarily a native parent; every requested
83 child and resumed execution needs its own observed association. If recording
84 fails, report the gap; do not claim crash recovery from prompt delivery alone.
85 Prove runtime readiness and engagement from observable state; a successful
86 prompt send is not proof of work.
873. Keep concurrent writers disjoint and isolated. Runtime coordination is not a
88 claim, lease, queue, or completion state in AgentOps.
894. Record provider state, transcript references, artifacts, and terminal status.
905. Return runtime evidence to the caller. Do not convert provider retries,
91 reconnects, idle states, or failures into Plan, Candidate, or verdict state.
926. A validator session may supply judgment to Validate, but only Validate writes
93 `verdict.v2`. The adapter cannot select AgentOps semantics, issue a binding verdict, or turn factory completion into delivery or validation proof.
94
95NTM, Codex exec, native processes, Agent Mail, and Gas City are replaceable
96adapters. Use them only when the caller selected that execution shape. A
97single local agent pays no factory coordination cost. Model identity, when
98recorded, is a declared runtime fact like context identity — see
99[references/model-dispatch.md](references/model-dispatch.md).
100
101[Native judgment receipts](references/judgment-receipts.md) defines exact private
102receipt references and the independent profile/subject/acceptance checks for
103caller-required model diversity. Missing native identity never satisfies a leg.