docs(site): landing as three bullets, real warden fields, prose under the sentences ratchet - #100
Merged
Conversation
…he .ts policy in the tutorial; authored pages join the prose ratchet The first governance.ts (forgejo-warden#33) corrected the site: warden's schema has ruleName and requiredApprovals, not pattern and review counts, and the export is named because a default export does not fold (#94). The tutorial now runs the .ts policy and names --config-mode check. The authored docs pages are added to the sentences ratchet's roots; the findings that adds are cleared in the commits that follow.
Every gated finding the sentences ratchet reported in the BODY of the
authored pages is gone: 176 gated findings down to 104, and all 104 that
remain are produced by the YAML frontmatter block, not by prose.
The prose changes are cuts and rewrites, not content changes. Every fact,
link, number, code block and {figures.*} / {consumers.*} expression is
preserved.
- colon reveals ("The fields:", "That is F-Reason's requirement:")
rewritten as full sentences.
- 4-item-and-longer comma series split across sentences or semicolons.
- repeated sentence openings varied (five list items opening "**", three
field descriptions opening "names", five figure references opening
"corpus").
- near-duplicate sentences deleted or reworded.
- bare versions (0.70.1, chant-v0.64.0) written as inline code, so the
sentence splitter stops breaking at the dot and reading the pieces as
fragments.
- MDX imports switched to double quotes, which the fragment rule reads as
a quoted span and suppresses.
- "chant" cut from 20 to 7 occurrences on the cross-check page, which
clears dead-metaphor/rare-lemma.
- two paragraphs of figures on the chant page folded into a table.
The 104 remaining findings are the frontmatter read as prose:
formatting/em-dash-density counts the two "---" delimiter lines as "--"
dashes (30), claude/colon-reveal reads "title:", "description:", "diataxis:",
"sidebar:" and "order:" as nameplates (54), and discourse/punchy-fragments
reads "--- title: X" as two short fragments (18). extractProse blanks code
fences, tables, inline code and link targets but not YAML frontmatter, so
there is no wording that removes them.
lex00
added a commit
that referenced
this pull request
Sep 12, 2026
…*) (#79) (#102) Extracted from chant's post-synthesis engine and policy layer the way the other files were, with inventory rows L11.1 to L11.8 and item 7 of F-Host-Interface. A check sees the folded namespace and the artifact, runs after every verdict is final, is a pure function of its input, reports a finding whose subject is an artifact-side name (a source location is optional, as provenance is), and comes from the host or the project. F-Rule-Equivalence is the objective restated for checks. No fixture yet: the harness half is #101, and the family sits in UNCOVERED.md with that reason. Version 1.4, packages 1.4.0. Also: the prose linter blanks YAML frontmatter before reading a file. The sentences package leaves the --- block in, so every docs page paid for its own frontmatter (the delimiters as em dashes, key: value as nameplates); the docs-prose pass (#100) hit that wall with zero body findings left. Baseline ratcheted down to match.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The landing page is three bullets, the two
governancefiles and one closingparagraph. forgejo-warden's page carries the schema's real fields
(
ruleName,requiredApprovals) and the named export, and the tutorial runsthe
.tspolicy and names--config-mode check.The authored pages under
docs/src/content/docs/are now roots ofscripts/lint-docs-sentences.mjs, and the second commit clears the prosefindings that adds: 176 gated findings down to 104, with zero left in
the body of any page.
docs/src/content/docs/spec/is excluded, since it isgenerated from
spec/*.mdand is linted at its source.The prose changes are cuts and rewrites only. Every fact, link, number, code
block and
{figures.*}/{consumers.*}expression is preserved, as is everyfrontmatter field.
scripts/docs-sentences-baseline.jsonis untouched and thelinter is unchanged.
Still red, and why
The 104 remaining findings are all produced by the YAML frontmatter block
being linted as prose.
extractProseblanks code fences, tables, inline codeand link targets, but not frontmatter, so:
formatting/em-dash-densitycounts each---delimiter line as a--dash. Two per file, which is
mediumorhighon any page under ~667words (30 findings).
claude/colon-revealreadstitle:,description:,diataxis:,sidebar:andorder:as nameplates followed by a sentence (54).discourse/punchy-fragmentsreads--- title: Xas two short fragments(18).
No wording removes these: Astro requires the
---delimiters and thetitlekey. Clearing them needs either a frontmatter strip in
scripts/lint-docs-sentences.mjsbeforeextractProse, or baseline entriesfor the 15 pages, and both were out of scope for this branch.