* test(#3683): failing-first rows for learnings source resolution and wiring pins * fix(#3683): wire gated learnings extraction into completion, align copy path * test(#3683): register the learnings suite in the docs-guard lane, drop unverified markers * fix(#3683): close review findings — per-item parsing, readdir guards, docs paths * fix(#3683): route phase enumeration through the locator seam, fix assertion targets * fix(#3683): merge execute-phase ack into the 3003 fragment, fix fidelity targets * fix(#3663): replace the spent execute-phase ack entry with the 3683 re-arm * chore(#3683): backfill changeset pr number --------- Co-authored-by: sim <sim@local>
This commit is contained in:
@@ -18,7 +18,7 @@ These files live directly at `.planning/` — not inside phase subdirectories.
|
||||
| `REQUIREMENTS.md` | `requirements.md` | `/gsd:new-milestone` | Functional requirements with traceability |
|
||||
| `MILESTONES.md` | `milestone.md` | `/gsd:complete-milestone` | Log of completed milestones with accomplishments |
|
||||
| `BACKLOG.md` | *(inline)* | `/gsd-add-backlog` | Pending ideas and deferred work |
|
||||
| `LEARNINGS.md` | *(inline)* | `/gsd:extract-learnings`, `/gsd:execute-phase` | Phase retrospective learnings for future plans |
|
||||
| `LEARNINGS.md` | *(inline)* | `/gsd:extract-learnings`, `/gsd:execute-phase` (gated: `features.global_learnings`) | Phase retrospective learnings for future plans |
|
||||
| `THREADS.md` | *(inline)* | `/gsd:thread` | Persistent discussion threads |
|
||||
| `config.json` | `config.json` | `/gsd:new-project`, `/gsd:health --repair` | Project-specific GSD configuration |
|
||||
| `CLAUDE.md` | `claude-md.md` | `/gsd-profile` | Auto-assembled Claude Code context file |
|
||||
|
||||
@@ -1432,10 +1432,12 @@ gsd_run query commit "docs(phase-{X}): complete phase execution" --files .planni
|
||||
</step>
|
||||
|
||||
<step name="auto_copy_learnings">
|
||||
**Auto-copy phase learnings to global store (when enabled).**
|
||||
**Auto-extract and copy phase learnings to global store (when enabled).**
|
||||
|
||||
This step runs AFTER phase completion and SUMMARY.md is written. It copies any LEARNINGS.md
|
||||
entries from the completed phase to the global learnings store at `~/.gsd/knowledge/`.
|
||||
This step runs AFTER phase completion and SUMMARY.md is written. It produces the phase's
|
||||
learnings artifact (the sole producer is otherwise the user-invoked
|
||||
`/gsd:extract-learnings`) and copies it to the global learnings store at
|
||||
`~/.gsd/knowledge/`.
|
||||
|
||||
**Check config gate:**
|
||||
```bash
|
||||
@@ -1446,8 +1448,10 @@ GL_ENABLED=$(gsd_run query config-get features.global_learnings --raw 2>/dev/nul
|
||||
|
||||
**If enabled:**
|
||||
|
||||
1. Check if LEARNINGS.md exists in the phase directory (use the `phase_dir` value from init context)
|
||||
2. If found, copy to global store:
|
||||
1. Run the `extract-learnings` workflow for the JUST-COMPLETED phase (its
|
||||
`write_learnings` step writes `{phase_dir}/{PADDED_PHASE}-LEARNINGS.md`). Extraction
|
||||
failure must NOT block phase completion — report the failure and continue.
|
||||
2. Copy the phase artifact to the global store:
|
||||
```bash
|
||||
gsd_run query learnings.copy 2>/dev/null || echo "⚠ Learnings copy failed — continuing"
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user