Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 18 additions & 14 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,7 @@ CommandLayer is a layered protocol system. Understand these layers before touchi
- Endpoints MUST be versioned: `/{verb}/v{protocol_version}` (e.g. `/describe/v1.0.0`)
- Receipts MUST verify via `runtime-core` — no custom verification logic elsewhere
- Protocol schemas are the contract; runtimes must not invent fields unless the schema allows it
- Health endpoints are required on all services:
- Router: `GET /health`, `GET /ready`, `GET /version`
- Runtimes: `GET /health`, `GET /version`
- In this repository, the implemented runtime health surface is `GET /health` plus the alias `GET /healthz`. Do not document repo-local routes that are not actually present here.

---

Expand All @@ -55,7 +53,7 @@ After completing a task, review what you changed and ask: *Did I introduce any l
### >>Verification Before Done<<
A task is not done until:
- [ ] The targeted layer's tests pass
- [ ] Stack e2e (`./e2e.sh`) is green (or you've confirmed it's unaffected)
- [ ] Repo-local checks are green, or you have explicitly confirmed why a broader stack check is unavailable or unaffected
- [ ] No hard contracts are broken
- [ ] The changeset is minimal — no collateral edits

Expand Down Expand Up @@ -86,7 +84,7 @@ Contract impact: <none | describe if any>
After each step, re-read the plan. Confirm you're still on the minimal path. Bail early if scope has crept.

### >>Capture Lessons<<
If you discover something surprising about the codebase (hidden coupling, undocumented constraint, layer violation), add a note to `ARCHITECTURE.md` or the relevant `COMPATIBILITY_MATRIX.md` before finishing.
If you discover something surprising about the codebase (hidden coupling, undocumented constraint, layer violation), document it in an actually present repo doc instead of referencing files that are not checked in here.

---

Expand All @@ -106,22 +104,28 @@ Prefer changes that are local to one layer. If a change ripples into two or more
## Development Workflow

### Local Setup
For this repository, use the files that are actually checked in:

```bash
npm ci
cp .env.example .env
./checkout-deps.sh # clones all dependent repos at correct refs
./inject-dockerfiles.sh # only needed if dep repos lack Dockerfiles
docker compose up -d --build
./e2e.sh # must be green before any PR
npm test
```

Optional local helpers that exist in this repo:

```bash
scripts/dev.sh
node scripts/smoke.mjs
```

### What "Green" Means
- Router is up and healthy
- Runtimes respond
- A request returns a structured receipt (or 402 if paywall enabled)
- No HTML errors or junk responses
For changes scoped to this runtime repo, "green" means the repo-local checks you touched are passing, especially `npm test` and any directly relevant smoke or workflow-covered checks.

If a task depends on cross-repo or stack behavior, say so explicitly rather than sending users or agents to scripts that are not present in this repository.

### Dependency Versions
All repo refs are pinned in `REPO_LOCK.json`. Do not change a ref without understanding the compatibility matrix in `COMPATIBILITY_MATRIX.md`.
This repo currently pins npm dependencies through `package-lock.json`. Do not assume stack-level lockfiles or compatibility files exist here unless they are actually present.

---

Expand Down
32 changes: 18 additions & 14 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,7 @@ CommandLayer is a layered protocol system. Understand these layers before touchi
- Endpoints MUST be versioned: `/{verb}/v{protocol_version}` (e.g. `/describe/v1.0.0`)
- Receipts MUST verify via `runtime-core` — no custom verification logic elsewhere
- Protocol schemas are the contract; runtimes must not invent fields unless the schema allows it
- Health endpoints are required on all services:
- Router: `GET /health`, `GET /ready`, `GET /version`
- Runtimes: `GET /health`, `GET /version`
- In this repository, the implemented runtime health surface is `GET /health` plus the alias `GET /healthz`. Do not document repo-local routes that are not actually present here.

---

Expand All @@ -55,7 +53,7 @@ After completing a task, review what you changed and ask: *Did I introduce any l
### >>Verification Before Done<<
A task is not done until:
- [ ] The targeted layer's tests pass
- [ ] Stack e2e (`./e2e.sh`) is green (or you've confirmed it's unaffected)
- [ ] Repo-local checks are green, or you have explicitly confirmed why a broader stack check is unavailable or unaffected
- [ ] No hard contracts are broken
- [ ] The changeset is minimal — no collateral edits

Expand Down Expand Up @@ -86,7 +84,7 @@ Contract impact: <none | describe if any>
After each step, re-read the plan. Confirm you're still on the minimal path. Bail early if scope has crept.

### >>Capture Lessons<<
If you discover something surprising about the codebase (hidden coupling, undocumented constraint, layer violation), add a note to `ARCHITECTURE.md` or the relevant `COMPATIBILITY_MATRIX.md` before finishing.
If you discover something surprising about the codebase (hidden coupling, undocumented constraint, layer violation), document it in an actually present repo doc instead of referencing files that are not checked in here.

---

Expand All @@ -106,22 +104,28 @@ Prefer changes that are local to one layer. If a change ripples into two or more
## Development Workflow

### Local Setup
For this repository, use the files that are actually checked in:

```bash
npm ci
cp .env.example .env
./checkout-deps.sh # clones all dependent repos at correct refs
./inject-dockerfiles.sh # only needed if dep repos lack Dockerfiles
docker compose up -d --build
./e2e.sh # must be green before any PR
npm test
```

Optional local helpers that exist in this repo:

```bash
scripts/dev.sh
node scripts/smoke.mjs
```

### What "Green" Means
- Router is up and healthy
- Runtimes respond
- A request returns a structured receipt (or 402 if paywall enabled)
- No HTML errors or junk responses
For changes scoped to this runtime repo, "green" means the repo-local checks you touched are passing, especially `npm test` and any directly relevant smoke or workflow-covered checks.

If a task depends on cross-repo or stack behavior, say so explicitly rather than sending users or agents to scripts that are not present in this repository.

### Dependency Versions
All repo refs are pinned in `REPO_LOCK.json`. Do not change a ref without understanding the compatibility matrix in `COMPATIBILITY_MATRIX.md`.
This repo currently pins npm dependencies through `package-lock.json`. Do not assume stack-level lockfiles or compatibility files exist here unless they are actually present.

---

Expand Down
Loading
Loading