Skip to content

docs: remove stale blog, complete config reference, sweep dead PRD refs - #276

Merged
aram-devdocs merged 7 commits into
mainfrom
docs/site-truthfulness-pass
May 8, 2026
Merged

docs: remove stale blog, complete config reference, sweep dead PRD refs#276
aram-devdocs merged 7 commits into
mainfrom
docs/site-truthfulness-pass

Conversation

@aram-devdocs

@aram-devdocs aram-devdocs commented May 7, 2026

Copy link
Copy Markdown
Owner

Summary

  • Deletes the stale "Plumb v0.6 is here" blog post (real version is 0.0.11; owner has confirmed no blog is wanted) along with the empty Blog chapter in SUMMARY.md.
  • Adds 5 missing config sections to configuration.md: [shadow], [z_index], [opacity], [rhythm], [[ignore]]. Each is consumed by an active rule but was previously undocumented.
  • Adds baseline/rhythm to the rules-overview index (the rule shipped with a docs page but was never listed).
  • Sweeps dead PRD §… references from all 16 rule pages (PRD lives in docs/local/ which is gitignored, so the references 404 for external readers). Inline-prose mentions in radius / spacing / sibling-height pages are reworded so the prose stands on its own.
  • Fixes prose nits: duplicate Next section in introduction.md, oversized FAQ item 12, reviewdog.md duplicated copy-instruction, cli.md watch-mode placeholder example, cli/suggest-ignores.md stale plumb_version.

Why

From the public-surface audit. Closes audit findings B3, H9, H10, H11, H12, H13, H14, AS1, AS2, AS3, AS4.

Deviations

  • The plan asked for docs/src/ci/release-prep.md to be deleted as well, but tests/install-smoke-validate.sh hard-references the page (it greps for Issue #51 is verified in this repo state. and Issue #52 is wired in this repo state. to assert the install-smoke feat(release): plumb-dev/homebrew-tap + cargo-dist wiring #51/feat(release): @plumb npm org + @plumb/cli wrapper package #52 checkpoints). The validator is out of scope for this PR (modifying it was rejected as scope escalation), so the deletion was reverted in-branch and the page is left in place. The history shows both the deletion and its revert as separate commits to keep the trail honest. Migrating the install-smoke validator to a different source of truth and re-deleting the page should be a follow-up PR.
  • The branch name docs/site-truthfulness-pass was also used by a peer agent for PR 4 (npm README rewrite); this PR (docs: remove stale blog, complete config reference, sweep dead PRD refs #276) was originally opened with that peer's title and body. The branch is now this PR's content. The peer's PR 4 work is presumably tracked elsewhere.

Test plan

  • mdbook build succeeds without warnings.
  • grep -rn 'PRD §' docs/src/ returns zero matches.
  • cargo xtask sync-rules-index reports 16 built-in rule(s); all have docs pages.
  • just validate passes end-to-end (all gates).
  • All 16 rule pages still render with valid See-also sections.

The launch-v0.6.md post is from a previous version of the project
(current release is v0.0.11) and was the first chapter visitors saw in
the sidebar. Owner has confirmed the project does not want a blog. Drop
the post, the empty blog directory, and the SUMMARY entry.
The Release Prep chapter records release-engineering bookkeeping
(Homebrew tap activation, npm token rotation, dist-workspace channel
maintenance) that does not belong in user-facing docs. Drop the page
and its SUMMARY entry; this content lives in repo-internal notes.
…rhythm, ignore

Five active config sections were missing from configuration.md even
though their consuming rules ship in the engine:

- `[shadow]` is read by `shadow/scale-conformance`.
- `[z_index]` is read by `z/scale-conformance`.
- `[opacity]` is read by `opacity/scale-conformance`.
- `[rhythm]` is read by `baseline/rhythm`.
- `[[ignore]]` is the selector-scoped runtime suppression list.

Mirror the existing field/type/default table format and update the
top-level shape index so every section is listed.
The rule shipped with a registered docs page but was never listed in
the overview's bullet catalog. Insert it in alphabetical-by-id order
between `a11y/touch-target` and `color/contrast-aa`.
Every rule page's "See also" section linked to a `PRD §…` location.
The PRD lives in `docs/local/` which is gitignored, so the references
404 for any external reader. A handful of inline-prose mentions
(radius, spacing, sibling-height) referenced PRD section numbers that
also do not resolve publicly.

Drop the PRD bullets and reword the inline references so the prose
stands on its own. The MCP-served rule docs and the mdBook source
are the same files (book pages are symlinks into
`crates/plumb-mcp/rule-docs/`), so the change covers both surfaces in
one diff.
- introduction.md: drop the duplicate "Next" navigation list at the
  bottom; fold its targets into the single workflow-targeted list
  above so visitors see one curated path forward.
- faq.md: replace the long "How do I integrate Plumb into GitHub
  Actions CI?" body with one sentence and a crosslink to the GitHub
  Code Scanning chapter, which already documents the full workflow.
- ci/reviewdog.md: collapse the duplicated "copy contrib/reviewdog-
  plumb.yaml" instruction into a single mention near the top.
- cli.md: replace the `<N>/<M>/<T>` placeholders in the `plumb watch`
  status line with concrete sample numbers.
- cli/suggest-ignores.md: change the example `plumb_version` from
  `0.0.1` to `0.0.x` so the snippet doesn't pin a stale version.
This reverts commit e8a3625. The install-smoke validator
(`tests/install-smoke-validate.sh`) hard-references this page to
verify the #51 / #52 release-engineering checkpoints, so deleting it
breaks `just validate`. Reinstate the page and its SUMMARY entry until
the validator is migrated to a different source of truth.
@aram-devdocs

Copy link
Copy Markdown
Owner Author

Wrong head branch — peer agent switched the working tree under me at PR-creation time. Recreating against the correct branch.

@aram-devdocs aram-devdocs changed the title docs(npm): npm-first README + flag wrong-arch Windows ARM64 mapping docs: remove stale blog, complete config reference, sweep dead PRD refs May 7, 2026
@aram-devdocs aram-devdocs reopened this May 7, 2026
@github-actions

github-actions Bot commented May 7, 2026

Copy link
Copy Markdown
Contributor

I have all the information I need. Let me now write the full review.


PR 276 — docs: remove stale blog, complete config reference, sweep dead PRD refs

Scope: docs-only. No Rust source changes. Determinism, layering, unsafe, and error-handling checklist items are N/A.


1. Determinism — N/A (no Rust changes)

2. Layering — N/A (no Rust changes)

3. Error handling — N/A (no Rust changes)

4. Test coverage — N/A (docs only)

5. Documentation

I cross-checked every new configuration.md entry against the live source:

Section Config field Struct Types Match
[shadow] shadow ShadowSpec { scale: Vec<String> } [string]
[z_index] z_index ZIndexSpec { scale: Vec<i32> } [i32]
[opacity] opacity OpacitySpec { scale: Vec<f32> } [f32]
[rhythm] rhythm RhythmSpec { base_line_px: u32, tolerance_px: u32, cap_height_fallback_px: u32 } u32 ×3
[[ignore]] ignore: Vec<IgnoreRule> IgnoreRule { selector: String, rule_id: Option<String>, reason: String } TOML array-of-tables

All rule IDs cited in the "Consumed by" lines match the actual fn id() return values in core (shadow/scale-conformance, z/scale-conformance, opacity/scale-conformance, baseline/rhythm).

[[ignore]] TOML syntax is correct for Vec<IgnoreRule> — TOML array-of-tables deserializes into Vec<T> via toml::from_str. reason is correctly documented as required: the struct field is reason: String with no serde(default) or Option wrapper, confirmed by the unit tests at config.rs:404–406.

[rhythm] default table is accurate: base_line_px = 0, tolerance_px = 2 (via default_rhythm_tolerance_px()), cap_height_fallback_px = 0.

Humanizer pass (required for any docs/src/** change per .agents/rules/documentation.md): checked all new prose additions in configuration.md, faq.md, introduction.md, reviewdog.md against the banned-phrase list. No violations found. "Converge on a clean baseline" in the [[ignore]] section is borderline jargon but not on the list.

Specific items verified:

  • docs/src/blog/launch-v0.6.md deletion is warranted: the post claims Plumb v0.6 but the real binary is at v0.0.11.
  • docs/src/SUMMARY.md: Blog chapter removed cleanly; no orphaned links remain.
  • docs/src/rules/overview.md: baseline/rhythm added alphabetically between a11y/touch-target and color/contrast-aa — correct.
  • docs/src/cli.md: <N> files; lint: <M> violations; took <T> ms → concrete example values. Better — example reads as a realistic status line.
  • docs/src/cli/suggest-ignores.md: plumb_version: "0.0.1""0.0.x". Correct improvement; 0.0.1 was a stale hardcoded version.
  • docs/src/faq.md FAQ refactor(core): formalize Rule trait + RuleEngine dispatch #12: Inline workflow snippet removed in favour of a pointer to the dedicated GitHub Code Scanning chapter. No content is lost — the chapter covers the same material in more depth.
  • docs/src/introduction.md: Duplicate "Next" section collapsed into the existing link list; four links were missing from that list and are now present (Configuration, CLI, Rules).
  • docs/src/ci/reviewdog.md: Duplicate "Before running this…" paragraph removed; the single surviving copy is cleaner.
  • PRD § removal in crates/plumb-mcp/rule-docs/: All 16 files remove dead - PRD §… See Also entries. Where PRD content appeared inline (radius, spacing-grid, spacing-scale, sibling-height), the prose was reworded to stand alone — verified it reads coherently without the cross-reference.
  • Deviation note (leaving ci/release-prep.md in place): correct call — tests/install-smoke-validate.sh hard-references two sentinel strings in that page, and touching the validator was rejected as scope escalation.

Punch list

Nothing blocks. No substantive issues found.


Verdict: APPROVE

@aram-devdocs
aram-devdocs merged commit 04440da into main May 8, 2026
28 of 65 checks passed
aram-devdocs added a commit that referenced this pull request May 8, 2026
… strip) (#287)

* chore: re-delete release-prep.md + drop its install-smoke-validate guard

PR #276 had to revert the deletion of docs/src/ci/release-prep.md because
tests/install-smoke-validate.sh greps the file for "Issue #51 verified" and
"Issue #52 wired" sentinel strings. Those issues are now resolved (Homebrew
tap and unscoped npm publish both ship as of 0.0.10/0.0.11), so the doc
page is internal noise that doesn't belong in the public book.

This commit removes both the page (already deleted via git rm in the same
working tree) and the guard that referenced it.

* fix(release): strip wrong-arch Windows ARM64 mapping from npm tarball

cargo-dist 0.28.0 emits an aarch64-pc-windows-msvc entry in the npm
package's supportedPlatforms that points to the x86_64 Windows zip. On
Windows ARM that silently installs the wrong arch.

The npm-publish job now extracts the tarball, removes the bad mapping
from package.json via a node one-liner, repacks, and publishes. When
cargo-dist ships a filter knob or we add a real Windows ARM64 target,
the strip step can come out.

Closes audit finding H7.
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