Skip to content

Qualify paused-goal refusal through the declared source CLI - #2583

Merged
trissim merged 1 commit into
mainfrom
fix/p448-cli-source-proof
Oct 21, 2026
Merged

trissim merged 1 commit into
mainfrom
fix/p448-cli-source-proof

Conversation

@trissim

@trissim trissim commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

P448: make the CLI check qualify the selected source

Follow-up to merged #2566; this does not claim installed P448 acceptance.

test_goal_nominal.py launched sys.executable -m agent_comms.cli. That interpreter imports Core from the live main checkout at /home/ts/code/projects/agent-comms, not the source under test. Replace that launch with SourcePrograms.script(main): the existing owner derives the real console target and source packages from pyproject.toml. Delete the duplicate interpreter/module selection and unnecessary environment copy. Keep the 10-second deadline and all refusal/unchanged-goal assertions.

AST inventory before editing: 471 test modules, zero parse omissions. Across the goal/backend-failure family this was the only CLI subprocess launch. The other subprocess call creates a sleeping process for attempt-fencing tests and is not a CLI client. SourcePrograms.create/script and the console manifest are the determining owners. Pattern: IMPL-13, bypassing the existing source-launch mechanism.

Actual application evidence

Two new private roots, one fresh paused goal each. No original input replayed. The disposable driver enabled faulthandler before launching the real CLI module. Commands and outcomes are retained in cli-exit-fresh-probes.log; stdout/stderr in cli-exit-{editable-7dc,owned-source}.{stdout,stderr} under /home/ts/.cache/agent-scratch/unit-goalblock.

  • Shared interpreter / editable 7dc: correct refusal, exit 1 in 3.63s.
  • Explicit owned source: correct refusal, exit 1 in 4.84s. The four-second diagnostic stack was still importing ACP/Pydantic declarations through cli_bridges.monitor; it was not a shutdown stack.
  • The earlier 10-second timeout is not reproduced or explained. This is a source-proof repair, not a claimed production shutdown fix. No timeout increase or exception suppression.

Trace command shape: .venv/bin/python <one-shot-driver> --root <fresh-root> tool --from worker --tool comms_goal --arguments '{"goal_id":"<fresh-goal>","status":"active","progress":"Isolated stale worker report"}'. Exact fresh paths/IDs/argv are in the receipt, not replay instructions. The one-shot driver is deleted after this run.

Checks

timeout 300 .../.venv/bin/python -m pytest -n 0 -o faulthandler_timeout=60 tests/test_goal_nominal.py tests/test_goal_execution.py::test_execution_identity_survives_wire_and_change_detection tests/test_holder_standing_rules.py::test_stop_rejects_a_human_before_any_registry_change

17 executed, 17 passed in 9.04s, including the actual source console process refusing resume and preserving the owner-paused goal. One existing warning: imported goal_owner_fixture cannot be assertion-rewritten; that helper contains no assertions. No full suite or local ratchet.

Assumed: the original timeout was load-related is NOT established. Toad #1135 Retry/DM acceptance and P448's zero-Retry install acceptance remain open until the successful install containing #2577 and #2566.

@trissim
trissim marked this pull request as ready for review October 21, 2026 23:46
Copilot AI balanced review requested due to automatic review settings October 21, 2026 23:46
@trissim
trissim enabled auto-merge October 21, 2026 23:46

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@trissim
trissim added this pull request to the merge queue Oct 21, 2026
@trissim
trissim marked this pull request as draft October 21, 2026 23:48
@trissim

trissim commented Oct 21, 2026

Copy link
Copy Markdown
Contributor Author

Holding this source-launcher change pending claude-code’s fork diagnosis of the original CLI timeout (comms 17431). The hold arrived here after publication. The 10-second deadline and all refusal/unchanged-goal assertions are unchanged. The 17 passing source checks and two fresh normal CLI exits do not establish why the original process timed out. No further edits or runs pending those findings.

Merged via the queue into main with commit 3fd36fd Oct 21, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants