Skip to content

ACMM conformance: alias lattice, quality docs, CI gate - #42

Merged
bketelsen merged 1 commit into
mainfrom
feat/acmm-conformance
Aug 12, 2026
Merged

ACMM conformance: alias lattice, quality docs, CI gate#42
bketelsen merged 1 commit into
mainfrom
feat/acmm-conformance

Conversation

@bketelsen

Copy link
Copy Markdown
Contributor

Summary

Satisfies every Hive ACMM evaluation criterion (#22#40) plus the scaffold-CI quality issue (#41) in one cohesive change. The mechanism is the one this repo already trusts: canonical content in the existing shape, conformance paths as committed relative symlinks — recorded in new ADR-0029, extending ADR-0002/0018/0019/0021/0025. Genuinely new artifacts exist only where no canonical content did, and each does real work (CI gate, review rubric, deny-list settings) rather than being checkbox theater.

  • Aliases: CONTRIBUTING.md & .cursorrulesAGENTS.md; docs/review-rubric.mdspecs/pr-review-rubric.md; docs/metrics.mdspecs/pr-acceptance-metric.md; docs/quality.mddesign/quality-loop.md; tests/e2e/scaffold-tests → the docs-site scaffold suite. Directory criteria are all real git trees.
  • New canonical docs: PR review rubric (spec, from ADR-0019), PR acceptance metric (spec), quality loop (design) — indexed and cross-linked per house rules.
  • CI: .github/workflows/ci.yml (SHA-pinned, permissions: {}, ADR-0021) runs scripts/check-docs.mjs (docs-index coverage, link integrity, symlink resolution vs .coverage-thresholds.json, never_relax) and the scaffold e2e suite via npm ci against a newly committed package-lock.json — the reproducible validation [quality] Validate the docs-site scaffold test suite in core CI #41 asked for. The docs-site skill is not in skills-sync.json, so the lockfile does not fan out; repos applying the skill later inherit it.
  • Agent surface: .claude/settings.json mechanically enforces ADR-0019's deny list (no PR merges, self-approval, releases, pushes to main); .claude/session-summary.md; .memory/ inbox seeded with the ADR-0018 five-field schema; .github/prompts/ runbooks; PR/issue templates; .editorconfig; .prettierrc.json.

Contingency (recorded in ADR-0029): if the ACMM evaluator declines to follow a symlink for one of the five file criteria, that alias becomes a real stub file — a one-commit fix.

Closes #22
Closes #23
Closes #24
Closes #25
Closes #26
Closes #27
Closes #28
Closes #29
Closes #30
Closes #31
Closes #32
Closes #33
Closes #34
Closes #35
Closes #36
Closes #37
Closes #38
Closes #39
Closes #40
Closes #41

Risk tier

Risk tier: 1 — docs, templates, symlinks, and CI for a docs repo; no application code. New workflow is least-privilege and SHA-pinned (ADR-0021).

Docs housekeeping

  • New docs started from their category's TEMPLATE.md
  • Every new doc indexed in docs/README.md
  • Cross-links added in both directions (ADR ↔ design ↔ spec)
  • New significant decision recorded as an ADR first (ADR-0029), in this PR
  • Conformance aliases (ADR-0029) — this PR creates the alias registry

Verification

🤖 Generated with Claude Code

Satisfies the Hive ACMM evaluation's path criteria (issues #22-#40) the
way ADR-0002 already solves this class of problem: canonical content in
the existing shape, conformance paths as committed relative symlinks,
recorded in new ADR-0029. Genuinely new artifacts only where no canonical
existed - and each does real work:

- ADR-0029 + docs/specs/pr-review-rubric.md, pr-acceptance-metric.md,
  docs/design/quality-loop.md (aliased at docs/review-rubric.md,
  metrics.md, quality.md)
- CONTRIBUTING.md and .cursorrules -> AGENTS.md (per ADR-0018)
- tests/ + tests/e2e/ with the scaffold suite aliased in
- .github: PR template (ADR-0019 risk tier), issue templates, prompts/
  runbooks, ci.yml (ADR-0021-compliant; runs check-docs.mjs and the
  scaffold e2e suite via npm ci against a new committed lockfile - #41)
- .claude/settings.json (mechanical ADR-0019 deny list) + session-summary
- .memory/ corrections inbox seeded per ADR-0018 schema
- .editorconfig, .prettierrc.json, .coverage-thresholds.json enforced by
  scripts/check-docs.mjs

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@bketelsen
bketelsen merged commit 01176c0 into main Aug 12, 2026
2 checks passed
@bketelsen
bketelsen deleted the feat/acmm-conformance branch August 12, 2026 14:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant