Skip to content

Commit ed4aa8f

Browse files
committed
refactor: remove cli/ and daemon/ - migrated to separate repos
BREAKING CHANGE: CLI and daemon code removed from acp-spec The CLI has been migrated to https://github.com/acp-protocol/acp-cli The daemon has been migrated to https://github.com/acp-protocol/acp-daemon The MCP server has been migrated to https://github.com/acp-protocol/acp-mcp This repo now contains only: - Specification (spec/) - JSON Schemas (schemas/) - RFCs (rfcs/) - Documentation (docs/) Changes: - Remove cli/ directory (migrated to acp-cli) - Remove Cargo.toml and Cargo.lock (no longer a Rust workspace) - Update README.md installation instructions for Homebrew/acp-cli - Update docs to reference external repositories - Add daemon-architecture.md documentation
1 parent 8011e56 commit ed4aa8f

File tree

118 files changed

+8667
-28551
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

118 files changed

+8667
-28551
lines changed

.claude/commands/acp.daemon-document.md

Lines changed: 477 additions & 0 deletions
Large diffs are not rendered by default.

.claude/commands/acp.daemon-evaluate.md

Lines changed: 436 additions & 0 deletions
Large diffs are not rendered by default.

.claude/commands/rfc.analyze.md

Lines changed: 270 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,270 @@
1+
---
2+
description: Analyze an RFC for technical viability, completeness, and alignment with project goals. Determines accept/reject/clarify status through structured review.
3+
handoffs:
4+
- label: Refine to Plan
5+
agent: rfc.refine
6+
prompt: Refine this accepted RFC into an actionable implementation plan
7+
send: true
8+
- label: Check Existing RFCs
9+
agent: rfc.status
10+
prompt: Show status of all RFCs in the project
11+
- label: View RFC Template
12+
agent: project.knowledge
13+
prompt: Show me the RFC template structure
14+
---
15+
16+
## User Input
17+
18+
```text
19+
$ARGUMENTS
20+
```
21+
22+
You **MUST** consider the user input before proceeding (if not empty). The user input may specify:
23+
- Path to the RFC file to analyze
24+
- Specific concerns to evaluate
25+
- Priority areas (security, performance, compatibility)
26+
- `--quick` for abbreviated analysis
27+
- `--strict` for rigorous standards compliance check
28+
29+
## Purpose
30+
31+
RFC analysis evaluates proposed protocol changes through a structured review process:
32+
33+
| Phase | Focus | Outcome |
34+
|-------|-------|---------|
35+
| Completeness | Required sections present | Pass/Fail |
36+
| Technical Viability | Can this be implemented? | Viable/Concerns/Blocked |
37+
| Alignment | Fits project goals and constitution | Aligned/Misaligned |
38+
| Risk Assessment | Breaking changes, security, scope | Low/Medium/High/Critical |
39+
| Decision | Overall recommendation | Accept/Reject/Clarify |
40+
41+
**Goal**: Make informed decisions quickly while capturing concerns for resolution.
42+
43+
## Outline
44+
45+
1. **Locate RFC** from user input ($ARGUMENTS):
46+
- If path provided: Load that file
47+
- If RFC number provided: Search `rfcs/proposed/` and `rfcs/accepted/`
48+
- If nothing provided: List available RFCs for selection
49+
50+
2. **Run Analysis Script**:
51+
```bash
52+
.claude/scripts/bash/rfc-analyze.sh --json <rfc-path>
53+
```
54+
55+
Parse JSON response:
56+
```json
57+
{
58+
"rfc": {
59+
"id": "RFC-XXXX",
60+
"title": "RFC Title",
61+
"path": "/path/to/rfc.md",
62+
"status": "Draft|Proposed|FCP",
63+
"author": "Author Name",
64+
"created": "YYYY-MM-DD"
65+
},
66+
"completeness": {
67+
"score": 85,
68+
"missing_sections": ["Benchmarks"],
69+
"incomplete_sections": ["Open Questions"],
70+
"warnings": ["No changelog entries"]
71+
},
72+
"technical": {
73+
"viable": true,
74+
"concerns": ["Requires tree-sitter changes"],
75+
"blockers": [],
76+
"affected_components": ["CLI", "Schemas"],
77+
"complexity": "Medium"
78+
},
79+
"alignment": {
80+
"constitution_compliant": true,
81+
"spec_chapters_affected": ["02", "03", "05"],
82+
"schema_changes_required": ["cache.schema.json"],
83+
"breaking_changes": false
84+
},
85+
"risk": {
86+
"level": "Medium",
87+
"factors": ["New annotation syntax", "Cache format changes"],
88+
"mitigations": ["Feature flag rollout", "Migration script"]
89+
},
90+
"questions": [
91+
"Should directive suffix be required or recommended?",
92+
"What is the maximum directive length?"
93+
],
94+
"recommendation": "CLARIFY",
95+
"reasons": ["3 open questions need resolution", "Missing benchmark data"]
96+
}
97+
```
98+
99+
3. **Conduct Interactive Review** (unless `--quick`):
100+
101+
For each concern or open question:
102+
- Present the issue
103+
- Ask clarifying questions if needed
104+
- Record the resolution or flag for follow-up
105+
106+
4. **Generate Analysis Report**:
107+
108+
Create/update `.claude/memory/rfc-analysis-{RFC_ID}.md` using template:
109+
`.claude/templates/rfc-analysis-template.md`
110+
111+
Report includes:
112+
- Executive summary with recommendation
113+
- Completeness checklist
114+
- Technical viability assessment
115+
- Risk matrix
116+
- Open questions with answers/status
117+
- Decision record
118+
119+
5. **Update RFC Status** based on analysis:
120+
121+
| Recommendation | Action |
122+
|----------------|--------|
123+
| ACCEPT | Move to `rfcs/accepted/`, set status to "Accepted" |
124+
| REJECT | Move to `rfcs/rejected/`, document reasons |
125+
| CLARIFY | Keep in `rfcs/proposed/`, list required clarifications |
126+
127+
## Analysis Criteria
128+
129+
### Completeness Check
130+
131+
| Section | Required | Weight |
132+
|---------|----------|--------|
133+
| Summary | Yes | High |
134+
| Motivation | Yes | High |
135+
| Detailed Design | Yes | Critical |
136+
| Schema Changes | If applicable | Medium |
137+
| Examples | Yes | Medium |
138+
| Drawbacks | Yes | Medium |
139+
| Alternatives | Recommended | Low |
140+
| Open Questions | If any | High |
141+
| Implementation Checklist | Yes | Medium |
142+
143+
### Technical Viability Signals
144+
145+
**Green Flags**:
146+
- Clear implementation path
147+
- Bounded scope
148+
- Existing patterns to follow
149+
- Author has implementation experience
150+
151+
**Yellow Flags**:
152+
- Requires new dependencies
153+
- Affects multiple components
154+
- Novel approach (no prior art)
155+
- Performance implications unclear
156+
157+
**Red Flags**:
158+
- Fundamental architecture changes
159+
- Unbounded scope
160+
- No clear rollback path
161+
- Security implications not addressed
162+
163+
### Alignment Verification
164+
165+
Check against:
166+
- Project constitution (if exists)
167+
- Existing specification chapters
168+
- Schema versioning policy
169+
- Backward compatibility requirements
170+
171+
### Risk Assessment Matrix
172+
173+
| Factor | Low | Medium | High | Critical |
174+
|--------|-----|--------|------|----------|
175+
| Breaking Changes | None | Deprecations | Migration needed | Fundamental change |
176+
| Scope | Single file | Single component | Multiple components | Architecture |
177+
| Security | N/A | Minor exposure | New attack surface | Critical path |
178+
| Reversibility | Easy rollback | Some effort | Difficult | Irreversible |
179+
180+
## Interactive Questions
181+
182+
When analyzing, gather answers to:
183+
184+
1. **Scope Clarity**: "Is the scope well-defined? What's explicitly out of scope?"
185+
186+
2. **Implementation Feasibility**: "Can this be implemented incrementally? What's the MVP?"
187+
188+
3. **Compatibility**: "What breaks? What migration path exists?"
189+
190+
4. **Testing Strategy**: "How will this be validated? What are the edge cases?"
191+
192+
5. **Documentation Impact**: "What docs need updating? Any new concepts to explain?"
193+
194+
## Decision Framework
195+
196+
### Accept When:
197+
- [ ] All required sections complete
198+
- [ ] Technical approach is viable
199+
- [ ] Aligns with project direction
200+
- [ ] Risk level acceptable (Low-Medium)
201+
- [ ] No unresolved blockers
202+
- [ ] Open questions have paths to resolution
203+
204+
### Reject When:
205+
- [ ] Fundamentally misaligned with project goals
206+
- [ ] Technical approach has fatal flaws
207+
- [ ] Risk outweighs benefit
208+
- [ ] Scope creep beyond reasonable bounds
209+
- [ ] Author unable/unwilling to address feedback
210+
211+
### Clarify When:
212+
- [ ] Missing critical information
213+
- [ ] Open questions affect implementation
214+
- [ ] Alternatives not adequately explored
215+
- [ ] Stakeholder input needed
216+
- [ ] Risk assessment incomplete
217+
218+
## Scripts Reference
219+
220+
| Script | Purpose | When Used |
221+
|--------|---------|-----------|
222+
| `rfc-analyze.sh` | Parse RFC structure and metadata | Always |
223+
| `rfc-check-refs.sh` | Validate internal references | During analysis |
224+
| `rfc-move.sh` | Move RFC between directories | After decision |
225+
226+
## Error Conditions
227+
228+
| Error | Cause | Resolution |
229+
|-------|-------|------------|
230+
| "RFC not found" | Invalid path or ID | Check rfcs/ directory |
231+
| "Invalid RFC format" | Missing required sections | Compare against template |
232+
| "Cannot determine status" | No status field | Add status to RFC header |
233+
| "Circular reference" | RFC references itself | Fix reference chain |
234+
235+
## Output Files
236+
237+
| File | Purpose | Location |
238+
|------|---------|----------|
239+
| Analysis report | Full analysis results | `.claude/memory/rfc-analysis-{id}.md` |
240+
| Decision log | Accept/Reject/Clarify record | `.claude/memory/rfc-decisions.md` |
241+
| Question log | Q&A during analysis | Appended to analysis report |
242+
243+
## Completion Criteria
244+
245+
### Analysis Complete When:
246+
- [ ] All RFC sections reviewed
247+
- [ ] Technical viability assessed
248+
- [ ] Risk level determined
249+
- [ ] All questions documented (with answers or follow-up status)
250+
- [ ] Recommendation made with clear reasoning
251+
- [ ] Analysis report generated
252+
- [ ] RFC status updated (if decision is Accept/Reject)
253+
254+
## Handoff Information
255+
256+
When handing off to `/rfc.refine`:
257+
- Provide the RFC path
258+
- Include analysis report path
259+
- Note any specific concerns to address in planning
260+
- List stakeholder decisions that were made
261+
262+
Example handoff:
263+
```
264+
RFC-001 has been analyzed and ACCEPTED.
265+
Analysis: .claude/memory/rfc-analysis-001.md
266+
Key decisions:
267+
- Directive suffix will be recommended, not required
268+
- Maximum directive length: 500 characters
269+
Ready for /rfc.refine to create implementation plan.
270+
```

0 commit comments

Comments
 (0)