Skip to content

Commit ba737f2

Browse files
committed
docs(plan): task 12 is done, and four of its findings were not in the plan
The 11/1/2 block mapping survived the stale counts, but requirements.html needed a placeholder ADDED rather than swapped. Step 4 forced the pillar count across the llms corpus, and the fit assessment is deliberately excluded by a written ruling that a copy edit is not the place to overturn. The injector's <details> now carries a class. And three factual errors were corrected while rewriting around the blocks — the note names them so the next task does not re-find them. Also records that www/assess.md is separately stale (519 lines against the skill's 629, header still claiming npm 0.15.x), which is its own task, not this one.
1 parent efa7486 commit ba737f2

1 file changed

Lines changed: 33 additions & 6 deletions

File tree

docs/superpowers/plans/2026-08-29-website-self-updating-codegen.md

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1682,7 +1682,7 @@ git commit -m "feat(site): payload injector, bijection check, and local preview"
16821682
- Modify: `www/articles/prompts-are-code.html` (2 blocks → placeholders)
16831683
- Modify: `www/styles.css` (palette)
16841684

1685-
- [ ] **Step 1: Audit `tok-*` before deleting anything**
1685+
- [x] **Step 1: Audit `tok-*` before deleting anything**
16861686

16871687
The `tok-*` rules are **not in `styles.css`** — they live in inline `<style>` blocks: `www/requirements.html:47-48` (global) and `www/articles/prompts-are-code.html:48-52` (scoped under `.article`). A `grep tok- www/styles.css` returns nothing, which reads as "no rules to keep" and is how you would delete markup whose styling lives elsewhere.
16881688

@@ -1723,7 +1723,7 @@ If any `tok-*` class appears **outside** a `<pre>` block, keep its rule and migr
17231723
> `.example-code .comment/.keyword/.key/.string` with nothing for `ok`/`err`, so transcript
17241724
> blocks would ship unstyled exactly as the plan warns.
17251725
1726-
- [ ] **Step 2: Replace each block with a placeholder**
1726+
- [x] **Step 2: Replace each block with a placeholder**
17271727

17281728
Every block becomes:
17291729

@@ -1735,12 +1735,12 @@ Every block becomes:
17351735

17361736
`ts-requirement-test` belongs on **`requirements.html`**, the page whose claim it proves — not on `index.html`. Counting: 11 on `index.html`, 2 on `requirements.html` (the ledger entry and the generated test stub), 2 on `prompts-are-code.html`.
17371737

1738-
- [ ] **Step 3: Rewrite the prose the model change invalidates**
1738+
- [x] **Step 3: Rewrite the prose the model change invalidates**
17391739

17401740
- `index.html` "metamodel goes deep": the fictional `blog` package becomes the real `acme::learn`. The claim *"this exact model loads and generates a full typed stack"* is now true, so it stays — but the `# … title, authorId …` elision it referred to is gone, replaced by a computed `` where the excerpt genuinely skips.
17411741
- `requirements.html`: `arena::Bot.status` becomes `acme::Subscriber.status`, and the surrounding story becomes *a subscriber can be paused without erasing their history*. The claim "resolved, not trusted" is now gated by Task 9's requirement-link check.
17421742

1743-
- [ ] **Step 4: Add the fifth pillar card**
1743+
- [x] **Step 4: Add the fifth pillar card**
17441744

17451745
In `index.html`'s pillar section, after "Prompt construction":
17461746

@@ -1758,15 +1758,15 @@ In `index.html`'s pillar section, after "Prompt construction":
17581758

17591759
The last sentence is **load-bearing and must not be softened** — the vocabulary is cross-port, `requirementTests()` is TypeScript-only, and the site must not imply five-language test generation.
17601760

1761-
- [ ] **Step 5: Preview before committing**
1761+
- [x] **Step 5: Preview before committing**
17621762

17631763
```bash
17641764
cd <metaobjects-repo> && bun run site:preview --site <site-repo>
17651765
```
17661766

17671767
Open the printed path. The site has no CI, so this preview is the only check before it is live.
17681768

1769-
- [ ] **Step 6: Commit (site repo)**
1769+
- [x] **Step 6: Commit (site repo)**
17701770

17711771
```bash
17721772
git add www && git commit -m "site: code blocks become generated-snippet placeholders"
@@ -1776,6 +1776,33 @@ Do **not** push yet — the pages render empty until Task 13 lands the deploy st
17761776

17771777
---
17781778

1779+
1780+
> **DONE 2026-08-30** (site `d6a9f08`, monorepo `efa74864c` — site commit is HELD, not pushed).
1781+
> Four things the plan did not anticipate:
1782+
>
1783+
> 1. **The 11/1/2 mapping held** even though the raw `<pre>` counts did not — index.html's
1784+
> 13 `example-code` blocks are 11 convertible plus the assess prompt and the shell
1785+
> block, and requirements.html needed a SECOND placeholder ADDED (`ts-requirement-test`
1786+
> had no block to replace). 11 + 2 + 2 = the 15 payload ids exactly.
1787+
> 2. **Step 4 forced the pillar count everywhere.** Five cards under "Four pillars" is
1788+
> visibly wrong, and `www/llms.txt` / `www/llms-full.txt` (mirrors of `docs/llms/`)
1789+
> said four on the same site. Both moved to five, upstream first. **`www/assess.md` was
1790+
> deliberately NOT touched**: `agent-context/skills/metaobjects-fit-assessment/SKILL.md`
1791+
> carries a written ruling deferring `requirement.*` from the assessment — "NOT a fifth
1792+
> pillar, NOT a P4 rubric row, NOT an R0 verdict line" — with a pre-committed shape and
1793+
> an anti-trigger. Do not "finish the job" there without reopening that ruling.
1794+
> 3. **The injector now emits `<details class="example-details">`** (`scripts/site/inject.ts`),
1795+
> because the site styles the expander through that class. `BLOCK` matches
1796+
> `<details[^>]*>` so idempotence covers both spellings.
1797+
> 4. **Three factual errors were fixed while rewriting around the blocks**: the Java
1798+
> "+ JPA" claim (codegen-spring emits no `@Entity` and no jakarta.persistence), the
1799+
> per-language labels each promising a whole generated set for a one-file block, and
1800+
> `meta migrate --db … --slug …` under a comment claiming it reads the live DB (it
1801+
> diffs the committed snapshot without `--from-db`).
1802+
>
1803+
> **`www/assess.md` is separately STALE** and worth its own task: 519 lines against the
1804+
> skill's 629, and its header still says "grounded against npm `0.15.x` / Maven `7.7.x`".
1805+
17791806
### Task 13: Deploy injection and the cross-repo preflight
17801807

17811808
**Files:**

0 commit comments

Comments
 (0)