Implementation Plan: Green the reds — coord review honest-receipt re-pin
Branch: kitty/mission-green-reds-coord-review-repin-01M4H53K | Date: 2026-10-09 | Spec: kitty-specs/green-reds-coord-review-repin-01M4H53K/spec.md Input: Mission specification from kitty-specs/green-reds-coord-review-repin-01M4H53K/spec.md
Summary
Re-pin the single stale characterization assertion in TestAgentActionReviewTextEnvelope::test_coord_mission_prompt_skeleton (tests/characterization/test_trio_json_envelope.py) from [refused] to the honest-receipt [ok] behavior, plus add a prose assertion that pins the meaningful honest-failure line and update the now-stale docstring. No production (src/) change. Grounding and the operator-confirmed triage verdict are recorded in spec.md and research.md.
Technical Context
Language/Version: Python 3.11+ Primary Dependencies: pytest, typer (CliRunner); the test is integration + git_repo marked. Storage: N/A Testing: Characterization test run -n0 (serial) via the project venv: PWHEADLESS=1 .venv/bin/python -m pytest -n0 tests/characterization/test_trio_json_envelope.py. Target Platform: Linux (CI module matrix) Project Type: single Performance Goals: N/A Constraints: Smallest viable diff — edit only the coord review case body + its docstring; zero src/ lines (NFR-001, C-002). Red-first, no green-washing (C-001). Scale/Scope: 1 WP, 1 test file.
Charter Check
GATE: Must pass before Phase 0 research. Re-check after Phase 1 design.
- Standing Order #4 (test remediation): the test is judged stale (behavior evolved via the #5440 honest-receipt fix) → re-pin, not product-fix. ✅ matches "stale → re-pin".
- Standing Order #9 (red-main / no green-wash): the re-pin is red under the old expectation and green under the new; the test is never skipped/disabled/xfail'd. ✅
- DIRECTIVE_024 locality / smallest-viable-diff: one test case + docstring only; Implement variant and
src/untouched. ✅ - Terminology Canon: no
feature*identifiers introduced; test uses existing fixtures. ✅ - ATDD-first (C-011): the re-pinned assertion is the failing-first contract — RED on the pre-edit expectation, GREEN on the final commit. ✅
- No full heavy-suite runs: validate the single file + targeted characterization dir only; CI owns the full sweep. ✅
No violations → Complexity Tracking not required.
Project Structure
Documentation (this mission)
kitty-specs/green-reds-coord-review-repin-01M4H53K/
├── plan.md # This file
├── spec.md # Mission spec + triage verdict
├── research.md # Grounding (root cause, mechanism, evidence)
└── tasks.md # /spec-kitty.tasks output
Source Code (repository root)
tests/
└── characterization/
└── test_trio_json_envelope.py # ONLY file changed — review-variant coord case + docstring
Structure Decision: Single project; the mission edits exactly one existing test file under tests/characterization/. No new modules, no src/ changes.
Complexity Tracking
No Charter Check violations — section intentionally empty.