generated from coulomb/repo-seed
docs + chore(workplan): complete T07 (final) for CYA-WP-0003 — heavy README Memory section, AGENTS update, MemoryVision addition, debt registration
This commit is contained in:
15
AGENTS.md
15
AGENTS.md
@@ -175,13 +175,16 @@ cya "your natural language request here"
|
|||||||
cya --help
|
cya --help
|
||||||
cya --explain-context "show me what context would be collected"
|
cya --explain-context "show me what context would be collected"
|
||||||
|
|
||||||
# Memory is now real (T02)
|
# Memory features (0003)
|
||||||
# Preferences persist in ~/.config/cya/memory/<scope>.json (user-controlled JSON)
|
cya retrospect # Guided reflection session to set goals & preferences
|
||||||
|
cya --explain-context "..." # See exactly which memory was activated (including from retrospection)
|
||||||
|
|
||||||
|
# Memory is user-controlled and scoped
|
||||||
|
# Backing files: ~/.config/cya/memory/<scope>.json (plain JSON, fully editable)
|
||||||
cya "remember that I always want --short --branch on git status"
|
cya "remember that I always want --short --branch on git status"
|
||||||
|
|
||||||
# Tests (safety + memory)
|
# Tests (safety + memory + activation + retrospection)
|
||||||
python -m pytest tests/ -q
|
python -m pytest tests/ -q
|
||||||
# or: pytest tests/ -q
|
|
||||||
|
|
||||||
# Git / inspection (always useful)
|
# Git / inspection (always useful)
|
||||||
git status --short
|
git status --short
|
||||||
@@ -193,7 +196,9 @@ No formal lint or build system yet (ruff is configured in pyproject.toml but not
|
|||||||
|
|
||||||
Current primary entry point: `cya` (after editable install).
|
Current primary entry point: `cya` (after editable install).
|
||||||
|
|
||||||
Memory workplan: `workplans/CYA-WP-0002-memory-integration-roadmap.md`
|
Relevant workplans:
|
||||||
|
- `workplans/CYA-WP-0002-memory-integration-roadmap.md`
|
||||||
|
- `workplans/CYA-WP-0003-contextual-memory-activation-and-retrospection.md` (current)
|
||||||
|
|
||||||
## Workplan Convention
|
## Workplan Convention
|
||||||
|
|
||||||
|
|||||||
@@ -168,6 +168,43 @@ All calls must be non-blocking for the assistance path; failures → graceful em
|
|||||||
|
|
||||||
**References:** phase-memory/docs/{architecture.md, markitect-interop.md, lifecycle-rules.md, local-persistence.md, ports.py, planner.py}; cya src/cya/memory/__init__.py (seam), orchestrator.py; CYA-WP-0002 T02–T06; MemoryVision success criteria.
|
**References:** phase-memory/docs/{architecture.md, markitect-interop.md, lifecycle-rules.md, local-persistence.md, ports.py, planner.py}; cya src/cya/memory/__init__.py (seam), orchestrator.py; CYA-WP-0002 T02–T06; MemoryVision success criteria.
|
||||||
|
|
||||||
|
## What CYA-WP-0003 Delivered (Contextual Activation + Retrospection)
|
||||||
|
|
||||||
|
**Date:** 2026-05-27
|
||||||
|
|
||||||
|
0003 moved memory from "real but mostly passive" to **proactively useful and user-steerable over time**.
|
||||||
|
|
||||||
|
### Key Additions
|
||||||
|
- **Directory / Project-bound Memory Activation (T03)**
|
||||||
|
Memory is now automatically activated based on the current working directory and git root. The orchestrator passes `activation_context`, and `recall_preferences` boosts relevant items. Activation is fully visible in `--explain-context` with provenance.
|
||||||
|
|
||||||
|
- **Retrospection as a First-Class Interaction Pattern (T04)**
|
||||||
|
Added the `cya retrospect` subcommand — a guided terminal reflection session. Users review recent memory usage, reflect, and explicitly record:
|
||||||
|
- Interaction goals
|
||||||
|
- Refined preferences
|
||||||
|
- Safety rules
|
||||||
|
These are stored with special kinds (`retrospection`, `interaction_goal`) and get preferential treatment in future activations.
|
||||||
|
|
||||||
|
- **Port & Data Model Extensions (T02)**
|
||||||
|
- `kind` parameter on `remember_preference`
|
||||||
|
- `activation_context` support on `recall_preferences`
|
||||||
|
- `remember_retrospection_outcome()` helper
|
||||||
|
- Improved `export_memory` with kind filtering and `by_kind` summary
|
||||||
|
- Full backward compatibility maintained.
|
||||||
|
|
||||||
|
- **Tests & Observability (T05)**
|
||||||
|
Comprehensive tests for activation boosting, retrospection records, provenance, and graceful degradation.
|
||||||
|
|
||||||
|
### Impact
|
||||||
|
A user can now:
|
||||||
|
- Teach `cya` once in a project and have it automatically remember those preferences.
|
||||||
|
- Run `cya retrospect` periodically to steer how the assistant behaves in the future.
|
||||||
|
- See exactly which memories influenced any response.
|
||||||
|
|
||||||
|
These features directly realize the "Personalized Console Helper" and "continuous optimization" vision from INTENT.md while staying within the explicit port seam.
|
||||||
|
|
||||||
|
**Next logical deepening:** When `phase-memory` exposes stable high-level activation + profile APIs, the local JSON implementation can be replaced while keeping the same user experience and `cya retrospect` flow.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
This document is distinct from the Intent-vs-Scope gap analysis. It is the forward-looking vision for how memory will evolve in `cya` once real `phase-memory` integration begins. It should be updated as integration work progresses and as phase-memory itself matures.
|
This document is distinct from the Intent-vs-Scope gap analysis. It is the forward-looking vision for how memory will evolve in `cya` once real `phase-memory` integration begins. It should be updated as integration work progresses and as phase-memory itself matures.
|
||||||
70
README.md
70
README.md
@@ -53,30 +53,72 @@ clear preview + confirmation prompt. Nothing executes without your explicit yes.
|
|||||||
|
|
||||||
See the risk classifier tests and workplan T03 for the exact rules and invariants.
|
See the risk classifier tests and workplan T03 for the exact rules and invariants.
|
||||||
|
|
||||||
## Memory (T02 + T03 + T04)
|
## Memory (T02 + T03 + T04 + 0003)
|
||||||
|
|
||||||
`cya` has real, user-controlled memory for preferences and workflow patterns.
|
`cya` has real, user-controlled, context-aware memory that improves over time.
|
||||||
|
|
||||||
|
### Automatic Directory/Project-Bound Activation (T03)
|
||||||
|
|
||||||
|
Memory scoped to a directory or project is automatically activated when you work there.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Remember something for this directory / project
|
# In your project directory, teach cya your preferences once
|
||||||
cya "remember that I prefer to see git status --short --branch by default"
|
cya "remember that I always want the short git status with branch info"
|
||||||
|
|
||||||
# Later, in the same directory, cya will recall it without you restating
|
# Later, in the same directory (or any subdirectory), cya will use it automatically
|
||||||
cya "what is my preferred git view?"
|
cya "show me the recent changes"
|
||||||
|
|
||||||
# You can always inspect or clear what is stored
|
# No need to restate your preference — it is activated based on the working directory
|
||||||
cya --explain-context "..." # shows memory provenance
|
|
||||||
# The backing files live in ~/.config/cya/memory/ (plain JSON, fully user-editable)
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Memory signals also feed the safety layer: a standing "never auto-run" preference will still force mandatory confirmation even for commands the rules might otherwise treat more leniently.
|
See exactly what memory influenced a response:
|
||||||
|
```bash
|
||||||
|
cya --explain-context "show me the recent changes"
|
||||||
|
```
|
||||||
|
|
||||||
All memory usage is visible and explainable. Nothing is hidden or opaque.
|
### Structured Retrospection & Continuous Improvement (T04)
|
||||||
|
|
||||||
|
Run a guided reflection session to review how memory was used and explicitly set goals for future interactions.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cya retrospect
|
||||||
|
```
|
||||||
|
|
||||||
|
During the session `cya` will:
|
||||||
|
- Show recent memory items that were activated.
|
||||||
|
- Help you reflect on what worked or didn't.
|
||||||
|
- Let you record new **interaction goals** (e.g. "be more concise", "always show one safe alternative for destructive commands").
|
||||||
|
|
||||||
|
These goals are stored as first-class retrospection memory and will influence future activations and responses.
|
||||||
|
|
||||||
|
### Inspecting and Controlling Memory
|
||||||
|
|
||||||
|
All memory is stored in plain, user-editable JSON:
|
||||||
|
```bash
|
||||||
|
~/.config/cya/memory/<scope>.json
|
||||||
|
```
|
||||||
|
|
||||||
|
Useful commands:
|
||||||
|
```bash
|
||||||
|
cya --explain-context "..." # See exactly what memory was activated and why
|
||||||
|
# (You can also use the memory ports directly in Python if you want to script it.)
|
||||||
|
```
|
||||||
|
|
||||||
|
Memory also feeds the safety layer: a "never auto-run" preference you set during retrospection will still force mandatory confirmation.
|
||||||
|
|
||||||
|
### Architecture Notes
|
||||||
|
- Memory lives behind explicit ports in `src/cya/memory/__init__.py`.
|
||||||
|
- Activation is automatic based on cwd + git root (with full provenance).
|
||||||
|
- Retrospection outcomes are stored with special kinds (`retrospection`, `interaction_goal`) and get preferential treatment in future context building.
|
||||||
|
- Everything is designed to be replaced/enriched by a full `phase-memory` implementation later (see MemoryVision.md).
|
||||||
|
|
||||||
See:
|
See:
|
||||||
- `src/cya/memory/__init__.py` (the explicit seam)
|
- `docs/cya-memory-activation-and-retrospection-concept.md` (the T01 design)
|
||||||
- `workplans/CYA-WP-0002-memory-integration-roadmap.md`
|
- `workplans/CYA-WP-0003-...md`
|
||||||
- `MemoryVision.md` for the longer-term direction (profile-driven phase-memory)
|
- `src/cya/memory/__init__.py`
|
||||||
|
- `MemoryVision.md` for the long-term phase-memory vision
|
||||||
|
|
||||||
|
All memory usage is visible, explainable, and under your control. Nothing is hidden or opaque.
|
||||||
|
|
||||||
## Architecture & boundaries (important)
|
## Architecture & boundaries (important)
|
||||||
|
|
||||||
|
|||||||
@@ -166,40 +166,43 @@ completed: "2026-05-27"
|
|||||||
- Strong test coverage for the new activation + retrospection behaviors.
|
- Strong test coverage for the new activation + retrospection behaviors.
|
||||||
- `pytest` remains clean with no new external dependencies.
|
- `pytest` remains clean with no new external dependencies.
|
||||||
|
|
||||||
### T06 — Tests, observability, and graceful degradation
|
### T06 — Tests, observability, and graceful degradation (completed in T05)
|
||||||
|
|
||||||
```task
|
```task
|
||||||
id: CYA-WP-0003-T06
|
id: CYA-WP-0003-T06
|
||||||
status: todo
|
status: done
|
||||||
priority: high
|
priority: high
|
||||||
state_hub_task_id: "c7da1a0d-647f-48d9-aba3-d2e62791e05f"
|
state_hub_task_id: "c7da1a0d-647f-48d9-aba3-d2e62791e05f"
|
||||||
|
started: "2026-05-27"
|
||||||
|
completed: "2026-05-27"
|
||||||
```
|
```
|
||||||
|
|
||||||
- Add comprehensive tests for activation logic, retrospection flows, and the closed optimization loop.
|
Tests were completed as part of the previous step (strong coverage for activation, retrospection, observability, and graceful degradation; all tests pass cleanly).
|
||||||
- Ensure strong observability (what memory was activated, what retrospection outcomes influenced a response).
|
|
||||||
- Verify graceful behavior when memory is unavailable or the user opts out of retrospection.
|
|
||||||
|
|
||||||
**Acceptance criteria**:
|
|
||||||
- New behaviors have solid test coverage.
|
|
||||||
- `pytest` remains clean with no new external dependencies for normal runs.
|
|
||||||
|
|
||||||
### T07 — Documentation, examples, and handoff
|
### T07 — Documentation, examples, and handoff
|
||||||
|
|
||||||
```task
|
```task
|
||||||
id: CYA-WP-0003-T07
|
id: CYA-WP-0003-T07
|
||||||
status: todo
|
status: done
|
||||||
priority: medium
|
priority: medium
|
||||||
state_hub_task_id: "d120efff-eaf6-4630-a3d3-3e70a3db4e09"
|
state_hub_task_id: "d120efff-eaf6-4630-a3d3-3e70a3db4e09"
|
||||||
|
started: "2026-05-27 ralph continuation (final tasks)"
|
||||||
|
completed: "2026-05-27"
|
||||||
```
|
```
|
||||||
|
|
||||||
- Heavily update README with before/after examples of directory-bound activation and retrospection sessions.
|
**Done.**
|
||||||
- Document the new interaction patterns in AGENTS.md and MemoryVision.md.
|
|
||||||
- Register extension points and any new technical debt.
|
|
||||||
- Provide clear guidance for phase-memory owners on how retrospection data can flow into richer profiles.
|
|
||||||
|
|
||||||
**Acceptance criteria**:
|
- Heavily expanded the Memory section in README.md with clear before/after examples for:
|
||||||
- A reader can understand and try the new capabilities from the README alone.
|
- Automatic directory/project-bound activation
|
||||||
- The concepts are clearly connected back to INTENT and MemoryVision.
|
- `cya retrospect` guided sessions and goal capture
|
||||||
|
- Updated AGENTS.md "Commands" section with the new `cya retrospect` command and 0003 workplan reference.
|
||||||
|
- Added a substantial "What CYA-WP-0003 Delivered" section to MemoryVision.md documenting the new capabilities and their alignment with the original vision.
|
||||||
|
- Registered technical debt (retrospection/activation still on local JSON; deeper phase-memory integration is future work).
|
||||||
|
|
||||||
|
**Acceptance criteria met**:
|
||||||
|
- A reader of the README can now understand and try the new memory features (activation + retrospection) with concrete examples.
|
||||||
|
- The concepts are clearly connected back to INTENT.md and MemoryVision.md.
|
||||||
|
- Extension points and debt are documented.
|
||||||
|
|
||||||
## Dependencies & Cross-Repo Coordination
|
## Dependencies & Cross-Repo Coordination
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user