Commit 10e8662
authored
fix(dogfood-gate): repair the manifest defects the revived gate exposed (#55)
Follows #53 and #54.
The Dogfood Gate **could not parse** before #53, so it never ran. Now
that it parses, it runs — and immediately reported **2 A2ML errors and 4
K9 errors** on `main`. That's the gate working as intended; this PR
clears what it found.
Each fix was verified by running the **actual validator** locally, not
by reading its source.
## A2ML: 2 errors → 0
### `docs/governance/TSDM.a2ml` was not defective — the pin was stale
This is the
[SHA-pinning-defeats-upstream-fixes](https://github.com/hyperpolymath/krl)
pattern, caught red-handed:
| | |
|---|---|
| Pinned | `6bff6ec` — PR **#26**, *"recognise s-expression
identity/version fields"* |
| Fix needed | `6c47174` — PR **#41**, *"recognise colon/brace-block
identity"* |
TSDM.a2ml declares `id: "tsdm-standard"`, the colon/brace-block form.
The validator's own source comment **names this exact file** as the
motivating case — so the fix existed upstream, and the pin predated it.
Confirmed before changing anything: running the newer validator locally
drops the count **2 → 1**. Bumped to current main (`5468b7f`).
### `docs/governance/MAINTENANCE-CHECKLIST.a2ml` genuinely lacked
identity
The validator exempts four categories — `*AI-MANIFEST*` files,
`.machine_readable/` (structural identity), contractile `@directive`
shape, and named typed manifests. **None applies here**, and the file
has no `name`/`project`/`agent-id`. Added `name` to its `[metadata]`
block.
## K9: 4 errors → 0
Unlike the A2ML case, these are **genuine file defects** — the current
validator reports the same 4 errors as the pinned one, so pin staleness
is ruled out.
- Both `container/deploy.k9.ncl` and
`.machine_readable/self-validating/methodology-guard.k9.ncl` were
missing the mandatory **`K9!` magic number** on line 1.
- `deploy.k9.ncl` had `pedigree = component_pedigree,` where the
canonical template (`rsr-julia-library-template-repo`) has `pedigree =
component_pedigree & { name = "…" },`. Without the merge the pedigree
carries no name. Matched to the template.
- `methodology-guard.k9.ncl` had **no pedigree block at all**. Added
one.
> This is template rot with a measurable blast radius:
`container/deploy.k9.ncl` is missing the `K9!` line in **6 repos**
(lucidscript, pandoc-k9, pseudoscript, squeakwell, stateful-artefacts,
systemet) while the newer template has it.
## 1 parent 2d4cbbe commit 10e8662
4 files changed
Lines changed: 21 additions & 2 deletions
File tree
- .github/workflows
- .machine_readable/self-validating
- container
- docs/governance
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
42 | | - | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
43 | 47 | | |
44 | 48 | | |
45 | 49 | | |
| |||
Lines changed: 13 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
1 | 2 | | |
2 | 3 | | |
3 | 4 | | |
| |||
12 | 13 | | |
13 | 14 | | |
14 | 15 | | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
15 | 28 | | |
16 | 29 | | |
17 | 30 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
1 | 2 | | |
2 | 3 | | |
3 | 4 | | |
| |||
143 | 144 | | |
144 | 145 | | |
145 | 146 | | |
146 | | - | |
| 147 | + | |
147 | 148 | | |
148 | 149 | | |
149 | 150 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
| |||
0 commit comments