4-story patch closing the Pre-Path-B field-ownership escalation policy (operator-decision item from v0.11.4 backlog). Path B (real-feature dispatch via --coordinator) is now UNBLOCKED.
QL_FIELD_OWNERSHIP_STRICT=true (env var; default OFF):
- When set, the v0.10.8 N48 field-ownership snapshot-diff WARN escalates to WAVE_FAILED.
- Wire site:
lib/iteration-loop.sh:317-321(inside existing N48 WARN block). - Pattern-consistent with v0.11.1 N43
QL_PARALLEL_POLLopt-in design (same${VAR:-false}gate, same== "true"compare). - Default OFF preserves backwards compat: Tests 9 + 10 unchanged (verified 32/32 pre-Test-11).
- Recommended for Path B real-feature dispatch to provide hardened wave-level data-integrity guarantee.
Semantic note: strict mode operates at the wave-signal level — it forces WAVE_FAILED so downstream parent-agent signal parsing gets a clear failure indicator. Per-story aggregation under WAVE_FAILED branch still derives status from review.* fields (cf. Test 2 partial-pass semantics), so a violating coordinator that wrote review.* fields will have stories aggregating to passed despite the wave-level FAIL. This is intentional: the strict mode flags the wave as untrusted while preserving potentially-valid review writes for triage. Documented in CLAUDE.md "Coordinator-related" section.
Test 11 (NEW; 3 sub-asserts): validates strict-mode escalation. Reuses existing field_ownership_violation stub mode + sets QL_FIELD_OWNERSHIP_STRICT=true. Asserts: WARN appears + FAIL log appears + Wave FAILED at wave-signal level. (PRD planned 5 sub-asserts; per-story status assertions removed after semantic discovery; retro-noted.)
30th p014 review trio: architect SHIP 92, code-reviewer SHIP 92, security SHIP 95. 17th career p014 catch in 30 applications (~57% career hit-rate; 5th consecutive cycle climbing past 50%).
49 consecutive LOW G30 self-validations (v0.6.5..v0.11.5).
8 test suites green: 220 total (was 217; +3 from Test 11).
The 19-cycle hardening arc (v0.10.6..v0.11.5) is complete. All infrastructure for Path B is in place. Operator can queue a real multi-story feature for first --coordinator dispatch on live repo.
Lessons learned (canonized PIPELINE_REPORT_v55):
- PRD off-by-one is structural across 5 cycles; future PRDs should distinguish "test groups" from "sub-asserts" in AC.
- Semantic discovery during implementation: Test 11's 5→3 reduction surfaced a real wave-signal-vs-per-story architectural choice not visible from PRD.
Next operator decision: queue a real feature for Path B, OR continue to architectural cycle (run_iteration_loop decomposition).