Assemble the spec deltas + ADR amendments #58

Closed
opened 2026-07-15 16:01:45 +00:00 by jared · 1 comment
Owner

Map: #49

Blocked by #55
Blocked by #56
Blocked by #57
Blocked by #59

Question

Assemble the locked design: fold every decision on map #49 into lifecycle-spec.md deltas + the ADR set, ready to hand to an OpenSpec change. Covers: operational assessment inventory; keep verdicts as keep rules incl. exact-path singletons (keep-tier relaxation of the class-not-path test); the nominations key + intake filter; writer-enforced canonical ordering; container-glob breadth guidance; extract-index pointer convention. ADR touches expected: ADR-0038 (rules-file scope now includes nominations memory), ADR-0039 (tier interactions), possibly a new ADR for the extract-index convention. Run /os-adr:find first; record amendments via /os-adr:create.

Map: #49 Blocked by #55 Blocked by #56 Blocked by #57 Blocked by #59 ## Question Assemble the locked design: fold every decision on map #49 into lifecycle-spec.md deltas + the ADR set, ready to hand to an OpenSpec change. Covers: operational assessment inventory; keep verdicts as keep rules incl. exact-path singletons (keep-tier relaxation of the class-not-path test); the nominations key + intake filter; writer-enforced canonical ordering; container-glob breadth guidance; extract-index pointer convention. ADR touches expected: ADR-0038 (rules-file scope now includes nominations memory), ADR-0039 (tier interactions), possibly a new ADR for the extract-index convention. Run /os-adr:find first; record amendments via /os-adr:create.
jared added the
wayfinder:grilling
label 2026-07-15 16:01:45 +00:00
jared self-assigned this 2026-07-15 17:34:59 +00:00
Author
Owner

Resolved — the locked design is assembled in the working tree (2026-07-15). Every map #49 decision is folded into the spec + ADR set; the map's destination is reached. /os-adr:find was run first (candidates: ADR-0032/0038/0039/0040/0041); nothing here reverses an Accepted ADR — 0038 and 0039 are amended in place (dated Amendment sections, the ADR-0020 precedent), and per #57 no new ADR was needed.

Artifacts changed:

  • plugins/os-doc-hygiene/lifecycle-spec.md — status line extended to map #49; §1 gains the Extract index (extracted.md) subsection (#57: entry format, :clean extract op owns the atomic append, one global keep rule, the three extract-worthy tests, conventions.json non-graduation); §2 gains Nominations memory (#52/#56: full schema for consults/rejected, consult exits, exact-repeat blocking, rulebook.py stays nomination-unaware, singleton keeps leave by hand-deletion only) and Canonical ordering (#53: writer-enforced, no hook); §8 protocol gains the deterministic Nomination intake filter step (renumbered to 7 steps), an extended Persistence step (#51: keep verdicts as plain keep rules incl. exact-path singletons; human declines persist as rejections), the keep-tier relaxation of class-not-path (#51), the enumerate-siblings-never-widen-to-container rule-quality test (#55), and the test-coverage subsection (#59: two unit-test suites, zero new harnesses).
  • docs/adr/0038 — Amendment: rules-file scope includes nominations memory; canonical ordering; global **/extracted.md → keep rule.
  • docs/adr/0039 — Amendment: keep-tier relaxation + hand-deletion-only exit; nominations memory is memory not deletion authority; consults resurface in :calibrate only.
  • plugins/os-doc-hygiene/rulebook.json — the global **/extracted.md → keep rule (#57).
  • skills/calibrate/workflows/judge.md — the two #55 corrective edits (step 2 no longer says "widen to a broader glob"; the output example now enumerates improve-*/ + classic-*/ instead of widening to autoresearch/*/), the enumerate-siblings quality check, and the Nominations memory input section with worked example (#59 mitigation for the no-harness decision).
  • skills/calibrate/SKILL.md — the consult-loop worked example (#59), marked design-level pending the pipeline wiring.

Handoff: the map is done — nothing left to decide. Implementation (NominationIntakeFilter + canonical-writer extension in calibrate_helpers.py, Step 3.5/Step 5/Step 6 pipeline wiring, the two unit-test suites, :clean extract-op append) proceeds as an OpenSpec change per the map's out-of-scope boundary.

**Resolved — the locked design is assembled in the working tree (2026-07-15).** Every map #49 decision is folded into the spec + ADR set; the map's destination is reached. `/os-adr:find` was run first (candidates: ADR-0032/0038/0039/0040/0041); nothing here reverses an Accepted ADR — 0038 and 0039 are amended in place (dated Amendment sections, the ADR-0020 precedent), and per #57 no new ADR was needed. **Artifacts changed:** - **`plugins/os-doc-hygiene/lifecycle-spec.md`** — status line extended to map #49; §1 gains the **Extract index (`extracted.md`)** subsection (#57: entry format, `:clean` extract op owns the atomic append, one global keep rule, the three extract-worthy tests, conventions.json non-graduation); §2 gains **Nominations memory** (#52/#56: full schema for `consults`/`rejected`, consult exits, exact-repeat blocking, rulebook.py stays nomination-unaware, singleton keeps leave by hand-deletion only) and **Canonical ordering** (#53: writer-enforced, no hook); §8 protocol gains the deterministic **Nomination intake filter** step (renumbered to 7 steps), an extended Persistence step (#51: keep verdicts as plain keep rules incl. exact-path singletons; human declines persist as rejections), the **keep-tier relaxation** of class-not-path (#51), the **enumerate-siblings-never-widen-to-container** rule-quality test (#55), and the **test-coverage** subsection (#59: two unit-test suites, zero new harnesses). - **`docs/adr/0038`** — Amendment: rules-file scope includes nominations memory; canonical ordering; global `**/extracted.md → keep` rule. - **`docs/adr/0039`** — Amendment: keep-tier relaxation + hand-deletion-only exit; nominations memory is memory not deletion authority; consults resurface in `:calibrate` only. - **`plugins/os-doc-hygiene/rulebook.json`** — the global `**/extracted.md → keep` rule (#57). - **`skills/calibrate/workflows/judge.md`** — the two #55 corrective edits (step 2 no longer says "widen to a broader glob"; the output example now enumerates `improve-*/` + `classic-*/` instead of widening to `autoresearch/*/`), the enumerate-siblings quality check, and the **Nominations memory input section with worked example** (#59 mitigation for the no-harness decision). - **`skills/calibrate/SKILL.md`** — the **consult-loop worked example** (#59), marked design-level pending the pipeline wiring. **Handoff:** the map is done — nothing left to decide. Implementation (NominationIntakeFilter + canonical-writer extension in `calibrate_helpers.py`, Step 3.5/Step 5/Step 6 pipeline wiring, the two unit-test suites, `:clean` extract-op append) proceeds as an OpenSpec change per the map's out-of-scope boundary.
jared closed this issue 2026-07-15 17:46:25 +00:00
Sign in to join this conversation.
No description provided.