Skip to content

Commit 6a35d2f

Browse files
author
Douglas Jones
committed
2026-05-14: Stage-Gate governance + RPC API V2-1-1 through V2-1-5
Governance: - Add Stage-Gate steering files (00-welcome through 05-nfr-kpi-mandate) - Add Axiom, Lumen, Relay persona briefs - Update personas.md to reference full roster RPC API (REQ-V2-1): - docs/RPC_API.md — endpoint spec, design decisions, security notes - codifide/server.py — ThreadingHTTPServer over SymbolStore POST /symbols, GET /symbols/<id>, GET /symbols/<id>/imports GET /health, HEAD /symbols/<id> - python3 -m codifide serve CLI subcommand - tests/test_server.py — 28 tests, all passing 317 tests passing, 0 skipped. dispatch-check exits 0. Next: V2-1-6 (Program 5 via HTTP acceptance test)
1 parent 109658e commit 6a35d2f

21 files changed

Lines changed: 2556 additions & 9 deletions

.kiro/specs/v2-language/tasks.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
## REQ-V2-1: RPC API (P1)
44

5-
- [ ] **V2-1-1** Write `docs/RPC_API.md` — spec for the HTTP/gRPC interface
6-
- [ ] **V2-1-2** Design dispatch: endpoint shape, auth model, error responses
7-
- [ ] **V2-1-3** Implement POST `/symbols` — accept canonical CBOR, store, return hash
8-
- [ ] **V2-1-4** Implement GET `/symbols/<hash>` — return canonical CBOR by hash
9-
- [ ] **V2-1-5** Implement GET `/symbols/<hash>/imports` — resolve import graph
5+
- [x] **V2-1-1** Write `docs/RPC_API.md` — spec for the HTTP/gRPC interface
6+
- [x] **V2-1-2** Design dispatch: endpoint shape, auth model, error responses
7+
- [x] **V2-1-3** Implement POST `/symbols` — accept canonical CBOR, store, return hash
8+
- [x] **V2-1-4** Implement GET `/symbols/<hash>` — return canonical CBOR by hash
9+
- [x] **V2-1-5** Implement GET `/symbols/<hash>/imports` — resolve import graph
1010
- [ ] **V2-1-6** Test: agent completes Program 5 via HTTP only
1111
- [ ] **V2-1-7** File Quill/Glyph dispatch for RPC API completion
1212
- [ ] **V2-1-8** Sable audit of RPC API surface

.kiro/steering/00-welcome.md

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
---
2+
inclusion: auto
3+
---
4+
5+
# Codifide — Stage-Gate Governance
6+
7+
This project uses a Stage-Gate governance model adapted for AI-assisted programming language development. The AI builds. Humans decide what ships.
8+
9+
---
10+
11+
## How This Works
12+
13+
You have an AI development partner (that's me). I write code, specs, tests, and documentation. But nothing ships without passing through gates — structured decision points where evidence is reviewed and a human makes the go/kill/hold call.
14+
15+
**Your role:** Make decisions, provide context, approve gates.
16+
**My role:** Produce evidence, build code, run reviews, flag risks.
17+
18+
---
19+
20+
## Quick Start: Where Are You?
21+
22+
### 🆕 Starting a New Feature
23+
24+
Say: **"Let's start a new initiative"** or **"I want to build [X]"**
25+
26+
I'll walk you through:
27+
1. **G0 — Problem Definition** → Is this worth doing?
28+
2. **G1 — Requirements** → What exactly are we building?
29+
3. **G2/G3 — Design** → How do we build it safely?
30+
4. **G4 — Build & Verify** → Does it work? Prove it.
31+
5. **G5 — Release** → Is it safe to ship?
32+
6. **G6 — Learn** → What happened after release?
33+
34+
### 🔧 Continuing Existing Work
35+
36+
Say: **"Load up the current state"** or **"What gate are we at?"**
37+
38+
I'll check the session state, open specs, and dispatch state.
39+
40+
---
41+
42+
## The Gates at a Glance
43+
44+
| Gate | Question | You Provide | I Produce |
45+
|------|----------|-------------|-----------|
46+
| **G0** | Worth doing? | Problem description | Risk classification, scope doc |
47+
| **G1** | Requirements solid? | Business context, constraints | Testable requirements, acceptance criteria, NFRs |
48+
| **G2/G3** | Design safe? | Preferences, constraints | Architecture, ADRs, threat model, tickets |
49+
| **G4** | Code works? | Acceptance criteria approval | Working code, tests, security review |
50+
| **G5** | Safe to ship? | Release approval | Release notes, rollback plan, dispatch pair |
51+
| **G6** | What did we learn? | Post-release observations | Retrospective, findings, roadmap input |
52+
53+
---
54+
55+
## Key Principles
56+
57+
1. **Evidence, not confidence.** Every gate requires artifacts, not opinions.
58+
2. **Adversarial review at every gate.** A separate AI (B-Team) attacks the work.
59+
3. **100% test coverage on new code.** No exceptions without an approved exception ticket.
60+
4. **Security is every-gate.** Not a phase. Not an afterthought.
61+
5. **Kill early, kill cheap.** A failed G0 costs minutes. A failed G5 costs months.
62+
6. **AI builds. Humans decide.** The gate decision is never automated.
63+
7. **Dispatch discipline.** Every gate files a Quill readout + Glyph YAML pair. `dispatch-check` must exit 0.
64+
65+
---
66+
67+
## Personas (Who's Who)
68+
69+
See `01-governance-gates.md` for gate details.
70+
See `02-personas.md` for the full A-Team and B-Team roster.
71+
72+
---
73+
74+
*Template adapted from agentic-stage-gate-governance — May 2026*
Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
---
2+
inclusion: auto
3+
---
4+
5+
# Governance Gates
6+
7+
Every initiative passes through seven gates. No gate passes on confidence — only on evidence.
8+
9+
## The Gates
10+
11+
| Gate | Question | Who Decides |
12+
|------|----------|-------------|
13+
| **G0** | Is this worth exploring? | Harper + Aegis |
14+
| **G1** | Are the requirements and evidence strong enough? | Aegis + B-Team |
15+
| **G2/G3** | Is the design/architecture ready? | Winston + Sentinel + Aegis |
16+
| **G4** | Build and verify. | Tessa + Sentinel + Aegis |
17+
| **G5** | Release readiness. | Full team |
18+
| **G6** | Post-release review. | Aegis + Sable + Quill |
19+
20+
---
21+
22+
## G0 — Is This Worth Exploring?
23+
24+
**Purpose:** Confirm the work is real, bounded, and worth doing.
25+
26+
**Must include:**
27+
- Problem statement (what breaks or is missing without this?)
28+
- Adoption evidence (which agent sessions, audit findings, or user reports justify it?)
29+
- Risk classification (does it touch the interpreter, the store, the canonical form, or the public API?)
30+
- Scope boundaries (what's in, what's out)
31+
- Stakeholders identified
32+
33+
**Passes when:** The problem is worth solving, the scope is honest, and the evidence is real.
34+
35+
**Template:** Create `.kiro/specs/{ID}/G0_PROBLEM_STATEMENT.md`
36+
37+
---
38+
39+
## G1 — Are the Requirements and Evidence Strong Enough?
40+
41+
**Purpose:** Ensure we're building from evidence, not assumptions.
42+
43+
**Must include:**
44+
- Evidence-backed requirements with acceptance criteria
45+
- NFRs (Non-Functional Requirements) with measurable targets
46+
- Open assumptions documented
47+
- B-Team adversarial review completed
48+
- Sable threat model (if the change touches the interpreter, store, or canonical form)
49+
50+
**Passes when:** Requirements are testable, traceable, and survived adversarial review.
51+
52+
**Template:** Create `.kiro/specs/{ID}/G1_REQUIREMENTS.md`
53+
54+
---
55+
56+
## G2/G3 — Is the Design/Architecture Ready?
57+
58+
**Purpose:** Prevent unsafe or unworkable design from reaching implementation.
59+
60+
**Must include:**
61+
- Architecture overview with module boundaries
62+
- ADRs for significant decisions (with alternatives considered)
63+
- Threat model (if surface area changes)
64+
- Test strategy
65+
- Decomposed tasks with acceptance criteria
66+
- B-Team review of architecture
67+
68+
**Passes when:** The design is implementable, secure, testable, and the team knows what to build.
69+
70+
**Template:** Create `.kiro/specs/{ID}/design.md`
71+
72+
---
73+
74+
## G4 — Build and Verify
75+
76+
**Purpose:** Prove the implementation is correct before discussing release.
77+
78+
**Must include:**
79+
- Code complete against task acceptance criteria
80+
- **100% test coverage on all new code** (no exceptions without Aegis-approved exception ticket)
81+
- All existing tests still pass (no regressions)
82+
- Security review passed (Sentinel sign-off)
83+
- Conformance verified (Python and Rust runtimes agree on all new behavior)
84+
- `dispatch-check` exits 0
85+
86+
**Passes when:** The code works, is proven to work, and the proof is documented.
87+
88+
**Template:** Create `.kiro/specs/{ID}/G4_VERIFICATION.md`
89+
90+
---
91+
92+
## G5 — Release Readiness
93+
94+
**Purpose:** Prove the change can be shipped safely.
95+
96+
**Must include:**
97+
- Release notes (Quill readout)
98+
- Rollback plan (what breaks if we revert, how to revert)
99+
- Capability manifest updated if the public surface changed
100+
- publicsite updated if agent-facing docs changed
101+
- Sable post-audit completed
102+
- Glyph dispatch filed
103+
- `dispatch-check` exits 0
104+
105+
**Passes when:** The change is safe to put in front of agents and users.
106+
107+
**Template:** Create `.kiro/specs/{ID}/G5_RELEASE_READINESS.md`
108+
109+
---
110+
111+
## G6 — Post-Release Review
112+
113+
**Purpose:** Close the loop. Learn from reality.
114+
115+
**Must include:**
116+
- Adoption observations (did agents use it? did it reduce friction?)
117+
- Any new failure modes discovered
118+
- Follow-up actions identified
119+
- Roadmap input (does this change the v2.0 or v3.0 priorities?)
120+
121+
**Passes when:** We've learned from the release and captured it for the next one.
122+
123+
**Template:** Create `.kiro/specs/{ID}/G6_RETROSPECTIVE.md`
124+
125+
---
126+
127+
## Principles
128+
129+
1. **Adoption evidence outranks intuition.** If no agent session produced evidence for it, it doesn't ship.
130+
2. **Evidence, not confidence.** "We think it's fine" is not a gate pass.
131+
3. **B-Team reviews every gate.** Different AI, different perspectives, different blind spots.
132+
4. **No single persona self-approves.** Separation of duties is non-negotiable.
133+
5. **Conformance is mandatory.** Python and Rust runtimes must agree. Divergence is a P0.
134+
6. **Dispatch discipline.** Every gate files a paired Quill + Glyph dispatch. No gaps.
135+
7. **Kill early, kill cheap.** The answer to a bad idea is G0 rejection, not G5 failure.
136+
137+
---
138+
139+
## Fast-Track Rules
140+
141+
Small changes (< 1 day effort, no new language surface, no interpreter changes) may be fast-tracked:
142+
- Combined G0/G1 document
143+
- Skip standalone G2/G3 if architecture is already established
144+
- Still requires G4 evidence (tests pass, no regressions)
145+
- Aegis must explicitly approve fast-track
146+
147+
---
148+
149+
## Codifide-Specific Risk Classification
150+
151+
| Change type | Risk | Required reviews |
152+
|-------------|------|-----------------|
153+
| Interpreter semantics | HIGH | Sable audit + B-Team + conformance tests |
154+
| Parser changes | HIGH | Sable audit + B-Team + fuzz regression |
155+
| Canonical form / CBOR | HIGH | Sable audit + byte-level conformance |
156+
| Symbol store | MEDIUM | Sable audit + GC regression |
157+
| CLI / surface commands | MEDIUM | B-Team |
158+
| Docs / capability manifest | LOW | Quill + Glyph dispatch |
159+
| Steering / governance files | LOW | Aegis sign-off |

0 commit comments

Comments
 (0)