peaks-loop 4.0.51 → 4.0.52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/README-en.md +1 -1
- package/README.md +1 -1
- package/dist/cli/commands/baseline-commands.js +11 -1
- package/dist/cli/commands/codegraph-command-runtime.d.ts +28 -0
- package/dist/cli/commands/codegraph-command-runtime.js +72 -0
- package/dist/cli/commands/codegraph-commands.d.ts +2 -11
- package/dist/cli/commands/codegraph-commands.js +173 -228
- package/dist/cli/commands/codegraph-status-command.d.ts +22 -0
- package/dist/cli/commands/codegraph-status-command.js +299 -0
- package/dist/cli/commands/core/memory-command.js +6 -2
- package/dist/cli/commands/job-commands.js +121 -30
- package/dist/cli/commands/project-commands.js +13 -3
- package/dist/cli/commands/request-commands.js +19 -8
- package/dist/cli/commands/slice-commands.js +2 -2
- package/dist/services/artifacts/artifact-prerequisites.js +23 -1
- package/dist/services/codegraph/codegraph-autorefresh.d.ts +16 -0
- package/dist/services/codegraph/codegraph-autorefresh.js +51 -5
- package/dist/services/codegraph/codegraph-config-repair-writer.d.ts +88 -0
- package/dist/services/codegraph/codegraph-config-repair-writer.js +322 -0
- package/dist/services/codegraph/codegraph-exclude-integrity.d.ts +20 -2
- package/dist/services/codegraph/codegraph-exclude-integrity.js +24 -3
- package/dist/services/codegraph/codegraph-exclude-reconciler.d.ts +23 -2
- package/dist/services/codegraph/codegraph-exclude-reconciler.js +123 -12
- package/dist/services/codegraph/codegraph-exclude-repair.d.ts +109 -55
- package/dist/services/codegraph/codegraph-exclude-repair.js +249 -195
- package/dist/services/codegraph/codegraph-include-reconciler.d.ts +10 -0
- package/dist/services/codegraph/codegraph-include-reconciler.js +160 -0
- package/dist/services/codegraph/codegraph-index-integrity.d.ts +268 -0
- package/dist/services/codegraph/codegraph-index-integrity.js +471 -0
- package/dist/services/codegraph/codegraph-service.d.ts +54 -0
- package/dist/services/codegraph/codegraph-service.js +84 -1
- package/dist/services/doctor/doctor-service/checks/codegraph-exclude-integrity.js +19 -4
- package/dist/services/doctor/doctor-service/checks/codegraph-index-integrity.d.ts +54 -0
- package/dist/services/doctor/doctor-service/checks/codegraph-index-integrity.js +151 -0
- package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.js +10 -10
- package/dist/services/doctor/doctor-service/plugin-registry.js +2 -0
- package/dist/services/doctor/doctor-service/types.d.ts +25 -0
- package/dist/services/memory/project-memory-service/index/kind-dispatch.js +48 -13
- package/dist/services/memory/project-memory-service/index.d.ts +5 -3
- package/dist/services/memory/project-memory-service/index.js +2 -2
- package/dist/services/memory/project-memory-service/parsers/frontmatter.d.ts +15 -1
- package/dist/services/memory/project-memory-service/parsers/frontmatter.js +34 -6
- package/dist/services/memory/project-memory-service/parsers/markdown-pure.d.ts +27 -1
- package/dist/services/memory/project-memory-service/parsers/markdown-pure.js +92 -7
- package/dist/services/memory/project-memory-service/types.d.ts +86 -0
- package/dist/services/slice/slice-check-types.d.ts +1 -1
- package/dist/services/workspace/runtime-layout.d.ts +91 -0
- package/dist/services/workspace/runtime-layout.js +148 -0
- package/dist/services/workspace/workspace-claude-settings-materializer.js +14 -0
- package/package.json +6 -6
- package/scripts/clean-dist.mjs +15 -3
- package/scripts/sync-version.mjs +26 -4
- package/skills/bee/peaks-prd/SKILL.md +1 -1
- package/skills/bee/peaks-qa/references/qa-skill-presence.md +1 -1
- package/skills/bee/peaks-rd/references/skill-presence-and-title.md +1 -1
- package/skills/bee/peaks-sc/SKILL.md +1 -1
- package/skills/bee/peaks-txt/SKILL.md +3 -3
- package/skills/peaks-code/SKILL.md +1 -1
- package/skills/peaks-code/references/project-memory-loading.md +19 -1
- package/skills/peaks-code/references/step-11-memory-sediment.md +1 -1
|
@@ -69,7 +69,7 @@ Read persistent project memory via CLI (durable, LLM-authored memories):
|
|
|
69
69
|
peaks project memories --project <repo> --json
|
|
70
70
|
```
|
|
71
71
|
|
|
72
|
-
This returns durable memories from `.peaks/memory` — decisions, conventions, modules, and rules captured in past sessions. Filter with `--kind <decision|convention|module|rule|
|
|
72
|
+
This returns durable memories from `.peaks/memory` — decisions, conventions, modules, and rules captured in past sessions. Filter with `--kind <project|decision|convention|rule|reference|feedback|module|lesson|bug|investigation|technical-pattern|project-rule|design|handoff|session-handoff|project-todo|publish-closure|project-closure|slice-closure|slice-pilot-findings|sediment>`. (`.peaks/PROJECT.md` is a human-readable session timeline only.)
|
|
73
73
|
Then display: `Peaks-Loop Skill: peaks-txt | Peaks-Loop Gate: startup | Next: <one short action>`. Update with `peaks skill presence:set peaks-txt --project <repo> --mode <mode> --gate <gate>` when gates change. When the role's work ends, run `peaks skill presence:clear --project <repo>`.
|
|
74
74
|
|
|
75
75
|
## Responsibilities
|
|
@@ -158,7 +158,7 @@ When a skill artifact contains reusable project facts, decisions, rules, constra
|
|
|
158
158
|
```markdown
|
|
159
159
|
<!-- peaks-memory:start -->
|
|
160
160
|
title: Short project memory title
|
|
161
|
-
kind: project | decision | convention | rule | reference | module | lesson
|
|
161
|
+
kind: project | decision | convention | rule | reference | feedback | module | lesson | bug | investigation | technical-pattern | project-rule | design | handoff | session-handoff | project-todo | publish-closure | project-closure | slice-closure | slice-pilot-findings | sediment
|
|
162
162
|
---
|
|
163
163
|
Stable memory body.
|
|
164
164
|
<!-- peaks-memory:end -->
|
|
@@ -263,7 +263,7 @@ peaks capabilities --json
|
|
|
263
263
|
#
|
|
264
264
|
# <!-- peaks-memory:start -->
|
|
265
265
|
# title: Short project memory title
|
|
266
|
-
# kind: project | decision | convention | rule | reference | module | lesson
|
|
266
|
+
# kind: project | decision | convention | rule | reference | feedback | module | lesson | bug | investigation | technical-pattern | project-rule | design | handoff | session-handoff | project-todo | publish-closure | project-closure | slice-closure | slice-pilot-findings | sediment
|
|
267
267
|
# ---
|
|
268
268
|
# Stable memory body. Concrete facts only — no secrets, no transient state.
|
|
269
269
|
# <!-- peaks-memory:end -->
|
|
@@ -231,7 +231,7 @@ See also: references/session-overload-signal-index.md for the 7-signal lookup ta
|
|
|
231
231
|
| **D-001** | 0.8 | `peaks code detect-job --is-job ...` rejected with `error: unknown option '--is-job'` | Use `peaks job init --job-id <jid> --slice-list <list> --main-loop-strategy <single\|rotating>` | §Step 0.8 first paragraph |
|
|
232
232
|
| **D-002** | 2.5 | `peaks session title --session-id <sid> ...` rejected with `error: unknown option '--session-id'` (this is the bare `<sid>` anti-pattern) | sid is positional: `peaks session title <sessionId> "<title>" --json` | §Step 2.5a |
|
|
233
233
|
| **D-003** | 0.8 | `JOB_SHAPE_NOT_DECIDED` exception expected but never thrown | Current behavior is `peaks job status` reports `done: 0` passively — treat as recoverable miss, not hard error | §Step 0.8 third paragraph |
|
|
234
|
-
| **D-010** | 11c | `peaks memory extract` returns `extractedCount: 0` despite `<!-- peaks-memory:start -->` existing | Block requires YAML frontmatter (`title:` + `kind:` + `---`) + closing `<!-- peaks-memory:end -->`.
|
|
234
|
+
| **D-010** | 11c | `peaks memory extract` returns `extractedCount: 0` despite `<!-- peaks-memory:start -->` existing | Block requires YAML frontmatter (`title:` + `kind:` + `---`) + closing `<!-- peaks-memory:end -->`. A marker without those fields, and a marker that is not the exact literal (e.g. with a `kind=…` written inside it), produce no writes and are both named in the envelope's `warnings[]` — read it before concluding there was no block | §Step 11c + 11d |
|
|
235
235
|
|
|
236
236
|
> **Sediment lesson (master record):** `.peaks/memory/peaks-code-runbook-4-0-0-beta-6-skill-md-cli-d-001-d-002-d-003-d-010.md`
|
|
237
237
|
|
|
@@ -12,6 +12,24 @@ This returns durable memories from `.peaks/memory`, grouped by kind:
|
|
|
12
12
|
- **convention** — discovered project patterns (code style, naming, tooling)
|
|
13
13
|
- **rule** / **reference** / **project** — standing constraints, external pointers, and project context
|
|
14
14
|
|
|
15
|
-
Filter with `--kind <decision|convention|module|rule|
|
|
15
|
+
Filter with `--kind <project|decision|convention|rule|reference|feedback|module|lesson|bug|investigation|technical-pattern|project-rule|design|handoff|session-handoff|project-todo|publish-closure|project-closure|slice-closure|slice-pilot-findings|sediment>` when you only need one slice. Use this to understand what exists, what was decided, and what to avoid re-litigating. Memories are LLM-authored at approved checkpoints via `peaks memory extract`. The `lesson` kind is for LLM-discovered runtime lessons (e.g. "this project's antv6 Drawer uses `size` not `width`"); write them as memory blocks in the RD handoff or TXT handoff.
|
|
16
|
+
|
|
17
|
+
A memory block is a **bare** start marker, then a header carrying a line-anchored `title:` and `kind:`, then a `---` separator line, then the body, then the end marker:
|
|
18
|
+
|
|
19
|
+
```markdown
|
|
20
|
+
<!-- peaks-memory:start -->
|
|
21
|
+
title: Short project memory title
|
|
22
|
+
kind: lesson
|
|
23
|
+
---
|
|
24
|
+
Stable memory body.
|
|
25
|
+
<!-- peaks-memory:end -->
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Two ways a block can be lost — one silent, one reported:
|
|
29
|
+
|
|
30
|
+
- The start marker carries **no attributes**. It is matched literally, so any text added inside it (e.g. a `kind=…` attribute between `start` and `-->`) makes it not a marker at all: the block is never found, and nothing is extracted from it. `warnings` does name it back at you ("… is not the exact marker …"), which is how you tell this apart from an artifact that simply had no blocks — but the memory itself is still lost, so fix the marker rather than reading past the warning. Put `kind:` on its own line in the header instead.
|
|
31
|
+
- `title:` and `kind:` must each be on their own line, and the `---` separator must be present. A marker whose body has only prose is found but rejected, and says which precondition failed.
|
|
32
|
+
|
|
33
|
+
Preview with `peaks memory extract --project <repo> --artifact <handoff> --dry-run`, then re-run with `--apply` to write.
|
|
16
34
|
|
|
17
35
|
`.peaks/PROJECT.md` is a human-readable session timeline only — do NOT use it for LLM context.
|
|
@@ -41,7 +41,7 @@ peaks memory extract --project <repo> --artifact .peaks/_runtime/<sessionId>/txt
|
|
|
41
41
|
|
|
42
42
|
`--apply` is REQUIRED (without it the command only previews — no files land).
|
|
43
43
|
|
|
44
|
-
> **CLI reality check (D-010 sediment, 2026-07-09):** The `<!-- peaks-memory:start -->` block must be followed immediately by a **YAML frontmatter** (`title: ...`, `kind: lesson | decision | convention`) and a `---` separator. Each block must close with `<!-- peaks-memory:end -->`. A
|
|
44
|
+
> **CLI reality check (D-010 sediment, 2026-07-09; warnings added 2026-09-17):** The `<!-- peaks-memory:start -->` block must be followed immediately by a **YAML frontmatter** (`title: ...`, `kind: lesson | decision | convention`) and a `---` separator. Each block must close with `<!-- peaks-memory:end -->`. A marker whose body lacks those fields produces no `plannedWrites`, so `extractedCount` stays 0 — and the CLI now says why: the rejected block is named, with the failed precondition, in the envelope's `warnings[]`. The same channel catches a marker that is not the exact literal (e.g. a `kind=…` written inside it), which `warnings` reports as "… is not the exact marker …". Read `warnings` before treating `extractedCount: 0` as "there was no block" — but note the warning reports the loss, it does not recover it: fix the marker and re-run.
|
|
45
45
|
|
|
46
46
|
### 11d — Gate C (zero-write outcome)
|
|
47
47
|
|