From 90191ab930158f3b749f103a57e6aa6d5513b81e Mon Sep 17 00:00:00 2001 From: David F Glidden Date: Wed, 19 Aug 2026 16:33:52 +0200 Subject: [PATCH] Governance block round 2 + the AldineXXI frontmatter spec, read-only MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit owner: 3 distinct values across 153 notes, all one person spelled three ways — the opposite shape to canonical, less than its count suggested, not more. change_log: 38 empty / 51 real, and the real half carries FOUR incompatible entry schemas plus one malformed instance where the date became the key. related: 48% of 442 targets resolve by name, 47% unresolvable — and 385 of 442 are bare strings rather than wikilinks, so ~87% produce no clickable relation whatever they resolve to. Some targets are people who have no note. links: six dict schemas, and it carries sub-keys canonical and related that duplicate two top-level governance fields. 31% unresolvable — a first pass without an alias/title tier said 57%, the same resolver-too-strict error as this morning's canonical number, caught before quoting this time. Also relayed: a faithful section-by-section account of AldineXXI's OPERATIVE frontmatter specification, including its W1.12 prune of four unread fields and its §3 translation table, which rules by name on canonical, assurance, change_log, author, version, type, status, tags and review_cycle. Findings only. Nothing proposed, nothing decided, nothing changed in the vault. Co-Authored-By: Claude Opus 5 --- ...ault-governance-block-round2-2026-08-19.md | 211 ++++++++++++++++++ 1 file changed, 211 insertions(+) create mode 100644 obsidian/vault-governance-block-round2-2026-08-19.md diff --git a/obsidian/vault-governance-block-round2-2026-08-19.md b/obsidian/vault-governance-block-round2-2026-08-19.md new file mode 100644 index 0000000..8a8def0 --- /dev/null +++ b/obsidian/vault-governance-block-round2-2026-08-19.md @@ -0,0 +1,211 @@ +--- +name: obsidian-vault-governance-block-round2-2026-08-19 +description: Read-only round-2 investigation of owner, related, change_log and links, plus a faithful account of AldineXXI's frontmatter specification. Findings only; nothing proposed, nothing decided, nothing changed. +type: reference +--- + +# Governance block, round 2 — `owner` · `related` · `change_log` · `links` + +2026-08-19. **Read-only. No vault file was changed.** Same method as the `canonical`/`assurance` +follow-up. Findings only. + +--- + +## 1 · `owner` (153) — one job, three spellings, zero discrimination + +| value | notes | +|---|---:| +| `David Glidden` | 136 | +| `David` | 12 | +| `David F. Glidden` | 5 | + +**Three distinct values across 153 notes, all naming the same person.** The key does one job +consistently — and the job is constant. A field whose value never varies partitions nothing; a +`GROUP BY owner` returns three groups that are one person spelled three ways. + +Unlike `canonical`, there is no second meaning hiding here. The finding is the opposite shape: not +*more* than its count suggested, but *less*. + +## 2 · `change_log` (89) — real content, four incompatible schemas + +| | count | +|---|---:| +| empty list / null | **38** | +| carrying content | **51** | + +The 51 are real and substantive (`{date: 2025-09-28, change: 'Created alias stub pointing to +canonical Learning & Mind organ', by: 'David'}`). But they use **four different entry shapes**: + +| entry keys | count | +|---|---:| +| `(by, change, date)` | 26 | +| `(change, date)` | 11 | +| `(date, note)` | 11 | +| `(date, summary, version)` | 2 | +| ⚠ `(datetime.date(2025,10,12),)` — the **date became the key** | 1 | + +So the answer to *"template nobody filled in, or real content worth keeping?"* is **both, unevenly**: +43% empty, 57% real, and the real half is four conventions rather than one. `change` / `note` / +`summary` are three names for the same slot; `by` is present on half of one schema and absent +everywhere else, recording an author who — per §1 — is invariant. + +## 3 · `related` (121 instances, 442 link targets) + +**Pointer integrity**, case-insensitive, tested at four strictnesses: + +| | count | | +|---|---:|---:| +| note name resolves | 215 | 48% | +| matches an alias or title | 17 | 3% | +| **unresolvable** | **210** | **47%** | + +**Two link conventions, and the minority one is the working one.** 57 targets are wikilink-wrapped +(`'[[P3 Pattern Index]]'`); **385 are bare strings** (`'White Abstraction – Moy Glidden'`). A bare +string in frontmatter is not a link in Obsidian — so **87% of `related` entries do not produce a +clickable relation**, whatever they resolve to. + +**A third job, as with `canonical`.** Some targets are **people, not notes** — `Divorce.md` carries +`related: [Lune, Marie, Briac Prud'homme]`. These are unresolvable not because the link is stale but +because the referent was never a document. Relating-to-a-person and relating-to-a-note are different +operations sharing one field. + +## 4 · `links` (77 instances, 286 link targets) + +**Six dict schemas:** + +| keys | count | +|---|---:| +| `(children, parents, peers)` | 31 | +| `(parents, peers)` | 23 | +| `(related,)` | 6 | +| `(children, parents)` | 5 | +| `(canonical,)` | 4 | +| `(parents,)` | 4 | + +⚠ **`links` contains sub-keys that duplicate two other top-level governance fields.** Four notes +carry `links: {canonical: [[...]]}` while `canonical` also exists as a top-level key on 161 notes; +six carry `links: {related: ...}` against a top-level `related` on 121. The same relation can be +expressed in two places, and nothing reconciles them. + +**Pointer integrity:** + +| | count | | +|---|---:|---:| +| full path resolves | 1 | 0% | +| note name resolves | 122 | 42% | +| matches an alias or title | 72 | 25% | +| **unresolvable** | **91** | **31%** | + +⚠ **The alias/title tier is load-bearing and was nearly missed.** A first pass without it reported +163 unresolvable (57%); adding alias and title matching moved that to 91 (31%). The stricter figure +would have overstated decay by nearly two to one. Same resolver-too-strict error as the `canonical` +"151 dead" number this morning, caught this time before it was quoted. + +**Some targets address a vault structure that does not exist here** — `places/pine-street`, +`people/moy-glidden`, `people/abg`, `GLOSSARY.md`, all from `00. Atlas of Roots — Index.md`. That is +not a stale path; it is a path shaped for a different repository layout. + +--- + +# The AldineXXI Frontmatter specification — faithful account + +`~/_Dev/animal-davidglidden-eu/docs/AldineXXI-Codex/frontmatter-specification.md` · 310 lines / +3,268 words · **Status: OPERATIVE 2026-05-22**, drafted 2026-04-17. + +**Scope:** every markdown document under `content/`. Stated as *"the contract between the author (at +writing time), the versioning system (at revision time), and Hakyll (at build time). Publishing a new +piece or revising an existing one should not require re-deciding frontmatter shape."* The document +declares itself the canonical record, expects to evolve, and rules that pre-convention pieces may be +backfilled or carry less metadata — *"graceful degradation rather than demanded completeness."* + +### §1 Design principles (five, verbatim in substance) + +1. **Minimal required surface.** A new essay needs only `title`, `date`, `class`. Everything else is + opt-in, driven by what the piece needs. +2. **Dates, not versions.** YYYY-MM-DD throughout. No semver, no `v1.0.0`. +3. **Public-facing naming.** Field names appear in templates and occasionally in prose; they should + be legible to a reader who sees them. No internal jargon. +4. **Flat where possible, nested when justified.** Nesting only where the structure is load-bearing. +5. **Private editorial notes stay private.** Author's stance, intent or mode live in separate notes + files, not published frontmatter — *"What's in the frontmatter is what the publication stands + behind."* + +### §2 Field reference + +- **§2.1 Identity (always present):** `title` (req), `date` (req, ISO — the **origin date**, stable + through all revisions, drives archive location), `class` (req, one of 14 content types), + `location` (opt, city-level), `slug` (opt, routing override). +- **§2.2 Sequence membership:** `sequence`, `sequence_short`, `sequence_order`, `sequence_slug`, + `sequence_order_roman`, `preceded_by`, `followed_by`. Carries a **known latent defect** — the + sequence marker's total is hardcoded `"of V"` and is ruled to become build-derived. +- **§2.3 Versioning:** `revisions` (chronological list of `{date, location?, summary?}`), + `edition_label`, `recants`, `recanted_by`. Two are explicitly **forward fields** kept without + carriers. +- **§2.4 Content metadata:** `description` is the operative field the build reads; `summary` is + retained as drafted but **not read** by the head template. `description` is required for Essay and + Observation, soft-required elsewhere. +- **§2.6 Language [2026-05-14]:** `lang` (ISO 639-1, defaults `en`), `lang_secondary` (list). Three + contexts: French-primary, English-primary-with-passages, genuinely bilingual. +- **§2.7 Medium [2026-05-20]:** `medium`, orthogonal to `class`; `verse` the first non-default value, + which *"surfaces because the corpus produced an instance"* rather than by anticipation. +- **§2.8 Translated renderings [2026-06-05]:** `work` (slug of the work this piece renders), + `translator` (absent = the author's own rendering; **absence is the signal**). The work file carries + no `work:` field — it *is* the work. + +### §2.4's prune — the precedent most directly on point + +**Four documented-but-unread fields removed (W1.12, 2026-06-07)**, on the stated ground that *"the +audit found zero readers in the build for each"*: `comments`, `epigraph`, `philosophical_lineage`, +`related_texts`. The disposition rule: *"Legacy carriers degrade gracefully (unread fields are inert); +strip them on touch. Re-entry of any of these is a new convention decision, not a revival."* + +### §3 — the iA Writer → ARC translation table + +⚠ **Surfaced without comment, because it names this investigation's fields directly.** The table +rules on each Obsidian-side field it encounters: + +| Obsidian field | ARC disposition, as written | +|---|---| +| `change_log` (list of `{date, change}`) | → `revisions:` list, one entry per item; `change` → `summary` | +| `last_updated` / `last_modified` / `last_reviewed` | → a single `revisions:` entry with that date | +| `canonical: "03. Writings/..."` | **Drop.** *"Obsidian path — private authoring metadata."* | +| `assurance: {evidence_level, risk_flags, scope}` | **Drop.** *"Private editorial metadata."* | +| `status: canonical` | **Drop.** *"Publication IS canonicalization."* | +| `author` | **Drop.** *"Every piece is by the same author."* | +| `version` (semver) | **Drop.** *"Per ADR-005: dates, not versions."* | +| `type: essay` | **Drop.** *"Use `class:` instead."* | +| `project` | **Drop.** *"Redundant — every piece in this repo is ARC."* | +| `tags` | **Drop.** Retired 2026-05-20; *"topical organization is carried by `class:` and the corpus enfilade, not by tag indexes."* | +| `related_texts` (Obsidian `[[...]]` links) | **Drop.** Pruned; the anticipated rendering was never built | +| `relations: preceded_by` / `followed_by` | Flatten to top level; **use slug not title** | +| `review_cycle` | **Drop.** *"Private editorial metadata."* | +| `notes: {intent, stance, mode}` | **Drop from public frontmatter.** *"Preserve in separate private notes file if wanted."* | +| `subproject` | **Drop.** *"`sequence:` carries the same information publicly."* | +| `external_references` | **Drop.** *"External citations belong in the text, not in frontmatter."* | +| `language` | → `lang:` (ISO 639-1) | +| `languages` | decompose per §2.8 into one work + N renderings | + +### §4–§6 Recipes + +Publish (decide `class` → create `content/{class-folder}/YYYY-MM-DD-slug.md` → required frontmatter → +optional fields → write → `make build` → commit). Revise (`make revise` → edit → **append** a +`revisions:` entry → build → commit new current + dated snapshot together). Recant (write the +retractation-piece with `recants:`, add `recanted_by:` to the original, commit both together). + +### §7 What is deliberately NOT in the frontmatter + +Word count / reading time (derivable) · **last-modified auto-timestamps** (*"Misleading (git tracks +this; the frontmatter should reflect publication events, not filesystem touches)"*) · author name · +license · copyright year · OG/Twitter card metadata. + +### §8 Open questions + +Three of four are struck through as resolved (slug canonicalization; translated pieces; epigraph +rendering). One remains live: **sequence wrapper pages** — the running page uses +`class: sequence-index`, a working convention outside the 14-type enumeration, *"not yet ratified"*. +The section closes: *"These do not block publishing under the current convention."* + +--- + +**Nothing above is proposed or decided.** The reading of the spec against the vault findings is the +jurist's, not the executor's.