agent-exec transport 68343647260961b7a4a0fdbe222cb18b/536ff962e681

This commit is contained in:
agent-exec-transport
2026-10-20 06:00:40 +00:00
parent 890313edd1
commit 8e21b66db4
4 changed files with 58 additions and 48 deletions
+43 -34
View File
@@ -7,20 +7,22 @@ parser accepts exactly one `agent-execution` fenced block.
U3's execution controller and U4's project wiring are integrated. This file is
the execution-routing authority for implementation, repair, test, and review.
Normal implementation, repair, and test routes stay Cursor, Antigravity
(`agy`), and PI. Each of those profiles may be attempted up to
`max_attempts_per_profile`, which is exactly 3 whenever `emergency_profile`
is configured. Only after those candidates safely exhaust their attempts does
the enabled emergency `codex` profile run once. Codex remains out of the three
normal role lists and may also appear in review. `fallback_to_host` is
`never`: the controller does not emit `host-fallback-authorized` and does not
increment host fallback authorizations. Safe exhaustion without an emergency
candidate ends `unavailable` or `blocked`, and that result does not authorize
the host to write the unit. The legacy value `all-unavailable` remains
parseable and likewise grants no host write authority. Cursor uses
`cursor-agent-stable`. `model: auto` makes Cursor receive an explicit
`--model auto`; the other CLIs omit the model flag and use their configured
default. Any other value is passed to that CLI as its model selector. The
Implementation, repair, test, and review all use the candidates Cursor,
Antigravity (`agy`), PI with GLM (`pi-glm`), PI with MiniMax (`pi`), and
Codex. Each candidate may be attempted up to `max_attempts_per_profile` (3)
times on safe recoverable failures (`unavailable`, `failed-clean`); after that
the controller moves to the next candidate automatically, and the host does
not ask the user. The order of the non-Codex candidates may differ per role,
but Codex must stay the last candidate in every role list. There is no
`emergency_profile`. `fallback_to_host` is `never`: the controller does not
emit `host-fallback-authorized` and does not increment host fallback
authorizations. When every candidate is safely exhausted the run ends
`unavailable` or `blocked`; the host pauses that unit and asks the user
whether to retry, and does not write the unit. The legacy value
`all-unavailable` remains parseable and likewise grants no host write
authority. Cursor uses `cursor-agent-stable`. `model: auto` makes Cursor
receive an explicit `--model auto`; the other CLIs omit the model flag and use
their configured default. Any other value is passed to that CLI as its model selector. The
`integration` block declares the host-exempt paths and the transport, admission,
and cleanup entry points.
@@ -37,13 +39,12 @@ execution:
summary_bytes: 16384
raw_output_bytes: 10485760
max_attempts_per_profile: 3
emergency_profile: codex
roles:
implementation: [cursor, antigravity, pi]
repair: [cursor, antigravity, pi]
test: [pi, antigravity, cursor]
review: [pi, antigravity, cursor, codex]
implementation: [cursor, antigravity, pi-glm, pi, codex]
repair: [cursor, antigravity, pi-glm, pi, codex]
test: [pi-glm, pi, antigravity, cursor, codex]
review: [pi-glm, pi, antigravity, cursor, codex]
profiles:
cursor:
@@ -55,7 +56,13 @@ profiles:
antigravity:
adapter: antigravity
executable: agy
model: auto
model: gemini-3.8-flash-high
enabled: true
pi-glm:
adapter: pi
executable: pi
model: zai-coding-cn/glm-5.3-flash
enabled: true
pi:
@@ -67,7 +74,7 @@ profiles:
codex:
adapter: codex
executable: codex
model: auto
model: gpt-6.1-sol
enabled: true
integration:
@@ -92,23 +99,25 @@ section records only this project's choices.
- Planning, design and implementation plans: Codex or Claude when available,
in the host or a fresh CLI session. This is a preference, not a routing role.
- Bounded implementation, repair and test units: the existing normal
candidates in the configured role order above. Requested models:
- PI: `minimax-cn/MiniMax-M3`, passed as `--model provider/id`. PI
actual events have reported `minimax-cn` / `MiniMax-M3` and the local
offline catalog lists that profile; each run still records the effective
model from that run's events.
- Bounded implementation, repair, test and review units: the candidates in
the configured role order above, with Codex last. Requested models:
- Cursor: `auto`, passed explicitly as `--model auto` (Cursor Auto).
- agy: Gemini 3.8 Flash is requested, but its exact selectable model ID and
effective identity are `NOT_VERIFIED` (the `agy` models query needs a
login that was not available). The profile therefore stays `model: auto`
until an observed model ID exists; do not claim Gemini 3.8 Flash is active.
- agy: `gemini-3.8-flash-high`. `agy models` listed it on 2026-10-20 and a
one-line smoke run answered; the effective identity is still taken from
each run's events.
- PI GLM profile (`pi-glm`): `zai-coding-cn/glm-5.3-flash`, passed as
`--model provider/id`.
- PI MiniMax profile (`pi`): `minimax-cn/MiniMax-M3`, passed as
`--model provider/id`. PI actual events have reported `minimax-cn` /
`MiniMax-M3` and the local offline catalog lists that profile; each run
still records the effective model from that run's events.
- Codex: `gpt-6.1-sol`, always the last candidate.
- Assigning a different candidate or model to a unit needs a concrete,
task-specific reason recorded in the task record, and stays within the
existing roles and candidate lists. It is not a silent permission or routing
change. Role lists, attempt limits, timeouts, output limits, the single
Codex emergency attempt, stage isolation and `fallback_to_host: never` are
unchanged by these preferences.
change. Role lists, attempt limits, timeouts, output limits, Codex as the
last candidate, stage isolation and `fallback_to_host: never` are unchanged
by these preferences.
- A requested model is prompt/config intent. Only the model reported in a
run's actual event envelope counts as effective; when the CLI does not report
it, record `not-observable`. Unknown context capacity, a missing agy login