Repository navigation
Conversation
…" doc comment (issue #153) learningSignals()'s blockedEvalStreak comment says "majority of the window blocked, and last 3 all blocked" but the implementation only ever checked the trailing-3 condition. 3 blocked nights buried in an otherwise-healthy 14-night window (a clear minority) false-positived the signal, which this same nightly pipeline reads for its own STEP 1.1 planning. Added the missing blockedCount*2 > recent.length strict-majority conjunct. npm test 769->772 (+3 new, 0 regressions); governance 150/150 unchanged; independent adversarial-critic subagent verdict: CLEAR. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SqtjzJmtG789iUrkQU8bfz
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SqtjzJmtG789iUrkQU8bfz
… main, ported) dependency-audit (npm audit --audit-level=high, dev-inclusive graph) started failing on main itself today (reproduced on a fresh main clone, unrelated to this PR's diff): a new high-severity advisory for source-map-js (GHSA-68fv-2mgg-jv7q, event-loop DoS via indexed source-map section offsets) was published to the npm advisory database after main's last green CI run (2026-09-30). source-map-js is a transitive devDependency (vite->postcss, @vitest/coverage-v8->magicast) with no production reachability. npm audit fix resolves it with a non-breaking, lockfile-only bump (fixAvailable: true, no --force needed). Ported here since this PR is otherwise ready and waiting on this unrelated base-branch failure; it will no-op once main also carries it. npm test 772/772 vitest + 150/150 governance unchanged; lint/typecheck clean. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SqtjzJmtG789iUrkQU8bfz
|
Not this PR's: Fix ported, pushed: No fix PR for this advisory existed yet (checked via 🤖 Generated with Claude Code https://claude.ai/code/session_01SqtjzJmtG789iUrkQU8bfz Generated by Claude Code Generated by Claude Code |
|
CI is green on the current head ( 🤖 Generated with Claude Code https://claude.ai/code/session_01SqtjzJmtG789iUrkQU8bfz Generated by Claude Code Generated by Claude Code |
… consolidation # Conflicts: # docs/dream-cycle/LEDGER.md
Merge main (3fc3222, unchanged since 2026-10-19) into this branch; re-verify the blockedEvalStreak majority-conjunct fix on the new head (889 vitest +3, 195 governance unchanged, 0 regressions); fresh critic pass finds no reward-hacking across 7 adversarial probes. dependency-audit stays red on a pre-existing vite/launch-editor advisory (issue #197, not this PR's) so this stays draft per STEP 1.5. One ledger row appended. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013xi2Ev8ACA38fPxKmWWJyK
Dream Cycle consolidation — 2026-10-25MODE=CONSOLIDATE (STEP 1.5, ADR-0011): 20 open Action. Merged Re-evaluation on the new head. Real evaluator ( Fresh critic + reward-hack pass (this round). Disclosed limitation: nested-agent spawning was denied at depth 1 this session, so no separate subagent context was available — this pass was run directly by the consolidating session rather than a fully isolated subagent. Diffed the candidate's two files from the PR's original base ( CI on the pushed head. Green: Decision. ACCEPT still holds and the fresh critic is clear, but not every required check on the new head is green ( No merge, no close, no force-push, no self-promotion. Generated by Claude Code Generated by Claude Code |
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013xi2Ev8ACA38fPxKmWWJyK
Nightly Dream Cycle, 2026-10-06. DEEP=ledger-signals, SCAN=witness,verify. Full report:
docs/dream-cycle/2026-10-06-ledger-signals-report.md. Issue: #153.Hypothesis (frozen before implementation)
Candidate
packages/ledger/src/index.ts(+11/−1):learningSignals()'sblockedEvalStreakgains ablockedCounttally and ablockedCount * 2 > recent.length(strict-majority) conjunct, in addition to the existing last-3-consecutive-blocked check — implementing exactly what the line's own pre-existing doc comment already promised.packages/ledger/src/index.test.ts(+27): 3 new tests (minority-tail false positive fixed; genuine majority stilltrue; exact 50/50 split staysfalse). One conceptual change.Evaluation Receipt
Real evaluator:
npm test(vitest run && npm run test:governance).main@23a5770)node --test scripts/*.test.mjs)npm run lintnpm run typechecknpm run build(8 packages)Governance is 150/150 clean on both sides this session — this session's checkout started shallow (3/150 failing on
scripts/benchmark-ticket-codec.mjs's pinnedBASELINE_COMMITgit-show oracle, absent from the shallow clone) and was unshallowed (git fetch --unshallow) before measuring either side. That exact shallow-clone defect is already an open, independent finding this rotation did not select tonight (PR #150,security-adversarial, 2026-10-03) — not duplicated here.Live pre/post-fix repro against the built
packages/ledger/dist/index.js:yes+ 3blocked(tail) in a 14-row window →blockedEvalStreak: true(false positive, 3/14 ≈ 21%).false.yes+ 8blocked(tail) in a 14-row window →true(unchanged — majority case was never broken).LEDGER.md:blockedEvalStreak: falseidentically before and after — this bug is latent on main (never yet triggered there); the fix forecloses the next timeOPENROUTER_API_KEYis briefly absent for 3 consecutive nights.Baseline
Parent commit
23a577082aad39750051dc7ef0ec9d0d72900adf(main, HEAD at session start), rebuilt clean (npm ci && npm run build), 769/769 vitest + 150/150 governance.Darwin Lineage
DARWIN=not-applicable— single boolean-expression fix, no evolvable population (same judgment as PRs #116/#127/#132/#137/#145 on this surface). Entrypoint probed live tonight:npx --yes @metaharness/darwin --versionresponds with its usage banner (reachable, not blocked).Evidence
OBSERVATION (the field's own doc comment names two conjuncts; the implementation computed only one) → MEASUREMENT (live pre-fix repro: 3/14 minority-blocked tail reads
true) → OBSERVATION (Resilience4j/Hystrix circuit-breaker docs confirm count-alone vs. rate-over-window is a known false-positive class in comparable "sustained failure" signal designs) → MEASUREMENT (769→772 vitest, 0 regressions; governance 150/150 unchanged) → MEASUREMENT (live post-fix repro: minority false, majority still true, real ledger unchanged) → INFERENCE (independent critic subagent, separate context, own build/stash cycle) → DECISION (ACCEPT).Reward-Hack Check
Independent adversarial-critic subagent (separate context, own commands, own
git stash/rebuild cycle): CLEAR.packages/ledger/src/index.ts(+11/−1) and its test file (+27/−0, pure addition) — no gold data, evaluator, or CI config touched.git stash: 769→772 (exactly +3, matching the 3 new tests; no existing test deleted, weakened, or had an assertion loosened).false; 8/14 majority correctlytrue; majority concentrated at the window head with a healthy tail correctlyfalse(last-3-contiguous requirement still enforced); below-minimum window (n=2) correctlyfalse; degeneraten=3all-blocked correctlytrue; non-defaultwindowoption correctly rescales the majority base rather than hardcoding 14. No counter-example found.blockedEvalStreak: the only other reference (packages/cli/src/tui.ts:206) merely prints a warning string when true — no gating/CI/evaluator logic anywhere depends on the old (broken) last-3-only semantics.windowoption throughlearningSignalsitself end-to-end (only through its own ad hoc probe) — a minor coverage gap, not a defect, left for a future night.No gold data, threshold, or benchmark corpus touched; no undocumented cache; no hidden cost (same asymptotic cost — one extra
O(n)filter over an already-sliced window).Security Review
No credential, network, or trust-boundary surface added or changed. Pure local arithmetic/boolean logic over already-parsed in-memory rows. No LLM calls in this path (
OPENROUTER_API_KEYpresent this session, correctly unused).Regression Analysis
0 pre-existing tests modified or removed (confirmed independently by the critic via raw diff). 3 new vitest tests added. Lint/typecheck/build clean across all 8 packages — no wasm/NAPI degradation to record tonight.
ADR
None — a correctness bug fix aligning an existing field's implementation with its own pre-existing doc comment, not a new architectural decision.
Gist
GIST=LOCAL— noghCLI (GH_TOKENinvalid) and no gist-creation MCP tool this session; GitHub MCP access itself works fine (issue/PR tools succeed), soFALLBACK=false. Full report committed atdocs/dream-cycle/2026-10-06-ledger-signals-report.md.Issue
#153
Witness
Reproduce:
dream-machine witness verify-report docs/dream-cycle/2026-10-06-ledger-signals-report.md --commit 23a577082aad39750051dc7ef0ec9d0d72900adfMerge Policy
Human review required. This session never self-merges and never autonomously promotes candidate state.
dream.config.json'sautoMerge: false; noautomerge-safelabel applied.🤖 Generated with Claude Code
https://claude.ai/code/session_01SqtjzJmtG789iUrkQU8bfz
Generated by Claude Code