Skip to content

Releases: andyzengmath/quantum-loop

v0.11.5 — patch (Pre-Path-B: QL_FIELD_OWNERSHIP_STRICT; Path B UNBLOCKED)

Choose a tag to compare

@andyzengmath andyzengmath released this 03 May 18:23
9c1fc3a

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_POLL opt-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):

  1. PRD off-by-one is structural across 5 cycles; future PRDs should distinguish "test groups" from "sub-asserts" in AC.
  2. 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).

v0.11.4 — patch (emit_terminal_signal coverage + Path E split; comprehensive-review backlog closed)

Choose a tag to compare

@andyzengmath andyzengmath released this 03 May 17:20
3e78411

4-story patch closing the LAST autonomous-tier MEDIUM from post-v0.11.1 comprehensive review (emit_terminal_signal coverage gap) + Path E test split (file crossed architect's 600 LOC threshold).

NEW tests/test_loop_helpers.sh (12 sub-asserts):

  • 6 test groups covering lib/loop-helpers.sh::emit_terminal_signal (called from 5 production sites with zero direct tests pre-v0.11.4).
  • Parameter-required guard, signal-only call, signal+message call, separator wrapping, 4 production signal names, no-side-effects trio (rc=0/no-exit/env-unchanged).

Path E split (tests/test_orchestrator_liveness.sh):

  • Was 609 LOC, 46 sub-asserts.
  • Original retains Tests 1-13 (poll_orchestrator_commits + base wrap + worktree-aware): 392 LOC, 34 sub-asserts.
  • NEW tests/test_dispatch_helpers.sh gets renumbered Tests 1-6 (was 14/14c/15/16/17/18; N46 respawn re-parse + N43 dispatch_with_parallel_poll): 254 LOC, 12 sub-asserts.
  • Test count preserved: 34 + 12 = 46 ✓. PATHE_REMOVED_DOCSTRING in original documents 1:1 provenance mapping.

29th p014 review trio: architect SHIP 94, code-reviewer SHIP, security SHIP 95. 16th p014 catch in 29 applications career; ~55% career hit-rate (4th consecutive cycle climbing past 50% threshold).

48 consecutive LOW G30 self-validations (v0.6.5..v0.11.4).
8 test suites green: 217 total (was 7×205 at v0.11.3; +12 from emit_terminal_signal).

Comprehensive-review autonomous backlog COMPLETELY CLOSED. Across v0.11.2 + v0.11.3 + v0.11.4: 6/6 findings disposed (5 closed + 1 filtered as false positive). 28 new sub-asserts added across the 3 cycles.

Post-v0.11.4 backlog is operator-gated only:

  • Path B: Real-feature dispatch via --coordinator (operator-queued multi-story).
  • Pre-Path-B: Field-ownership WARN→FAIL escalation policy decision (architectural).
  • Future architectural cycle: run_iteration_loop decomposition (HIGH structural debt; recommended operator-presence).

v0.11.3 — patch (copilot-hooks::post_output coverage)

Choose a tag to compare

@andyzengmath andyzengmath released this 03 May 05:36
8f4fc21

3-story patch closing runners/hooks/copilot-hooks.sh::post_output coverage gap (MEDIUM from post-v0.11.1 comprehensive review).

NEW tests/test_copilot_hooks.sh (133 LOC, 11 tests; pure string parsing, no copilot CLI required):

  • 5 rate-limit pattern detection tests — all alternations from copilot-hooks.sh:20: rate.?limit, \b429\b, retry-after, quota.?exceeded, too.many.requests.
  • 4 Retry-After extraction tests — single-line + HTTP/1.1 prefix anchor (validates v0.10.7 sed-anchor fix preventing mis-capture of 1 from HTTP/1.1) + folded-header form (validates v0.10.13 awk fallback) + digit-mix continuation 30 something 99 (validates v0.10.13 match/substr fix preventing concat to 3099).
  • 2 negative + idempotency tests — no false positive on benign output; multi-line dedup via head -1.

28th p014 review trio: architect 92, code-reviewer 95, security 95. 1 LOW retro-noted (single-quote path fragility; below threshold). 15th p014 catch in 28 applications career; ~54% career hit-rate (3rd consecutive cycle past 50% threshold).

Scope reduction: comprehensive-review critic's second MEDIUM (build_coordinator_prompt content unchecked) was a FALSE POSITIVE — test_coordinator_dispatch.sh:99-106 Test 7 already validates it. Filtered for future-audit calibration: grep target test files BEFORE classifying as uncovered.

Comprehensive-review backlog: 6/6 disposed (5 closed across v0.11.2 + v0.11.3; 1 filtered).

47 consecutive LOW G30 self-validations (v0.6.5..v0.11.3).
7 suites green: 205 total (NEW test_copilot_hooks 11 + 6 baseline 194).

Lessons learned (canonized PIPELINE_REPORT_v53):

  1. Comprehensive review false-positive filter is structural — ~17% rate (1/6) is acceptable but argues for grep-before-classify.
  2. Code-reviewer agent test-execution timeout pattern (v0.11.2 precedent) mitigated by explicit "DO NOT run tests" instruction; review proceeds via diff inspection + commit-message verification.

v0.11.4 candidates (operator-decision):

  • Path B: Real-feature dispatch via --coordinator (operator-queued multi-story).
  • Pre-Path-B: Field-ownership WARN→FAIL escalation policy decision.
  • Autonomous: emit_terminal_signal direct test coverage (last MEDIUM from comprehensive review) + Path E test_orchestrator_liveness.sh split.

v0.11.2 — patch (D-medium: N48 negative-path + CLAUDE.md doc updates)

Choose a tag to compare

@andyzengmath andyzengmath released this 03 May 02:40
a796623

4-story patch closing 5 findings from post-v0.11.1 comprehensive review:

  • US-001 — N48 negative-path test (Test 10) reusing existing passed stub mode. Pairs with v0.11.0 Test 9 to validate N48 detection symmetry (no false positives on compliant coordinators).
  • US-002 — CLAUDE.md doc updates (4 edits): line refs bumped (HIGH-1; v0.11.1 wire shifted dispatch from ~212/~215 to ~224/~227); new QL_PARALLEL_POLL env var docs (MEDIUM-1); new dispatch_with_parallel_poll function reference (MEDIUM-2); new "Bash trap RETURN is last-write-wins" Platform Notes entry (MEDIUM-3).
  • US-003 — 27th p014 review trio (architect SHIP 94, security SHIP 95; code-reviewer agent truncated x2). 1 LOW retro-noted (PRD counter off-by-one).
  • US-004 — Retro + IDEA_REPORT_v52 + 4-manifest bump.

46 consecutive LOW G30 self-validations (v0.6.5..v0.11.2).
14th p014 catch in 27 applications career (~52% career hit-rate; up from 50% at v0.11.1).
6 suites green: 194 total (test_coordinator_e2e: 27 → 32, +5).

Lessons learned: comprehensive review beats per-cycle p015 audits for cross-cutting concerns. p015 focuses on rolling-forward chain consistency; comprehensive review walks the entire codebase + docs surface holistically. Candidate p017 (comprehensive review at major version boundaries) — may warrant canonization if applied 2+ times.

Next operator decisions:

  • Path B: Real-feature dispatch via --coordinator (operator-queued multi-story).
  • Pre-Path-B: field-ownership WARN→FAIL escalation policy decision (architectural; pre-real-feature).
  • v0.11.3 candidate: copilot-hooks::post_output coverage + build_coordinator_prompt content assertions (~180 LOC; surfaced in comprehensive review).

v0.11.1 — patch (N43 closure: parallel-with-dispatch wrap pattern)

Choose a tag to compare

@andyzengmath andyzengmath released this 03 May 01:31
3636526

4-story patch closing N43 — the genuinely architectural item from operator's Path A choice. Deferred MEDIUM since v0.8.1; tracked through 8+ IDEA_REPORTs.

New function lib/orchestrator-liveness.sh::dispatch_with_parallel_poll:

  • Spawns CMD in background (bash -c "\$cmd" >"\$tmpfile" 2>&1 &).
  • Polls commits in foreground via existing poll_orchestrator_commits.
  • Each new commit resets the timeout window (commit-progress = liveness signal).
  • On STALE: SIGTERM → 2s grace → SIGKILL cascade.
  • Race-safe: post-poll kill -0 re-check handles child-exits-during-poll.
  • tmpfile hardening: chmod 600 + trap RETURN cleanup.

Wire site: lib/iteration-loop.sh:247-253 (legacy non-coordinator dispatch). Opt-in via QL_PARALLEL_POLL=true (default OFF for backwards compat — Git Bash bg-process supervision is fragile). Coordinator mode NOT wired (already has QL_COORDINATOR_TIMEOUT_S wallclock kill).

26th p014 review trio: architect 91, code-reviewer 93, security 92 — all SHIP. 2 MEDIUM inline-fixed: worktree_path forwarding gap; trap RETURN nesting invariant comment (convergent code-reviewer + security finding).

13th p014 catch in 26 applications career; ~50% career hit-rate (crossed 50% threshold for first time).
45 consecutive LOW G30 self-validations (v0.6.5..v0.11.1).
6 suites green: 189 total (test_orchestrator_liveness: 38 → 46).

Lessons learned:

  1. Race condition in bg-process supervision — initial implementation passed clean-completion + STALE-kill but failed Test 18 (commit-progress reset). Standard pattern: re-check liveness at every transition point.
  2. Trap RETURN nesting fragility — convergent finding from code-reviewer + security demonstrates p014's value for cross-cutting concerns visible only inter-function.

Backlog post-N43 closure: the autonomously-achievable architectural backlog is exhausted. Only one operator-gated MEDIUM remains (real-feature dispatch via --coordinator). v0.11.2 candidates are sub-priority hardening (Path D: N48 negative-path test; Path E: test_orchestrator_liveness.sh split — file crossed 600 LOC threshold this cycle).

v0.11.0 — minor (FIRST --coordinator dispatch dogfood; N48 closure)

Choose a tag to compare

@andyzengmath andyzengmath released this 02 May 21:49
55c0b16

🎯 MILESTONE: First actual --coordinator dispatch on live repo since v0.9.0 N42 wires shipped (~3 weeks ago). The 15-cycle hardening arc (v0.10.6..v0.10.15) prepared every infrastructure piece for this; v0.11.0 dogfood passed 6/6 sub-asserts on first attempt.

4-story minor closing N48 stub-coordinator test coverage (deferred MEDIUM since v0.10.8):

  • US-001tests/test_coordinator_e2e.sh adds field_ownership_violation stub mode where stub mutates parent-owned .stories[].status + emits WAVE_PASSED.
  • US-002 — Test 9 (6 sub-asserts) validates end-to-end: real bash quantum-loop.sh --coordinator with PATH-injected stub; parent's snapshot-diff at lib/iteration-loop.sh:202,291 detects violation; emits [FIELD-OWNERSHIP] WARN: parent-owned fields modified during dispatch (coordinator contract violation) + before/after JSON; WAVE_PASSED still classified normally (WARN is non-blocking observability).
  • US-003 — 25th p014 review trio (architect 92, code-reviewer 95, security 95). Architect confirmed test exercises real N48 production path end-to-end (not stub-of-stub). 1 MEDIUM doc inline-fixed.
  • US-004 — Retro + IDEA_REPORT_v50 + 4-manifest bump 0.10.15 → 0.11.0.

Infrastructure validated: all 6 pieces from the hardening arc participated in the dispatch path during Test 9 and functioned correctly:

  • N42 wires (v0.9.0) — coordinator dispatch path
  • coordinator-guard HEAD-snapshot (v0.9.2)
  • QL_COORDINATOR_TIMEOUT_S (v0.9.3)
  • HEAD-guard reset detection (v0.9.5)
  • N48 FIELD-OWNERSHIP WARN (v0.10.8)
  • Wave-cycle hardening (v0.10.6..v0.10.9)

44 consecutive LOW G30 self-validations (v0.6.5..v0.11.0).
6 suites green: 15+21+44+39+18+38+6 = 181 total (test_coordinator_e2e: 21 → 27).
12th p014 catch in 25 applications career; ~48% hit-rate.

Next (v0.11.1+; operator decides):

  • Path A: N43 (parallel-with-dispatch wrap; ~100-150 LOC architectural)
  • Path B: Real-feature dispatch via --coordinator (operator-queued multi-story)
  • Path C: N48 negative-path test (verify WARN does NOT fire when contract respected)

v0.10.15 — patch (6th p015 audit closure; 15-cycle arc complete)

Choose a tag to compare

@andyzengmath andyzengmath released this 02 May 16:07
bccd806

3-story docs-only patch closing 6th p015 audit findings + 1 convergent MEDIUM caught at review:

  • US-001 — CLAUDE.md p014 + p015 count synchronization. p014: 23 → 24 review applications; range end v0.10.13 → v0.10.14; career hit rate 9/23 → 10/24. p015: 3 → 6 applications.
  • US-002 — 24th p014 review trio (architect REVISE→SHIP 72, code-reviewer 91, security 97). Convergent MEDIUM caught + inline-fixed: missing 3rd p015 application (post-v0.10.4 → v0.10.5; documented at PR_v39:26-34) had been omitted from CLAUDE.md parenthetical. Fixed: gap total 22 → 25 (6+3+5+5+4+2 ✓); canonical retros expanded 3 → 6. 11th p014 catch in 24 applications career; ~46% career hit-rate.
  • US-003 — Retro + IDEA_REPORT_v49 + 4-manifest bump 0.10.14 → 0.10.15.

43 consecutive LOW G30 self-validations (v0.6.5..v0.10.15).
6 suites green: 15+21+44+39+18+38 = 175.

15-cycle hardening arc complete (v0.10.6..v0.10.15). Lessons learned (canonized PIPELINE_REPORT_v49): "cascading misattribution risk demonstrated AGAIN" — when adding entries to a list, verify the existing list against historical sources to avoid perpetuating omissions. Multi-perspective review-gate caught the omission convergently.

Autonomous backlog truly exhausted. Idle-tick mode until operator stages real-feature dispatch (v0.11.0 entry) or new findings accumulate.

v0.10.14 — patch (career hit-rate audit; 14-cycle arc complete)

Choose a tag to compare

@andyzengmath andyzengmath released this 02 May 15:33
df497d6

4-story docs-only patch closing 2 pre-existing notational artifacts:

  • US-001 — Career catch-count off-by-one correction (origin: PR_v44:43 v0.10.10 ship; propagated through v45/v46/v47). v0.10.10's review caught a convergent MEDIUM that should have incremented the count.
  • US-002 — p014 range notation disambiguation. v0.9.1 restored to listed range (PR_v28:33-39 documents v0.9.1's full 3-reviewer trio; PR_v33:76 explicitly counts it as 1 of 8 applications).
  • US-003 — 23rd p014 review trio (architect REVISE→SHIP 72, code-reviewer 93, security 98). Architect caught my own initial v0.9.1 misattribution (adopted from v0.10.12 reviewer's unverified claim); re-grounded against historical record. Lessons learned: cascading misattribution risk demonstrated.
  • US-004 — Retro + IDEA_REPORT_v48 + 4-manifest bump 0.10.13 → 0.10.14.

True career stat: 10 catches in 23 applications ≈ 43% career hit-rate (was stated 8/22 ≈ 36%).
42 consecutive LOW G30 self-validations (v0.6.5..v0.10.14).
6 suites green: 15+21+44+39+18+38 = 175.

14-cycle hardening arc complete (v0.10.6..v0.10.14). Autonomous backlog truly exhausted. Idle-tick mode until operator stages real-feature dispatch (v0.11.0 entry) or new findings accumulate.

v0.10.13 — patch (LOW idle-ticker batch; autonomous backlog truly exhausted)

Choose a tag to compare

@andyzengmath andyzengmath released this 02 May 15:09
1e581a0

4-story patch closing the 2 deferred LOW idle-tickers from the v0.10.6..v0.10.12 hardening arc:

  • US-001 — OSC body strip in lib/json-atomic.sh ANSI sanitization. Sed pass 2 strips OSC-BEL form (\x1b]...\x07); tr -d extended with ESC byte (\033) neutralizes OSC-ST + any unmatched escape framing without dialect-fragile sed pattern-matching.
  • US-002 — Retry-After multi-line fallback in runners/hooks/copilot-hooks.sh. awk fallback for RFC 7230 folded-header form; uses match/substr for first-digit-group extraction (avoids gsub digit-concat bug).
  • US-003 — 22nd p014 review trio (architect 88, code-reviewer 82, security 97). 3 MEDIUM + 2 LOW inline-fixed: Test 16 OSC-ST encoding bug; awk gsub digit-concat; OSC-ST PRD deviation; awk found-flag reset.
  • US-004 — Retro + IDEA_REPORT_v47 + 4-manifest bump 0.10.12 → 0.10.13.

41 consecutive LOW G30 self-validations (v0.6.5..v0.10.13).
6 suites green: 15+21+44+39+18+38 = 175. json_atomic suite: 39/39 (was 35).

Autonomous backlog TRULY EXHAUSTED. 13-cycle hardening arc complete (v0.10.6..v0.10.13). Only operator-gated MEDIUMs (N43, N48 stub-coord test) + sub-threshold pre-existing notational artifacts remain. v0.11.0 reserved for first operator-run --coordinator dispatch.

v0.10.12 — patch (5th p015 closure; autonomous backlog exhausted)

Choose a tag to compare

@andyzengmath andyzengmath released this 02 May 12:23
703ce40

4-story doc-cleanup patch closing 4 of 4 actionable gaps surfaced by the 5th p015 application (post-v0.10.11 architect + document-specialist + critic agent trio audit). 0 LOC code change.

  • US-001 — CLAUDE.md p013/p014 count refresh (post-v0.10.11 staleness); career hit rate 6/18 → 7/20 ≈ 35%.
  • US-002 — PIPELINE_REPORT_v45:11 G30 typo "38th" → "39th".
  • US-003 — 21st p014 review trio (architect 92, code-reviewer 94, security 96; all SHIP; 0 inline-fix from this diff).
  • US-004 — Retro + IDEA_REPORT_v46 + 4-manifest bump 0.10.11 → 0.10.12.

40 consecutive LOW G30 self-validations (v0.6.5..v0.10.12).
6 suites green: 15+21+44+35+18+38 = 171.

Autonomous backlog FULLY EXHAUSTED. Expected next state: idle-tick mode. Resume conditions:

  1. Operator stages real-feature dispatch → v0.11.0 entry.
  2. 3+ new findings accumulate → v0.10.13.
  3. Operator decides to batch deferred LOW idle-tickers (OSC body strip + Retry-After multi-line + branch cleanup) as v0.10.13.