Skip to content

docs(consolidation): the master Web checklist replaces the SVG checklist - #74

Merged
softmarshmallow merged 1 commit into
mainfrom
docs/web-checklist
Aug 5, 2026
Merged

docs(consolidation): the master Web checklist replaces the SVG checklist#74
softmarshmallow merged 1 commit into
mainfrom
docs/web-checklist

Conversation

@softmarshmallow

Copy link
Copy Markdown
Member

What

One master tracker — docs/wg/consolidation/web-checklist.md — for the whole websem surface: HTML, CSS, and SVG in one document, replacing the SVG-only checklist. The three share one cascade and half a vocabulary; one sheet is the anti-drift shape.

The design laws

  • Items only, no descriptions. A bare row in the platform's own vocabulary (stroke-dasharray, <tspan>, @font-palette-values) is groundable by any session with zero repo context; annotations are where assumptions fossilize. Dependencies are discovered at tackle time, not pre-annotated.
  • Externally enumerated. Every section derives from a cited external index (WHATWG element/attribute indexes; W3C CSS property index + MDN reference; SVG 2 element/attribute/property indexes) — never from this tree. Enumerating from our own code is the assumption failure the old list embodied: it had ~46 rows where the surface has 1454.
  • Strict tick rule. A box ticks only when a Chromium-gated rung lands the named construct at its full listed grammar; partial admissions stay unchecked, and finer gaps live in their own rows (<rect> ticks; rx/ry do not). 27 tick today — the honest distance-to-done. No score is computed from the list (FLIP is unratified).

The audits

Three adversarial passes ran before this PR: completeness against the external indexes (caught 9 missing rows and 7 unsourced surplus rows, all fixed), law compliance (caught a scope drift — "engine of record" unqualified would silently widen D-N's taken SVG-only scope; restored), and a skeptical re-check of every tick, which unticked four rows whose committed gates cover less than the implementation and surfaced one real over-refusal (zero-extent viewBox refuses where SVG2 §8.8.1 disables rendering — filed as follow-up work).

Patrol before drop

The old checklist's Notes column dies with it. Every note was triaged: verified already-recorded (37), re-homed (1 — the standalone-entry caveat, corrected in the process: "no DTD" was false at tip; a DOCTYPE is accepted and ignored, and an internal entity subset refuses as not-well-formed in both admissions, measured this pass and now in the statement of record), or dropped as pure restatement (3, named in the commit message). The fixtures README's claim that the non-rendering cell covers <metadata> was false and is corrected.

One tracker for the whole websem surface — HTML, CSS, and SVG in one
document, because the three share one cascade and half a vocabulary.
Items only, in the platform's own vocabulary, enumerated from the
external spec indexes (WHATWG element/attribute indexes, the W3C CSS
property index + MDN reference, the SVG 2 element/attribute/property
indexes) — never from this tree, which is the assumption failure the
old 46-row list embodied. 1454 rows; a box ticks only when a
Chromium-gated rung lands the named construct at its full listed
grammar, so 27 tick today — the honest distance-to-done.

The tick audit deliberately left implemented-but-under-gated rows
unchecked: viewBox (zero-extent grammar refuses unmeasured, SVG2
8.8.1 disables rendering), stroke-linejoin (miter-clip/arcs
unmeasured), offset (no committed percent cell), <metadata> (absent
from the non-rendering cell — the fixtures README claim is corrected
in this commit).

Patrol before drop: the Notes column dies with the old checklist.
Load-bearing caveats verified already-recorded in the D-N register,
STATUS.md, or the statement of record; the corrected standalone-entry
caveat is re-homed into crates/n0_cli/README.md — "no DTD" was false
at tip: a DOCTYPE is accepted and ignored (as Chromium ignores it),
and an internal entity subset refuses as not-well-formed in both
admissions (measured this pass). Deliberate drops, all pure
restatements: the "rounded corners" gloss on rx/ry, the
"presentation hints (13 admitted)" count on the cascade row, and the
"y width height cx cy r" enumeration on wider animated attributes.
@vercel

vercel Bot commented Aug 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
nothing Ready Ready Preview Aug 5, 2026 10:04am

Request Review

@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: d81b26de-89a7-493a-a7d7-0a90a270d355

📥 Commits

Reviewing files that changed from the base of the PR and between ff468a5 and 290bc68.

📒 Files selected for processing (5)
  • crates/n0_cli/README.md
  • docs/wg/consolidation/index.md
  • docs/wg/consolidation/svg-checklist.md
  • docs/wg/consolidation/web-checklist.md
  • fixtures/web-first/README.md
💤 Files with no reviewable changes (1)
  • docs/wg/consolidation/svg-checklist.md

Walkthrough

The changes document XML admission behavior and replace the SVG construct tracker with a master Web checklist covering HTML, CSS, SVG, and SMIL. The fixture documentation clarifies separate <metadata> testing.

Changes

XML input contract

Layer / File(s) Summary
Document XML admission rules
crates/n0_cli/README.md
The documentation states that DOCTYPE declarations are accepted, while internal DTD entity declarations reject the document in both admission modes.

Web checklist consolidation

Layer / File(s) Summary
Consolidate web construct tracking
docs/wg/consolidation/web-checklist.md, docs/wg/consolidation/index.md, fixtures/web-first/README.md
The new Web checklist tracks HTML, CSS, SVG, and SMIL constructs. The index points to it instead of the SVG checklist. The fixture description excludes <metadata> from its coverage cell and records separate law-test coverage.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

  • gridaco/nothing#62: Shares updates to the CLI README and web/SVG consolidation documentation.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly states that the master Web checklist replaces the SVG checklist, which is the main change.
Description check ✅ Passed The description directly explains the new master checklist, its scope, validation rules, audits, and related documentation changes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/web-checklist

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@softmarshmallow
softmarshmallow merged commit 64ef914 into main Aug 5, 2026
15 checks passed
@softmarshmallow
softmarshmallow deleted the docs/web-checklist branch August 5, 2026 10:30
softmarshmallow added a commit that referenced this pull request Aug 13, 2026
…n bytes (#78)

The checklist loop's second iteration, measurement-only like the first:
zero code, four cells, two ticks. Every stroke-linecap keyword in CSS
spelling bakes byte-identical to its attribute cell — the committed
oracles share the attribute cells' exact hashes — and an author square
beats the butt presentation attribute. The invalid-value laws mirror the
join family: a garbage attribute drops to the initial butt, a garbage
declaration ceases to exist so a valid attribute survives (both measured,
neither celled).

The attribute row ticks on audit rather than new cells: SVG2's listed
grammar (butt | round | square, no at-risk values — unlike linejoin) was
fully celled by the caps rung already, and the row's untick was #74's
fail-closed default, never a measured block. The CSS row ticks on the new
cells; fill-stroke-3 adds nothing to the cap grammar, so the standard-track
rule from the join rung is trivially satisfied.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant