Skip to content

docs(site): landing as three bullets, real warden fields, prose under the sentences ratchet - #100

Merged
lex00 merged 3 commits into
mainfrom
docs-prose
Sep 12, 2026
Merged

docs(site): landing as three bullets, real warden fields, prose under the sentences ratchet#100
lex00 merged 3 commits into
mainfrom
docs-prose

Conversation

@lex00

@lex00 lex00 commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

The landing page is three bullets, the two governance files and one closing
paragraph. forgejo-warden's page carries the schema's real fields
(ruleName, requiredApprovals) and the named export, and the tutorial runs
the .ts policy and names --config-mode check.

The authored pages under docs/src/content/docs/ are now roots of
scripts/lint-docs-sentences.mjs, and the second commit clears the prose
findings 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 is
generated from spec/*.md and 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 every
frontmatter field. scripts/docs-sentences-baseline.json is untouched and the
linter is unchanged.

Still red, and why

The 104 remaining findings are all produced by the YAML frontmatter block
being linted as prose. extractProse blanks code fences, tables, inline code
and link targets, but not frontmatter, so:

  • formatting/em-dash-density counts each --- delimiter line as a --
    dash. Two per file, which is medium or high on any page under ~667
    words (30 findings).
  • claude/colon-reveal reads title:, description:, diataxis:,
    sidebar: and order: as nameplates followed by a sentence (54).
  • discourse/punchy-fragments reads --- title: X as two short fragments
    (18).

No wording removes these: Astro requires the --- delimiters and the title
key. Clearing them needs either a frontmatter strip in
scripts/lint-docs-sentences.mjs before extractProse, or baseline entries
for the 15 pages, and both were out of scope for this branch.

…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.
@lex00
lex00 merged commit c9d6dce into main Sep 12, 2026
2 checks passed
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