PENDING-52 built + authorized (REVIEWED-52 pending): source-archiving as graduation gate zero; chamber 4be2265
This commit is contained in:
+10
@@ -1375,3 +1375,13 @@ Disposition (verbatim capture + executor action-list: `chamber-library/docs/libr
|
|||||||
**Recommendation:** Option 1 — the only one that makes the directive structural. The one real design question: *how graduation learns the source's location.* The `source:` frontmatter names the original filename but not its path; a small convention is needed — likely a `pending-graduation/` staging area (mirroring the existing `Chamber Sources/pending-graduation/`) the gate resolves from.
|
**Recommendation:** Option 1 — the only one that makes the directive structural. The one real design question: *how graduation learns the source's location.* The `source:` frontmatter names the original filename but not its path; a small convention is needed — likely a `pending-graduation/` staging area (mirroring the existing `Chamber Sources/pending-graduation/`) the gate resolves from.
|
||||||
**Files affected:** `scripts/graduate_to_canonical.py`, the graduation gate (`scripts/verify_graduation.py` or the `graduation-spec.yaml` gate list), `_curation/graduation-spec.yaml` (the new precondition), `_curation/conversion-runbook.yaml` (currency). No change to the verbatim guarantee or the fidelity relation.
|
**Files affected:** `scripts/graduate_to_canonical.py`, the graduation gate (`scripts/verify_graduation.py` or the `graduation-spec.yaml` gate list), `_curation/graduation-spec.yaml` (the new precondition), `_curation/conversion-runbook.yaml` (currency). No change to the verbatim guarantee or the fidelity relation.
|
||||||
**Awaiting:** Steward authorization + jurist review (it touches the graduation gate — the chamber's governed boundary).
|
**Awaiting:** Steward authorization + jurist review (it touches the graduation gate — the chamber's governed boundary).
|
||||||
|
|
||||||
|
**JURIST-RULED + STEWARD-AUTHORIZED + BUILT 2026-07-09 → REVIEWED-52.** Design closed through a 4-document jurist exchange (mechanism draft → repo-evidence ruling → final reconciliation); the executor's repo-evidence *replaced* the original filename-lookup design once the staging area's real shape surfaced (its own `pending-manifest.json`; the staging slug is **author-first** while canonical is **title-first**). Steward authorized; built + tested same session.
|
||||||
|
- **Resolution:** via `pending-manifest.json`'s **`canonical_slug`** field (matched per-candidate, **never** bulk-copied from the staging `slug` nor the note's "intended canonical slug" language — jurist's sharpened constraint; the 14 legacy entries untouched until each comes up).
|
||||||
|
- **`archive_sources.py`:** `resolve_pending_source` + `manifest_has`; `--add` idempotency — no-op on sha match, `ARCHIVE CONFLICT` (exit 2) on same-slug/different content (jurist §4).
|
||||||
|
- **`graduate_to_canonical.py`:** `source_gate()` = gate zero — archive-first, verify-the-entry-landed (don't trust the return, §3.3), refuse otherwise; the old NOT-WIRED warning is now the wired confirmation.
|
||||||
|
- **`graduation-spec.yaml`:** declarative `preconditions: source_archived`.
|
||||||
|
- Tests 68→**73/73**; dry-run clean. Chamber commit **`4be2265`** (local; Gitea push steward's call).
|
||||||
|
- **Parked separately (jurist §3, not folded in):** is the graduated corpus uniformly title-first or genuinely mixed? Per-candidate resolution is robust either way.
|
||||||
|
- **Full FIX for graduate_to_canonical's follow-on line:** `body_word_conservation` (the 3rd declared gate, still "tracked as follow-on, not yet enforced") is untouched here — out of PENDING-52 scope.
|
||||||
|
**Awaiting only:** steward placement of **REVIEWED-52** (the authorization record).
|
||||||
|
|||||||
Reference in New Issue
Block a user