Skip to content

chore(readme): flip to single-source .adoc + derived .md (ADR-004 pilot)#281

Merged
hyperpolymath merged 1 commit into
mainfrom
chore/readme-single-source-derive
Jul 9, 2026
Merged

chore(readme): flip to single-source .adoc + derived .md (ADR-004 pilot)#281
hyperpolymath merged 1 commit into
mainfrom
chore/readme-single-source-derive

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

⚠️ Un-armed pilot — needs owner visual verification on Glama before merge

Phase C of ADR-004 (README single-source derivation). boj-server is one of two estate repos with a real Markdown-only consumer (Glama, which renders README.adoc as raw markup — see awesome-mcp-servers#9563).

The ADR Phase C gate is explicit: verify the derived README renders correctly on Glama before the hand-authored README.md is replaced. Hence draft + un-armed.

What changed

File Change
README.adoc new canonical source, bootstrapped from the prior README.md via the ADR-004 recipe. Sets :idprefix:/:idseparator: - so the 15-entry TOC resolves.
README.md now a GENERATED artefact (banner stamped, do not hand-edit)
.machine_readable/6a2/ECOSYSTEM.a2ml [publishing.readme] declaration, consumer = glama
.github/workflows/readme-derive.yml caller for the standards reusable (regenerate + freshness-check)

Fidelity — verified end-to-end (pandoc 3.10 + asciidoctor 2.0.26)

  • 11/11 intra-doc TOC anchors resolve (zero orphaned)
  • 12/12 badges intact, including the Glama badge
  • blockquote + inline code (boj_*, {error, hint}) round-trip clean
  • vocab gate 98.7% (only AsciiDoc scaffolding tokens "lost" — zero real prose)
  • normalised freshness: derived README.md byte-identical on re-derive
  • anchor-ID guard satisfied

Owner action

  1. Review the rendered README.adoc on GitHub (TOC links should work).
  2. After merge, confirm the boj-server page on glama.ai renders the derived Markdown cleanly.
  3. Caller is pinned to standards db12a6a; repin to include standards#476 (anchor guard) once it lands — this repo's .adoc already satisfies it.

Depends on: standards#475 (merged), standards#476 (armed).

🤖 Generated with Claude Code

boj-server is one of two estate repos with a genuine Markdown-only consumer
(Glama, which renders README.adoc as raw markup). Per ADR-004, flip it from a
hand-authored README.md to authored README.adoc + CI-derived README.md:

- README.adoc: new canonical source (bootstrapped from the prior README.md
  via the ADR-004 recipe; sets :idprefix:/:idseparator: - so the TOC anchors
  resolve on GitHub and re-derive cleanly).
- README.md: now a GENERATED artefact (banner stamped; do not hand-edit).
  Verified faithful: 11/11 TOC anchors resolve, 12/12 badges intact (incl.
  Glama), blockquote + inline code round-trip clean.
- ECOSYSTEM.a2ml: [publishing.readme] declaration (consumer=glama) — the
  machine-readable opt-in the derive workflow reads.
- .github/workflows/readme-derive.yml: caller for the standards reusable;
  regenerates + freshness-checks README.md on changes.

Local verification (pandoc 3.10 + asciidoctor 2.0.26): vocab gate 98.7%,
normalised freshness byte-identical, anchor guard satisfied.

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

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 215 issues detected

Severity Count
🔴 Critical 15
🟠 High 133
🟡 Medium 67

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Action actions/checkout@v4 needs attention",
    "type": "unpinned_action",
    "file": "pages-deploy.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in build.yml",
    "type": "missing_timeout_minutes",
    "file": "build.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in pages-deploy.yml",
    "type": "missing_timeout_minutes",
    "file": "pages-deploy.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in push-email-notify.yml",
    "type": "missing_timeout_minutes",
    "file": "push-email-notify.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in scorecard-enforcer.yml",
    "type": "missing_timeout_minutes",
    "file": "scorecard-enforcer.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in scorecard-enforcer.yml",
    "type": "scorecard_publish_with_run_step",
    "file": "scorecard-enforcer.yml",
    "action": "split_scorecard_publish_job",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Issue in instant-sync.yml",
    "type": "secret_action_without_presence_gate",
    "file": "instant-sync.yml",
    "action": "peter-evans/repository-dispatch",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Issue in codeql.yml",
    "type": "codeql_missing_actions_language",
    "file": "codeql.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/boj-server/boj-server/cartridges/academic-workflow-mcp/adapter/mod.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/boj-server/boj-server/cartridges/ephapax-mcp/adapter/mod.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

@hyperpolymath hyperpolymath marked this pull request as ready for review July 9, 2026 08:22
@hyperpolymath hyperpolymath merged commit 39cefe4 into main Jul 9, 2026
17 of 19 checks passed
@hyperpolymath hyperpolymath deleted the chore/readme-single-source-derive branch July 9, 2026 08:23
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