Skip to content

docs: prepare the docs workspace for iwe normalization - #75

Open
robfeldmann wants to merge 2 commits into
mainfrom
docs/iwe-normalize-prep
Open

robfeldmann wants to merge 2 commits into
mainfrom
docs/iwe-normalize-prep

Conversation

@robfeldmann

@robfeldmann robfeldmann commented Oct 29, 2026 •

Copy link
Copy Markdown
Owner

Intent

PR 1 of 3 for plan 036's new Slice 6.5 (the docs workspace in iwe normalize form, kept by a check). It removes the three things that break after an unscoped iwe normalize, so the formatting-only PR (after #63 and #72 merge) can be purely mechanical, and adds the slice to the plan. No accepted issue: owner-directed maintenance (Q28, 2026-10-27).

  • docs/research/decision-9i-application-contract.md: the quoted > ### Stability amendment becomes a fenced markdown block. iwe re-leveled the quoted heading to > # Stability, which rumdl MD001 rejects, and rumdl --fix and iwe then rewrote each other.
  • docs/.iwe/config.toml: emphasis_token = "_". The docs use _em_ 106 times and *em* ten times; iwe defaults to *.
  • scripts/plans.py: the hub is rendered, then normalized with iwe normalize -k plans; --check renders and normalizes in a scratch copy of docs/ and compares, so it never writes the workspace. docs/plans.md is regenerated (its table is now padded). scripts/test_plans.py is new and quality:plans runs it.
  • mise.toml and mise.lock: iwe 0.29.0 to 0.29.3 (output identical).
  • Plan 036: Slice 6.5, its Progress line, two Decisions entries (Q28 and the slice's placement), and Next:.

User-visible behavior

None. Documentation, a Python script, and tool configuration.

Validation

On scratch copies under /tmp, never in the worktree:

  • iwe normalize -k research/decision-9i-application-contract leaves every heading as it was, the second run changes nothing, and rumdl passes (and rumdl --fix changes nothing).
  • An unscoped iwe normalize over the workspace keeps all 106 _em_ and converts the 7 *em* in prose to _em_ (the 3 *x* matches inside code are untouched); with the old config it rewrote every _em_ to *em* (0 left of 106).
  • An unscoped iwe normalize, then plans.py --check, passes, and the normalized docs/plans.md is byte-identical to the committed one. In the tree, plans.py then plans.py --check passes.
  • mise run quality:format, mise run quality:lint (includes quality:plans and its 6 new tests, and quality:wireframes), and iwe schema validate from docs/ pass.

Documentation and changelog

Plan 036 updated; no changelog entry (no user-visible change).

Compatibility

None.

Checklist

  • I linked the accepted issue or Discussion. (Owner-directed; Q28 in plan 036.)
  • I added or updated tests for new observable behavior, or explained why none are needed.
  • I considered documentation and changelog impact.
  • I documented compatibility or Breaking Changes.
  • I removed credentials, private logs, and other sensitive information.

Fence the quoted Stability amendment in decision 9 (i) so iwe keeps it verbatim,
make underscores the emphasis token the docs already use, render the plans hub in
normalized form (checking it in a scratch copy of docs/), and add Slice 6.5 to plan 036.

This branch has not been deployed

No deployments
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