peaks-loop 4.0.47 → 4.0.49
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 +44 -0
- package/README-en.md +1 -1
- package/README.md +1 -1
- package/agents/karpathy-reviewer.md +11 -10
- package/dist/cli/cli-helpers.d.ts +34 -0
- package/dist/cli/cli-helpers.js +57 -0
- package/dist/cli/commands/code-job-shape-commands.js +8 -0
- package/dist/cli/commands/code-runtime-commands.js +48 -8
- package/dist/cli/commands/compact-command.js +110 -0
- package/dist/cli/commands/config-commands.js +15 -9
- package/dist/cli/commands/dashboard-long-run.js +6 -0
- package/dist/cli/commands/dispatch-commands.js +11 -1
- package/dist/cli/commands/doctor/invoke-from-code.js +6 -0
- package/dist/cli/commands/feedback-commands.d.ts +11 -7
- package/dist/cli/commands/feedback-commands.js +49 -17
- package/dist/cli/commands/final-review-commands.js +12 -0
- package/dist/cli/commands/hooks-commands.js +4 -4
- package/dist/cli/commands/job-commands.js +8 -0
- package/dist/cli/commands/loop-eval-commands.js +31 -0
- package/dist/cli/commands/perf-audit-commands.js +2 -0
- package/dist/cli/commands/playwright-commands.js +12 -0
- package/dist/cli/commands/prd-commands.js +1 -1
- package/dist/cli/commands/qa-commands.js +22 -0
- package/dist/cli/commands/request-commands.js +8 -0
- package/dist/cli/commands/scan-commands.js +1 -1
- package/dist/cli/commands/security-audit-commands.js +2 -0
- package/dist/cli/commands/slice-integrate-commands.js +22 -0
- package/dist/cli/commands/statusline-commands.js +44 -4
- package/dist/cli/commands/sub-agent/detached.d.ts +14 -1
- package/dist/cli/commands/sub-agent/detached.js +47 -22
- package/dist/cli/commands/sub-agent-shutdown-commands.js +11 -0
- package/dist/cli/commands/verdict-aggregate-command.js +95 -13
- package/dist/cli/commands/workflow-commands.js +1 -1
- package/dist/cli/index.js +5 -45
- package/dist/services/artifacts/artifact-prerequisites.d.ts +38 -7
- package/dist/services/artifacts/artifact-prerequisites.js +140 -65
- package/dist/services/artifacts/request-artifact-service.d.ts +8 -0
- package/dist/services/artifacts/request-artifact-service.js +77 -46
- package/dist/services/artifacts/request-artifact-state-helpers.d.ts +57 -0
- package/dist/services/artifacts/request-artifact-state-helpers.js +91 -10
- package/dist/services/audit/enforcers/active-skill-resolver.js +14 -1
- package/dist/services/audit-independent/perf-audit-service.d.ts +9 -0
- package/dist/services/audit-independent/perf-audit-service.js +27 -5
- package/dist/services/audit-independent/security-audit-service.d.ts +12 -2
- package/dist/services/audit-independent/security-audit-service.js +28 -6
- package/dist/services/code/auto-compact-lifecycle.d.ts +194 -0
- package/dist/services/code/auto-compact-lifecycle.js +229 -11
- package/dist/services/code/auto-compact-orchestrator.js +118 -7
- package/dist/services/code/compact-event-settle.d.ts +134 -0
- package/dist/services/code/compact-event-settle.js +240 -0
- package/dist/services/compact-history/compact-history-service.d.ts +14 -0
- package/dist/services/compact-statusline/compact-statusline-service.js +56 -22
- package/dist/services/config/config-restore.d.ts +12 -1
- package/dist/services/config/config-restore.js +35 -4
- package/dist/services/config/config-rollback.js +6 -1
- package/dist/services/context/auto-compact-types.d.ts +20 -2
- package/dist/services/context/harness-context-witness.d.ts +310 -0
- package/dist/services/context/harness-context-witness.js +606 -0
- package/dist/services/evidence/evidence-generator.js +86 -49
- package/dist/services/feedback/feedback-promotion-service.d.ts +137 -14
- package/dist/services/feedback/feedback-promotion-service.js +341 -20
- package/dist/services/feedback/promotion-artifact-evidence.d.ts +69 -0
- package/dist/services/feedback/promotion-artifact-evidence.js +332 -0
- package/dist/services/final-review/final-review-service.d.ts +9 -0
- package/dist/services/final-review/final-review-service.js +36 -12
- package/dist/services/ide/ide-registry.d.ts +19 -0
- package/dist/services/ide/ide-registry.js +21 -0
- package/dist/services/job/job-progress-store.js +18 -3
- package/dist/services/job/job-state-store.js +7 -0
- package/dist/services/observability/jsonl-store.d.ts +19 -0
- package/dist/services/observability/jsonl-store.js +27 -2
- package/dist/services/observability/observability-service.d.ts +10 -3
- package/dist/services/observability/observability-service.js +16 -3
- package/dist/services/polyrepo/polyrepo-dispatcher.js +11 -0
- package/dist/services/prd/handoff-auto-regen.js +31 -27
- package/dist/services/prd/handoff-frontmatter.d.ts +44 -0
- package/dist/services/prd/handoff-frontmatter.js +75 -0
- package/dist/services/prd/handoff-service.d.ts +41 -2
- package/dist/services/prd/handoff-service.js +124 -8
- package/dist/services/prd/handoff-types.d.ts +3 -2
- package/dist/services/prd/handoff-types.js +3 -2
- package/dist/services/qa/qa-business-review-state.js +23 -0
- package/dist/services/sc/sc-service.d.ts +8 -0
- package/dist/services/sc/sc-service.js +8 -1
- package/dist/services/scan/karpathy-service.js +2 -2
- package/dist/services/session/getSessionDir.d.ts +33 -0
- package/dist/services/session/getSessionDir.js +60 -0
- package/dist/services/session/session-checkpoint-service.js +8 -0
- package/dist/services/skill/resume-detector.js +29 -11
- package/dist/services/skills/hooks-codegate-superpowers.d.ts +6 -0
- package/dist/services/skills/hooks-codegate-superpowers.js +61 -2
- package/dist/services/skills/hooks-settings-service.js +14 -4
- package/dist/services/skills/session-start-hook-constants.d.ts +45 -0
- package/dist/services/skills/session-start-hook-constants.js +45 -0
- package/dist/services/skills/skill-statusline-service.d.ts +14 -0
- package/dist/services/slice/slice-check-service.js +29 -11
- package/dist/services/slice/slice-review-state.js +23 -0
- package/dist/services/workflow/pipeline-verify-gate-support.d.ts +47 -10
- package/dist/services/workflow/pipeline-verify-gate-support.js +221 -103
- package/dist/services/workflow/pipeline-verify-service.d.ts +1 -1
- package/dist/services/workflow/pipeline-verify-service.js +47 -33
- package/dist/services/workflow/pipeline-verify-types.d.ts +15 -6
- package/dist/services/workspace/claude-settings-template.d.ts +56 -8
- package/dist/services/workspace/claude-settings-template.js +98 -20
- package/dist/services/workspace/workspace-claude-settings-materializer.js +78 -7
- package/dist/shared/runtime-root.d.ts +73 -0
- package/dist/shared/runtime-root.js +77 -0
- package/package.json +6 -6
- package/skills/bee/peaks-prd/SKILL.md +7 -5
- package/skills/bee/peaks-qa/SKILL.md +5 -5
- package/skills/bee/peaks-qa/references/qa-runbook.md +2 -2
- package/skills/bee/peaks-qa/references/qa-transition-gates.md +7 -7
- package/skills/bee/peaks-rd/SKILL.md +8 -6
- package/skills/bee/peaks-rd/references/artifact-per-request.md +2 -2
- package/skills/bee/peaks-rd/references/parallel-review-fanout.md +7 -5
- package/skills/bee/peaks-rd/references/rd-fanout-contracts.md +13 -13
- package/skills/bee/peaks-rd/references/rd-runbook.md +9 -5
- package/skills/bee/peaks-rd/references/rd-transition-gates.md +9 -7
- package/skills/bee/peaks-rd/references/writing-handoff-frontmatter.md +6 -6
- package/skills/peaks-code/SKILL.md +1 -1
- package/skills/peaks-code/references/a2a-artifact-mapping.md +3 -3
- package/skills/peaks-code/references/local-artifact-workspace.md +1 -1
- package/skills/peaks-code/references/resume-detection.md +13 -7
- package/skills/peaks-code/references/runbook.md +3 -2
- package/skills/peaks-code/references/session-overload-signal-index.md +2 -1
- package/skills/peaks-code/references/workflow-gates-and-types.md +8 -6
|
@@ -12,12 +12,18 @@
|
|
|
12
12
|
sid=$(peaks session info --active --project "$(git rev-parse --show-toplevel)" --json | python3 -c "import sys,json; print(json.load(sys.stdin)['data']['sessionId'])")
|
|
13
13
|
|
|
14
14
|
# 2. Enumerate the session's artifact tree (one `find` call, no new CLI)
|
|
15
|
-
find ".peaks/$sid/" -type f 2>/dev/null | sort
|
|
15
|
+
find ".peaks/_runtime/$sid/" -type f 2>/dev/null | sort
|
|
16
16
|
|
|
17
17
|
# 3. For each role request artifact present, read its `state:` field
|
|
18
|
-
# (
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
# (only files that exist). Artifacts are append-only: every round appends its
|
|
19
|
+
# own `## Status` block and `request transition` rewrites the NEWEST
|
|
20
|
+
# `- state:` line in place, so the LAST match is the current state and the
|
|
21
|
+
# earlier ones are history. Reading the FIRST match returns a superseded
|
|
22
|
+
# round — that was the 2026-09-14 defect. The leading `-` is part of the
|
|
23
|
+
# field: an unanchored `^state:` matches nothing (artifacts write
|
|
24
|
+
# `- state:`), so it reported an empty state, silently.
|
|
25
|
+
for f in .peaks/_runtime/$sid/prd/requests/*.md .peaks/_runtime/$sid/rd/requests/*.md .peaks/_runtime/$sid/qa/requests/*.md; do
|
|
26
|
+
[ -f "$f" ] && echo "$f: $(grep '^-[[:space:]]*state:' "$f" | tail -n1 | sed 's/^-[[:space:]]*state:[[:space:]]*//; s/[[:space:]]*$//')"
|
|
21
27
|
done
|
|
22
28
|
|
|
23
29
|
# 4. Compute "deepest completed gate" by file-presence + state mapping
|
|
@@ -28,7 +34,7 @@ done
|
|
|
28
34
|
|
|
29
35
|
| Files present | State | Deepest completed gate | Resume point (if any) |
|
|
30
36
|
|---|---|---|---|
|
|
31
|
-
| only `.peaks/$sid
|
|
37
|
+
| only `.peaks/_runtime/$sid/session.json` | (no slice) | (none) | fresh — skip to Step 1 |
|
|
32
38
|
| `prd/requests/<rid>.md` | `state: handed-off` | Gate B (swarm converged) | resume at Step 3 (swarm) — but if swarm already ran and produced `rd/tech-doc.md` / `qa/test-cases/<rid>.md`, drop to deepest |
|
|
33
39
|
| `rd/requests/<rid>.md` | `state: qa-handoff` | Gate C (RD done) | resume at Step 6 (QA validation) |
|
|
34
40
|
| `qa/requests/<rid>.md` | `state: verdict-issued` | Gate D (QA done) | resume at Step 10 (TXT handoff) |
|
|
@@ -39,8 +45,8 @@ done
|
|
|
39
45
|
| Missing file | Resume at |
|
|
40
46
|
|---|---|
|
|
41
47
|
| `rd/tech-doc.md` (for `feature`/`refactor`) or `rd/bug-analysis.md` (for `bugfix`) | Step 3b (RD planning) |
|
|
42
|
-
| `rd/code-review
|
|
43
|
-
| `
|
|
48
|
+
| `rd/code-review-<rid>.md` or `audit/security-<rid>.md` | Step 5 (RD review fan-out) |
|
|
49
|
+
| `audit/perf-<rid>.md` (for `feature`/`refactor`) | Step 5 (perf baseline) |
|
|
44
50
|
| `qa/test-cases/<rid>.md` | Step 6 (QA test-case generation) |
|
|
45
51
|
| `qa/test-reports/<rid>.md` or `qa/security-findings.md` or `qa/performance-findings.md` | Step 6 (QA execution) |
|
|
46
52
|
| `txt/handoff.md` | Step 10 (TXT handoff) |
|
|
@@ -153,8 +153,9 @@ peaks request transition <rid> --role rd --state implemented --project <repo> --
|
|
|
153
153
|
|
|
154
154
|
# 5. Peaks-Loop Code review + security review BEFORE qa-handoff transition.
|
|
155
155
|
# Produce the evidence files the CLI gate enforces:
|
|
156
|
-
# - .peaks/_runtime/<id>/rd/code-review
|
|
157
|
-
# - .peaks/_runtime/<id>/
|
|
156
|
+
# - .peaks/_runtime/<id>/rd/code-review-<rid>.md (CRITICAL/HIGH findings + fixes; required for feature/bugfix/refactor)
|
|
157
|
+
# - .peaks/_runtime/<id>/audit/security-<rid>.md (required for feature/bugfix/refactor; the ridless rd/security-review.md is the config-type requirement)
|
|
158
|
+
# The pre-rid names remain accepted back-compat tiers, but writing one re-opens the two-slices-one-session collision (slice 2026-09-14-audit-artifact-rid-scoping).
|
|
158
159
|
# Then transition. If --type is docs/chore the gate is empty and the transition is unguarded.
|
|
159
160
|
peaks request transition <rid> --role rd --state qa-handoff --project <repo> --json
|
|
160
161
|
|
|
@@ -45,7 +45,8 @@ LLM senses context pressure
|
|
|
45
45
|
│ │ ├─ Job mode → MUST auto-compact now
|
|
46
46
|
│ │ └─ non-Job → wait for next idle turn, then compact
|
|
47
47
|
│ ├─ 0.85 ≤ ratio < 0.95 → pre-compact zone; auto-compact MUST fire
|
|
48
|
-
│ └─ ratio ≥ 0.95 → red-line;
|
|
48
|
+
│ └─ ratio ≥ 0.95 → red-line; compact REQUESTED, dispatch NOT blocked (Karpathy §4)
|
|
49
|
+
│ keep working, re-probe, do not stall
|
|
49
50
|
├─► Check statusline compact bar (signal #4)
|
|
50
51
|
│ ├─ queued / preparing / compacting / verifying → wait
|
|
51
52
|
│ ├─ failed → read failure reason, do NOT spawn new session
|
|
@@ -104,11 +104,13 @@ The CLI gate (`peaks request transition --state qa-handoff`) is the authoritativ
|
|
|
104
104
|
|
|
105
105
|
| Request type | Required RD evidence (under `.peaks/_runtime/<sessionId>/`) |
|
|
106
106
|
|---|---|
|
|
107
|
-
| `feature` / `refactor` | `rd/tech-doc.md` + `rd/code-review
|
|
108
|
-
| `bugfix` | `rd/bug-analysis.md` + `rd/code-review
|
|
109
|
-
| `config` | `rd/security-review.md` |
|
|
107
|
+
| `feature` / `refactor` | `rd/tech-doc.md` + `rd/code-review-<rid>.md` + `audit/security-<rid>.md` + `audit/perf-<rid>.md` + `qa/test-cases/<rid>.md` (qa/test-cases pre-drafted by the 4th sub-agent in peaks-rd's parallel fan-out — slice 004) |
|
|
108
|
+
| `bugfix` | `rd/bug-analysis.md` + `rd/code-review-<rid>.md` + `audit/security-<rid>.md` + `audit/perf-<rid>.md` + `qa/test-cases/<rid>.md` (the perf artifact is always required; a bug with no perf surface satisfies it with the `N/A — no perf surface` stub) |
|
|
109
|
+
| `config` | `rd/security-review.md` (this one is genuinely ridless — `SECURITY_REVIEW.relativePath` carries no `<rid>`) |
|
|
110
110
|
| `docs` / `chore` | (no extra evidence required) |
|
|
111
111
|
|
|
112
|
+
> The four rid-scoped names above are the gate's **primary** tier (slice `2026-09-14-audit-artifact-rid-scoping`): two slices in one session share `rd/` and `audit/`, so a ridless write silently destroyed the earlier slice's evidence. The pre-rid names (`rd/code-review.md`, `audit/security.md`, `audit/perf.md`, `rd/security-review.md`, `rd/perf-baseline.md`) remain accepted as **back-compat tiers** — they keep old sessions passing, but a new slice must write the rid-scoped name or it reopens the collision.
|
|
113
|
+
|
|
112
114
|
Always required (in addition to the type-specific row): `ls .peaks/_runtime/<sessionId>/rd/requests/<rid>.md`. Missing any required file → DO NOT attempt the qa-handoff transition; CLI will reject with PREREQUISITES_MISSING.
|
|
113
115
|
|
|
114
116
|
```bash
|
|
@@ -116,10 +118,10 @@ Always required (in addition to the type-specific row): `ls .peaks/_runtime/<ses
|
|
|
116
118
|
ls .peaks/_runtime/<sessionId>/rd/requests/<rid>.md
|
|
117
119
|
|
|
118
120
|
# Type-specific RD evidence (must match the type recorded in the artifact body)
|
|
119
|
-
# feature / refactor → ls rd/tech-doc.md rd/code-review
|
|
121
|
+
# feature / refactor → ls rd/tech-doc.md rd/code-review-<rid>.md audit/security-<rid>.md audit/perf-<rid>.md qa/test-cases/<rid>.md
|
|
120
122
|
# (qa/test-cases/<rid>.md pre-drafted by the 4th sub-agent in peaks-rd's parallel fan-out — slice 004)
|
|
121
|
-
# bugfix → ls rd/bug-analysis.md rd/code-review
|
|
122
|
-
# (
|
|
123
|
+
# bugfix → ls rd/bug-analysis.md rd/code-review-<rid>.md audit/security-<rid>.md audit/perf-<rid>.md qa/test-cases/<rid>.md
|
|
124
|
+
# (the perf artifact is always required; use the "N/A — no perf surface" stub when there is no perf surface)
|
|
123
125
|
# config → ls rd/security-review.md
|
|
124
126
|
# docs / chore → (no extra evidence required)
|
|
125
127
|
# Missing any required file → DO NOT attempt the qa-handoff transition; CLI will reject with PREREQUISITES_MISSING.
|