Merge branch 'codex/canonical-tool-output' into codex/code-mode-typed-results
This commit is contained in:
@@ -98,7 +98,7 @@ forever:
|
|||||||
exclusive -> one-call barrier
|
exclusive -> one-call barrier
|
||||||
parallel -> rolling pool, <= maxParallelToolCalls in flight; reclassify before start
|
parallel -> rolling pool, <= maxParallelToolCalls in flight; reclassify before start
|
||||||
each start -> 'tool/call' -> ordered tools/pre-execute -> concurrent tools/execute
|
each start -> 'tool/call' -> ordered tools/pre-execute -> concurrent tools/execute
|
||||||
body value -> validate/snapshot -> Native/meta projection
|
body -> validate/snapshot -> Native/meta
|
||||||
each model-order result -> ordered tools/post-execute -> projected 'tool/result'
|
each model-order result -> ordered tools/post-execute -> projected 'tool/result'
|
||||||
append accepted tool-batch context after all recorded results, then steering
|
append accepted tool-batch context after all recorded results, then steering
|
||||||
agent/post-step
|
agent/post-step
|
||||||
@@ -112,7 +112,7 @@ forever:
|
|||||||
|
|
||||||
Each step assembles ordered prompt sections, tool schemas, and `{{name}}` variables; unknown or valueless references fail the turn. `dsh-system-prompt` owns the harness identity and default persona, which an agent scope may shadow. The loop supplies `model` and `cwd` ([prompt ownership](../.agents/notes/implemented/architecture/2026-07-05-prompt-variables-and-tool-guidance-ownership.md)).
|
Each step assembles ordered prompt sections, tool schemas, and `{{name}}` variables; unknown or valueless references fail the turn. `dsh-system-prompt` owns the harness identity and default persona, which an agent scope may shadow. The loop supplies `model` and `cwd` ([prompt ownership](../.agents/notes/implemented/architecture/2026-07-05-prompt-variables-and-tool-guidance-ownership.md)).
|
||||||
|
|
||||||
Tool success separates an execution-local canonical JSON value from Native projections; post-policy replaces one projection or blocks, and the loop persists only projections ([contract](../.agents/notes/implemented/architecture/2026-07-20-canonical-tool-output-contract.md)). Tool-time context—including async `agent.inject()` notices and post-tool `additionalContexts`—settles after results. Steering drains; before signal closure, `agent/post-step` observes durable output, results, context, and steering. Leftovers queue. Terminal `agent/turn-stop` runs after continuation and steering folding, remains authoritative through close/flush, and discards later steering while preserving queued prompts.
|
Canonical tool JSON stays execution-local; post-policy replaces value or presentation, or blocks; the loop persists projections ([contract](../.agents/notes/implemented/architecture/2026-07-20-canonical-tool-output-contract.md)). Tool-time context—including async `agent.inject()` notices and post-tool `additionalContexts`—settles after results. Steering drains; before signal closure, `agent/post-step` observes durable output, results, context, and steering. Leftovers queue. Terminal `agent/turn-stop` runs after continuation and steering folding, remains authoritative through close/flush, and discards later steering while preserving queued prompts.
|
||||||
|
|
||||||
Pruning precedes summaries; overflow retries require durable progress. Bounded transient retries compose on `agent/request-error`; cancellation wins ([compaction](../.agents/notes/implemented/architecture/2026-07-10-after-call-compaction-pressure-and-overflow-recovery.md), [retry](../.agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.md)).
|
Pruning precedes summaries; overflow retries require durable progress. Bounded transient retries compose on `agent/request-error`; cancellation wins ([compaction](../.agents/notes/implemented/architecture/2026-07-10-after-call-compaction-pressure-and-overflow-recovery.md), [retry](../.agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.md)).
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user