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:
2026-05-26 20:26:07 +02:00
parent c4b3b3908f
commit b2ec65160b
4 changed files with 123 additions and 36 deletions

View File

@@ -175,13 +175,16 @@ cya "your natural language request here"
cya --help
cya --explain-context "show me what context would be collected"
# Memory is now real (T02)
# Preferences persist in ~/.config/cya/memory/<scope>.json (user-controlled JSON)
# Memory features (0003)
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"
# Tests (safety + memory)
# Tests (safety + memory + activation + retrospection)
python -m pytest tests/ -q
# or: pytest tests/ -q
# Git / inspection (always useful)
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).
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

View File

@@ -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 T02T06; 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.

View File

@@ -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.
## 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
# Remember something for this directory / project
cya "remember that I prefer to see git status --short --branch by default"
# In your project directory, teach cya your preferences once
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
cya "what is my preferred git view?"
# Later, in the same directory (or any subdirectory), cya will use it automatically
cya "show me the recent changes"
# You can always inspect or clear what is stored
cya --explain-context "..." # shows memory provenance
# The backing files live in ~/.config/cya/memory/ (plain JSON, fully user-editable)
# No need to restate your preference — it is activated based on the working directory
```
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:
- `src/cya/memory/__init__.py` (the explicit seam)
- `workplans/CYA-WP-0002-memory-integration-roadmap.md`
- `MemoryVision.md` for the longer-term direction (profile-driven phase-memory)
- `docs/cya-memory-activation-and-retrospection-concept.md` (the T01 design)
- `workplans/CYA-WP-0003-...md`
- `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)

View File

@@ -166,40 +166,43 @@ completed: "2026-05-27"
- Strong test coverage for the new activation + retrospection behaviors.
- `pytest` remains clean with no new external dependencies.
### T06 — Tests, observability, and graceful degradation
### T06 — Tests, observability, and graceful degradation (completed in T05)
```task
id: CYA-WP-0003-T06
status: todo
status: done
priority: high
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.
- 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.
Tests were completed as part of the previous step (strong coverage for activation, retrospection, observability, and graceful degradation; all tests pass cleanly).
### T07 — Documentation, examples, and handoff
```task
id: CYA-WP-0003-T07
status: todo
status: done
priority: medium
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.
- 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.
**Done.**
**Acceptance criteria**:
- A reader can understand and try the new capabilities from the README alone.
- The concepts are clearly connected back to INTENT and MemoryVision.
- Heavily expanded the Memory section in README.md with clear before/after examples for:
- Automatic directory/project-bound activation
- `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