You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fail-safe CLI: unknown verb exits 0; no exit-10 for agent logical failure #22
Two fail-safety gaps found while wiring the Argo lane (adlc-argo-wf !3 review). Both are small, both have silent-success failure modes.
M1 — unknown top-level verb exits 0 (must)
src/dispatch.mjs:154-157 — the default: case prints help and returns 0. Consequence, verified: adlc-cli factory-mission --issue … --run-id … prints help and exits 0 — a run that never happened reports success. (The Argo seed template shipped exactly this invocation.) Fix: return 1 for an unrecognized command string; keep bare help/no-args at 0.
Mission started on tikalk/adlc-cli#22 (fail-safe CLI: unknown-verb exit + exit-10). Run mission-adlc-cli-22-20260930, worktree-isolated (fix/issue-22-cli-fail-safe), autonomous. Drafts stay local; step findings publish here as markers.
Skipped per repo reality: lifecycle/agent-authored labels do not exist in this repo → no label transitions; stamp carried in PR body. No engine-managed run → completion recorded in local state, not workflow state advance.
Remaining for the lane: container propagation (tikalk/engineering/agentic-container#1) + lane expression application (adlc-argo-wf values MR).
Activity
kanfil commentedon Sep 30, 2026
Mission started on
tikalk/adlc-cli#22(fail-safe CLI: unknown-verb exit + exit-10). Runmission-adlc-cli-22-20260930, worktree-isolated (fix/issue-22-cli-fail-safe), autonomous. Drafts stay local; step findings publish here as markers.kanfil commentedon Sep 30, 2026
Test step done — RED gate passed (executor re-ran the suite: 12 tests, 3 pass, 9 fail).
tests/cli-failsafe.test.mjs. Genuine behavior failure: unknown verb exits 0, expected 1 (0 !== 1). Guards green: bare→0,help→0,run-without-prompt→1.src/exit-codes.mjsabsent). Implementer contract: provideclassifyAgentExit({code, signal})(0→0, non-zero child→10, signal→130) andclassifyWorkflowStatus(status)(COMPLETED→0, PAUSED→3, FAILED→10, ABORTED→1); wire intodispatch.mjsdefault (unknown→1),agent.mjspost-spawn return,workflow.mjsrun/resume terminal mapping. Lane expression (applied in adlc-argo-wf, not here):asInt(lastRetry.exitCode) != 10 && asInt(lastRetry.exitCode) != 3.fix: machine-readable CLI exit codes (unknown verb, logical failure, …
kanfil commentedon Sep 30, 2026
Mission complete — audit trail:
fix/issue-22-cli-fail-safeoff main; remote lease acquired; issue OPEN unlabeled → autonomous.tests/cli-failsafe.test.mjs(12 tests), RED verified by executor re-run (9 fail: 1 behavior + 8 seam-missing).src/exit-codes.mjs+ wiring indispatch.mjs/agent.mjs/workflow.mjs; GREEN verified (12/12 new, 318/318 full, 34 suites)..adlc/workflows/runs/mission-adlc-cli-22-20260930/(brief.md, iterations.md, mission.yml).agent-authoredlabels do not exist in this repo → no label transitions; stamp carried in PR body. No engine-managed run → completion recorded in local state, notworkflow state advance.Remaining for the lane: container propagation (tikalk/engineering/agentic-container#1) + lane expression application (adlc-argo-wf values MR).