dream(intelligence): #3394 update ledger with 2026-09-22 row + 09-15..09-21 backlog note

Co-Authored-By: RuFlo <ruv@ruv.net>
Claude-Session: https://claude.ai/code/session_0183FfWhMHJ2EjZb2MjxZfpJ
This commit is contained in:
ClaudeandRuFlo committed 2026-09-22 06:20:39 +00:00
1 parent 71a3971afb
commit 1cc7231503
1 file changed
+4
+4
View File
@@ -192,3 +192,7 @@ as a first-class, high-priority candidate, not a background note.
| 2026-09-10 | performance | `mmrRerank()` eagerly re-tokenized every remaining candidate's content on every MMR outer-loop pass (O(N×limit) `tokenize()` calls) — a pattern that predates and survived PR #3169's embedding-cosine wiring unchanged, even though the cosine branch made that tokenization mostly discarded work in the now-common all-embedded case; made lazy and cached per-candidate | #3265 | #3266 | yes | ACCEPT | `tokenize()` calls 400→0 (N=30/limit=20 corpus, stash-isolated: fails against real baseline, passes against candidate); wall-clock 5.88x faster (0.6745ms→0.1148ms mean), independently reproduced at 5.96x by an adversarial critic; selection output byte-identical to baseline across all-embedded/none/mixed/lambda-extreme scenarios; 473/474 full-suite both ways (1 pre-existing unrelated failure), `tsc` clean | 78c074ef... | rebased onto main (post #3086/#3094/#3103/#3110/#3119/#3123/#3130/#3139/#3152/#3160/#3232 merges), awaiting fresh CI as of 2026-09-14 |
| 2026-09-11 | security | `hive-mind_consensus` accepted votes from any caller-supplied `voterId` with no check against `state.workers` (a single caller could cross any strategy's quorum by voting under fabricated identities — a Sybil attack on consensus); fail-closed roster-membership check added. **Update (ruvnet review):** REJECTed the initial scoped fix on the caveat the adversarial critic had already disclosed (`hive-mind_join`/`leave` fully unauthenticated — the roster itself could be Sybil'd) plus a required-CI cold-install failure (`@claude-flow/security` missing a `prepare` script, so root `npm ci` never built its dist/). Both addressed same-session: `join`/`leave`/`vote` now capability-bound to a `hiveToken` minted by `hive-mind_init` (32-byte random, constant-time comparison, fail-closed — zero state change for denied calls, verified via a fresh state.json reload simulating restart; a same-machine-only token reader lets the CLI's own subcommands keep working without exposing the token over any MCP response); `@claude-flow/security`'s `package.json` gained a `prepare: npm run build` so root `npm ci` builds it automatically for every consumer, not just this CI job | #3290 | #3291 | yes | ACCEPT-scoped (post-review) | stash-isolated 2/3 fail baseline (forged votes silently accepted) → 3/3 pass candidate; full `@claude-flow/cli` suite failures 46→28 after the CI fix (remainder pre-existing/unrelated); adversarial critic CONFIRMED-WITH-CAVEATS pre-review, both caveats closed post-review | 55d67b4a... | rebased onto main (post #3086/#3094/#3103/#3110/#3119/#3123/#3130/#3139/#3152/#3160/#3232/#3266 merges), awaiting fresh CI as of 2026-09-14 |
| 2026-09-12 | intelligence | `LocalReasoningBank.findSimilar()` overwrote every returned pattern's `confidence` (learned reliability) with the per-query cosine similarity score instead of the already-declared `PatternMatch.similarity` field, inverting `distillLearning()`'s "only distill from high-confidence matches" gate (it tested query-similarity, not reliability) and forcing `findSimilarPatterns()`'s public API into an unsafe cast that made `confidence`/`similarity` always identical; `findSimilar()` now preserves real `confidence` and returns `similarity` separately, with the one affected consumer (`memory-bridge.ts`'s search-ranking score) migrated accordingly | #3301 | #3302 | yes | ACCEPT | 4 new discriminating tests, baseline-fails/candidate-passes via stash isolation; full suite 90-vs-91-failed-files identical except the new test file; `tsc --noEmit` byte-identical (463 errors both ways); independent adversarial critique CONFIRMED, no blocking caveats | cb60b43b... | rebased onto main (post #3086/#3094/#3103/#3110/#3119/#3123/#3130/#3139/#3152/#3160/#3232/#3266/#3291 merges), awaiting fresh CI as of 2026-09-14 |
**Note (2026-09-22):** rows for 2026-09-15 (performance, #3329/#3330), 09-16 (security, #3338/#3339), 09-17 (intelligence, #3349/#3350), 09-18 (memory, #3351/#3352), 09-19 (swarm, #3356/#3357), 09-20 (performance, #3377/#3378), and 09-21 (security, #3384/#3385) all ran (verified via `git ls-remote --heads origin "dream/*"` and `list_pull_requests`/`search_pull_requests`, not inferred — same "rows only reach `main` via PR merge" structural gap noted since 2026-08-19) but are not transcribed as rows here, to avoid another copy stuck on another unmerged branch. All 7 are OPEN/draft, all <14d old (none stale). Trailing-7-night merge rate since the 09-14/15 backlog sweep: 0/7 — worth watching but not yet actionable (no single night is stale, no repeated-direction pattern).
| 2026-09-22 | intelligence | `EWCConsolidator.updateFisherFromConfidences()` (`ewc-consolidation.ts`, wired into production at `intelligence.ts:413` via #3110) ran its online-Fisher EMA backwards vs. its two sibling `globalFisher`-updating methods in the same class (`computeFisherMatrix()`, `recordGradient()`) — new batch got 99% weight, accumulated importance got 1%, discarding ~99% of accumulated Fisher on every `distillLearning()` pass and defeating EWC++'s anti-catastrophic-forgetting purpose; flagged as lead candidate by 09-21's scan finding, independently re-verified against the code and the EWC++ literature (Chaudhry et al. ECCV 2018, arXiv:1801.10112), fixed to match the sibling sites | #3394 | #3395 | yes | ACCEPT | 2 new discriminating tests (retention `1.68e-9`→`~14.256` after 5 low-signal calls, expected ≥90% of original ~95.1%; 3x EMA mismatch vs. sibling method closed); baseline-fails/candidate-passes via stash isolation, independently reproduced by adversarial critic (CONFIRMED, no blocking issues); full `@claude-flow/cli` suite byte-identical 96-file failure set both ways; `tsc --noEmit` byte-identical (463 errors both ways) | 56e94801... | 09-15..09-21 (7 nights) all still open/draft, none merged since the 09-14/15 backlog sweep, none stale |