Skip to content

batch 5/6: ADR draft — BACKLOG.md per-row-file restructure (Proposed)#4

Merged
AceHack merged 1 commit intomainfrom
batch-5-backlog-per-row-adr
Apr 21, 2026
Merged

batch 5/6: ADR draft — BACKLOG.md per-row-file restructure (Proposed)#4
AceHack merged 1 commit intomainfrom
batch-5-backlog-per-row-adr

Conversation

@AceHack
Copy link
Copy Markdown
Owner

@AceHack AceHack commented Apr 21, 2026

Summary

Lands the BACKLOG.md per-row-file restructure ADR as Proposed
so Aaron can review and decide on the four open questions out-of-
band. No migration yet — this is the decision artifact only.

Context

PR Lucent-Financial-Group#31 (merged on LFG before the cost-model correction)
produced a 5-file merge-tangle fingerprint captured in
`docs/research/parallel-worktree-safety-2026-04-22.md §9`.
`docs/BACKLOG.md` is 5,957 lines; every tangle hits it. The
ADR proposes splitting to per-row files under
`docs/backlog//` with an index file, so parallel PRs
touch distinct files instead of racing in one monolith.

What lands

  • `docs/DECISIONS/2026-04-22-backlog-per-row-file-restructure.md`
    (Proposed)

What does NOT land yet

  • No migration. The migration is P0 post-R45 per the ADR itself,
    gated on Aaron's answers to four open questions:
    1. ID scheme (numeric vs. slug vs. UUID)
    2. Script home (tools/backlog/ vs. inline)
    3. Sort order (creation / updated / priority)
    4. Concurrent-migration trade (single mechanical PR vs. staged)

Follow-up

  • HB-002 (new) — file the four questions to `HUMAN-BACKLOG.md`
    for Aaron's out-of-band answers.
  • Migration PR lands after HB-002 resolves.

Cost rationale

Targets AceHack per `docs/UPSTREAM-RHYTHM.md`. ADR is pure doc;
CI = markdownlint only.

Test plan

  • Markdown renders
  • AceHack CI green
  • HB-002 filed for the four open questions (follow-up)

🤖 Generated with Claude Code

…ive for R45)

Drafted on round-44-speculative (no CI trigger) while PR Lucent-Financial-Group#36 §9
incident-log CI runs, per wait-on-build + never-idle factory memories.

Status: Proposed. Triggered by PR Lucent-Financial-Group#31 merge-tangle 5-file conflict
fingerprint captured in docs/research/parallel-worktree-safety-
2026-04-22.md §9. ADR proposes splitting the 5,957-line monolithic
BACKLOG.md into index + per-row files under docs/backlog/<tier>/.

Key content:
- Per-row-file directory shape with frontmatter schema
  (id/tier/created/updated/owner/effort/scope).
- Index-file shape (short, one line per row, ~500 lines max even
  at scale).
- Migration plan (single mechanical transform PR, zero semantic
  edits, ships in one round).
- Authoring rules post-migration (add / edit / ship / tier-change).
- Alternatives: append-only-section, per-tier split, editor lock,
  automated resolver — all rejected with reasons.
- Consequences tallied positive/negative/neutral.
- Revised R45-R49 staging: delay R45 EnterWorktree flip by one
  round; land restructure first. Justification: preventive+
  compensating discipline fails without it.
- Open questions (ID scheme / script home / sort order /
  concurrent-migration trade) flagged for Aaron's decision on
  wake.

Promotion path: review + land on a separate PR after PR Lucent-Financial-Group#36
merges. This commit is the draft; no BACKLOG.md touched yet.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@AceHack AceHack merged commit c0cab2a into main Apr 21, 2026
8 checks passed
AceHack added a commit that referenced this pull request Apr 21, 2026
…ation (#5)

The ADR landed on AceHack PR #4 as Proposed. It names four open
questions for Aaron to decide before the migration PR can land:

1. ID scheme (numeric / slug / UUID)
2. Script home (tools/backlog/ vs inline)
3. Sort order (creation / updated / priority)
4. Concurrent-migration trade (single atomic PR vs staged per tier)

Migration is P0 post-R45 per the ADR itself; HB-002 is the gate.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 24, 2026
…ogged (Lucent-Financial-Group#177)

Creates durable append-only log for the cadenced NSA testing
protocol declared in the 2026-04-23 "NSA persona is first-
class" directive. Closes gap #3 of the Frontier bootstrap
readiness roadmap (BACKLOG P0, filed Otto-2).

File contents:
- Why-this-exists block with directive verbatim
- Append-only discipline (same shape as sibling
  hygiene-history files)
- 3 test configurations: baseline / NSA-default / NSA-worktree
- 5-prompt test set v1
- Schema: date / test-id / prompt-id / config / model /
  outcome / gap-found / notes
- Outcome definitions: pass / partial / fail
- Cadence: every 5-10 autonomous-loop ticks, one prompt
  per fire
- Known substrate-gap patterns running list
- First row: NSA-001 (Otto-1 feasibility test,
  2026-04-23T18:42:00Z) — partial pass, found Zeta identity
  but missed Otto because MEMORY.md had no pointer; gap
  fixed same-tick, pattern recorded

Attribution: Otto (loop-agent PM hat) — hat-less-by-default
substrate hygiene work. No specialist persona hats worn.

Closes gap #3 of 8 in the Frontier readiness roadmap.
Remaining: gap #1 (multi-repo split) / #2 (linguistic-seed
substrate) / #4 (bootstrap-reference docs) / #5 (factory-vs-
Zeta separation) / #6 (persona file portability) / #7
(tick-history scope-mixed) / #8 (hygiene rows untagged).

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 24, 2026
…(Amara action #2) (Lucent-Financial-Group#223)

Amara's 4th ferry (PR Lucent-Financial-Group#221) action item #2: pin Claude model
snapshot + loaded memory state + prompt bundle hash so "Claude"
is not a moving target across model version shifts (3.5 → 3.7 →
4 → 4.x all have materially different system-prompt bundles +
knowledge cutoffs + memory-retention language per archived Drive
artifacts).

Three-part scaffolding (v0):

1. tools/hygiene/capture-tick-snapshot.sh
   - Captures mechanically-accessible state:
     * Claude Code CLI version (`claude --version`)
     * CLAUDE.md + AGENTS.md + memory/MEMORY.md SHAs
     * Memory index byte count
     * Git HEAD + branch + repo
     * Date UTC
     * Per-user ~/.claude/CLAUDE.md SHA if present
   - Outputs YAML (default) or JSON (`--json`)
   - Agent fills model_snapshot + prompt_bundle_hash from
     session context (not CLI-accessible today)

2. docs/hygiene-history/session-snapshots.md
   - Session-level + significant-event pins (not per-tick)
   - Append-only row format: session_id / captured_utc /
     event (session-open | mid-session-pin | session-close |
     compaction) / agent / model / CLI version / git state /
     files SHAs / notes / prompt_bundle_hash
   - Seeded with one mid-session-pin for this tick's Otto-70
     capture (the session has been running ~70 ticks; actual
     session-open is earlier and unreachable for pins)

3. docs/hygiene-history/loop-tick-history.md schema extension
   - New "On snapshot pinning" subsection documenting the
     relationship: per-tick pins optional + inline in `notes`;
     session-level pins go in the sidecar file.
   - Snapshot capture is discipline, not gate — don't slow
     the autonomous-loop tick-close for every fire.

What the snapshot does NOT capture yet:

- model_snapshot — known to the agent from session context,
  not exposed by `claude --version` (which gives CLI version
  only). Agent fills.
- prompt_bundle_hash — no current tool reconstructs the
  system prompt bundle. Placeholder null until such a tool
  lands. Amara's Determinize-stage work potentially.
- Active permissions / skill set — session-specific; not
  captured in v0.

First run of the tool on this branch surfaced a separate
drift: memory/MEMORY.md is at 58842 bytes (~58KB, over the
FACTORY-HYGIENE row #11 24976-byte cap). Not fixed in this
PR — known-separately tracked drift.

Amara Stabilize-stage: 3/3 landed (with this PR).
  ✓ Action #3 — decision-proxy-evidence schema (PR Lucent-Financial-Group#222)
  ✓ Action #4 — branch-chat non-canonical framing (PR Lucent-Financial-Group#222)
  ✓ Action #2 — snapshot pinning scaffolding (this PR)

"Deterministic reconciliation" framing (Otto-67 endorsement):
snapshot pinning is the mechanism that reconciles "what Claude
knew" with "what Claude did" across time — essential for any
future audit, tuning, or Amara-style drift analysis.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 24, 2026
…didates (Lucent-Financial-Group#261)

Amara's 7th courier ferry (PR Lucent-Financial-Group#259) proposed 5 additional
public-facing brand candidates focused on the control-plane /
execution-layer role: Beacon, Lattice, Harbor, Mantle, Northstar.
The 5th-ferry memo (PR Lucent-Financial-Group#235 → PR Lucent-Financial-Group#257 Aurora README) had already
proposed Lucent KSK, Lucent Covenant, Halo Ledger, Meridian Gate,
Consent Spine.

Combines both shortlists into a single table preserving both
ferries' source attribution so Aaron's eventual brand decision
has the full option space.

Also adds the 7th-ferry preferred naming pattern (Aurora =
vision; Beacon KSK / Lattice KSK = shippable control-plane;
Zeta = substrate) as Amara's rhetorical proposal — not
adopted, preserved as input.

Brand decision remains Aaron's (M4 milestone; not Otto's to
pick).

No implementation changes; no operational policy changes;
pure additive documentation update preserving both ferries'
attribution per signal-in-signal-out discipline + §33
archive-header format already at top of README.

Lands within-standing-authority per Otto-82 calibration
(docs-only branding-input update; NOT a brand decision).

Closes 7th-ferry absorb candidate BACKLOG row #4 of 5
(branding shortlist update). Remaining candidates for Otto-90+:
- KSK-as-Zeta-module implementation (L; cross-repo)
- Oracle-scoring research (M)
- BLAKE3 receipt hashing design (M)
- Aminata threat-model pass on 7-class threat model (S)

Otto-89 tick primary deliverable.
AceHack added a commit that referenced this pull request Apr 24, 2026
…dvisory) (Lucent-Financial-Group#263)

Aminata's adversarial review of three technical sections of
Amara's 7th courier ferry (PR Lucent-Financial-Group#259 merged): the 7-class
threat model, the formal oracle rule, and the Veridicality +
network-health scoring families.

Classifications per section:

- 7-class threat model: IMPORTANT — covers obvious external-
  adversary cone cleanly; misses insider maintainer, receipt-
  flooding DoS, signer-collusion/quorum-capture, time-source
  adversary, side-channel leakage, cryptographic-agility.
  Not audit-ready without insider class.
- Oracle rule Authorize(a,t): CRITICAL — boolean conjunction
  of 5 predicates, 3 under-specified, all 5 race-able at
  check-time vs execute-time, not closed under action
  composition. As written is specification of intent, not
  safety control.
- Veridicality V(c) + network-health S(Z_t): CRITICAL —
  gameable-by-self-attestation (5/6 inputs are self-reports);
  parameter-fitting adversary unblocked without ADR gate;
  false-precision risk (sigmoid of ordinal signals); partial
  contradiction with SD-9 (coherence term rewards carrier-
  laundered consensus).

Cross-section dependencies: landing one section commits to
the others; presenting as separable is misleading.

Top-three adversary budget (highest leverage × lowest cost):
1. Parameter-fitting on V(c)/S(Z_t) — cheapest attack.
2. Approval-withdrawal race at execute-time.
3. Capability-reclassifier bypass (k3 → k2 at
   ICapabilityClassifier).

Common shape: design names "pluggable" without naming the
gate on the plug.

Out-of-scope content flagged: BLAKE3 receipt-hash binding
(belongs in lucent-ksk ADR not Zeta-module doc); branding
shortlist (scope-creep); Bitcoin anchoring (separate trust-
model); 12-row test checklist mixes property/policy/scoring
rows.

Archive-header format self-applied (Scope / Attribution /
Operational status / Non-fusion disclaimer) — eighth
aurora/research doc to exercise the convention.

Lands within-standing-authority per Otto-82 calibration —
research-grade advisory doc, not account/spending/named-
design-review gated; classifies existing design, doesn't
implement.

Closes 7th-ferry absorb candidate BACKLOG row #4 of 5 this
session (Aminata threat-model pass). Remaining candidates for
Otto-91+:
- KSK-as-Zeta-module implementation (L; cross-repo; Aaron
  Otto-90 pre-approved Aaron+Max coordination so not a
  formal gate, but cross-repo design work warrants care)
- Oracle-scoring research (M) — V/S parameter fitting +
  carrier-aware term per this pass's recommendation
- BLAKE3 receipt hashing design (M) — lucent-ksk ADR

Otto-90 tick primary deliverable.
AceHack added a commit that referenced this pull request Apr 24, 2026
…ries (8th-ferry candidate #1) (Lucent-Financial-Group#278)

Research-grade absorb per Amara 8th-ferry landing plan
(PR Lucent-Financial-Group#274). Separates real quantum-sensing literature from
software analogy so the latter can borrow carefully without
contaminating the former.

Key structure:

- **Do not operationalize stated as first rule** — this doc
  MUST NOT be cited as authorisation for Zeta or Aurora
  "quantum-powered" / "quantum-inspired" claims. 2024
  engineering review caps microwave QR at <1 km typical.
- **What the physics actually supports**: Lloyd 2008 +
  Tan Gaussian-state 6 dB error-exponent + 2023 Nature
  Physics microwave demo + 2024 engineering range-cap
  review + standard radar R⁻⁴ range equation. Quantum
  sensing broader and more mature than quantum-radar
  specifically (NV-centers / magnetometers / atomic clocks
  are real; radar is speculative).
- **5 importable software analogies**: retained reference
  path (anchor for weak evidence); correlation beats
  isolation (kNN retrieval not single-source agreement);
  time-bandwidth product (repeated independent
  observations over window); decoherence (carrier overlap
  destroys independence weight); cross-section-is-
  observability (salience != evidence).
- **6-item NOT-imply list**: no quantum-radar claim; no
  quantum-inspired algebra; no quantum-certified alignment
  robustness; no Aurora-as-quantum-safety; etc. First-class
  content, future references must honour.
- **Composition table** mapping analogies to existing
  substrate (SD-9 / DRIFT-TAXONOMY patterns 2 + 5 /
  citations-as-first-class / alignment-observability /
  oracle-scoring v0 / BLAKE3 v0). No new mechanisms
  proposed; analogies slot in as framing.
- **Graduation candidates** named with explicit ADR gating:
  retained-witness correlation metric; salience-vs-evidence
  PR review diagnostic; decoherence-inspired carrier-
  downgrade rule. Each needs separate ADR + operational
  artifact + regression-test before graduating.

Scope limits:
- Does NOT propose implementation.
- Does NOT audit existing Zeta claims against analogy
  boundaries.
- Does NOT commit to quantum-literature tracking cadence.
- Does NOT license creative expansion of analogy set
  (5 is what Amara cited; new literature = new research
  doc).
- Does NOT re-verify primary sources; preserves Amara's
  scoping discipline verbatim.

Self-applies §33 archive-header format — 14th
aurora/research doc in a row.

Lands within-standing-authority per Otto-82/90/93
calibration — research-grade doc; not account / spending /
named-design-review / readiness-signal gated.

Closes 8th-ferry candidate #1 of remaining 4 (after
TECH-RADAR batch closed #5 Otto-96). Remaining:
- #2 Semantic-canonicalization research doc (M; spine)
- #3 Provenance-aware bullshit-detector (M)
- #4 docs/EVIDENCE-AND-AGREEMENT.md future operational
  promotion (gated on 1-3)

Otto-97 tick primary deliverable.
AceHack added a commit that referenced this pull request Apr 24, 2026
… detector) (Lucent-Financial-Group#328)

First full integration of the Graph detection pipeline: combines
largestEigenvalue (spectral growth) + labelPropagation (community
partition) + modularityScore (partition evaluation) into a single
scalar risk score.

Surface:
  Graph.coordinationRiskScore
      (alpha: double) (beta: double)
      (eigenTol: double) (eigenIter: int) (lpIter: int)
      (baseline: Graph<'N>) (attacked: Graph<'N>)
      : double option

Composite formula (MVP):
  risk = alpha * Δλ₁_rel + beta * ΔQ

where:
- Δλ₁_rel = (λ₁(attacked) - λ₁(baseline)) / max(λ₁(baseline), eps)
- ΔQ = Q(attacked, LP(attacked)) - Q(baseline, LP(baseline))

Both signals fire when a dense subgraph is injected: λ₁ grows
because the cartel adjacency has high leading eigenvalue; Q grows
because LP finds the cartel as its own community and Newman Q
evaluates that partition highly.

Weight defaults per Amara 17th-ferry initial priors:
- alpha = 0.5 spectral growth
- beta  = 0.5 modularity shift

Tests (3 new, 34 total in GraphTests, all passing):
- Empty graphs -> None
- Cartel injection -> composite > 1.0 (both signals fire)
- attacked == baseline -> composite near 0 (|score| < 0.2)

Calibration deferred (Amara Otto-132 Part 2 correction #4 — robust
statistics via median + MAD): this MVP uses raw linear weighting
over differences. Full CoordinationRiskScore with robust z-scores
over baseline null-distribution is a future graduation once
baseline-calibration machinery ships. RobustStats.robustAggregate
(PR Lucent-Financial-Group#295) already provides the median-MAD machinery; just needs a
calibration harness to use it.

14th graduation under Otto-105 cadence. First full integration
ship using 4 Graph primitives composed together (λ₁ + LP +
modularity + composer).

Build: 0 Warning / 0 Error.

Provenance:
- Concept: Aaron (firefly network + trivial-cartel-detect) +
  Amara's composite-score formulations across 12th/13th/14th/
  17th ferries
- Implementation: Otto (14th graduation)

Composes with:
- Graph.largestEigenvalue (PR Lucent-Financial-Group#321)
- Graph.labelPropagation (PR Lucent-Financial-Group#326)
- Graph.modularityScore (PR Lucent-Financial-Group#324)
- RobustStats.robustAggregate (PR Lucent-Financial-Group#295) — for future robust
  variant

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 24, 2026
…correction) (Lucent-Financial-Group#332)

Completes the input pipeline for TemporalCoordinationDetection.
phaseLockingValue (PR Lucent-Financial-Group#298): PLV expects phases in radians but
didn't prescribe how events become phases. This ship fills the
gap.

17th graduation under Otto-105 cadence. Addresses Amara 17th-ferry
Part 2 correction #5: 'Without phase construction, PLV is just a
word.'

Surface (2 pure functions):
- PhaseExtraction.epochPhase : double -> double[] -> double[]
  Periodic-epoch phase. φ(t) = 2π · (t mod period) / period.
  Suited to consensus-protocol events with fixed cadence (slot
  duration, heartbeat, epoch boundary).
- PhaseExtraction.interEventPhase : double[] -> double[] -> double[]
  Circular phase between consecutive events. For sample t in
  [t_k, t_{k+1}), phase = 2π · (t - t_k) / (t_{k+1} - t_k).
  Suited to irregular event-driven streams.

Both return double[] of phase values in [0, 2π) radians. Empty
output on degenerate inputs (no exception). eventTimes assumed
sorted ascending; samples outside the event range get 0 phase
(callers filter to interior if they care).

Hilbert-transform analytic-signal approach (Amara's Option B)
deferred — needs FFT support which Zeta doesn't currently ship.
Future graduation when signal-processing substrate lands.

Tests (12, all passing):
epochPhase:
- t=0 → phase 0
- t=period/2 → phase π
- wraps cleanly at period boundary
- handles negative sample times correctly
- returns empty on invalid period (≤0) or empty samples

interEventPhase:
- empty on <2 events or empty samples
- phase 0 at start of first interval
- phase π at midpoint
- adapts to varying interval lengths (O(log n) binary search
  for bracketing interval)
- returns 0 before first and after last event (edge cases)

Composition with phaseLockingValue:
- Two nodes with identical epochPhase period → PLV = 1
  (synchronized)
- Two nodes with same period but constant offset → PLV = 1
  (perfect phase locking at non-zero offset is still locking)

This composes the full firefly-synchronization detection
pipeline end-to-end for event-driven validator streams:
  validator event times → PhaseExtraction → phaseLockingValue
  → temporal-coordination-detection signal

5 of 8 Amara 17th-ferry corrections now shipped:
#1 λ₁(K₃)=2 ✓ already correct (PR Lucent-Financial-Group#321)
#2 modularity relational ✓ already correct (PR Lucent-Financial-Group#324)
#3 cohesion/exclusivity/conductance ✓ shipped (PR Lucent-Financial-Group#331)
#4 windowed stake covariance ✓ shipped (PR Lucent-Financial-Group#331)
#5 event-stream → phase pipeline ✓ THIS SHIP
Remaining: #4 robust-z-score composite variant (future);
#6 ADR phrasing (already correct); #7 KSK naming (BACKLOG
Lucent-Financial-Group#318 awaiting Max coord); #8 SOTA humility (doc-phrasing
discipline).

Build: 0 Warning / 0 Error.

Provenance:
- Concept: Aaron firefly-synchronization design
- Formalization: Amara 17th-ferry correction #5 with 3-option
  menu (epoch / Hilbert / circular)
- Implementation: Otto (17th graduation; options A + C shipped,
  Hilbert deferred)

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 24, 2026
…-ferry §B + §F + corrections #2 #7 #9 (Lucent-Financial-Group#342)

Research-grade design doc for the Stage-2 rung of Amara's
corrected promotion ladder. Specifies: (a) placement under
src/Experimental/CartelLab/ (not src/Core/ — that's Stage 4);
(b) MetricVector type with PLV magnitude AND offset split
(correction #6); (c) INullModelGenerator interface +
Preserves/Avoids table columns; (d) IAttackInjector
forward-looking interface (Stage 3); (e) Wilson-interval
reporting contract with {successes, trials, lowerBound,
upperBound} schema (correction #2 — no more "~95% CI ±5%"
handwave); (f) RobustZScoreMode with Hybrid fallback
(correction #7 — percentile-rank when MAD < epsilon);
(g) explicit artifact-output layout under artifacts/
coordination-risk/ with five files + run-manifest.json
(correction #9).

6-stage promotion path (0 doc / 1 ADR / 2.a skeleton /
2.b full null-models + first attack / 3 attack suite /
4 Core/NetworkIntegrity / 5 Aurora-KSK) matches Amara's
corrected ladder and Otto-105 cadence.

Doc-only change; no code, no tests, no workflow, no
BACKLOG tail touch (avoids positional-conflict pattern
that cost Lucent-Financial-Group#334Lucent-Financial-Group#341 re-file this session).

This is the 7th of 10 18th-ferry operationalizations:
- #1/#10 test-classification (Lucent-Financial-Group#339)
- #2 Wilson-interval design specified (this doc)
- #6 PLV phase-offset shipped (Lucent-Financial-Group#340)
- #7 MAD=0 Hybrid mode specified (this doc)
- #9 artifact layout specified (this doc)
- #4 exclusivity already shipped (Lucent-Financial-Group#331)
- #5 modularity relational already shipped (Lucent-Financial-Group#324)

Remaining: Wilson-interval IMPLEMENTATION (waits on Lucent-Financial-Group#323 +
Stage 2.a), MAD=0 Hybrid IMPLEMENTATION (waits on Lucent-Financial-Group#333 +
Stage 2.a), conductance-sign doc (waits on Lucent-Financial-Group#331), Stage-2.a
skeleton itself.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 24, 2026
…mara #4 robust) + 3 BACKLOG rows (Lucent-Financial-Group#333)

* core: RobustStats.robustZScore + Graph.coordinationRiskScoreRobust — 18th graduation (Amara #4 robust)

Two ships consolidated per the 'parallel PRs hit positional
conflicts on tail-append' lesson:

1. RobustStats.robustZScore
   (baseline: double seq) -> (measurement: double) -> double option
   Returns (measurement - median) / (1.4826 · MAD). The 1.4826
   constant scales MAD to be consistent with Gaussian stddev.
   MadFloor prevents blow-up when every baseline value equal.

2. Graph.coordinationRiskScoreRobust
   alpha beta eigenTol eigenIter lpIter
   (baselineLambdas: double seq) (baselineQs: double seq)
   (attacked: Graph<'N>) -> double option
   Upgrades coordinationRiskScore (PR Lucent-Financial-Group#328) from raw linear
   differences to robust-standardized z-scores per Amara
   17th-ferry correction #4. Caller provides baseline metric
   distributions; Z-scores calibrate thresholds from data.

Why robust z-scores: adversarial data isn't normally
distributed. An attacker can poison a ~normal distribution
by adding a few outliers that inflate stddev, making
subsequent real attacks look 'within one sigma'. Median+MAD
survives ~50% adversarial outliers. Standard move in robust
statistics literature; Amara's correction puts it on the
Zeta composite.

Tests (5 new; total 39 since main hasn't merged Lucent-Financial-Group#331/Lucent-Financial-Group#332 yet):
- robustZScore None on empty baseline
- robustZScore of measurement = median is 0
- robustZScore scales MAD by 1.4826 for Gaussian consistency
  (measurement 4 on baseline [1..5] ≈ 0.674)
- coordinationRiskScoreRobust fires strongly on K4-injected graph
  given 5 baseline samples
- coordinationRiskScoreRobust returns None on empty baselines

BACKLOG rows added this tick per Aaron Otto-139 directives:
1. Signal-processing primitives (FFT + Hilbert) — unblocks
   Amara correction #5 Option B; Aaron standing-approval
2. F# DSL for entry points + graph-query-language standards
   compliance (Cypher / GQL / Gremlin / SPARQL / Datalog)
3. LINQ-compatible entry points for C# consumers — pair with
   F# DSL; two frontends, one algebraic backend

6 of 8 Amara 17th-ferry corrections now shipped or confirmed:
Remaining: #6 ADR phrasing (already fine); #7 KSK naming
(BACKLOG Lucent-Financial-Group#318 Max coord pending); #8 SOTA humility
(doc-phrasing discipline ongoing).

Build: 0 Warning / 0 Error.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fix(Lucent-Financial-Group#333): 4 review-thread P1/P2s on robustZScore + coordinationRiskScoreRobust

Active PR-resolve-loop on Lucent-Financial-Group#333.

1. Doc/impl contradiction on MAD=0 (thread 59VhYb, P1):
   RobustStats.robustZScore doc said "returns None when
   MAD(baseline)=0" but impl uses MadFloor and returns
   Some finite value. Rewrote doc to match impl:
   explicit "MadFloor substituted when MAD collapses to
   zero" — floor reflects "scale is below epsilon" not
   "undefined." Implementation is the contract.

2. Multi-enumeration of baseline seq (thread 59VhYq, P1):
   robustZScore previously passed `baseline` to both
   `median` + `mad` which each call `Seq.toArray`.
   Expensive AND inconsistent for lazy/non-repeatable
   sequences (different values between enumerations =
   undefined behavior). Fixed: `Seq.toArray` once at
   entry, pass the materialized array to both. O(n)
   instead of O(2n); stable across lazy sources.

3. Name attribution in Graph.fs doc comment (thread
   59VhY5, P1): "Amara 17th-ferry... Otto 18th
   graduation" → "external AI collaborator's 17th
   courier ferry... Eighteenth graduation under the
   Otto-105 cadence." Role-reference convention per
   AGENT-BEST-PRACTICES code/doc rule.

4. Array-vs-seq terminology (thread 59VhZG, P2):
   Graph.fs doc said callers "provide arrays" but the
   API is `double seq`. Rewrote: sequences + noted the
   materialize-once optimization in robustZScore so
   callers can pass any seq form without re-enumeration
   cost.

Thread 59VhX9 (P3-label-in-P2-section mismatch) — already
resolved on main via PR Lucent-Financial-Group#341 which landed the signal-
processing row correctly labeled "P2 research-grade."
No fix needed on this branch.

Build: 0 Warning(s) / 0 Error(s). 53 RobustStats + Graph
tests pass.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 24, 2026
…(Overlay A #4) (Lucent-Financial-Group#162)

* memory: migrate external-signal-confirms-internal-insight discipline (Overlay A #4)

Fourth opportunistic-on-touch Overlay A migration in the
2026-04-23 cadence, following PRs Lucent-Financial-Group#157 / Lucent-Financial-Group#158 / Lucent-Financial-Group#159.

Rule: when an external signal (YouTube recommender /
maintainer echo / expert writeup / third-party research)
independently corroborates a factory-internal architectural
insight, treat as strictly stronger moat evidence than the
internal claim alone. Second-occurrence discipline — first
= noteworthy, second = file, third+ = name-the-pattern.
Capture the pre-validation paper trail so the confirmation
is verifiable, not retconned.

Two concrete occurrences documented (Muratori 5-pattern →
Zeta equivalents; three-substrate triangulation via
Claude/Codex/Gemini capability maps).

Migration discipline per PR Lucent-Financial-Group#157/Lucent-Financial-Group#158/Lucent-Financial-Group#159 pattern:
- In-repo copy with "Migrated to in-repo" header
- Per-user source with "Migrated to in-repo" marker
- MEMORY.md index entry newest-first
- markdownlint MD026 trailing-colon headings fixed
  ("## Why:" → "## Why"; "## How to apply:" → "## How to
  apply")

Queue now 1 remaining (semiring-parameterized-zeta).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* memory: address PR Lucent-Financial-Group#162 review — occurrence-count + per-user xref clarifications

Six Copilot findings on the external-signal-confirms-internal-
insight memory:

- Heading "## The two occurrences observed to date" was stale
  (the file itself later lists 3+ occurrences). Renamed to
  "## The first occurrences observed (memory captured at the
  second)" — reflects the memory's origin without asserting
  a count.
- `docs/research/arc3-dora-benchmark.md §Prior-art` section
  doesn't exist. Relaxed to "section name TBD; the doc
  captures adjacent prior-art discussion."
- Four per-user memory cross-references clarified via a new
  preamble note at the top of §Cross-references: those files
  live in per-user memory (~/.claude/projects/<slug>/memory/),
  not in-repo; citations are provenance-reference not in-repo
  navigation.

All 6 threads resolved.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant