Skip to content

feat(memory): a Retrospective agent turns lessons into project practices every agent follows - #273

Merged
hoangsnowy merged 1 commit into
mainfrom
feat/retrospective-agent
Oct 23, 2026
Merged

hoangsnowy merged 1 commit into
mainfrom
feat/retrospective-agent

Conversation

@hoangsnowy

Copy link
Copy Markdown
Owner

Summary

Self-improvement, step two (step one — measuring — is Insights › Delivery, #272).

After a ticket merges, the Retrospective agent (answer-only on the member's computer, $0 API) reads the project's raw lessons + current practices and returns the project's practices: ≤ 15 short, actionable, project-specific sentences, plus the lessons they now cover.

  • Knowledge graph: MemoryKinds.Practice (content-keyed), IMemoryStore.ListAsync(kind), ProjectMemory.PracticesBlock.
  • Readers: Coding agent (practices first, then closest lessons); Reviewer agent (breaking a practice = must-fix).
  • Guardrails (RetrospectiveService): ≤ once / project / 10 min, serialized per project; pinned practices + lessons never removed; only lessons it was shown can be cleared; empty/failed answer changes nothing. Recorded in Insights; summarised in the Autopilot log.
  • Board › Knowledge: Practices panel (pin / forget) above the lessons.

Test plan

  • RetrospectiveTests (8): pinned kept + only shown lessons absorbed; cap 15 + de-dupe; empty/broken → no change; fenced input; routing key; apply retires replaced, clears absorbed, never pinned; practices block.
  • Full suite green.
  • Lab: after the next merge, the Autopilot log shows "Retrospective on DeltaByteLab/VNChessAcademy: …" and Knowledge lists practices.
  • Claude Design: Practices panel (/design-sync).

🤖 Generated with Claude Code

https://claude.ai/code/session_018WAdQ7Rm24xss5QDSvXtJB

…ces every agent follows

Self-improvement, step two. After a ticket merges (MAF workflow or step by step), the Retrospective agent runs in the
background on the member's computer: it reads the project's raw lessons (reviews, failing checks, failed acceptance)
next to its current practices and returns the project's practices — at most 15 short, actionable, project-specific
sentences — plus the lessons they now cover.

- Knowledge graph: MemoryKinds.Practice (content-keyed), IMemoryStore.ListAsync(kind), ProjectMemory.PracticesBlock.
- Readers: the Coding agent gets the practices before the closest lessons; the Reviewer checks the change against
  them (breaking one is a must-fix finding).
- Guardrails (RetrospectiveService): once per project every 10 minutes, one at a time; pinned practices and lessons
  are never removed; only lessons the agent was shown can be cleared; an empty or failed answer changes nothing.
  The run is recorded in Insights; the Autopilot log says what changed.
- Board › Knowledge: a Practices panel (pin to keep word for word, forget) above the lessons.
- Insights › Delivery (#272) shows whether first-try passes go up.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018WAdQ7Rm24xss5QDSvXtJB
@hoangsnowy
hoangsnowy merged commit e014fad into main Oct 23, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant