Repository navigation
Follow-ups from #215: dangling links to left-out pages, untested site scripts, check cost, titles #415
Copy link
Copy link
Open
Description
#215 merged at 505155d (c2304ce) with these items open. They come from its reviews (2026-10-18 at 5e75131 and the follow-up at 505155d) and its own "Until the next layers land" section. The cleanup items were re-checked on main 6838e69; the others are the reviews' repros.
Gaps
- A link from a page outside
roadmap/into apublished: falsefolder or a hidden file is published dangling.checkprints nothing, andmkdocs build --strictaborts. Repro: scaffold a project, addroadmap/drafts/README.mdwithpublished: false, and link to it fromblueprint/notes.md. Let a folder's README say published: false: checked, not rendered #381's rule covers only roadmap pages.left_out(render.py) already keeps only a link's text for bad suffixes and encodings, so one rule covers all three: a target inside the blueprint that the capture did not keep loses its link, andcheckwarns. - The generated
javascripts/mathjax.jsis only syntax-checked. No CI job runs the Node MathJax suite, so its formula-class restriction, version check and early-load guard can each be removed with every test passing. Show statement review on the site #217's review found the same for its per-card typesetting. - The Mermaid draw queue is untested. Moving the module-level queue back into
draw()passes every Mermaid test, which reopens the race where a color-scheme change during drawing re-initializes Mermaid withsecurityLevel: "loose". checkcosts much more CPU. Measured at 5e75131: about 6.4x user time on Hartshorne (1.56 s to 9.94 s), and 7x to 32x on synthetic vaults. Checking a chapter's stretches grows with slots times lines.
Behaviour
- An authored frontmatter
title:is dropped.title: My Notesbeside the H1 "Something else" publishes "Something else", so the page's<title>changes. It could be kept throughtitle_text. - A flagged
blueprint/README.mdis reported as "the site shows it as typed", by bothcheckand render, but the landing page shows no typed block; it shows the escaped lead. - A
dependencies.htmldirectory passeschecksilently and then fails the MkDocs build. This is documented, and main did the same before Treat every published page as untrusted #215.
Cleanup
_STALE_VIEWS(render.py) repeats three names frommarkdown.GENERATED_VIEWS. Define the retired views once, in markdown.py.- render.py's comment "Capture skips a hidden article" is stale: since Make check and audit see the blueprint render publishes #380 the graph never loads hidden articles, and that branch only skips nodes in unpublished folders.
- The
\defnotation test now names\gdefin its prose, to avoid the known extra line, but its docstring still says prose that names a command is never reported.
When other work lands
- The bundled example keeps
blueprint/javascripts/mathjax.jsuntil its pinnedAUTOFORM_REF(0288506) moves past Treat every published page as untrusted #215. Then delete the copy; render replaces the unedited copy silently until then. - Scale roadmap inventories and the full DAG explorer #90 must add
%to_href's safe set when it merges main. Scale roadmap inventories and the full DAG explorer #90'smermaid.relative_linkpercent-encodes, and Treat every published page as untrusted #215's_hrefquotes again withsafe="/#", so click links would be encoded twice.
Decision
- MathJax
cancel: Treat every published page as untrusted #215 loads braket, mhchem and amscd explicitly, but leavescanceloff, although the maintainer listed it, because of\cancel[mathcolor=...]. Confirm or reverse.
Tracked elsewhere: harmless markup that shows a page as typed is #410.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
Merge pull request #416 from facebookresearch/fix/415-cheap-followups
Deicyde commentedon Oct 22, 2026
Status of these follow-ups on main cbdd753:
Done
roadmap/into apublished: falsefolder, or to a hidden path outsidesources/: fixed by Keep only the text of a link to what capture leaves out, and #415 cleanups #416. Such a link keeps only its text, with a warning naming the page, incheckand render alike.blueprint/README.mdmessage: Keep only the text of a link to what capture leaves out, and #415 cleanups #416. The warning now says the landing page shows only the title and lead, as text._STALE_VIEWSrepeatingGENERATED_VIEWS: Keep only the text of a link to what capture leaves out, and #415 cleanups #416. The retired views aremarkdown.RETIRED_VIEWS.\deftest docstring: Keep only the text of a link to what capture leaves out, and #415 cleanups #416.%in_href's safe set: Scale roadmap inventories and the full DAG explorer #90's main merge (ec7a18b), with a test.mermaid.pyis gone since Retire generated Mermaid: a Markdown dependency summary and locked-down authored diagrams #378, and the site script keeps Treat every published page as untrusted #215's draw queue.Decided
cancelstays off, as Treat every published page as untrusted #215 merged it. The chosen option keeps the formula-colouring packages off, and\cancel[mathcolor=green]{\checkmark}would draw a check mark like the site's status marks. No blueprint here uses\cancel. (Board Maintainer, on Jack's delegation.)Still open
javascripts/mathjax.jsis only syntax-checked: no CI job runs the Node MathJax suite.check's CPU cost: about 6.4x on Hartshorne, measured at 5e75131.title:is still dropped; keeping it needs YAML semantics.dependencies.htmldirectory passescheckand fails the MkDocs build (documented).blueprint/javascripts/mathjax.jscopy goes once itsAUTOFORM_REFmoves past Treat every published page as untrusted #215.Under the current stabilization rules these stay open until a user or CI hits one, or Jack asks.
Posted by Claude Code (348 worker session).
Deicyde commentedon Oct 23, 2026
Status of the still-open items, rechecked on main a840c3f. The mutants ran locally against the pinned MathJax 3.2.2 (npm tarball, sha256 checked).
Resolved
draw()failstest_the_site_draws_authored_diagrams_locked_down_and_only_where_a_page_has_one, whose harness (from Retire generated Mermaid: a Markdown dependency summary and locked-down authored diagrams #378) counts diagrams in flight across a scheme change.Partly resolved
javascripts/mathjax.js. CI now runs the Node suite: the "MathJax read-back cards (Node)" job runstests/test_site_mathjax_node.py. Of the three guards this item named:processHtmlClass: SETTINGS.nothingand the element list fails all 6 Node tests.mkdocs.ymlloads before the script.tests/test_site_math.py.Still open
title:is still dropped.title: My Notesbeside the H1 "Something else" publishestitle: "Something else".blueprint/dependencies.html/directory still passescheck("OK: 3 articles"). This is documented.blueprint/javascripts/mathjax.js. ItsAUTOFORM_REFis still 0288506.check's CPU cost was not re-measured. The machine's load average was about 200, which makes timings meaningless.Under the stabilization rules these stay open until a user or CI hits one, or Jack asks.
Posted by Claude Code (348 worker session).
Deicyde commentedon Oct 26, 2026
Jack's decisions (2026-10-26) on what's left: an authored frontmatter
title:stays out of the published title; check keeps reading the pieces the site never publishes, so its cost stays where #462 left it; thedependencies.html/directory case stays documented; and the bundled example's leftoverblueprint/javascripts/mathjax.jsgoes, in a PR that closes this issue.Posted by Claude Code (session jackmccarthy-da), at Jack's request.