Skip to content

feat(release,docs,ui): auto-release on merge + self-enforcing docs/diagram/UI guards#50

Merged
CodeWithJuber merged 1 commit into
masterfrom
claude/forge-work-system-setup-p26ka5
Jul 11, 2026
Merged

feat(release,docs,ui): auto-release on merge + self-enforcing docs/diagram/UI guards#50
CodeWithJuber merged 1 commit into
masterfrom
claude/forge-work-system-setup-p26ka5

Conversation

@CodeWithJuber

Copy link
Copy Markdown
Owner

What & why

The same complaints kept recurring every cycle — docs too technical/outdated, diagrams looking bad, landing page and statusline looking unpolished, releases needing a manual button. Root cause: nothing enforced any of them, so they silently rotted between releases. This change fixes each one and adds a guard so it can't come back.

Auto-release on merge. A push to master now cuts the release itself (bump → tag → npm publish → GitHub Release). A chore/docs-only merge skips cleanly (bump.mjs auto exits 3); a feat/fix/perf/breaking change releases. Empty [Unreleased] is synthesized from commit subjects (with a verbatim fallback so a breaking change in a non-conventional squash title never crashes rotation). Manual Actions → Bump version dispatch stays available.

Self-enforcing docs. forge docs check gains three reconcilers for the exact blind spots behind the complaints:

  • checkDiagrams — every mermaid block across all Markdown must carry the branded theme and use <br/> (never a literal \n); opt out an intentional example with <!-- docs-check-ignore -->.
  • checkModelTiers — every $in/$out per M tok price must match src/model_tiers.json.
  • checkBenchmarks — every bolded N ms claim in the README must be a value reports/benchmarks.md actually measured.

Diagrams & docs. Fixed two off-brand/\n-broken mermaid diagrams, regrouped the 13-node pipeline so it reads at GitHub width, and re-layered the README/GUIDE openings into plain language (the y = f(x) / join-semilattice math moved to parentheticals).

Unified UI. Landing + status pages now share one warm-ember palette and a system font stack (dropped the phantom Inter webfont that never loaded); fixed the truncated/empty status "Latest changes" list; restyled the terminal statusline (one accent, consistent · separators, subtle context warning). test/pages.test.js enforces token parity, a non-empty list, no phantom font, and metric-vs-benchmark agreement.

Two adversarial review passes ran before push; both surfaced real defects (auto-release empty-body crash, two docs-check false-positive vectors) — all fixed with regression tests.

Checklist

  • npm test passes (645 tests, 0 fail)
  • npm run check passes (Biome lint + format)
  • New public functions have a test
  • Conventional commit message (feat:)
  • CHANGELOG.md updated under ## [Unreleased]
  • No new runtime dependency (dev deps ok)
  • Substrate/docs updated where impacted (ARCHITECTURE, RELEASING, CONTRIBUTING, README, GUIDE)

Risk & rollback

  • Risk level: medium (touches the release pipeline — auto-publishes to npm on merge)
  • Rollback plan: revert this PR; the release workflow reverts to workflow_dispatch-only, and the new docs-check reconcilers are additive (removing them only relaxes CI).

Extra checks (tick if applicable)

  • npm run typecheck passes
  • Input validated at boundaries; errors handled (bump.mjs skip-not-fail; docs-check reconcilers fail-safe)
  • Logs contain no secrets/PII

🤖 Generated with Claude Code


Generated by Claude Code

…agram/UI guards

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@CodeWithJuber CodeWithJuber marked this pull request as ready for review July 11, 2026 06:00
@CodeWithJuber CodeWithJuber merged commit 6f03d64 into master Jul 11, 2026
11 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.

2 participants