From 25441af338093a3ce2100cdb35f70187c0f773be Mon Sep 17 00:00:00 2001 From: Aaron Stainback Date: Thu, 23 Apr 2026 10:54:53 -0400 Subject: [PATCH 1/3] CLAUDE.md: fast-path pointer to CURRENT-.md distillation files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The per-maintainer CURRENT.md pattern landed this session (ADR in PR #152). CLAUDE.md is the session-bootstrap file Claude reads first; adding a pointer to the CURRENT distillation layer makes future-me use the fast-path rather than replaying the raw memory log from scratch on every wake. ## What the addition says Two things, minimal prose: 1. On wake, read CURRENT-.md files BEFORE the raw feedback/project files. CURRENT is the distilled currently-in- force projection per maintainer. 2. Same-tick update discipline: when a new memory lands that updates a CURRENT rule, edit CURRENT in the same tick. Skipping is lying-by-omission. ## Why I chose to add this now The ADR I landed last tick (PR #152) explicitly noted the CLAUDE.md update as optional follow-up. Per Aaron's "prefer progress over quiet close" calibration, doing the follow-up in the same session the pattern landed keeps the discipline coherent — not "ADR exists but CLAUDE.md doesn't reference it" divergence. Small, focused, factory-generic. Applies to any project adopting the factory pattern. ## What this does NOT do - Does NOT establish a new discipline — the CURRENT pattern is established by the ADR in PR #152 and the per-user memory entries. This is just making the discipline discoverable at session-bootstrap time. - Does NOT touch CURRENT files themselves — they're per-user, outside this repo. - Does NOT change the memory taxonomy (user_ / feedback_ / project_ / reference_) — CURRENT sits above the taxonomy as a projection layer. Co-Authored-By: Claude Opus 4.7 --- CLAUDE.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 4fc5a85c..970ed0b9 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -82,6 +82,25 @@ These are the knobs this repo actually uses: (AGENTS.md authored / CLAUDE.md curated / MEMORY.md earned) is encoded in `.claude/skills/claude-md-steward/`. + **Fast-path on wake:** read any + `CURRENT-.md` files (for example, + `CURRENT-jane-doe.md`) in + `~/.claude/projects//memory/` *before* the + raw `feedback_*.md` / `project_*.md` log. CURRENT + files are the distilled currently-in-force + projection per maintainer (one per human / + external-AI maintainer). They win on conflict with + older raw memories. Pattern specified in the + companion ADR under `docs/DECISIONS/` (the + `per-maintainer-current-memory-pattern` entry; + grep the DECISIONS directory for the current + filename). Individual CURRENT files themselves + live per-user (not in-repo), per the in-repo / + per-user split documented in the ADR. + **Same-tick update discipline:** when a new memory + lands that updates a rule in a CURRENT file, edit + CURRENT in the same tick. Skipping is + lying-by-omission. - **Session compaction** — the harness summarises old messages as it approaches context limits. Important decisions go to committed docs (ADRs From ef8bc306420938c2e50fe5134cec949e0184ea98 Mon Sep 17 00:00:00 2001 From: Aaron Stainback Date: Fri, 24 Apr 2026 17:41:17 -0400 Subject: [PATCH 2/3] drain: resolve 4 threads on #153 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CLAUDE.md fast-path block: drop dead references to unlanded ADR + feedback memory; tighten prose; cite BP-284 role-ref discipline directly. Add P2 BACKLOG row tracking the actual ADR landing. Threads addressed: - chatgpt-codex (dead-ref to ADR + feedback file): fixed, prose tightened to remove broken links. - copilot (ambiguous "memory folder"): path is already named at `~/.claude/projects//memory/`; outdated. - copilot (markdown-link suggestion): would worsen the broken-link state — declined; resolved with reasoning in reply. - chatgpt-codex (dead-ref to ADR, not outdated): fixed by removing the ADR pointer; backlog row tracks the proper landing as P2 research-grade. --- CLAUDE.md | 18 +++++++----------- docs/BACKLOG.md | 16 ++++++++++++++++ 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 970ed0b9..5ea15ad8 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -83,20 +83,16 @@ These are the knobs this repo actually uses: MEMORY.md earned) is encoded in `.claude/skills/claude-md-steward/`. **Fast-path on wake:** read any - `CURRENT-.md` files (for example, - `CURRENT-jane-doe.md`) in + `CURRENT-.md` files (one per human or + external-AI maintainer; filename uses a role-ref + per BP-284, not a real name) in `~/.claude/projects//memory/` *before* the raw `feedback_*.md` / `project_*.md` log. CURRENT files are the distilled currently-in-force - projection per maintainer (one per human / - external-AI maintainer). They win on conflict with - older raw memories. Pattern specified in the - companion ADR under `docs/DECISIONS/` (the - `per-maintainer-current-memory-pattern` entry; - grep the DECISIONS directory for the current - filename). Individual CURRENT files themselves - live per-user (not in-repo), per the in-repo / - per-user split documented in the ADR. + projection per maintainer; they win on conflict + with older raw memories. Individual CURRENT files + live per-user (not in-repo) — same per-user split + as the rest of `~/.claude/projects//memory/`. **Same-tick update discipline:** when a new memory lands that updates a rule in a CURRENT file, edit CURRENT in the same tick. Skipping is diff --git a/docs/BACKLOG.md b/docs/BACKLOG.md index b486d707..06bd0974 100644 --- a/docs/BACKLOG.md +++ b/docs/BACKLOG.md @@ -5586,6 +5586,22 @@ systems. This track claims the space. ## P2 — research-grade +- [ ] **Land per-maintainer CURRENT-memory ADR + companion + feedback memory.** PR #153 landed the CLAUDE.md fast-path + pointer at the per-user `CURRENT-.md` + distillation pattern, but the supporting docs the original + draft cited (`docs/DECISIONS/2026-04-23-per-maintainer- + current-memory-pattern.md` + `memory/feedback_current_ + memory_per_maintainer_distillation_pattern_prefer_progress_ + 2026_04_23.md`) were never landed. PR #153 review left the + pointer in CLAUDE.md but removed the dead links; this + backlog row tracks landing the actual ADR (per-user vs + in-repo split, role-ref filename discipline per BP-284, + same-tick update rule, conflict-precedence over raw + `feedback_*.md`) so the pattern has a citable substrate + beyond CLAUDE.md prose. Companion feedback memory captures + the original framing. + - [ ] **Separation-audit cross-PR rollup — automate `## Audit — ...` count verification.** Codex reviewer Otto (2026-04-24) on PR #190 originally flagged that the pattern-summary table in `docs/frontier-readiness/factory-vs-zeta-separation-audit.md` listed ALIGNMENT / FACTORY-HYGIENE / TECH-RADAR as completed classifications even though those sections then lived only in sibling PRs (#185 + #188). PR #188 has since merged, ALIGNMENT classification was corrected from `factory-generic` to `both (coupled)` to match the in-file audit section, and all 15 audits now have dedicated `## Audit —` sections (verifiable via `grep '^## Audit — '`). The residual discipline question — "completed" audits counted in a file's summary should be mechanically reproducible from that file's own contents — remains for the **future**: as new audits land via separate PRs, the same drift can recur. Remaining option: (c) add a tooling / CI check that diffs pattern-summary claims against `grep '^## Audit — '`. Options (a) wait-for-merge and (b) per-PR summary-row landings have resolved naturally for the first 15 audits. Priority P2 research-grade; effort S (tooling). Composes with glass-halo transparency + audit-as-source-of-truth principle. - [ ] **KSK naming definition doc — `docs/definitions/KSK.md` leading with canonical expansion `KSK = Kinetic Safeguard Kernel`.** **Authority: Aaron Otto-140 rewrite approved; Max attribution preserved as initial-starting-point contributor (Otto-77).** Amara 2026-04-24 (16th courier ferry, GPT-5.5 Thinking) flagged the naming ambiguity: *"'KSK' has multiple possible meanings: DNSSEC-style Key Signing Key, your emerging Kinetic Safeguard Kernel / trust-anchor idea, maybe broader 'ceremony + root-of-trust + governance key' structure."* Aaron Otto-142..145 (self-correcting Otto-141 typo "SDK") canonicalized: *"kinetic safeguare Kernel, i did the wrong name / it is what amara said / kinetic safeguard kernel"* — matches Amara's 5th and 16th ferry phrasing. Doc scope: (1) lead sentence *"KSK = Kinetic Safeguard Kernel. 'Kernel' here is safety-kernel / security-kernel sense (Anderson 1972, Saltzer-Schroeder reference-monitor, aviation safety-kernel) — a small trusted enforcement core, **NOT OS-kernel-mode** (not ring 0, not Linux/Windows kernel)"*; (2) "Inspired by..." DNSSEC KSK / DNSCrypt / threshold-sig ceremonies / security-kernel lineage; (3) "NOT identical to..." OS kernel, DNSSEC KSK (signs zone keys); (4) cross-refs to 5 ferries elaborating architecture; (5) Max attribution: *"Initial starting point committed by Max under Aaron's direction in LFG/lucent-ksk; substrate is Aaron+Amara's concept, completely rewritable."* (Otto-140 lifted the Max-coordination gate; Otto-77 attribution stands.) Priority P2 research-grade (elevated from P3); effort S (doc) — coordination overhead removed. Composes with Amara 17th-ferry correction #7 (now resolved), Otto-77 Max attribution, Otto-90 Aaron+Max-not-gates, Otto-140..145 Aaron canonical expansion + gate-lift, Otto-108 single-team-until-interfaces-harden. From aaae74c88d52ab72bb0b67d8ce1ceab3e6da66eb Mon Sep 17 00:00:00 2001 From: Aaron Stainback Date: Fri, 24 Apr 2026 18:21:32 -0400 Subject: [PATCH 3/3] drain: resolve 3 threads on #153 CLAUDE.md fast-path block: replace BP-284 citation with the actual rule title + file pointer (`docs/AGENT-BEST-PRACTICES.md` "No name attribution in code, docs, or skills") since BP-284 is not in the canonical BP list. BACKLOG row 4073-4087: reflow the two long paths onto their own lines so inline-code spans no longer split across newlines (Copilot's CommonMark correctness call); same role-ref-citation fix folded into the row body. Threads addressed: - chatgpt-codex P2 (CLAUDE.md:88, BP-284 not defined): fixed by replacing the unresolved BP citation with the rule title + file pointer to docs/AGENT-BEST-PRACTICES.md. - copilot P2 (BACKLOG.md:4087, hard-wrapped inline code spans): fixed by moving each full backticked path onto its own line of code formatting with prose wrapping around it. - copilot P2 (CLAUDE.md:95, PR description references unlanded ADR): the file no longer references that ADR (prior commit 39ad190 removed the dead link); updating the PR description to match is an editorial follow-up, the substantive code change is correct. Co-Authored-By: Claude Opus 4.7 --- CLAUDE.md | 4 +++- docs/BACKLOG.md | 24 +++++++++++++----------- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 5ea15ad8..3710a186 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -85,7 +85,9 @@ These are the knobs this repo actually uses: **Fast-path on wake:** read any `CURRENT-.md` files (one per human or external-AI maintainer; filename uses a role-ref - per BP-284, not a real name) in + placeholder per the "No name attribution in code, + docs, or skills" rule in + `docs/AGENT-BEST-PRACTICES.md`, not a real name) in `~/.claude/projects//memory/` *before* the raw `feedback_*.md` / `project_*.md` log. CURRENT files are the distilled currently-in-force diff --git a/docs/BACKLOG.md b/docs/BACKLOG.md index 06bd0974..0fe4f825 100644 --- a/docs/BACKLOG.md +++ b/docs/BACKLOG.md @@ -5590,17 +5590,19 @@ systems. This track claims the space. feedback memory.** PR #153 landed the CLAUDE.md fast-path pointer at the per-user `CURRENT-.md` distillation pattern, but the supporting docs the original - draft cited (`docs/DECISIONS/2026-04-23-per-maintainer- - current-memory-pattern.md` + `memory/feedback_current_ - memory_per_maintainer_distillation_pattern_prefer_progress_ - 2026_04_23.md`) were never landed. PR #153 review left the - pointer in CLAUDE.md but removed the dead links; this - backlog row tracks landing the actual ADR (per-user vs - in-repo split, role-ref filename discipline per BP-284, - same-tick update rule, conflict-precedence over raw - `feedback_*.md`) so the pattern has a citable substrate - beyond CLAUDE.md prose. Companion feedback memory captures - the original framing. + draft cited were never landed. The two intended targets are + `docs/DECISIONS/2026-04-23-per-maintainer-current-memory-pattern.md` + and + `memory/feedback_current_memory_per_maintainer_distillation_pattern_prefer_progress_2026_04_23.md`. + PR #153 review left the pointer in CLAUDE.md but removed + the dead links; this backlog row tracks landing the actual + ADR (per-user vs in-repo split, role-ref filename + discipline per the "No name attribution in code, docs, or + skills" rule in `docs/AGENT-BEST-PRACTICES.md`, same-tick + update rule, conflict-precedence over raw `feedback_*.md`) + so the pattern has a citable substrate beyond CLAUDE.md + prose. Companion feedback memory captures the original + human-maintainer framing. - [ ] **Separation-audit cross-PR rollup — automate `## Audit — ...` count verification.** Codex reviewer Otto (2026-04-24) on PR #190 originally flagged that the pattern-summary table in `docs/frontier-readiness/factory-vs-zeta-separation-audit.md` listed ALIGNMENT / FACTORY-HYGIENE / TECH-RADAR as completed classifications even though those sections then lived only in sibling PRs (#185 + #188). PR #188 has since merged, ALIGNMENT classification was corrected from `factory-generic` to `both (coupled)` to match the in-file audit section, and all 15 audits now have dedicated `## Audit —` sections (verifiable via `grep '^## Audit — '`). The residual discipline question — "completed" audits counted in a file's summary should be mechanically reproducible from that file's own contents — remains for the **future**: as new audits land via separate PRs, the same drift can recur. Remaining option: (c) add a tooling / CI check that diffs pattern-summary claims against `grep '^## Audit — '`. Options (a) wait-for-merge and (b) per-PR summary-row landings have resolved naturally for the first 15 audits. Priority P2 research-grade; effort S (tooling). Composes with glass-halo transparency + audit-as-source-of-truth principle.