# NutriCoach v1.4.0 Todo 2 consolidation checkpoint

## Current boundary

- Todo remains `Define default-off weekly operations capability` in progress.
- Product edits are paused after three non-confirmed independent reviews.
- No commit, push, PR, merge, tag, release, live config/service/provider,
  customer, or network action occurred.

## Product contract status

The following passed independently:

- Default OFF.
- KST `20:00:00`, `23:00:00`, `weekly_weekday=0`.
- Stable canonical config digest.
- Candidate/config/customer/owner/consent/issue/expiry/epoch bindings.
- Compiled + configured + authorized + current-consent gate.
- Sixteen invalid config/authority cases fail closed with zero side effects.
- Focused tests: `18 passed, 1 deselected`.
- Full new test module: `19 passed`.
- Existing config seams: 3 passed.
- LSP diagnostics: zero.
- Ruff, ty, compileall, no-excuse, and LOC gates: passed.
- Manual default-OFF and typed invalid-authority surfaces: passed.

## Three review rounds

### Round 1

- Found 9 LSP warnings.
- RED provenance was not independently reproducible.
- Invalid-authority driver exited with SyntaxError instead of the typed parser
  rejection.
- These three issues were repaired.

### Round 2

- Clean-state RED command lacked its temporary parent and stopped before
  pytest.
- Claimed pre-Todo-2 snapshot manifest bytes were not retained.
- A self-contained runner and canonical snapshot manifest were added.

### Round 3

- Normal clean-state runs, manifest validation, negative fixture, tests,
  diagnostics, manual QA, and normal cleanup all passed.
- Interruption QA sent SIGTERM while the runner's pytest child was blocked.
- The process exited 143 before `TemporaryDirectory` cleanup and leaked one
  owned `.task-2-red-r3-*` directory.
- Independent audit removed the leaked directory and confirmed no other
  resource or product/live mutation.

## Remaining repair

Evidence harness only:

- Add bounded SIGTERM handling to the RED runner.
- Ensure the runner terminates its child and removes its owned temporary
  parent before exiting.
- Reproduce the FIFO-synchronized SIGTERM case with no leaked directory or
  process.
- Re-run normal RED twice, modified-manifest rejection, tests, diagnostics,
  and cleanup.

No product module or test behavior should change for this repair.
