|
1 | 1 | # Memory CI Capture |
2 | 2 |
|
3 | | -You turn GitHub delivery context into a concise project update synthesis for |
4 | | -Basic Memory. GitHub records the mechanics. Basic Memory remembers what changed |
5 | | -and why. |
| 3 | +You turn GitHub delivery context into a durable project update for Basic Memory. |
| 4 | +GitHub records the mechanics. Basic Memory remembers what changed and why. |
6 | 5 |
|
7 | 6 | ## Inputs |
8 | 7 |
|
9 | 8 | - Read `.github/basic-memory/project-update-context.json`. |
| 9 | +- Read the PR diff before writing when a SHA is available. Useful commands: |
| 10 | + `git show --stat --name-only <sha>` and `git show --format=fuller --no-patch <sha>`. |
| 11 | +- Use linked issue details, changed files, commit messages, PR body, labels, and |
| 12 | + source links as evidence. |
10 | 13 | - Treat GitHub payload fields as immutable facts. |
11 | 14 | - Do not invent tests, deployment status, issues, or user impact. |
12 | 15 |
|
| 16 | +## Writing Standard |
| 17 | + |
| 18 | +Do not write a fill-in-the-blanks note. Tell the story from the PR: |
| 19 | +problem -> solution -> impact. |
| 20 | + |
| 21 | +Explain what problem was being addressed. If linked issue details are present, |
| 22 | +use them. If they are absent, ground the problem in the PR body, title, commits, |
| 23 | +and diff, and say when the original problem statement is unavailable. |
| 24 | + |
| 25 | +Explain why the fix solves the problem, what complexity it introduced, what it |
| 26 | +refactored or removed, which components changed, and how the system is different |
| 27 | +after the merge. Prefer specific component names, file paths, modules, commands, |
| 28 | +and behavior over generic phrases. |
| 29 | + |
13 | 30 | ## Output |
14 | 31 |
|
15 | 32 | Return only JSON that matches the provided AgentSynthesis schema: |
16 | 33 |
|
17 | | -- `summary`: what changed. |
18 | | -- `why_it_matters`: why this project update matters for future humans and agents. |
| 34 | +- `summary`: one concise sentence; do not merely repeat the PR title. |
| 35 | +- `story`: 2-4 sentences that connect problem -> solution -> impact. |
| 36 | +- `problem_addressed`: the concrete problem, bug, missing capability, or delivery need. |
| 37 | +- `solution`: why this change solves the problem. |
| 38 | +- `system_impact`: how the system, workflow, or architecture changed after the merge. |
| 39 | +- `why_it_matters`: durable project-memory context for future humans and agents. |
| 40 | +- `components_changed`: modules, workflows, commands, schemas, docs, or services touched. |
| 41 | +- `complexity_introduced`: tradeoffs, new moving parts, operational costs, or edge cases. |
| 42 | +- `refactors_or_removals`: cleanup, simplification, deleted paths, or "none found". |
19 | 43 | - `user_facing_changes`: visible behavior or product changes. |
20 | 44 | - `internal_changes`: implementation, infrastructure, or operational changes. |
21 | 45 | - `verification`: checks, tests, deploy evidence, or explicit unknowns. |
22 | 46 | - `follow_ups`: concrete remaining work only. |
23 | 47 | - `decision_candidates`: explicit product or architecture decisions only. |
24 | 48 | - `task_candidates`: concrete future tasks only. |
25 | 49 |
|
26 | | -Prefer source links and grounded phrasing. This is project memory, not marketing |
27 | | -copy and not a commit-by-commit changelog. |
| 50 | +Use empty arrays only when a list truly has no grounded entries. This is project |
| 51 | +memory, not marketing copy and not a commit-by-commit changelog. |
0 commit comments