diff --git a/docs/CONFLICT-RESOLUTION.md b/docs/CONFLICT-RESOLUTION.md index 890aefe7..d850d842 100644 --- a/docs/CONFLICT-RESOLUTION.md +++ b/docs/CONFLICT-RESOLUTION.md @@ -201,8 +201,10 @@ sign-off. (Complexity Theory Reviewer, on paper) and empirical measurement (Claims Tester, at `n = 10³..10⁶`). Standing resolution: the two-stage pipeline in - `docs/DECISIONS/2026-04-21-router-coherence-claims-vs-complexity.md` - — analytic-first on new claims; reverse trigger (Claims Tester + `docs/DECISIONS/2026-04-21-router-coherence-v2.md` + (v1 at `docs/DECISIONS/2026-04-21-router-coherence-claims-vs-complexity.md` + retained as historical record) — + analytic-first on new claims; reverse trigger (Claims Tester first) on benchmark surprise. If the two disagree on a reconciliation, the conflict escalates to this document's deadlock clause (human maintainer decides). diff --git a/docs/ROUND-HISTORY.md b/docs/ROUND-HISTORY.md index 4b06f0c4..d8b4fd9c 100644 --- a/docs/ROUND-HISTORY.md +++ b/docs/ROUND-HISTORY.md @@ -693,9 +693,11 @@ for scheduling; (3) clock scopes and tick monotonicity; (4) `Incrementalize(Q)` wrapper preserves the chain-rule identity `Q^Δ = D ∘ Q ∘ I`; (5) representation invariants of the reference `ZSet[K]` (O(n+m) group operations, zero-alloc -iteration, no zero-weight entries exposed). Spec now at -324 lines. F# profile at `openspec/specs/operator-algebra/ -profiles/fsharp.md` pins the language-specific surface. +iteration, no zero-weight entries exposed). Spec size at +Arc 2 ship (`e51ec1b`) was 324 lines; subsequent Viktor +closure arcs in this same round grew it further. F# profile +at `openspec/specs/operator-algebra/profiles/fsharp.md` pins +the language-specific surface. ### Arc 3 — Viktor P0 close (`92d7db2`) diff --git a/docs/research/memory-role-restructure-plan-2026-04-21.md b/docs/research/memory-role-restructure-plan-2026-04-21.md index a1a01e57..b84a2744 100644 --- a/docs/research/memory-role-restructure-plan-2026-04-21.md +++ b/docs/research/memory-role-restructure-plan-2026-04-21.md @@ -123,7 +123,7 @@ memory/persona/sova/ memory/alignment/sova/ memory/persona/tariq/ memory/algebra/tariq/ memory/persona/viktor/ memory/verification/viktor/ -memory/persona/README.md memory/persona-README.md (or moved to memory/README-persona-roles.md) +memory/persona/README.md memory/persona-roles-README.md memory/persona/best-practices-scratch.md memory/best-practices-scratch.md (promote to memory/ root; it is shared across roles by design) ``` @@ -133,10 +133,12 @@ memory/persona/best-practices-scratch.md memory/best-practices-scratch.md (pro ```bash grep -rln "memory/persona/" --include="*.md" --include="*.json" \ - --include="*.sh" --include="*.fs" --include="*.cs" . | \ - grep -v "^./\\.git" | wc -l # → 114 files + --include="*.sh" --include="*.fs" --include="*.cs" \ + --exclude-dir=.git --exclude-dir=references . | \ + wc -l # → 114 files grep -rc "memory/persona/" --include="*.md" --include="*.json" \ - --include="*.sh" . | grep -v ":0$" | \ + --include="*.sh" --exclude-dir=.git --exclude-dir=references . | \ + grep -v ":0$" | \ awk -F: '{s+=$2} END {print s}' # → 700 refs ``` @@ -202,19 +204,26 @@ declare -A ROLES=( for persona in "${!ROLES[@]}"; do role="${ROLES[$persona]}" grep -rl "memory/persona/$persona/" --include="*.md" \ - --include="*.json" --include="*.sh" --include="*.jsonc" . | \ - grep -v "^./\\.git" | \ + --include="*.json" --include="*.sh" --include="*.jsonc" \ + --exclude-dir=.git --exclude-dir=references . | \ grep -v "tools/alignment/out/" | \ - xargs -r sed -i "" "s|memory/persona/$persona/|memory/$role/$persona/|g" + while IFS= read -r file; do + sed -i.bak "s|memory/persona/$persona/|memory/$role/$persona/|g" "$file" && rm -f "$file.bak" + done done # Clean up the flat-file references too -grep -rl "memory/persona/README\\.md" --include="*.md" . | \ - xargs -r sed -i "" "s|memory/persona/README\\.md|memory/persona-roles-README.md|g" +grep -rl "memory/persona/README\\.md" --include="*.md" \ + --exclude-dir=.git --exclude-dir=references . | \ +while IFS= read -r file; do + sed -i.bak "s|memory/persona/README\\.md|memory/persona-roles-README.md|g" "$file" && rm -f "$file.bak" +done grep -rl "memory/persona/best-practices-scratch\\.md" \ - --include="*.md" --include="*.sh" . | \ - xargs -r sed -i "" \ - "s|memory/persona/best-practices-scratch\\.md|memory/best-practices-scratch.md|g" + --include="*.md" --include="*.sh" \ + --exclude-dir=.git --exclude-dir=references . | \ +while IFS= read -r file; do + sed -i.bak "s|memory/persona/best-practices-scratch\\.md|memory/best-practices-scratch.md|g" "$file" && rm -f "$file.bak" +done ``` ### Phase 4 — verification passes (five checks) diff --git a/docs/research/openspec-coverage-audit-2026-04-21.md b/docs/research/openspec-coverage-audit-2026-04-21.md index 781393fd..5733f692 100644 --- a/docs/research/openspec-coverage-audit-2026-04-21.md +++ b/docs/research/openspec-coverage-audit-2026-04-21.md @@ -4,8 +4,8 @@ **Round:** 41 opener **Author:** Architect (Kenji) — dispatched inventory; spec-zealot (Viktor) to review adversarially post-land. -**Triggering question:** Aaron 2026-04-20 — *"opensepcs, if I -deleted all the code right now how easy to recreate based on the +**Triggering question:** human maintainer, 2026-04-20 — *"opensepcs, +if I deleted all the code right now how easy to recreate based on the openspecs"*. ## TL;DR @@ -39,10 +39,8 @@ openspecs"*. Source: `ls src/Core/*.fs`, `wc -l src/Core/*.fs`. -See `docs/research/openspec-coverage-audit-2026-04-21-inventory.md` -(follow-up) for the full 66-row table. Summary by band below; -the table and Band definitions are this document's load-bearing -artefact. +Summary by band below; the Band definitions in this document are +the load-bearing artefact. ## Part B — What the 4 existing capabilities cover today diff --git a/memory/persona/best-practices-scratch.md b/memory/persona/best-practices-scratch.md index 5383e35b..a677469a 100644 --- a/memory/persona/best-practices-scratch.md +++ b/memory/persona/best-practices-scratch.md @@ -271,8 +271,7 @@ Codified meanwhile in `.github/copilot-instructions.md` under "Conventions you must respect" so Copilot flags it on every PR. Will re-evaluate for BP-17 promotion after round 44. -## 2026-04-19 -- candidate BP: uv-only Python package and tool -## management +## 2026-04-19 -- candidate BP: uv-only Python package and tool management Aaron flagged pip / pipx / poetry / pyenv / conda / requirements.txt (no lockfile) / virtualenv as smells on Zeta PRs. uv covers every