Skip to content

Record two decisions of 13 Oct: changed-size sentence, crash after Cancel (spec, data, fixtures) - #121

Merged
guijacquemet merged 2 commits into
mainfrom
claude/spec-changed-size-cancel-crash
Oct 13, 2026
Merged

guijacquemet merged 2 commits into
mainfrom
claude/spec-changed-size-cancel-crash

Conversation

@guijacquemet

Copy link
Copy Markdown
Contributor

Docs and data only (plus the schema checks that tie the data together). Found by napari phase 2 theme 1 (LabConstrictor-napari #51). No production code changes.

Decided (user, 13 Oct)

a) A source that is still open but changed size (shape) while the tool ran. The result is not drawn, its files are kept in the owned results folder, the host code stays target_unavailable, and the status says:

run <run_id> on '<source>': '<source>' changed size while the tool ran; results are in <path>

The "no longer open" sentence of 4.4 stays exactly as it is and is only for a source that is gone.

  • spec 4.4, section 8, new fixture RUN-07
  • conformance.json: messages.target_changed_size (same placeholders as target_unavailable); RUN-04 now names message: target_unavailable, RUN-07 names message: target_changed_size and code: target_unavailable; the schema checks that a named message or code exists

b) A task that crashes after the person pressed Cancel is recorded cancelled; a crash with no prior Cancel is failed (HOST_PARITY J08).

  • spec 3.2 gets the status table (COMPLETE ok; CANCELED cancelled; CRASHED + Cancel cancelled; CRASHED without Cancel failed; FAILED failed either way), 3.7 gets HRET-05 and HRET-06, section 8 the decision
  • conformance.json: wrong_science.retention.done_status (by_task_status, crashed_after_cancel), HRET-05 and HRET-06 with task_status, cancel_requested, done_status
  • conformance.prescribed_done_status(rule, task_status, cancel_requested) is the one reader of the rule

Only a crash is read through Cancel: a task that ends FAILED (the tool raised) is failed even if Cancel was pressed. Say so if you want that the other way.

Tests

  • tests/test_conformance.py::DecidedOn13Oct (exact sentences, RUN-04/07 wiring, the map against runs._DONE_STATUS, cli._DONE_STATUS and the client's task statuses, HRET-05/06 against the rule, the spec text) and eight new damage cases in Schema
  • 10 new rows in tests/test_sabotage.py (schema checks and data), each caught by assertion
  • ledger row in docs/REGRESSION_LEDGER.md (top of the Fixed table; the code PR adds its row elsewhere)
  • docs/CONFORMANCE.md updated

Contradiction with production code

runs.record (CLI) still maps a crash after Cancel to failed. The CLI cannot produce that case today (run_once never calls Task.cancel, Ctrl-C writes cancelled itself), so nothing observable is wrong; the follow-up code PR (run record without pruning) adds the shared helper and applies the rule.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Y2SN8SuEakTdiWy3F2WUqN


Generated by Claude Code

…ncel

Spec 4.4, 3.2, 3.7 and 8, conformance.json (messages.target_changed_size,
retention.done_status, RUN-07, HRET-05, HRET-06), schema checks, tests,
sabotage rows and a ledger row.

- A source that is still open but changed size while the tool ran is not
  drawn, its files are kept, and the host says "run <run_id> on 'A': 'A'
  changed size while the tool ran; results are in <path>". The "no longer
  open" sentence of 4.4 stays as it is.
- A task that crashes after the person pressed Cancel is recorded as
  cancelled (HOST_PARITY J08); a crash without Cancel is failed.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y2SN8SuEakTdiWy3F2WUqN
@guijacquemet
guijacquemet merged commit 652ffce into main Oct 13, 2026
14 checks passed
@guijacquemet
guijacquemet deleted the claude/spec-changed-size-cancel-crash branch October 14, 2026 16:10
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