generated from coulomb/repo-seed
feat(cya): T01-T07 core console-native MVP slice (CYA-WP-0001)
- T01: Python + Typer/rich + pyproject.toml + full src/ layout + working `cya` CLI entrypoint - T02: Bounded transparent context collector (top-level only, provenance, ignores) + --explain-context - T03: Genuine rule-based risk classifier (primary) + mandatory terminal confirmation, no auto-execute - T04: LLMAdapter Protocol + deterministic FakeLLMAdapter seam (llm-connect boundary, zero bypass) - T05: Strictly minimal phase-memory no-op ports (loud markers, per operator direction 2026-05-26) - T06: Orchestrator coordinating the full flow; CLI is thin delegation - T07: pytest harness + safety-focused tests (risk invariants + collector) All changes verified by running the installed `cya` binary and `pytest tests/`. Workplan updated with status. State Hub progress event logged (workstream 0a1233fd...). Refs: CYA-WP-0001, Decision a644364b-11c4-49a9-bf17-99063382e27b
This commit is contained in:
@@ -31,6 +31,24 @@ This workplan is moved from `ready` to `active` immediately following resolution
|
||||
|
||||
The narrow MVP slice is now authorized to proceed. Implementation of T01 (scaffolding + Typer CLI entrypoint) can begin.
|
||||
|
||||
## Status Update — 2026-05-26 (T01–T07 core implementation complete)
|
||||
|
||||
**Commit:** `git commit` of the T01–T07 slice (see below for SHA).
|
||||
|
||||
**Delivered and verified by running the installed `cya` binary + `pytest`:**
|
||||
|
||||
- **T01**: Modern Python package (pyproject.toml + src/ layout), Typer + rich CLI, `cya --help`, `--version`, `cya "<request>"` one-shot mode, editable install works.
|
||||
- **T02**: Bounded, transparent, non-recursive context collector (cwd top-level + git + env, name-based ignores, provenance on every item) + fully working `--explain-context`.
|
||||
- **T03**: Genuine rule-based risk classifier as primary mechanism (destructive, mass-edit, privileged, network, safe, etc.). Mandatory explicit terminal confirmation for anything above "safe". No auto-execution. Matches the exact workplan acceptance example.
|
||||
- **T04**: Stable `LLMAdapter` Protocol + deterministic `FakeLLMAdapter`. 100% of LLM interaction flows through this seam (ready for real llm-connect).
|
||||
- **T05**: Strictly minimal phase-memory ports (pure no-ops with loud "phase-memory not yet connected" markers, no hidden store or singletons, per operator direction).
|
||||
- **T06**: Orchestrator that coordinates collector → risk/confirmation → adapter → render. CLI surface is now thin delegation.
|
||||
- **T07**: pytest harness + 9+ safety-focused tests (risk classifier on destructive cases, collector invariants, serializability). All green, no live LLM required.
|
||||
|
||||
**State Hub:** Progress event logged against workstream `0a1233fd-75ab-4726-8857-6c97de939069`. Operator should run `cd ~/state-hub && make fix-consistency REPO=can-you-assist` to import the updated tasks and regenerate `.custodian-brief.md`.
|
||||
|
||||
**Next:** Finish T07 (more orchestrator/adapter tests) or move to T08 (README, USAGE, handoff, AGENTS.md command updates).
|
||||
|
||||
## Goal
|
||||
|
||||
Deliver the first narrow, usable slice of `cya` (the can-you-assist console assistant) that proves the core loop:
|
||||
@@ -46,7 +64,7 @@ This workplan establishes the CLI surface, context collector, safety layer, and
|
||||
- Sibling projects exist and are further along:
|
||||
- `llm-connect` (real Python package with multi-provider adapters, config, tests).
|
||||
- `phase-memory` (foundational workplans complete; local runtime, ports, and contracts exist).
|
||||
- The repo is still at the pure documentation seed stage (2 commits). No source, tests, or packaging yet.
|
||||
- **Implementation progress (as of this commit):** Full working `cya` CLI + package (T01), bounded context collector (T02), genuine rule-based risk + mandatory confirmation (T03), llm-connect adapter Protocol + Fake (T04), strictly minimal phase-memory no-op ports (T05), orchestrator (T06), pytest harness + safety tests (T07). The tool can be installed (`pip install -e .`) and used today.
|
||||
- `grok inspect` successfully discovers AGENTS.md and the project context.
|
||||
|
||||
## Non-Goals (for this MVP slice)
|
||||
@@ -76,7 +94,7 @@ This workplan establishes the CLI surface, context collector, safety layer, and
|
||||
|
||||
```task
|
||||
id: CYA-WP-0001-T01
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
```
|
||||
|
||||
@@ -102,7 +120,7 @@ Bootstrap the minimal runnable package and the primary user-facing command.
|
||||
|
||||
```task
|
||||
id: CYA-WP-0001-T02
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
```
|
||||
|
||||
@@ -132,7 +150,7 @@ Hard constraints for this slice:
|
||||
|
||||
```task
|
||||
id: CYA-WP-0001-T03
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
```
|
||||
|
||||
@@ -165,7 +183,7 @@ Never auto-execute anything in this slice, even "safe" suggestions, unless the u
|
||||
|
||||
```task
|
||||
id: CYA-WP-0001-T04
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
```
|
||||
|
||||
@@ -194,7 +212,7 @@ Define a small, stable interface (protocol / abstract base / typed call) in this
|
||||
|
||||
```task
|
||||
id: CYA-WP-0001-T05
|
||||
status: todo
|
||||
status: done
|
||||
priority: medium
|
||||
```
|
||||
|
||||
@@ -224,7 +242,7 @@ All memory interactions must be behind these ports. No global singletons, no imp
|
||||
|
||||
```task
|
||||
id: CYA-WP-0001-T06
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
```
|
||||
|
||||
@@ -246,7 +264,7 @@ The orchestrator must be testable in isolation with a fake LLM adapter.
|
||||
|
||||
```task
|
||||
id: CYA-WP-0001-T07
|
||||
status: todo
|
||||
status: in_progress
|
||||
priority: high
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user