Repository navigation
Where's the canonical home for the FMPL HTML/docs artifacts? #4
Description
Where's the canonical home for the FMPL HTML/docs artifacts?
Several pages now exist in both repos, and a couple only on my fork. Before landing anything further I'd like to settle which of them belong here, so the source links, cross-links, and future edits all point somewhere stable.
Both columns link to the deployed page, so they can be compared side by side.
| id | page | origin | fork | differs? |
|---|---|---|---|---|
| 1 | Landing pagedocs/index.html |
live | live | fork adds the process card (row 7) — guide card landed here with #3 |
| 2 | Engineering tourdocs/fmpl-tour.html |
live | live | stale counts + the #6 lineage sentence + retitled log links — see below |
| 3 | Browser REPLdocs/repl.html |
live | live | identical — settled by #3 |
| 4 | Language guidedocs/fmpl-guide.html |
live | live | identical — landed here with #3 |
| 5 | "Opening the Door"docs/fmpl-rehab-log.html |
live | live | about half the page reworded — #5 |
| 6 | "Closing the Loop"docs/fmpl-field-log.html |
live | live | retitle references and one wording change |
| 7 | "The Layer Underneath"docs/fmpl-process.html |
— | live | fork only — offered, not proposed |
Row 2 carries fixes nothing has proposed yet
Separate from the routing question, the tour here has three stale facts that my fork has already corrected and no open PR covers:
- "a Cargo workspace of six crates" — it's seven;
fmpl-wasmwas missing - the ignored-test ledger reads ~50 / ~9 / ~5; the real counts are 54 / 9 / 5
- no row for the 6 unbucketed ignores (five rustdoc fences plus one unit test)
Happy to send those as their own small PR whichever way rows 1-7 land, since they're wrong on the published page today.
My leans
Rows 1-4 read as canonical here. They document the language rather than my experience of it. Rows 3 and 4 have settled themselves — the REPL and the guide are now byte-identical in both repos after #3. The tour could still reasonably swing to my fork if you'd rather keep the repo lean; no attachment either way.
Rows 5-7 (the two field logs and the process page) I'd lean toward my fork, since they read as a personal development log rather than project documentation. "Opening the Door" is already in your tree, so that one is genuinely yours to call, and I'm happy either way.
The process page I'd lean fork-only. It's still a draft, and it describes your working method rather than the language, so it feels more mine to host than yours to carry. Offering it rather than proposing it.
Where the fork stands
Earlier I described my fork as temporary. That has changed, and it should factor into rows 5-7: mparrett/fmpl:main is now an exact mirror of this repo, and everything my fork publishes lives on a separate fork-pages branch. So fork-hosted pages are more durable than I implied — the URLs are not on borrowed time.
Open threads
- docs(pages): point every source link at nnunley/fmpl [DRAFT] #2 — the source-link sweep, still deferred until this is decided. It shrank to nine lines across four pages once feat(pages): language guide with run-in-place examples + REPL deep links #3 merged.
- feat(pages): language guide with run-in-place examples + REPL deep links #3 — merged. That settles row 4 and most of rows 1-3.
- docs(field-log): revised prose for the revitalization log #5 — my revised prose for "Opening the Door" on top of your docs(rehab-log): correct two factual claims #1 corrections. About half the page is reworded, so it's a real decision rather than a formality. Draft, no rush.
- docs: correct the MUD-lineage sentence to your own account #6 — the lineage sentence in the README and tour §1, applying your cool++/ColdStore correction. Independent of this issue; part of why row 2 differs.
No urgency on any of it. Mostly I want to avoid adding pages here that you'd rather not carry.
Activity
mparrett commentedon Jul 27, 2026
Refreshed the table above — a few rows had gone stale since I opened this.
Rows 3 and 4 answered themselves when you merged #3: the REPL and the language guide are now byte-identical in both repos, so there's nothing left to decide there. Row 1 narrowed to just the process card.
Two things I added rather than moved:
Row 2 has three stale facts on the published page here, independent of where the tour ends up living — six crates instead of seven, and the ignored-test ledger reading ~50/~9/~5 against real counts of 54/9/5, with no row for the 6 unbucketed ignores. My fork already corrects them and no open PR covers it. Say the word and I'll send it as its own small PR regardless of how the routing lands.
My fork is no longer temporary, which I'd flagged as a reason not to host anything durable there. Its
mainis now an exact mirror of this repo and the published site moved to a separate branch, so fork-hosted URLs aren't on borrowed time. That strengthens my lean on rows 5-7 rather than weakening it, but it's still your call on row 5 since that page is already in your tree.feat(parser): GrammarDef conversion in generated-parser postlude (nnu…
fix(grammar): rule-start boundary in canonical meta-grammar (nnunley#4 …
feat(grammar): tree patterns + full-input parse in canonical pipeline (…
feat(runtime): make fmpl_parser.fmpl runnable in the grammar runtime (n…
feat(parser): AtInlineBlock conversion in generated-parser postlude (n…
docs(pages): field log — closing the metacircular-parser gap; refresh…