Skip to content

feat(readme): ADR-004 Phase B — readme-derive reusable workflow + vocab gate#475

Merged
hyperpolymath merged 1 commit into
mainfrom
feat/readme-derive-reusable-workflow
Jul 7, 2026
Merged

feat(readme): ADR-004 Phase B — readme-derive reusable workflow + vocab gate#475
hyperpolymath merged 1 commit into
mainfrom
feat/readme-derive-reusable-workflow

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

What

Implements the accepted ADR-004 (README single-source derivation). Phase B: the machinery, no repo flips yet.

  • readme-derive-reusable.ymlworkflow_call reusable. Reads a [publishing.readme] table from descriptiles ECOSYSTEM.a2ml (6a2 fallback during migration). For opted-in repos only: asciidoctor-reducer → docbook → pandoc gfm → GENERATED+SPDX stamp → vocab gate → fail-and-tell freshness check. Undeclared repos are skipped entirely — the anti-runaway guard.
  • .github/scripts/readme-vocab-gate.sh — fail-closed ≥98% vocabulary-preservation gate. Tested locally: 100% on a faithful conversion, hard-fails on real content loss.
  • doc-format.yml — reverses the June-runaway-era rule. README.adoc is canonical estate-wide; a README.md beside it is valid only as a GENERATED-stamped derived artefact, else flagged as a hand-maintained duplicate. A lone README.adoc is correct (no more nudge-to-Markdown).
  • ECOSYSTEM.a2ml.template — documented optional [publishing.readme] stanza.
  • ADR-004 — status → Accepted; the three §Open items resolved at their proposed defaults (ECOSYSTEM.a2ml block, 98% gate, fail-and-tell); illustrative sketch aligned to the real flat-TOML ECOSYSTEM format.

Accepted defaults (no owner veto on §Open items)

  1. Declaration in ECOSYSTEM.a2ml [publishing.readme] (not standalone PUBLISHING.a2ml)
  2. Vocab gate floor: 98%
  3. Freshness: fail-and-tell (no self-commit)

Next (Phase C)

Pilot flips of boj-server (consumer=glama) and hyperpolymath/hyperpolymath (consumer=github-profile) to authored .adoc + derived .md — those PRs will be left un-armed pending visual verification on Glama / the profile page, per the ADR Phase C gate.

🤖 Generated with Claude Code

…ab gate

Implements the accepted ADR-004 (README single-source derivation):

- .github/workflows/readme-derive-reusable.yml: workflow_call reusable that
  reads a [publishing.readme] declaration from descriptiles ECOSYSTEM.a2ml
  (6a2 fallback during migration), and ONLY for opted-in repos derives
  README.md from README.adoc (asciidoctor-reducer -> docbook -> pandoc gfm),
  stamps a GENERATED banner + SPDX, runs the vocab gate, then a fail-and-tell
  freshness check. Undeclared repos are skipped — the anti-runaway guard.
- .github/scripts/readme-vocab-gate.sh: fail-closed >=98% vocabulary-
  preservation gate (tested: 100% on faithful conversion, hard-fails on loss).
- doc-format.yml: reverse the runaway-era rule. README.adoc is canonical;
  a README.md beside it is valid only as a GENERATED-stamped derived artefact,
  otherwise flagged as a hand-maintained duplicate. Lone README.adoc is
  correct — no more nudge-to-Markdown.
- ECOSYSTEM.a2ml.template: documented optional [publishing.readme] stanza.
- ADR-004: status -> Accepted; open items resolved at defaults; sketch aligned
  to the real flat-TOML ECOSYSTEM format.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@sonarqubecloud

sonarqubecloud Bot commented Jul 7, 2026

Copy link
Copy Markdown

@hyperpolymath
hyperpolymath enabled auto-merge (squash) July 7, 2026 19:29
@hyperpolymath
hyperpolymath merged commit acca347 into main Jul 7, 2026
22 of 23 checks passed
@hyperpolymath
hyperpolymath deleted the feat/readme-derive-reusable-workflow branch July 7, 2026 19:30
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