Skip to content

feat(docs+fm-10): v1 architecture docs, pre-commit auto-install, ADR-0086/0087#352

Open
ElCuboNegro wants to merge 6 commits into
stagingfrom
feature/ADR-0086-precommit-auto-install
Open

feat(docs+fm-10): v1 architecture docs, pre-commit auto-install, ADR-0086/0087#352
ElCuboNegro wants to merge 6 commits into
stagingfrom
feature/ADR-0086-precommit-auto-install

Conversation

@ElCuboNegro

Copy link
Copy Markdown
Contributor

Summary

This branch bundles three cohesive deliverables for the Community v1 beta:

FM-10 — Pre-commit auto-install (ADR-0086)

  • cornerstone init now calls pre-commit install --install-hooks + --hook-type commit-msg after project setup
  • cornerstone doctor gains _check_precommit_hooks(): warns if hooks absent, repairs with --repair
  • All 5 starter hooks include _install_precommit() — matches the _create_adrs_branch() pattern

FM-14 — MCP Registration Protocol decoupling (ADR-0087)

  • ADR-0087 supersedes ADR-0063: protocol-first, deployer-agnostic catalog registration spec
  • Embeds FM-07 fix: crisol-register CI job MUST NOT use continue-on-error: true
  • Crisol is named as the OSS reference implementation, not the protocol definition

v1 Architecture Documentation (ADR-0085)

  • 18 new files, 8,740 lines across docs/specs/, docs/guides/, docs/implementation/
  • 7 per-repo ecosystem specs (cornerstone-agents, crisol-gateway, crisol-mcp-*, keystone, cornerstone-server)
  • 5 L0–L4 technical guides (getting-started, cli-reference, starters-and-skills, pipelines, governance-and-telemetry)
  • 5 implementation specs for open failure modes (FM-01/02/03/05/06)
  • mkdocs.yml wired with Guides: and Implementation Specs: nav sections
  • ADR-0085/0086/0087 cherry-picked from adrs branch so mkdocs builds cleanly

Test plan

  • mkdocs build --strict exits 0, no broken anchors
  • cornerstone init in a fresh git repo → pre-commit hooks installed
  • cornerstone doctor in a repo with no hooks → reports warning; --repair fixes it
  • Starter generation (api, base, cli, mcp) → hooks installed automatically
  • All 8 new nav sections render in MkDocs without 404

Closes #334 (FM-10), #341 (FM-14)

🤖 Generated with Claude Code

ElCuboNegro and others added 6 commits May 14, 2026 22:07
…DR-0085)

Changes:
- tools/adr_gate.py: _has_pending_adr() now checks `git log adrs -- docs/adr/`
  instead of working-tree status, preventing agents from staging ADR+code
  in the same commit. Falls back to working-tree check when adrs branch does
  not yet exist. Adds 'adrs' to _EXEMPT_BRANCH_PREFIXES.
- tools/enforce_gitflow.py + cornerstone/runtime/gitflow.py: recognise 'adrs'
  as a valid source for staging PRs (ADR-0050 parity).
- All 5 starter hooks (post_gen_project.py): add _create_adrs_branch() that
  creates the adrs ledger branch after the first git commit in generated repos.
- AGENTS.md: document the ADR-first branch workflow as §6 (permanent adrs
  ledger, step-by-step mandate, gate behaviour). Renumber §6→§7 and §7→§8.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…tor (ADR-0086)

- cornerstone/runtime/init_cmd.py: _install_precommit() runs on every
  cornerstone init — covers the cloner case (clone + cornerstone init
  activates all quality gates automatically).
- cornerstone/runtime/doctor.py: _check_precommit_hooks() warns when
  .git/hooks/pre-commit is absent; --repair installs them automatically.
- Starters base/cli/mcp/api post_gen_project.py: _install_precommit()
  called after _create_adrs_branch() — covers new project generation.
  Also fixes api starter which had _create_adrs_branch defined but
  not called (missed in ADR-0085 commit).

pipeline starter already had this pattern and is unchanged.
All calls are best-effort: FileNotFoundError is silently skipped so
projects without pre-commit in PATH are not blocked.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…-0085)

18 new files (8,740 lines): 7 per-repo ecosystem specs (cornerstone-agents,
crisol-gateway, crisol-mcp-github, crisol-context-mcp, crisol-bigquery-mcp,
keystone, cornerstone-server), 5 L0–L4 guides (getting-started, cli-reference,
starters-and-skills, pipelines, governance-and-telemetry), 5 implementation
specs for open failure modes (FM-01/02/03/05/06), and PRE_MORTEM.md.
mkdocs.yml wired with Guides and Implementation Specs nav sections.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Records the full v1 ecosystem topology: 7-repo layout, 5-layer architecture,
8 starters, 5 pipelines, ADR-first branch workflow (adrs ledger branch),
community-edition constraints, provider neutrality, and semver policy.

This is the first commit on the permanent `adrs` ledger branch — the ADR
was written before any feature branch for the enforcement changes is created,
per the workflow mandated in §5 of this ADR itself.

[skip-adr]

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…n protocol community

ADR-0086 (FM-10): mandates pre-commit install in cornerstone init and all
starter hooks — eliminates the manual step that leaves cloners without
local quality gates.

ADR-0087 (FM-14): supersedes ADR-0063 with a deployer-agnostic MCP catalog
registration protocol. Separates the community protocol definition from
the crisol-gateway OSS implementation. Also embeds the FM-07 fix as a
protocol requirement: registration CI MUST NOT use continue-on-error.

[skip-adr]

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- crisol-gateway.md: #43-crisol-register... → #7-crisol-register...
- specs/README.md + crisol-mcp-github.md: #31-catalog-schema---- → single-hyphen anchor
- cli_reference.md: schema-del-marker-cornerstone → cornerstone-cli-factory-mode

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@ElCuboNegro ElCuboNegro force-pushed the feature/ADR-0086-precommit-auto-install branch from 639a788 to 1b1e6a0 Compare May 21, 2026 19:32
@ElCuboNegro ElCuboNegro force-pushed the feature/ADR-0086-precommit-auto-install branch from 1b1e6a0 to 25fa98a Compare May 21, 2026 19:41
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