project — Architecture Sentinel

CNT root — loaded every session, routing only (≤80 lines). Always load the files below, then navigate to the relevant branch. If anything contradicts docs/PRD.md, PRD wins. Raise an ADR to change course.

Context Discipline (the prime directive)

Less harness, more task. For any roadmap item, run generate_session_prompt and work from THAT bound prompt — it contains everything the step needs. Load AT MOST one branch + one standards file per task. Never graze the harness “to be thorough” — every line of methodology you load displaces the task. .claude/reference/ is background reading: NEVER load it during work.

Always Load

  • .claude/constitution.md — non-negotiables: SOLID, invariants, prohibited ops
  • docs/status.md — current project state and open items
  • .claude/corrections.md — past AI mistakes on this project (read before acting)
You’re about to… Load these branches
Implement a feature .claude/lifecycle.mddocs/use-cases/.claude/routes/docs.md
Fix a bug .claude/lifecycle.md → linked test → .claude/routes/code.md
Change architecture / layers .claude/constitution.mddocs/architecture/layers.mddocs/adrs/
Change a module boundary .claude/constitution.mddocs/architecture/modules.md
Change data model / schema docs/architecture/data-model.md.claude/routes/docs.md
Add / change API surface .claude/standards/api.mddocs/use-cases/
Write / fix tests .claude/standards/testing.md.claude/routes/code.md
Review architecture .claude/constitution.md.claude/routes/code.mddocs/architecture/
Start a new session .claude/lifecycle.mddocs/status.md → relevant use case

Project Identity

  • Name: project
  • Tags: API
  • Stack: TypeScript/Node.js REST/GraphQL API

Doc Obligation Table

Change type Read first Produce after
New feature docs/PRD.md + relevant use case Spec decision record in docs/specs/
Architecture change docs/architecture/layers.md + ADR index ADR in docs/adrs/active/
Schema change docs/architecture/data-model.md Update schema + ERD
Module boundary docs/architecture/modules.md Update modules.md + ADR if non-obvious
Bug fix Linked use case + failing test Regression note in use case

// @gs-links: docs/use-cases/UC-NNN.md, docs/adrs/active/NNNN-slug.md Source files that implement a decision carry this. Linked docs must be staged with code. The pre-commit-gs-links.sh hook enforces this; escape with docs/change-manifest.md.