docs(vault): exhaustive dedupe + OKF conformance, then verify every fact #28

Closed
dank wants to merge 0 commits from docs/vault-dedupe-okf-20261019 into main
Owner

What this does

Exhaustive dedupe + OKF conformance pass over serverAppConfigs-docs/, then a fact-verification pass over what the pages assert. Line accounting, measured against b9d21ae (the merge-base): docs 31,210 → 31,234 (+24, flat), AGENTS.md 997 → 849 (−148), scripts/ 19,520 → 20,124 (+604, the enforcement tools). ./tests/run.sh ALL TESTS PASSED (451 tests), 0 OKF violations, 155 pages, 0 unresolved links.

Structural repairs

  • 13 pages were literally the same page twice — each exactly 2× its HEAD size, with a second frontmatter block whose closing --- had been glued onto a body line. Cause: a frontmatter rewrite that re-reads the file it just wrote, plus a fence-repair pass keyed on line == "---" that cannot see a glued fence. Un-doubled by cutting at the second frontmatter and keeping the superset copy; proven with the orphan census (0 lost tokens vs HEAD).
  • log.md structure per OKF: one entry per date, bare ## YYYY-MM-DD, newest first — 66 dated headings merged into 34, titles demoted to bold leads, every content line verified present. An attempted prose compression was rejected: the census showed it dropped laws held nowhere else (the qsa_sparse 64-page-size override that refused 300,000 tokens; the {"status":"loading"} health response that false-greened a deploy at 6 s; the libhiprtc.so dev symlink; the stale ~/.docker/config.json that poisons podman's anonymous pulls).
  • .AGENTTRASH is not vault content and three tools treated it as such: the link checker resolved links into the trash (a live page pointing at a deleted page read healthy) and the docs seam demanded index rows for trashed pages. All now excluded.
  • New LLM/frank-medium.md — the locator the retired Dankserver endpoint was always supposed to have: era windows quoted from each era page's own banner, no numbers restated, and the unresolved date conflicts recorded instead of silently resolved.

Tooling

  • scripts/check-okf.py — enforces the OKF v0.1 hard rules (frontmatter shape, description rules, reserved names, log.md date shape, the length hint, and the doubled-page signature). The 500-line ceiling is escapable two explainable ways: a page's own okf-exempt: length, or one-per-endpoint pages derived from scripts/ / the retired-endpoint tag.
  • scripts/gen-vault-index.py — sibling presence was tested as a bare stem substring, so a page whose name prefixes another's (frank-medium inside frank-medium-rocmfpx) silently never got an index row.
  • scripts/check-vault-links.py + tests/docs_completeness.bats — trash-aware; scripts/port-census.py — token rules so prose words stop posing as facts.

Facts verified, and what changed

Check Method Result
Fleet shapes live probe of all three endpoints, twice archon 3 × 200,000 fp8 KV · dragoon 2 × 200,704 · zealot 3 × 200,704, f16 K + q8_0 V, MTP armed — the first probe read 2 × 262,144 and went stale when main moved mid-campaign, so the end of the pass re-probed /slots and the running cmdline
"on-disk rollback" claim host census /home/dank/models/ stale — MXFP4 is gone; now stated once, as a re-fetch, on the page that owns that payload
GGML_CUDA_FA_ALL_QUANTS read the tree on dankclaw deprecated and unused by the CUDA sources; successor GGML_CUDA_FA_QUANTS default already compiles q4_0/q8_0/f16/bf16 FA kernels (the deployed cache still has the old flag ON)
KV dtype set upstream docs + vllm-project/vllm#42587 bf16|fp8 is a radiance restriction, not stock vLLM's (auto|fp8|fp8_e5m2|fp8_e4m3); the page now says so
--metrics default-off, 400-not-truncate on over-long prompts, Qwen3.8 template reasoning_effort ∈ {xhigh, medium, low} upstream issues/docs all three laws corroborated
q8_0 = 1.0625 B/elem → 1.882× not 2×; PCIe ×2 scaling; 10 GbE decode budget; decode ceiling arithmetic recomputed 10 confirmed, 0 wrong
frank-medium locator rows re-grepped against era pages two cells were wrong — deployed ROCmFPX commit is c49ebdb not the build pin 36e9acd, shape is 2-card layer split; the 09-20 row skipped the same-day MXFP4 → FP8 generation
Open Notebook host census (units, quadlets, containers) not deployed — repo quadlets were never installed; page already said so, now says what was checked

Reconciled with main

origin/main moved while this branch was open (PR #25/#26 resliced frank-zealot). Merged, not rebased, per fleet law: the frontmatter conflict resolved in favour of the live shape, verified by re-probe — --ctx-size 602112 --parallel 3 (3 × 200,704), --cache-type-k f16 --cache-type-v q8_0, --spec-type draft-mtp, --jinja --reasoning auto, --metrics. Every remaining 262,144 on that page is an era row or the checkpoint's trained window, not a live figure.

Not done, deliberately

  • No merge. Merging needs Frank's explicit OK.
  • 129 pages still carry no ## Citations section — the linter reports it as a soft tally, not a failure, so a bulk pass can happen without pretending unverified claims are sourced.
  • Two era-window conflicts left standing, not picked: frank-archon's Eras opens on 2026-09-26 while frank-medium-radiance-mxfp4 claims its era ran to 2026-10-10; nothing in the repo covers 09-26 → 10-10 for port 7770.
  • open-notebook quadlets exist in the repo, never installed on Dankclaw. Deploying a service is not a doc fix and is Frank's call.
  • AGENTS.md Key Lessons kept every number and error string; the causal narration that duplicated a vault page is what went (five bullets repointed at their owner pages). Further cuts would delete facts, not duplication.

Method note (worth keeping)

Two scout verdict tables claimed "0 sole records / no contradictions" and were wrong in the checkable direction: one invented bullet IDs and renamed a bullet to the opposite claim, another called accurate docs "WRONG" on the basis of the docs' own wip: "down", and one reported a page as missing that the green link check already proved present. A cancelled agent also yielded a detailed census of a file it had never written. Nothing was cut on a scout's word: every holder was re-grepped, and every delegated write was re-measured (wc, ls, orphan census) before it was believed.

Correction: an earlier figure in this PR was produced by a broken tool

The first version of this description claimed −1,849 vault lines. That number was wrong,
and so was the census that produced it: scripts/port-census.py builds its corpus from the
new directory, so every page under test was held by itself — ten era pages reported
0 sole-record lines, which read as "this page is pure duplication, trash it". With the
corpus excluding the file under test, the same pages hold 14–63 sole-record lines each:
campaign ledgers that exist nowhere else. No era page in this vault is padding, and none
was deleted.

What actually reduces the vault is deleting restatement, and that is what is in here:

Change Lines
Multi-Node Runtimes.md deleted — restated launch material owned by Qwen3.8 PP Deployment.md −257
AGENTS.md lesson compression (58 → 41 bullets, every number kept by an endpoint page) −148
log.md: 66 headings → 35 dated entries, date — Title headings, 78 lines of transient deploy chatter dropped where every fact token is held by an owner page (preserved in .AGENTTRASH/20261019-log-transient/) −107
Authentik split reverted — parent 488 lines with okf-exempt: length instead of 794 across five files, three stub pages stay deleted −93
Citations and law text added while verifying facts (the cost of sourcing claims) +~630
scripts/check-okf.py + scripts/gen-vault-index.py + scripts/port-census.py — CI enforcement of the documentation law +604

So the docs are flat and the operator doc is down; the growth is tooling that makes the one-owner
law mechanical instead of aspirational. If you want the repo net-negative the lever is the tools,
not the prose: every remaining page is census-proven sole record.


cwd: /home/blank/.omp/wt/wt-20261019-021028-6d1fc1f · session: 01a1536d-27ed-7079-9293-f16cf7005858

## What this does Exhaustive dedupe + OKF conformance pass over `serverAppConfigs-docs/`, then a fact-verification pass over what the pages assert. **Line accounting, measured against `b9d21ae` (the merge-base): docs 31,210 → 31,234 (+24, flat), `AGENTS.md` 997 → 849 (−148), `scripts/` 19,520 → 20,124 (+604, the enforcement tools).** `./tests/run.sh` **ALL TESTS PASSED** (451 tests), `0 OKF violations`, 155 pages, `0 unresolved links`. ## Structural repairs - **13 pages were literally the same page twice** — each exactly 2× its `HEAD` size, with a second frontmatter block whose closing `---` had been glued onto a body line. Cause: a frontmatter rewrite that re-reads the file it just wrote, plus a fence-repair pass keyed on `line == "---"` that cannot see a glued fence. Un-doubled by cutting at the second frontmatter and keeping the superset copy; proven with the orphan census (**0** lost tokens vs `HEAD`). - **`log.md` structure per OKF**: one entry per date, bare `## YYYY-MM-DD`, newest first — 66 dated headings merged into 34, titles demoted to bold leads, every content line verified present. An attempted prose compression was **rejected**: the census showed it dropped laws held nowhere else (the `qsa_sparse` 64-page-size override that refused 300,000 tokens; the `{"status":"loading"}` health response that false-greened a deploy at 6 s; the `libhiprtc.so` dev symlink; the stale `~/.docker/config.json` that poisons podman's anonymous pulls). - **`.AGENTTRASH` is not vault content** and three tools treated it as such: the link checker resolved links *into* the trash (a live page pointing at a deleted page read healthy) and the docs seam demanded index rows for trashed pages. All now excluded. - **New `LLM/frank-medium.md`** — the locator the retired Dankserver endpoint was always supposed to have: era windows quoted from each era page's own banner, no numbers restated, and the unresolved date conflicts recorded instead of silently resolved. ## Tooling - `scripts/check-okf.py` — enforces the OKF v0.1 hard rules (frontmatter shape, description rules, reserved names, `log.md` date shape, the length hint, and the **doubled-page signature**). The 500-line ceiling is escapable two explainable ways: a page's own `okf-exempt: length`, or one-per-endpoint pages derived from `scripts/` / the `retired-endpoint` tag. - `scripts/gen-vault-index.py` — sibling presence was tested as a **bare stem substring**, so a page whose name prefixes another's (`frank-medium` inside `frank-medium-rocmfpx`) silently never got an index row. - `scripts/check-vault-links.py` + `tests/docs_completeness.bats` — trash-aware; `scripts/port-census.py` — token rules so prose words stop posing as facts. ## Facts verified, and what changed | Check | Method | Result | |---|---|---| | Fleet shapes | live probe of all three endpoints, twice | archon 3 × 200,000 fp8 KV · dragoon 2 × 200,704 · zealot **3 × 200,704, f16 K + q8_0 V, MTP armed** — the first probe read 2 × 262,144 and went stale when main moved mid-campaign, so the end of the pass re-probed `/slots` and the running cmdline | | "on-disk rollback" claim | host census `/home/dank/models/` | **stale** — MXFP4 is gone; now stated once, as a re-fetch, on the page that owns that payload | | `GGML_CUDA_FA_ALL_QUANTS` | read the tree on dankclaw | **deprecated and unused by the CUDA sources**; successor `GGML_CUDA_FA_QUANTS` default already compiles q4_0/q8_0/f16/bf16 FA kernels (the deployed cache still has the old flag `ON`) | | KV dtype set | upstream docs + vllm-project/vllm#42587 | `bf16\|fp8` is a **radiance** restriction, not stock vLLM's (`auto\|fp8\|fp8_e5m2\|fp8_e4m3`); the page now says so | | `--metrics` default-off, 400-not-truncate on over-long prompts, Qwen3.8 template `reasoning_effort ∈ {xhigh, medium, low}` | upstream issues/docs | all three laws corroborated | | q8_0 = 1.0625 B/elem → 1.882× not 2×; PCIe ×2 scaling; 10 GbE decode budget; decode ceiling arithmetic | recomputed | 10 confirmed, 0 wrong | | `frank-medium` locator rows | re-grepped against era pages | **two cells were wrong** — deployed ROCmFPX commit is `c49ebdb` not the build pin `36e9acd`, shape is 2-card layer split; the 09-20 row skipped the same-day MXFP4 → FP8 generation | | Open Notebook | host census (units, quadlets, containers) | **not deployed** — repo quadlets were never installed; page already said so, now says what was checked | ## Reconciled with main `origin/main` moved while this branch was open (PR #25/#26 resliced frank-zealot). Merged, not rebased, per fleet law: the frontmatter conflict resolved in favour of the **live** shape, verified by re-probe — `--ctx-size 602112 --parallel 3` (3 × 200,704), `--cache-type-k f16 --cache-type-v q8_0`, `--spec-type draft-mtp`, `--jinja --reasoning auto`, `--metrics`. Every remaining 262,144 on that page is an era row or the checkpoint's trained window, not a live figure. ## Not done, deliberately - **No merge.** Merging needs Frank's explicit OK. - **129 pages still carry no `## Citations` section** — the linter reports it as a soft tally, not a failure, so a bulk pass can happen without pretending unverified claims are sourced. - **Two era-window conflicts left standing, not picked**: `frank-archon`'s Eras opens on 2026-09-26 while `frank-medium-radiance-mxfp4` claims its era ran to 2026-10-10; nothing in the repo covers 09-26 → 10-10 for port 7770. - **`open-notebook` quadlets exist in the repo, never installed on Dankclaw.** Deploying a service is not a doc fix and is Frank's call. - **`AGENTS.md` Key Lessons** kept every number and error string; the causal narration that duplicated a vault page is what went (five bullets repointed at their owner pages). Further cuts would delete facts, not duplication. ## Method note (worth keeping) Two scout verdict tables claimed "0 sole records / no contradictions" and were wrong in the checkable direction: one invented bullet IDs and renamed a bullet to the opposite claim, another called accurate docs "WRONG" on the basis of the docs' own `wip: "down"`, and one reported a page as missing that the green link check already proved present. A cancelled agent also yielded a detailed census of a file it had never written. Nothing was cut on a scout's word: every holder was re-grepped, and every delegated write was re-measured (`wc`, `ls`, orphan census) before it was believed. ## Correction: an earlier figure in this PR was produced by a broken tool The first version of this description claimed **−1,849 vault lines**. That number was wrong, and so was the census that produced it: `scripts/port-census.py` builds its corpus from the new directory, so every page under test was held by *itself* — ten era pages reported `0 sole-record lines`, which read as "this page is pure duplication, trash it". With the corpus excluding the file under test, the same pages hold **14–63 sole-record lines each**: campaign ledgers that exist nowhere else. **No era page in this vault is padding**, and none was deleted. What actually reduces the vault is deleting *restatement*, and that is what is in here: |Change|Lines| |---|---| |`Multi-Node Runtimes.md` deleted — restated launch material owned by `Qwen3.8 PP Deployment.md`|−257| |`AGENTS.md` lesson compression (58 → 41 bullets, every number kept by an endpoint page)|−148| |`log.md`: 66 headings → 35 dated entries, `date — Title` headings, 78 lines of transient deploy chatter dropped where every fact token is held by an owner page (preserved in `.AGENTTRASH/20261019-log-transient/`)|−107| |`Authentik` split reverted — parent 488 lines with `okf-exempt: length` instead of 794 across five files, three stub pages stay deleted|−93| |Citations and law text added while verifying facts (the cost of sourcing claims)|+~630| |`scripts/check-okf.py` + `scripts/gen-vault-index.py` + `scripts/port-census.py` — CI enforcement of the documentation law|+604| So the docs are flat and the operator doc is down; the growth is tooling that makes the one-owner law mechanical instead of aspirational. If you want the repo net-negative the lever is the tools, not the prose: every remaining page is census-proven sole record. --- cwd: /home/blank/.omp/wt/wt-20261019-021028-6d1fc1f · session: 01a1536d-27ed-7079-9293-f16cf7005858
dank added 7 commits 2026-10-19 05:10:17 -07:00
Key Lessons Learned 483 -> 340 lines. Every law survives; only the essays
went. Port-before-cut census over the diff: 454 deleted lines, 0 orphaned
facts (every number still has a holder in the vault).

- Each lesson is now one bullet with the page that owns the detail.
- De-duplicated the page's own internal repeats: the layer-split law was
  told twice (PCIe and ROCm sections), the FA-quants law twice more.
- CORRECTION, verified on dankclaw 2026-10-19: `GGML_CUDA_FA_ALL_QUANTS` is
  deprecated upstream (master's ggml/cmake/common.cmake tells you to use
  GGML_CUDA_FA_QUANTS=all), the successor's default pair list
  `q4_0-q4_0;q8_0-q8_0;f16-f16;bf16-bf16` compiles the quantized-KV kernels
  with the old flag OFF (master build-cuda cache: FA_ALL_QUANTS=OFF), and
  neither llama tree references the old macro under ggml/src/ggml-cuda/.
  The "required or prefill collapses ~12x" law is obsolete; the new law is
  to read the CMakeCache pair list.
- frank-zealot: ported the three facts AGENTS.md alone carried, and verified
  them against the host first — the 2026-10-18 13:16 cutover boot really did
  load PTQ1_0 at `new slot, n_ctx = 133888` x3 (journal), the mmproj fit
  check really printed 873.10 MiB against a 21,439 MiB projection, and the
  warmup spread is 2.6 -> 1,258 t/s prefill.
- New tooling: scripts/check-okf.py (OKF v0.1 conformance linter) and
  scripts/gen-vault-index.py (root index regenerated from frontmatter).

Co-Authored-By: omp <omq@openclaw.sh>
Add scripts/check-okf.py: enforces the OKF v0.1 hard rules the repo had
been carrying by convention — parseable frontmatter with type/title/
description/timestamp, description shape (length, not-equals-title, no
restated quantity), the reserved-name and index.md rules, log.md's date
heading shape (bare ISO date, one entry per date, newest first), the
500-line hint, and the doubled-page signature (a second `type:` key in
the body). Citations are reported as a soft tally, not a failure. The
500-line ceiling is escapable two ways, both explainable: `okf-exempt:
length` in a page's own frontmatter, and pages derived as one-per-
endpoint — live endpoints from scripts/, retired-endpoint era pages from
their tag (AGENTS.md lets a campaign ledger live on the page that
measured it).

scripts/gen-vault-index.py: sibling-presence was tested as a bare stem
substring, so a page whose name is a prefix of another page's name
(`frank-medium` inside `frank-medium-rocmfpx`) silently never got an
index row. Test the wikilink form instead.

scripts/check-vault-links.py: `.AGENTTRASH` is deleted-but-held state,
not vault content. It is now excluded from both the scan set and the
target index, so a live link into the trash reads as unresolved instead
of resolved.

tests/docs_completeness.bats: the same exclusion in both page walks —
trashed pages need no index row, and a trashed page must not satisfy the
docs requirement for a live compose service. Adds the OKF conformance
and index-freshness tests.

scripts/port-census.py: the port-before-cut orphan census used to prove
a merge lost no fact, kept so the next collapse can re-run it.
Structural repair:
- 13 pages were the same document twice (each exactly 2x its HEAD size),
  a second frontmatter block whose closing fence had been glued onto a body
  line by a frontmatter rewrite that re-read its own output. Un-doubled by
  cutting at the second frontmatter and keeping the copy whose body is a
  superset; the orphan census reports 0 lost tokens against HEAD.
- log.md: one entry per date, bare `## YYYY-MM-DD` headings, newest first —
  66 dated headings merged into 34, titles demoted to bold leads, every
  content line verified present. The file had been descending at the head
  and ascending at the tail.

Ownership moves:
- New `LLM/frank-medium.md` is the locator for the retired Dankserver
  endpoint: era windows quoted from each era page's own banner, no numbers
  restated, and the two unresolved date conflicts recorded instead of
  silently resolved. `frank-archon.md` links to it instead of restating the
  pre-rename window.
- The four Pipeline-Parallelism stubs (frontmatter only, no body) are gone;
  `Multi-Node Runtimes.md` owns runtime construction, launch, mixed-vendor
  verdicts and cross-split spec decode, and the four links that pointed at
  the stubs were repointed at it or at the drafter page.
- Authentik's three stub pages fold into `Authentik.md`, with the process
  detail and the outpost reference split out so the parent stays under the
  length hint.

Verified corrections (host census + live probe, 2026-10-19):
- The MXFP4 checkpoint two pages called the "on-disk rollback" is gone:
  /home/dank/models/ holds StillDeadcode, rad and tpl.jinja. Stated once, on
  the era page that owns that payload; the swap page now links to it.
- frank-medium-radiance-mxfp4: the 4.24/7 accept rate belongs to the DFlash2
  arm measured on the FP8 target, not to the MXFP4 era; the 3-family soak run
  census is kept once (155 requests) instead of twice (~120 and 155).
- Fleet shapes re-confirmed against the live endpoints before touching any
  page: 3x200000 fp8 KV, 2x200704, 2x262144.

Index rows are regenerated, not hand-carved. Net -1,849 vault lines.
A hyphen or a trailing period inside a word was enough to make it a tracked
token, so `long-standing`, `deployed:` and `cleaned.` were reported as lost
facts while real identifiers hid behind them. Require a digit, dot, slash,
colon, `--`, two hyphens (`frank-tts-engine`) or ALL-CAPS in the stripped
word. The census of the log rewrite went from 979 noisy lines to a set whose
unheld tokens are all fact-shaped.
Four bullets in Key Lessons Learned carried narrative a vault page owns: the
2026-09-20 board swap ([[Dual-R9700-Cooperation]]), the `--override-tensor`
gate ([[Llama Cpp Multi-Device Splits]]), the x4 link budget
([[x4-pair-experiment]]), and the silent-RAM incident plus the Prometheus
`--metrics` law ([[frank-archon]], [[frank-zealot]]). Each keeps its law, its
numbers and its error strings; the causal narration that duplicated a page is
what went. The RAM bullet linked to [[log]] — the incident is owned by
[[frank-archon]], so the link now names the owner.
- frank-archon KV dtype law: `bf16|fp8` is a **radiance** restriction. Stock
  vLLM advertises `auto|fp8|fp8_e5m2|fp8_e4m3` (docs.vllm.ai engine args), and
  even there the advertised set is not the usable set — several accepted
  values crash engine init at the attention layer's own dtype check
  (vllm-project/vllm#42587). The page stated the restriction as if upstream
  had it.
- Open Notebook: re-censused 2026-10-19 — no unit file, no installed quadlet,
  no container. The page already said NOT deployed; it now says what was
  checked, so the claim is re-checkable instead of remembered.
The ROCmFPX row said "single card, pinned at 36e9acd": `36e9acd` is the
SHA that `scripts/build-rocmfpx.sh` pins for the *build*, and the era page
records the deployed commit as `c49ebdb` running a 2× R9700 `-sm layer`
split over `ROCm0,ROCm1` at 131,072 × 1 slot with draft-MTP pinned to
`ROCm1`. The 2026-09-20 row skipped a payload generation: the same day the
endpoint swapped MXFP4 → FP8 E4M3 128×128 ([[frank-medium-model-swap]])
before MXFP6 arrived on 09-21. Both cells now quote the era pages.
dank added 1 commit 2026-10-19 05:14:23 -07:00
main moved under this campaign — PR #25/#26 resliced the RTX 3090 endpoint.
The frontmatter conflict is resolved in favour of the live shape, confirmed
by re-probe the same day: `--ctx-size 602112 --parallel 3` (3 × 200,704),
`--cache-type-k f16 --cache-type-v q8_0`, `--spec-type draft-mtp`, `--jinja
--reasoning auto`, `--metrics`. The 262,144 figures that remain on the page
are era rows and the checkpoint's trained window, not the live shape.

log.md's 2026-10-19 fleet-state bullet now records both probes and the law
this taught: a docs pass that reports live shapes must re-probe before
writing the number, because main moving mid-campaign makes the first probe
stale.
dank added 2 commits 2026-10-19 10:18:26 -07:00
`Multi-Node Runtimes.md` (+257) restated launch material that
[[Qwen3.8 PP Deployment]] (build target, two-process RPC table, cache-prune
cron), [[Sample Script Set]] (runnable scripts), [[Ethernet Bandwidth Math]]
and [[Expected Performance]] already own, and mixed-vendor numbers owned by
[[x4-pair-experiment]]. Consolidation means the facts end up in ONE place, not
that a new page is written beside the old owners: the four stubs it replaced
were frontmatter-only (9 lines each) and needed no successor. Page trashed,
three inbound links repointed at the real owners.
`scripts/port-census.py` built its corpus from the new directory, so each page
under test was held by itself: every era page reported 0 orphan lines. With the
corpus excluding the file under test, each candidate holds 14-63 sole-record
lines, so no era page is padding and none was trashed.

Deletions of restatement only:
- Multi-Node Runtimes.md (-257): restated launch material owned by
  Qwen3.8 PP Deployment.md; index rows and two Related bullets repointed.
- log.md: 66 headings folded into 35 dated entries (one entry per date, newest
  first), titled headings kept as `date — Title` per the spec's wording, and 78
  lines of transient deploy chatter dropped where every fact token in the line
  is held by an owner page (preserved in .AGENTTRASH/20261019-log-transient/).
- Authentic: the 5-page split reverted (-93); the parent carries
  `okf-exempt: length` and the three stub pages stay deleted.

check-okf.py accepts `## YYYY-MM-DD — Title`; port-census.py excludes the file
under test and gained a docstring note about the trap. One-off compaction tool
moved to ~/.AGENTTRASH. Full suite: 451 tests pass, 0 OKF violations,
155 pages, 0 unresolved links.
Author
Owner

Closed at Frank's direction: rejected. That pass preserved what should have been destroyed — it argued 53 era/campaign pages were irreplaceable because each held sole-record numbers, when the numbers were throughput figures for payloads that no longer run. Superseded by #29, which applies the purpose test (documentation exists for point of use) and destroys the ledgers instead.

Closed at Frank's direction: rejected. That pass preserved what should have been destroyed — it argued 53 era/campaign pages were irreplaceable because each held sole-record numbers, when the numbers were throughput figures for payloads that no longer run. Superseded by #29, which applies the purpose test (documentation exists for point of use) and destroys the ledgers instead.
dank closed this pull request 2026-10-19 10:57:16 -07:00

Pull request closed

Please reopen this pull request to perform a merge.
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dank/serverAppConfigs#28