peaks-loop 4.0.0-beta.9 → 4.0.1
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 +910 -141
- package/README-en.md +26 -7
- package/README.md +75 -6
- package/agents/karpathy-reviewer.md +33 -0
- package/bin/peaks.js +0 -0
- package/dist/cli/cli-helpers.d.ts +31 -6
- package/dist/cli/cli-helpers.js +48 -25
- package/dist/cli/commands/_register.d.ts +3 -0
- package/dist/cli/commands/_register.js +139 -0
- package/dist/cli/commands/_super.d.ts +10 -0
- package/dist/cli/commands/_super.js +97 -0
- package/dist/cli/commands/adapter-commands-s2a.js +1 -1
- package/dist/cli/commands/asset-commands.js +33 -16
- package/dist/cli/commands/audit-commands.js +2 -2
- package/dist/cli/commands/autonomous-swarm-commands.d.ts +12 -0
- package/dist/cli/commands/autonomous-swarm-commands.js +120 -0
- package/dist/cli/commands/bee-commands.js +1 -1
- package/dist/cli/commands/capability-commands.js +1 -1
- package/dist/cli/commands/capability-worker-config-sc-commands.js +0 -2
- package/dist/cli/commands/changeset-commands.d.ts +13 -0
- package/dist/cli/commands/changeset-commands.js +46 -0
- package/dist/cli/commands/code-commands.d.ts +11 -1
- package/dist/cli/commands/code-commands.js +19 -699
- package/dist/cli/commands/code-job-shape-commands.d.ts +9 -0
- package/dist/cli/commands/code-job-shape-commands.js +164 -0
- package/dist/cli/commands/code-mode-gate-commands.d.ts +9 -0
- package/dist/cli/commands/code-mode-gate-commands.js +223 -0
- package/dist/cli/commands/code-review-commands.js +2 -2
- package/dist/cli/commands/code-run-command.d.ts +12 -0
- package/dist/cli/commands/code-run-command.js +68 -0
- package/dist/cli/commands/code-runtime-commands.d.ts +11 -0
- package/dist/cli/commands/code-runtime-commands.js +391 -0
- package/dist/cli/commands/codegraph-commands.js +1 -1
- package/dist/cli/commands/compact-command.js +53 -1
- package/dist/cli/commands/complexity-commands.js +1 -1
- package/dist/cli/commands/config-commands.js +4 -75
- package/dist/cli/commands/container-commands.d.ts +28 -0
- package/dist/cli/commands/container-commands.js +221 -0
- package/dist/cli/commands/context-commands.js +3 -2
- package/dist/cli/commands/core/artifacts-command.js +1 -1
- package/dist/cli/commands/core/binding-commands.js +1 -1
- package/dist/cli/commands/core/doctor-command.js +63 -3
- package/dist/cli/commands/core/memory-command.js +1 -1
- package/dist/cli/commands/core/profile-command.js +1 -1
- package/dist/cli/commands/core/proxy-command.js +1 -1
- package/dist/cli/commands/core/session-command.js +9 -7
- package/dist/cli/commands/core/skill-command.js +7 -4
- package/dist/cli/commands/core/standards-command.js +1 -1
- package/dist/cli/commands/cron-commands.d.ts +57 -0
- package/dist/cli/commands/cron-commands.js +257 -0
- package/dist/cli/commands/cron-scheduler-commands.d.ts +47 -0
- package/dist/cli/commands/cron-scheduler-commands.js +284 -0
- package/dist/cli/commands/dashboard-commands.d.ts +4 -0
- package/dist/cli/commands/dashboard-commands.js +10 -0
- package/dist/cli/commands/dashboard-long-run.d.ts +25 -0
- package/dist/cli/commands/dashboard-long-run.js +122 -0
- package/dist/cli/commands/dashboard-summary.d.ts +12 -0
- package/dist/cli/commands/dashboard-summary.js +58 -0
- package/dist/cli/commands/dispatch-commands.d.ts +0 -7
- package/dist/cli/commands/dispatch-commands.js +372 -8
- package/dist/cli/commands/dispatch-from-dag.js +4 -1
- package/dist/cli/commands/doc-commands.js +1 -1
- package/dist/cli/commands/ecc-commands.d.ts +30 -0
- package/dist/cli/commands/ecc-commands.js +119 -0
- package/dist/cli/commands/evolution-commands.js +1 -1
- package/dist/cli/commands/feedback-commands.js +1 -1
- package/dist/cli/commands/final-review-commands.js +1 -1
- package/dist/cli/commands/fixture-commands.js +1 -1
- package/dist/cli/commands/fork-commands.js +1 -1
- package/dist/cli/commands/gate-commands.js +128 -6
- package/dist/cli/commands/governance-classify-contract-commands.d.ts +21 -0
- package/dist/cli/commands/governance-classify-contract-commands.js +273 -0
- package/dist/cli/commands/heartbeat-commands.js +76 -5
- package/dist/cli/commands/heartbeat-watch-command.d.ts +31 -0
- package/dist/cli/commands/heartbeat-watch-command.js +146 -0
- package/dist/cli/commands/hook-handle.js +1 -1
- package/dist/cli/commands/hooks-commands.js +126 -10
- package/dist/cli/commands/ide-commands.js +1 -1
- package/dist/cli/commands/impact-commands.js +1 -1
- package/dist/cli/commands/job-commands.js +34 -1
- package/dist/cli/commands/lease-metrics-commands.d.ts +67 -0
- package/dist/cli/commands/lease-metrics-commands.js +231 -0
- package/dist/cli/commands/lease-stats-commands.d.ts +65 -0
- package/dist/cli/commands/lease-stats-commands.js +107 -0
- package/dist/cli/commands/legacy-commands.js +1 -1
- package/dist/cli/commands/log-commands.js +1 -1
- package/dist/cli/commands/loop-commands.js +1 -1
- package/dist/cli/commands/loop-eval-commands.js +1 -1
- package/dist/cli/commands/memory-commands.js +1 -1
- package/dist/cli/commands/migrate-1-4-1-command.js +1 -1
- package/dist/cli/commands/migrate-v2-10-to-v2-11-command.js +1 -1
- package/dist/cli/commands/mut-commands.d.ts +1 -1
- package/dist/cli/commands/mut-commands.js +1 -5
- package/dist/cli/commands/observability-commands.js +1 -1
- package/dist/cli/commands/openspec-commands.js +65 -4
- package/dist/cli/commands/perf-audit-commands.js +3 -3
- package/dist/cli/commands/perf-commands.js +1 -1
- package/dist/cli/commands/polyrepo-commands.js +1 -1
- package/dist/cli/commands/prd-blocks-commands.js +1 -1
- package/dist/cli/commands/prd-commands.js +4 -2
- package/dist/cli/commands/preferences-commands.js +23 -3
- package/dist/cli/commands/project-commands.js +1 -1
- package/dist/cli/commands/qa-business-review-commands.js +1 -1
- package/dist/cli/commands/qa-commands.d.ts +1 -1
- package/dist/cli/commands/qa-commands.js +39 -3
- package/dist/cli/commands/release-commands.d.ts +15 -0
- package/dist/cli/commands/release-commands.js +113 -21
- package/dist/cli/commands/request-commands.js +1 -1
- package/dist/cli/commands/retrospective-commands.js +1 -1
- package/dist/cli/commands/reviewer-commands.js +1 -1
- package/dist/cli/commands/role-commands.js +1 -1
- package/dist/cli/commands/runtime-commands-helpers.d.ts +7 -0
- package/dist/cli/commands/runtime-commands-helpers.js +24 -0
- package/dist/cli/commands/runtime-commands.js +1 -2
- package/dist/cli/commands/sc-commands.js +4 -2
- package/dist/cli/commands/scan-commands.js +1 -1
- package/dist/cli/commands/security-audit-commands.js +3 -3
- package/dist/cli/commands/sediment-commands.js +10 -1
- package/dist/cli/commands/session-24h-mode.d.ts +26 -0
- package/dist/cli/commands/session-24h-mode.js +196 -0
- package/dist/cli/commands/share-commands.d.ts +19 -0
- package/dist/cli/commands/share-commands.js +121 -2
- package/dist/cli/commands/skill-conformance-commands.js +1 -1
- package/dist/cli/commands/skill-loop-engineering-readiness-commands.js +1 -1
- package/dist/cli/commands/skill-search-commands.js +4 -1
- package/dist/cli/commands/slice-commands.js +1 -1
- package/dist/cli/commands/slice-integrate-commands.js +1 -1
- package/dist/cli/commands/slice-review-commands.js +1 -1
- package/dist/cli/commands/smoke-commands.js +1 -1
- package/dist/cli/commands/sop-commands.js +1 -1
- package/dist/cli/commands/spill-demo-command.d.ts +7 -0
- package/dist/cli/commands/spill-demo-command.js +29 -0
- package/dist/cli/commands/statusline-commands.d.ts +12 -0
- package/dist/cli/commands/statusline-commands.js +79 -17
- package/dist/cli/commands/sub-agent-commands.js +2 -1
- package/dist/cli/commands/sub-agent-shared.d.ts +10 -0
- package/dist/cli/commands/sub-agent-shared.js +24 -1
- package/dist/cli/commands/swarm-commands.d.ts +13 -0
- package/dist/cli/commands/swarm-commands.js +77 -0
- package/dist/cli/commands/tech-commands.d.ts +64 -0
- package/dist/cli/commands/tech-commands.js +195 -0
- package/dist/cli/commands/understand-commands.js +1 -1
- package/dist/cli/commands/upgrade-commands.d.ts +2 -0
- package/dist/cli/commands/upgrade-commands.js +40 -5
- package/dist/cli/commands/user-touchpoint-commands.js +1 -1
- package/dist/cli/commands/verdict-aggregate-command.js +1 -1
- package/dist/cli/commands/vm-commands.d.ts +31 -0
- package/dist/cli/commands/vm-commands.js +274 -0
- package/dist/cli/commands/workflow-commands.js +24 -1
- package/dist/cli/commands/workflow-plan-commands.js +1 -1
- package/dist/cli/commands/workspace/init-command.js +1 -1
- package/dist/cli/commands/workspace/migrate-command.js +1 -1
- package/dist/cli/commands/workspace/reconcile-command.js +1 -1
- package/dist/cli/commands/worktree-auth-commands.d.ts +29 -0
- package/dist/cli/commands/worktree-auth-commands.js +652 -0
- package/dist/cli/index.js +58 -13
- package/dist/cli/program.d.ts +2 -2
- package/dist/cli/program.js +86 -281
- package/dist/services/24h-mode/decider.d.ts +103 -0
- package/dist/services/24h-mode/decider.js +144 -0
- package/dist/services/24h-mode/index.d.ts +12 -0
- package/dist/services/24h-mode/index.js +12 -0
- package/dist/services/24h-mode/state.d.ts +48 -0
- package/dist/services/24h-mode/state.js +51 -0
- package/dist/services/24h-mode/store.d.ts +27 -0
- package/dist/services/24h-mode/store.js +119 -0
- package/dist/services/artifacts/artifact-prerequisites.js +1 -1
- package/dist/services/artifacts/request-artifact-service.js +1 -1
- package/dist/services/artifacts/workspace-service.js +1 -1
- package/dist/services/audit/enforcers/lint-bee-runtime-contract.d.ts +25 -0
- package/dist/services/audit/enforcers/lint-bee-runtime-contract.js +91 -0
- package/dist/services/audit/enforcers/lint-peaks-code-runtime.d.ts +16 -0
- package/dist/services/audit/enforcers/lint-peaks-code-runtime.js +31 -0
- package/dist/services/audit/enforcers/lint-peaks-skill-runtime.d.ts +23 -0
- package/dist/services/audit/enforcers/lint-peaks-skill-runtime.js +59 -0
- package/dist/services/audit/enforcers/lint-peaks-ui-sc-txt-runtime.d.ts +28 -0
- package/dist/services/audit/enforcers/lint-peaks-ui-sc-txt-runtime.js +86 -0
- package/dist/services/audit/enforcers/lint-prd-artifact-handoff.d.ts +16 -0
- package/dist/services/audit/enforcers/lint-prd-artifact-handoff.js +41 -0
- package/dist/services/audit/enforcers/lint-prd-source-snapshot.d.ts +27 -0
- package/dist/services/audit/enforcers/lint-prd-source-snapshot.js +47 -0
- package/dist/services/audit/enforcers/lint-qa-gateguard-and-runtime.d.ts +19 -0
- package/dist/services/audit/enforcers/lint-qa-gateguard-and-runtime.js +47 -0
- package/dist/services/audit/enforcers/lint-rd-handoff-coverage.d.ts +18 -0
- package/dist/services/audit/enforcers/lint-rd-handoff-coverage.js +70 -0
- package/dist/services/audit/enforcers/lint-skill-presence-mandatory.d.ts +25 -0
- package/dist/services/audit/enforcers/lint-skill-presence-mandatory.js +53 -0
- package/dist/services/audit/red-line-catalog-p2-a.d.ts +0 -6
- package/dist/services/audit/red-line-catalog-p2-a.js +230 -1
- package/dist/services/audit/static-service.d.ts +32 -25
- package/dist/services/audit/static-service.js +30 -109
- package/dist/services/audit-independent/index.d.ts +2 -0
- package/dist/services/audit-independent/index.js +2 -0
- package/dist/services/autonomous-swarm/autonomous-swarm-service.d.ts +127 -0
- package/dist/services/autonomous-swarm/autonomous-swarm-service.js +446 -0
- package/dist/services/changeset/changeset-check-service.d.ts +22 -0
- package/dist/services/changeset/changeset-check-service.js +47 -0
- package/dist/services/code/auto-compact-modes.d.ts +30 -0
- package/dist/services/code/auto-compact-modes.js +38 -0
- package/dist/services/code/auto-compact-orchestrator.d.ts +43 -5
- package/dist/services/code/auto-compact-orchestrator.js +101 -21
- package/dist/services/code/dag-orchestrator.d.ts +30 -1
- package/dist/services/code/dag-orchestrator.js +106 -1
- package/dist/services/code/status-line-renderer.d.ts +2 -0
- package/dist/services/code/status-line-renderer.js +21 -3
- package/dist/services/code-review/ocr-service.d.ts +1 -1
- package/dist/services/code-review/ocr-service.js +6 -3
- package/dist/services/compact-history/compact-history-service.d.ts +41 -0
- package/dist/services/compact-history/compact-history-service.js +62 -0
- package/dist/services/compact-statusline/compact-statusline-service.d.ts +16 -0
- package/dist/services/compact-statusline/compact-statusline-service.js +83 -0
- package/dist/services/config/config-service.d.ts +1 -12
- package/dist/services/config/config-service.js +3 -72
- package/dist/services/config/config-types.d.ts +2 -4
- package/dist/services/config/config-types.js +1 -1
- package/dist/services/container/container-lease.d.ts +67 -0
- package/dist/services/container/container-lease.js +135 -0
- package/dist/services/context/auto-compact-dispatcher.d.ts +40 -5
- package/dist/services/context/auto-compact-dispatcher.js +32 -102
- package/dist/services/context/auto-compact-reader.js +1 -1
- package/dist/services/context/auto-compact-types.d.ts +27 -2
- package/dist/services/context/auto-compact-types.js +8 -1
- package/dist/services/context/build-dispatch-system-prompt.d.ts +75 -0
- package/dist/services/context/build-dispatch-system-prompt.js +117 -0
- package/dist/services/context/collector.d.ts +2 -2
- package/dist/services/context/context-builder.d.ts +4 -4
- package/dist/services/context/context-schema.d.ts +48 -48
- package/dist/services/context/ide-detect.d.ts +4 -0
- package/dist/services/context/ide-detect.js +24 -0
- package/dist/services/context/main-session-monitor.d.ts +1 -4
- package/dist/services/context/main-session-monitor.js +1 -24
- package/dist/services/context/memory-index-reader.d.ts +8 -0
- package/dist/services/context/memory-index-reader.js +57 -0
- package/dist/services/context/memory-lru-cache.d.ts +12 -0
- package/dist/services/context/memory-lru-cache.js +60 -0
- package/dist/services/context/memory-preflight-config.d.ts +19 -0
- package/dist/services/context/memory-preflight-config.js +25 -0
- package/dist/services/context/memory-preflight-service.d.ts +19 -0
- package/dist/services/context/memory-preflight-service.js +120 -0
- package/dist/services/context/spillover-store.d.ts +23 -0
- package/dist/services/context/spillover-store.js +155 -0
- package/dist/services/context/spillover-types.d.ts +18 -0
- package/dist/services/context/spillover-types.js +1 -0
- package/dist/services/crystallization/crystallization-service.d.ts +22 -5
- package/dist/services/crystallization/crystallization-service.js +8 -14
- package/dist/services/crystallization/crystallization-types.d.ts +6 -6
- package/dist/services/crystallization/evidence-brief-builder.d.ts +1 -1
- package/dist/services/crystallization/index.d.ts +13 -0
- package/dist/services/crystallization/index.js +13 -0
- package/dist/services/dashboard/project-dashboard-service.js +2 -2
- package/dist/services/dispatch/await-batch.d.ts +70 -0
- package/dist/services/dispatch/await-batch.js +272 -0
- package/dist/services/dispatch/batch-counter.js +1 -1
- package/dist/services/dispatch/dispatch-record-writer.d.ts +126 -4
- package/dist/services/dispatch/dispatch-record-writer.js +239 -9
- package/dist/services/dispatch/slice-dag.d.ts +46 -0
- package/dist/services/dispatch/slice-dag.js +6 -0
- package/dist/services/dispatch/stage-enum.d.ts +27 -0
- package/dist/services/dispatch/stage-enum.js +48 -0
- package/dist/services/dispatch/startup-timeout.d.ts +86 -0
- package/dist/services/dispatch/startup-timeout.js +97 -0
- package/dist/services/dispatch/sub-agent-dispatcher.js +40 -89
- package/dist/services/dispatch/test-tool-detection.d.ts +25 -1
- package/dist/services/dispatch/test-tool-detection.js +80 -0
- package/dist/services/doctor/doctor-service/checks/check-id-schema.d.ts +18 -0
- package/dist/services/doctor/doctor-service/checks/check-id-schema.js +64 -0
- package/dist/services/doctor/doctor-service/checks/codegraph-capability.d.ts +14 -0
- package/dist/services/doctor/doctor-service/checks/codegraph-capability.js +69 -0
- package/dist/services/doctor/doctor-service/checks/dist-source-version.d.ts +32 -0
- package/dist/services/doctor/doctor-service/checks/dist-source-version.js +110 -0
- package/dist/services/doctor/doctor-service/checks/gateguard-conflict.d.ts +24 -0
- package/dist/services/doctor/doctor-service/checks/gateguard-conflict.js +164 -0
- package/dist/services/doctor/doctor-service/checks/l3-memory-health.d.ts +16 -0
- package/dist/services/doctor/doctor-service/checks/l3-memory-health.js +57 -0
- package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.d.ts +19 -0
- package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.js +66 -0
- package/dist/services/doctor/doctor-service/checks/schema-validity.d.ts +10 -0
- package/dist/services/doctor/doctor-service/checks/schema-validity.js +33 -0
- package/dist/services/doctor/doctor-service/checks/skill-apply-note.d.ts +20 -0
- package/dist/services/doctor/doctor-service/checks/skill-apply-note.js +85 -0
- package/dist/services/doctor/doctor-service/checks/skill-existence.d.ts +13 -0
- package/dist/services/doctor/doctor-service/checks/skill-existence.js +30 -0
- package/dist/services/doctor/doctor-service/checks/skill-name-match.d.ts +10 -0
- package/dist/services/doctor/doctor-service/checks/skill-name-match.js +25 -0
- package/dist/services/doctor/doctor-service/checks/skill-parse.d.ts +10 -0
- package/dist/services/doctor/doctor-service/checks/skill-parse.js +19 -0
- package/dist/services/doctor/doctor-service/checks/skill-presence.d.ts +21 -0
- package/dist/services/doctor/doctor-service/checks/skill-presence.js +75 -0
- package/dist/services/doctor/doctor-service/checks/skill-runbook.d.ts +14 -0
- package/dist/services/doctor/doctor-service/checks/skill-runbook.js +47 -0
- package/dist/services/doctor/doctor-service/checks/statusline-install.d.ts +14 -0
- package/dist/services/doctor/doctor-service/checks/statusline-install.js +32 -0
- package/dist/services/doctor/doctor-service/checks/statusline-runtime.d.ts +13 -0
- package/dist/services/doctor/doctor-service/checks/statusline-runtime.js +30 -0
- package/dist/services/doctor/doctor-service/checks/user-config.d.ts +11 -0
- package/dist/services/doctor/doctor-service/checks/user-config.js +27 -0
- package/dist/services/doctor/doctor-service/checks/workspace-init.d.ts +16 -0
- package/dist/services/doctor/doctor-service/checks/workspace-init.js +34 -0
- package/dist/services/doctor/doctor-service/checks/workspace-layout.d.ts +33 -0
- package/dist/services/doctor/doctor-service/checks/workspace-layout.js +180 -0
- package/dist/services/doctor/doctor-service/index.d.ts +48 -0
- package/dist/services/doctor/doctor-service/index.js +254 -0
- package/dist/services/doctor/doctor-service/plugin-registry.d.ts +41 -0
- package/dist/services/doctor/doctor-service/plugin-registry.js +77 -0
- package/dist/services/doctor/doctor-service/report/final-summary.d.ts +20 -0
- package/dist/services/doctor/doctor-service/report/final-summary.js +29 -0
- package/dist/services/doctor/doctor-service/types.d.ts +245 -0
- package/dist/services/doctor/doctor-service/types.js +15 -0
- package/dist/services/doctor/doctor-service.d.ts +15 -146
- package/dist/services/doctor/doctor-service.js +22 -926
- package/dist/services/doctor/index.d.ts +22 -0
- package/dist/services/doctor/index.js +22 -0
- package/dist/services/env/shell-probe.d.ts +71 -0
- package/dist/services/env/shell-probe.js +161 -0
- package/dist/services/evolution/evolution-types.d.ts +39 -39
- package/dist/services/final-review/final-review-service.d.ts +11 -1
- package/dist/services/final-review/index.d.ts +2 -0
- package/dist/services/final-review/index.js +1 -0
- package/dist/services/hooks/auto-compact-hook-install.d.ts +4 -5
- package/dist/services/hooks/auto-compact-hook-install.js +4 -5
- package/dist/services/hooks/worktree-authorization-gate.d.ts +205 -0
- package/dist/services/hooks/worktree-authorization-gate.js +492 -0
- package/dist/services/ide/adapters/claude-code-adapter.js +2 -2
- package/dist/services/ide/adapters/qoder-adapter.d.ts +25 -0
- package/dist/services/ide/adapters/qoder-adapter.js +57 -0
- package/dist/services/ide/adapters/tongyi-lingma-adapter.d.ts +16 -0
- package/dist/services/ide/adapters/tongyi-lingma-adapter.js +45 -0
- package/dist/services/ide/ide-registry.js +6 -0
- package/dist/services/ide/ide-types.d.ts +1 -1
- package/dist/services/job/job-types.d.ts +56 -56
- package/dist/services/job-snapshot/index.d.ts +8 -0
- package/dist/services/job-snapshot/index.js +7 -0
- package/dist/services/{job/job-resource-snapshot.d.ts → job-snapshot/snapshot.d.ts} +1 -1
- package/dist/services/job-snapshot/types.d.ts +7 -0
- package/dist/services/job-snapshot/types.js +1 -0
- package/dist/services/karpathy-cost/karpathy-cost-check-service.d.ts +67 -0
- package/dist/services/karpathy-cost/karpathy-cost-check-service.js +108 -0
- package/dist/services/log/retention.d.ts +16 -0
- package/dist/services/log/retention.js +17 -0
- package/dist/services/loop/loop-bee-relation-types.d.ts +6 -6
- package/dist/services/loop/loop-release-types.d.ts +24 -24
- package/dist/services/loop/monotonic-runner.d.ts +17 -11
- package/dist/services/loop/monotonic-runner.js +118 -79
- package/dist/services/memory/project-memory-service/index/kind-dispatch.d.ts +8 -0
- package/dist/services/memory/project-memory-service/index/kind-dispatch.js +253 -0
- package/dist/services/memory/project-memory-service/index/ranking.d.ts +6 -0
- package/dist/services/memory/project-memory-service/index/ranking.js +171 -0
- package/dist/services/memory/project-memory-service/index/search.d.ts +34 -0
- package/dist/services/memory/project-memory-service/index/search.js +194 -0
- package/dist/services/memory/project-memory-service/index.d.ts +9 -0
- package/dist/services/memory/project-memory-service/index.js +24 -0
- package/dist/services/memory/project-memory-service/parsers/frontmatter.d.ts +9 -0
- package/dist/services/memory/project-memory-service/parsers/frontmatter.js +106 -0
- package/dist/services/memory/project-memory-service/parsers/markdown-pure.d.ts +7 -0
- package/dist/services/memory/project-memory-service/parsers/markdown-pure.js +96 -0
- package/dist/services/memory/project-memory-service/store/atomic-write.d.ts +5 -0
- package/dist/services/memory/project-memory-service/store/atomic-write.js +56 -0
- package/dist/services/memory/project-memory-service/store/paths.d.ts +8 -0
- package/dist/services/memory/project-memory-service/store/paths.js +116 -0
- package/dist/services/memory/project-memory-service/types.d.ts +128 -0
- package/dist/services/memory/project-memory-service/types.js +9 -0
- package/dist/services/memory/project-memory-service.d.ts +1 -167
- package/dist/services/memory/project-memory-service.js +19 -816
- package/dist/services/migrate-skill-name/schema.d.ts +2 -2
- package/dist/services/observability/aggregation.d.ts +27 -0
- package/dist/services/observability/aggregation.js +72 -0
- package/dist/services/observability/observability-service.d.ts +73 -7
- package/dist/services/observability/observability-service.js +87 -1
- package/dist/services/openspec/artifact-boundary.d.ts +138 -0
- package/dist/services/openspec/artifact-boundary.js +150 -0
- package/dist/services/openspec/coverage-evidence-reader.d.ts +191 -0
- package/dist/services/openspec/coverage-evidence-reader.js +386 -0
- package/dist/services/openspec/openspec-archive-service.d.ts +70 -0
- package/dist/services/openspec/openspec-archive-service.js +320 -8
- package/dist/services/openspec/openspec-bridge-service.js +1 -1
- package/dist/services/openspec/openspec-init-service.js +1 -1
- package/dist/services/openspec/openspec-propose-from-doctor-service.js +1 -1
- package/dist/services/openspec/openspec-render-service.js +7 -4
- package/dist/services/openspec/openspec-scan-service.js +1 -1
- package/dist/services/openspec/openspec-validate-service.js +5 -4
- package/dist/services/preferences/preferences-service.js +10 -0
- package/dist/services/preferences/preferences-types.d.ts +13 -0
- package/dist/services/preferences/preferences-types.js +11 -0
- package/dist/services/qa/screenshot-archive-service.d.ts +51 -0
- package/dist/services/qa/screenshot-archive-service.js +134 -0
- package/dist/services/rd/rd-service.js +10 -11
- package/dist/services/rd/types.d.ts +32 -32
- package/dist/services/rd-swarm/rd-swarm-service.d.ts +60 -0
- package/dist/services/rd-swarm/rd-swarm-service.js +93 -0
- package/dist/services/recommendations/capability-seed-items.js +0 -1
- package/dist/services/recommendations/capability-seed-mappings.js +0 -1
- package/dist/services/recommendations/capability-seed-sources.js +0 -1
- package/dist/services/release/version-precheck-service.d.ts +51 -0
- package/dist/services/release/version-precheck-service.js +257 -0
- package/dist/services/scan/acceptance-coverage-service.js +1 -1
- package/dist/services/scan/archetype-service.js +1 -1
- package/dist/services/scan/existing-system-service.js +1 -1
- package/dist/services/scan/libraries-service.js +1 -1
- package/dist/services/sediment/json-schema.d.ts +40 -40
- package/dist/services/share/bundle-types.d.ts +12 -12
- package/dist/services/share/run-state-contract.d.ts +2 -2
- package/dist/services/skill/skill-search-service.d.ts +12 -7
- package/dist/services/skill/skill-search-service.js +8 -4
- package/dist/services/skillhub/migrations/001-initial.sql +71 -0
- package/dist/services/skillhub/migrations/002-loop-release.sql +32 -0
- package/dist/services/skillhub/migrations/003-loop-bee-relation.sql +35 -0
- package/dist/services/skillhub/migrations/004-loop-bee-extension.sql +65 -0
- package/dist/services/skillhub/migrations/005-evolution-evaluation.sql +81 -0
- package/dist/services/skillhub/migrations/006-crystallization-event.sql +92 -0
- package/dist/services/skills/hooks-settings-service.d.ts +75 -0
- package/dist/services/skills/hooks-settings-service.js +230 -2
- package/dist/services/skills/skill-registry.d.ts +1 -0
- package/dist/services/skills/skill-registry.js +6 -4
- package/dist/services/skills/skill-runbook-service.js +1 -1
- package/dist/services/slice/slice-check-service.js +1 -1
- package/dist/services/standards/main-session-monitor-ban-hook.d.ts +14 -0
- package/dist/services/standards/main-session-monitor-ban-hook.js +19 -0
- package/dist/services/standards/missing-standards-detector.d.ts +25 -0
- package/dist/services/standards/missing-standards-detector.js +43 -12
- package/dist/services/tech/tech-change-id-service.d.ts +82 -0
- package/dist/services/tech/tech-change-id-service.js +117 -0
- package/dist/services/understand/understand-hybrid-service.js +1 -1
- package/dist/services/understand/understand-scan-service.js +2 -2
- package/dist/services/upgrade/upgrade-service.js +4 -3
- package/dist/services/verdict/envelopes.d.ts +2 -2
- package/dist/services/verdict/envelopes.js +2 -2
- package/dist/services/verdict/verdict-aggregator.d.ts +3 -3
- package/dist/services/vm/vm-lease.d.ts +40 -0
- package/dist/services/vm/vm-lease.js +137 -0
- package/dist/services/workflow/autonomous-resume-writer.js +1 -1
- package/dist/services/workflow/pipeline-verify-gate-support.d.ts +47 -0
- package/dist/services/workflow/pipeline-verify-gate-support.js +194 -0
- package/dist/services/workflow/pipeline-verify-service.d.ts +17 -81
- package/dist/services/workflow/pipeline-verify-service.js +42 -218
- package/dist/services/workflow/pipeline-verify-types.d.ts +90 -0
- package/dist/services/workflow/pipeline-verify-types.js +10 -0
- package/dist/services/workflow/plan-reader.d.ts +1 -1
- package/dist/services/workflow/plan-reader.js +1 -1
- package/dist/services/workflow/plan-refresher.d.ts +1 -1
- package/dist/services/workflow/plan-refresher.js +1 -1
- package/dist/services/workflow/plan-trigger-detector.d.ts +1 -1
- package/dist/services/workflow/plan-trigger-detector.js +1 -1
- package/dist/services/workflow/workflow-autonomous-resume-helpers.d.ts +1 -1
- package/dist/services/workflow/workflow-autonomous-service.d.ts +2 -98
- package/dist/services/workflow/workflow-autonomous-types.d.ts +114 -0
- package/dist/services/workflow/workflow-autonomous-types.js +21 -0
- package/dist/services/workflow/workflow-router-service.js +18 -16
- package/dist/services/workflow/workflow-spec-lint.d.ts +13 -0
- package/dist/services/workflow/workflow-spec-lint.js +75 -0
- package/dist/services/workflow/workflow-spec-types.d.ts +100 -0
- package/dist/services/workflow/workflow-spec-types.js +13 -0
- package/dist/services/workflow/workflow-spec-yaml.d.ts +17 -0
- package/dist/services/workflow/workflow-spec-yaml.js +88 -0
- package/dist/services/workflow/workflow-spec.d.ts +11 -91
- package/dist/services/workflow/workflow-spec.js +16 -145
- package/dist/services/workspace/migrate-service.js +1 -1
- package/dist/services/workspace/workspace-service.js +1 -1
- package/dist/services/worktree/worktree-lease.d.ts +170 -0
- package/dist/services/worktree/worktree-lease.js +242 -0
- package/package.json +47 -51
- package/scripts/clean-dist.mjs +31 -1
- package/scripts/copy-templates.mjs +16 -0
- package/scripts/sync-version.mjs +53 -2
- package/skills/bee/peaks-perf-audit/SKILL.md +17 -0
- package/skills/bee/peaks-prd/SKILL.md +16 -0
- package/skills/bee/peaks-prd/test-prompts.json +12 -0
- package/skills/bee/peaks-qa/SKILL.md +16 -1
- package/skills/bee/peaks-qa/references/qa-sub-agent-dispatch.md +22 -0
- package/skills/bee/peaks-qa/test-prompts.json +12 -0
- package/skills/bee/peaks-rd/SKILL.md +29 -20
- package/skills/bee/peaks-rd/references/rd-sub-agent-dispatch.md +39 -0
- package/skills/bee/peaks-rd/test-prompts.json +12 -0
- package/skills/bee/peaks-reviewer/SKILL.md +17 -0
- package/skills/bee/peaks-sc/SKILL.md +16 -0
- package/skills/bee/peaks-security-audit/SKILL.md +17 -0
- package/skills/bee/peaks-txt/SKILL.md +16 -0
- package/skills/bee/peaks-txt/test-prompts.json +12 -0
- package/skills/bee/peaks-ui/SKILL.md +49 -43
- package/skills/bee/peaks-ui/test-prompts.json +12 -0
- package/skills/peaks-code/SKILL.md +54 -109
- package/skills/peaks-code/references/boundaries.md +15 -1
- package/skills/peaks-code/references/cron-scheduler-deployment.md +313 -0
- package/skills/peaks-code/references/external-skill-invocation.md +27 -0
- package/skills/peaks-code/references/lease-dashboard.html +224 -0
- package/skills/peaks-code/references/lease-stats.sample.json +26 -0
- package/skills/peaks-code/references/peaks-worktree-l2-enforcers.md +208 -0
- package/skills/peaks-code/references/periodic-checkpoint.md +4 -4
- package/skills/peaks-code/references/runbook.md +63 -1
- package/skills/peaks-code/references/startup-sequence.md +110 -0
- package/skills/peaks-code/references/step-0-8-gate.md +1 -1
- package/skills/peaks-code/references/sub-agent-dispatch.md +92 -1
- package/skills/peaks-code/references/worktree-governance.md +123 -0
- package/skills/peaks-code/test-prompts.json +12 -0
- package/skills/peaks-doctor/SKILL.md +1 -1
- package/skills/peaks-ide/SKILL.md +1 -1
- package/skills/peaks-solo/SKILL.md +21 -0
- package/skills/peaks-solo/references/triage-decision-table.md +6 -0
- package/skills/peaks-sop/test-prompts.json +17 -0
- package/dist/cli/commands/agent-commands.d.ts +0 -20
- package/dist/cli/commands/agent-commands.js +0 -48
- package/dist/cli/commands/classify-classify-commands.d.ts +0 -19
- package/dist/cli/commands/classify-classify-commands.js +0 -151
- package/dist/cli/commands/contract-commands.d.ts +0 -26
- package/dist/cli/commands/contract-commands.js +0 -114
- package/dist/cli/commands/session-auto-compact-hook-command.d.ts +0 -37
- package/dist/cli/commands/session-auto-compact-hook-command.js +0 -127
- package/dist/cli/commands/worker-commands.d.ts +0 -3
- package/dist/cli/commands/worker-commands.js +0 -52
- package/dist/services/agent/ecc-agent-service.d.ts +0 -47
- package/dist/services/agent/ecc-agent-service.js +0 -143
- package/dist/services/config/provider-service.d.ts +0 -48
- package/dist/services/config/provider-service.js +0 -143
- package/dist/services/context/dispatch-context-guard.d.ts +0 -27
- package/dist/services/context/dispatch-context-guard.js +0 -192
- package/dist/services/context/shared-channel.d.ts +0 -93
- package/dist/services/context/shared-channel.js +0 -308
- package/dist/services/filesystem/file-lock.d.ts +0 -11
- package/dist/services/filesystem/file-lock.js +0 -152
- package/dist/services/mut/assert-scanner.d.ts +0 -6
- package/dist/services/mut/assert-scanner.js +0 -116
- package/dist/services/mut/index.d.ts +0 -8
- package/dist/services/mut/index.js +0 -7
- package/dist/services/mut/mut-runner.d.ts +0 -39
- package/dist/services/mut/mut-runner.js +0 -29
- package/dist/services/mut/production-stryker.d.ts +0 -2
- package/dist/services/mut/production-stryker.js +0 -75
- package/dist/services/mut/report-builder.d.ts +0 -11
- package/dist/services/mut/report-builder.js +0 -110
- package/dist/services/mut/report-loader.d.ts +0 -31
- package/dist/services/mut/report-loader.js +0 -78
- package/dist/services/mut/thresholds.d.ts +0 -21
- package/dist/services/mut/thresholds.js +0 -22
- package/dist/services/mut/types.d.ts +0 -336
- package/dist/services/mut/types.js +0 -59
- package/dist/services/providers/minimax-provider-service.d.ts +0 -24
- package/dist/services/providers/minimax-provider-service.js +0 -143
- package/dist/services/providers/minimax-worker-service.d.ts +0 -21
- package/dist/services/providers/minimax-worker-service.js +0 -83
- package/dist/shared/fs.d.ts +0 -4
- package/dist/shared/fs.js +0 -26
- package/dist/shared/paths.d.ts +0 -6
- package/dist/shared/paths.js +0 -50
- package/dist/shared/result.d.ts +0 -22
- package/dist/shared/result.js +0 -46
- package/dist/shared/version.d.ts +0 -1
- package/dist/shared/version.js +0 -1
- package/examples/video-demo/README.md +0 -142
- package/examples/video-demo/out/en-closing-960.png +0 -0
- package/examples/video-demo/out/zh-closing-960.png +0 -0
- package/examples/video-demo/preview/peaks-loop-demo-en.mp4 +0 -0
- package/examples/video-demo/preview/peaks-loop-demo.mp4 +0 -0
- /package/dist/services/{job/job-resource-snapshot.js → job-snapshot/snapshot.js} +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: peaks-security-audit
|
|
3
|
+
visibility: internal
|
|
3
4
|
description: Independent security audit skill. Reads the immutable peaks-prd handoff + the project-level security-template.md, performs an OWASP Top-10 + 8-dimension threat model audit, and writes a structured envelope to `.peaks/_runtime/<sessionId>/audit/security-<rid>.md`. Decoupled from peaks-rd 5-way fan-out per slice v2.12.0 (Group A, Tier 2). Use when the slice introduces authn/authz, secrets, input validation, path/filesystem trust, SQL/NoSQL injection, XSS/content injection, dependency supply chain, or external API surface changes.
|
|
4
5
|
metadata:
|
|
5
6
|
appliesTo: peaks-loop v2.12.0+
|
|
@@ -165,3 +166,19 @@ The `peaks-rd` aggregator picks up the artifact from
|
|
|
165
166
|
template, or the diff under audit. It only writes a new audit artifact.
|
|
166
167
|
- **#4 Goal-Driven Execution** — every audit output references a
|
|
167
168
|
verifiable handoff goal via the `handoffHash` field.
|
|
169
|
+
|
|
170
|
+
## L2 surface reference (post rid-l2-extended)
|
|
171
|
+
|
|
172
|
+
For slices that touch the L2 surface, the canonical CLIs are:
|
|
173
|
+
- `peaks worktree {spawn,renew,list,gc,lease-status,release}` — lease lifecycle (Part 1-2)
|
|
174
|
+
- `peaks sub-agent dispatch --isolation worktree|container` — auto-spawns a lease (Part 2.C + Part 8 contract)
|
|
175
|
+
- `peaks container {spawn,release}` — L4 container runtime (Part 12, docker)
|
|
176
|
+
- `peaks lease-metrics [--rate] [--all-sessions]` — per-kind counts + leak rate (Part 4-5)
|
|
177
|
+
- `peaks lease-stats` — project-wide summary (Part 6)
|
|
178
|
+
- `peaks cron {init,list,run}` + `peaks cron-scheduler start` — periodic lease gc (Part 14-15)
|
|
179
|
+
- `peaks audit red-lines --project .` — 119 catalog red-lines / 86+ cli-backed enforcers / 0 prose-only (Part 13)
|
|
180
|
+
|
|
181
|
+
Verify the surface (no need to re-derive):
|
|
182
|
+
1. `peaks audit red-lines --project .` reports `proseOnly: 0` for any shipped L2 surface.
|
|
183
|
+
2. `peaks lease-metrics --rate` after a clean run reports `estimatedLeaked: 0`.
|
|
184
|
+
3. `peaks worktree list` returns 0 active leases after a clean run.
|
|
@@ -307,3 +307,19 @@ The TXT handoff summarizes the slice by listing the artifact metas + the share e
|
|
|
307
307
|
|
|
308
308
|
Same G9 threshold table. TXT handoff messages can grow large when the slice has many batches; use `--use-headroom` proactively for handoff prompts > 50%.
|
|
309
309
|
|
|
310
|
+
|
|
311
|
+
## L2 surface reference (post rid-l2-extended)
|
|
312
|
+
|
|
313
|
+
For slices that touch the L2 surface, the canonical CLIs are:
|
|
314
|
+
- `peaks worktree {spawn,renew,list,gc,lease-status,release}` — lease lifecycle (Part 1-2)
|
|
315
|
+
- `peaks sub-agent dispatch --isolation worktree|container` — auto-spawns a lease (Part 2.C + Part 8 contract)
|
|
316
|
+
- `peaks container {spawn,release}` — L4 container runtime (Part 12, docker)
|
|
317
|
+
- `peaks lease-metrics [--rate] [--all-sessions]` — per-kind counts + leak rate (Part 4-5)
|
|
318
|
+
- `peaks lease-stats` — project-wide summary (Part 6)
|
|
319
|
+
- `peaks cron {init,list,run}` + `peaks cron-scheduler start` — periodic lease gc (Part 14-15)
|
|
320
|
+
- `peaks audit red-lines --project .` — 119 catalog red-lines / 86 cli-backed enforcers / 51 discovered (Part 13)
|
|
321
|
+
|
|
322
|
+
Verify the surface (no need to re-derive):
|
|
323
|
+
1. `peaks audit red-lines --project .` reports `proseOnly: 0` for any shipped L2 surface.
|
|
324
|
+
2. `peaks lease-metrics --rate` after a clean run reports `estimatedLeaked: 0`.
|
|
325
|
+
3. `peaks worktree list` returns 0 active leases after a clean run.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"id": 1,
|
|
4
|
+
"prompt": "本次 peaks-code 实战发现了 Feishu 登录、前端 mock 联调、浏览器可见 E2E 和本地 .peaks 产物的使用习惯,需要沉淀给后续 session。",
|
|
5
|
+
"expected": "Peaks TXT 在 .peaks/_runtime/<session-id>/txt/skill-usage-lessons.md 和 context-capsule.md 中记录规则、原因、影响技能、未来应用方式和是否适合 memory extraction,不保存 secrets、登录态、PII 或原始浏览器数据。"
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
"id": 2,
|
|
9
|
+
"prompt": "流程被打断,需要下个 session 接着做。",
|
|
10
|
+
"expected": "输出紧凑 capsule:模式、已验证决策、artifact paths、标准变更、开放问题、下一步,不复述完整日志。"
|
|
11
|
+
}
|
|
12
|
+
]
|
|
@@ -130,12 +130,10 @@ peaks request show <request-id> --role prd --project <repo> --json # read link
|
|
|
130
130
|
|
|
131
131
|
# 2. ensure Playwright MCP is available for the visible browser check
|
|
132
132
|
# Slice #016: peaks-loop no longer manages MCP install. The LLM checks
|
|
133
|
-
# its own tool list for any Playwright MCP entry
|
|
134
|
-
#
|
|
133
|
+
# its own tool list for any Playwright MCP entry. If absent, the LLM
|
|
134
|
+
# tells the user the install command (`claude mcp add playwright
|
|
135
135
|
# -- npx @playwright/mcp@latest` in Claude Code) and reports the gate
|
|
136
|
-
# as blocked. Do NOT silently downgrade
|
|
137
|
-
# steps, or other tools. Do NOT route through chrome-devtools-mcp as a
|
|
138
|
-
# browser-launch substitute (it cannot launch a browser of its own).
|
|
136
|
+
# as blocked. Do NOT silently downgrade or route through chrome-devtools-mcp.
|
|
139
137
|
|
|
140
138
|
# 3. read project-scan for component library and CSS framework context
|
|
141
139
|
# check .peaks/project-scan/project-scan.md (blocking if missing for existing projects)
|
|
@@ -148,32 +146,24 @@ peaks request show <request-id> --role prd --project <repo> --json # read link
|
|
|
148
146
|
# See "Prototype fidelity gate" section for the full decision tree.
|
|
149
147
|
|
|
150
148
|
# 5. drive the running page or prototype through Claude Code MCP tools
|
|
151
|
-
# (the LLM invokes these directly
|
|
152
|
-
# browser_navigate --args '{"url":"<url>"}'
|
|
153
|
-
# → URL (after allow-list check), launches headed browser
|
|
154
|
-
#
|
|
149
|
+
# (the LLM invokes these directly — no peaks-loop envelope)
|
|
150
|
+
# browser_navigate --args '{"url":"<url>"}' → URL (after allow-list), launches headed browser
|
|
155
151
|
# LOGIN GATE: after browser_navigate, check for login/CAPTCHA/SSO/MFA redirect.
|
|
156
|
-
# If detected →
|
|
157
|
-
#
|
|
158
|
-
#
|
|
159
|
-
#
|
|
160
|
-
# After confirmation: browser_take_screenshot (filename), browser_snapshot (a11y tree),
|
|
152
|
+
# If detected → WAIT for user to complete login and explicitly confirm ("登录好了"
|
|
153
|
+
# or equivalent). Do NOT infer login from DOM. If user does not confirm → pause and ask.
|
|
154
|
+
# After confirmation: browser_take_screenshot, browser_snapshot (a11y tree),
|
|
161
155
|
# browser_console_messages (errors), browser_network_requests (failures), browser_close.
|
|
162
156
|
# The skill body NEVER bakes in the Playwright MCP prefix; the LLM's runtime resolves the name.
|
|
163
157
|
|
|
164
158
|
# 5. write design-draft artifact to .peaks/_runtime/<session-id>/ui/design-draft.md
|
|
165
159
|
|
|
166
160
|
# 5.5 DESIGN-DRAFT CONFIRMATION GATE (MANDATORY):
|
|
167
|
-
# After writing the design-draft, present a summary
|
|
168
|
-
#
|
|
169
|
-
#
|
|
170
|
-
#
|
|
171
|
-
#
|
|
172
|
-
#
|
|
173
|
-
# In full-auto mode: if the design-draft passes the anti-template checklist
|
|
174
|
-
# and browser validation shows no regressions, auto-confirm.
|
|
175
|
-
# If browser validation was blocked (no Playwright MCP), always ask user
|
|
176
|
-
# to explicitly confirm the design-draft before proceeding.
|
|
161
|
+
# After writing the design-draft, present a summary (style direction, key design
|
|
162
|
+
# dials, component tree, anti-template items rejected) and ask user to confirm
|
|
163
|
+
# before handing off to RD. In full-auto mode: if the design-draft passes the
|
|
164
|
+
# anti-template checklist and browser validation shows no regressions, auto-confirm.
|
|
165
|
+
# If browser validation was blocked (no Playwright MCP), always ask user to
|
|
166
|
+
# explicitly confirm the design-draft before proceeding.
|
|
177
167
|
|
|
178
168
|
# 6. record visual direction, rejected generic patterns, regression seeds in the request artifact
|
|
179
169
|
|
|
@@ -192,16 +182,13 @@ You cannot declare a phase complete from memory. Each gate below is a `ls` comma
|
|
|
192
182
|
**Peaks-Loop Gate A — After design-draft write:**
|
|
193
183
|
```bash
|
|
194
184
|
ls .peaks/_runtime/<sessionId>/ui/design-draft.md
|
|
195
|
-
# Expected
|
|
196
|
-
#
|
|
185
|
+
# Expected: .peaks/_runtime/<sessionId>/ui/design-draft.md
|
|
186
|
+
# No such file → STOP, write the design-draft first. Do not proceed to handoff.
|
|
197
187
|
|
|
198
|
-
#
|
|
188
|
+
# Gate A also requires an ASCII wireframe section with at least one fenced block.
|
|
199
189
|
grep -c "^## Layout (ASCII wireframe)" .peaks/_runtime/<sessionId>/ui/design-draft.md
|
|
200
|
-
# Expected: >= 1. Zero → BLOCKED. The mandatory ASCII wireframe section is missing.
|
|
201
190
|
grep -c '^```' .peaks/_runtime/<sessionId>/ui/design-draft.md
|
|
202
|
-
#
|
|
203
|
-
# Zero → BLOCKED. Prose-only layout description is not acceptable; add ASCII wireframes
|
|
204
|
-
# for the main page and every meaningful modal/drawer/state.
|
|
191
|
+
# Both >= 1. Zero in either → BLOCKED. Prose-only layout is not acceptable.
|
|
205
192
|
```
|
|
206
193
|
|
|
207
194
|
**Peaks-Loop Gate B — Before handoff to RD:**
|
|
@@ -281,27 +268,21 @@ Before writing design-draft.md, verify:
|
|
|
281
268
|
|
|
282
269
|
In full-auto frontend design with NO prototype (verified above), default to the curated taste path instead of generic component generation. External skills are optional enhancements, not prerequisites.
|
|
283
270
|
|
|
284
|
-
**If a prototype exists, skip this section.** The prototype IS the design direction.
|
|
271
|
+
**If a prototype exists, skip this section.** The prototype IS the design direction.
|
|
285
272
|
|
|
286
273
|
**Self-contained design process (always available):**
|
|
287
274
|
|
|
288
275
|
1. choose a specific style direction: editorial, bento, Swiss, luxury, retro-futurist, glass, or product-specific system UI. Pick one that fits the product's tone — do not default to "clean minimal."
|
|
289
|
-
2. define design dials
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
- typography: one display/heading + one body font from system or project stack
|
|
294
|
-
- palette: 5 tokens (primary, surface, text-primary, text-secondary, accent) in oklch()/hsl() with concrete values
|
|
295
|
-
3. reject anti-patterns: centered stock heroes, default card grids, unmodified library defaults, AI purple-blue gradients, generic three-card feature rows, safe gray-on-white
|
|
296
|
-
4. require 6 states per surface: loading (skeleton), empty (illustration+CTA), error (message+retry), hover, focus, active
|
|
297
|
-
5. browser-check with Playwright MCP, wait for user confirmation after any login challenge, iterate until UI looks intentional
|
|
276
|
+
2. define design dials: variance (conservative | moderate | bold) / motion (minimal | medium | rich) / density (sparse | comfortable | dense) / typography (one display + one body) / palette (5 tokens in oklch/hsl).
|
|
277
|
+
3. reject anti-patterns: centered stock heroes, default card grids, unmodified library defaults, AI purple-blue gradients, generic three-card feature rows, safe gray-on-white.
|
|
278
|
+
4. require 6 states per surface: loading, empty, error, hover, focus, active.
|
|
279
|
+
5. browser-check with Playwright MCP, wait for user confirmation after any login challenge, iterate.
|
|
298
280
|
|
|
299
281
|
**When external design skills ARE available** (confirm via `peaks capabilities --source access-repo --json` first, reference only):
|
|
300
|
-
|
|
301
282
|
- `awesome-design-md`: layout composition, rhythm, atmosphere
|
|
302
283
|
- `taste-skill` / `design-taste-frontend`: anti-template, typography, color, density, motion critique
|
|
303
284
|
|
|
304
|
-
Full-auto
|
|
285
|
+
Full-auto output must include a short taste report: visual direction, references used, rejected generic patterns, browser observations, remaining design risks, and the next visual iteration if the page is not yet good enough.
|
|
305
286
|
|
|
306
287
|
## Mandatory design-draft output
|
|
307
288
|
|
|
@@ -360,6 +341,15 @@ UI sub-agents follow the same G7 metadata-only + G8.6 share protocol. UI artifac
|
|
|
360
341
|
|
|
361
342
|
### G8.6 — UI sub-agent prompt template
|
|
362
343
|
|
|
344
|
+
**Superpowers chain refusal (L1 worktree governance — locked 2026-07-29):** you MUST NOT follow the superpowers chain for worktree decisions: `superpowers:brainstorming` → `superpowers:writing-plans` → `superpowers:subagent-driven-development` → `superpowers:using-git-worktrees`. The chain ends with `git worktree add` (superpowers:using-git-worktrees SKILL.md line 96) and bypasses peaks-loop's L2 hook gate and L3 IDE `permissions.deny`. Even when L3 denies the terminal Skill, the chain has already taught you to use raw `git worktree add`, so L3 is not sufficient.
|
|
345
|
+
|
|
346
|
+
For worktree operations, use ONLY:
|
|
347
|
+
|
|
348
|
+
- `peaks worktree spawn --rid <rid> --ttl <duration> --purpose <text>` (after rid-L2-extended ships)
|
|
349
|
+
- until then: `peaks worktree auth grant --rid <id> --reason <text> --ttl <5m>`
|
|
350
|
+
|
|
351
|
+
The superpowers skills remain available as REFERENCE material for brainstorming / planning techniques, but MUST NOT be used as a workflow. peaks-ui's own UI artifacts (`.peaks/_runtime/<sessionId>/ui/<artifact>.md`) are authoritative. Full design: `skills/peaks-code/references/worktree-governance.md`.
|
|
352
|
+
|
|
363
353
|
```
|
|
364
354
|
You are sub-agent role ui, batch <batchId>.
|
|
365
355
|
|
|
@@ -373,3 +363,19 @@ PROTOCOL (mandatory):
|
|
|
373
363
|
|
|
374
364
|
Same as RD/QA. Use `--use-headroom` proactively.
|
|
375
365
|
|
|
366
|
+
|
|
367
|
+
## L2 surface reference (post rid-l2-extended)
|
|
368
|
+
|
|
369
|
+
For slices that touch the L2 surface, the canonical CLIs are:
|
|
370
|
+
- `peaks worktree {spawn,renew,list,gc,lease-status,release}` — lease lifecycle (Part 1-2)
|
|
371
|
+
- `peaks sub-agent dispatch --isolation worktree|container` — auto-spawns a lease (Part 2.C + Part 8 contract)
|
|
372
|
+
- `peaks container {spawn,release}` — L4 container runtime (Part 12, docker)
|
|
373
|
+
- `peaks lease-metrics [--rate] [--all-sessions]` — per-kind counts + leak rate (Part 4-5)
|
|
374
|
+
- `peaks lease-stats` — project-wide summary (Part 6)
|
|
375
|
+
- `peaks cron {init,list,run}` + `peaks cron-scheduler start` — periodic lease gc (Part 14-15)
|
|
376
|
+
- `peaks audit red-lines --project .` — 119 catalog red-lines / 86 cli-backed enforcers / 51 discovered (Part 13)
|
|
377
|
+
|
|
378
|
+
Verify the surface (no need to re-derive):
|
|
379
|
+
1. `peaks audit red-lines --project .` reports `proseOnly: 0` for any shipped L2 surface.
|
|
380
|
+
2. `peaks lease-metrics --rate` after a clean run reports `estimatedLeaked: 0`.
|
|
381
|
+
3. `peaks worktree list` returns 0 active leases after a clean run.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"id": 1,
|
|
4
|
+
"prompt": "根据产品文档做前端页面迭代,要求全自动模式下设计不要模板化,要比普通 Tailwind/shadcn 默认页更好看。",
|
|
5
|
+
"expected": "Peaks UI 走 awesome-design-md + taste-skill/design-taste-frontend 的参考和品味链路,先定义风格方向、字体、色彩、动效、密度和交互状态,避免默认卡片栅格、居中 hero、AI 紫蓝渐变,并用浏览器可见检查迭代。"
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
"id": 2,
|
|
9
|
+
"prompt": "前端实现已经完成,但页面看起来像默认模板。",
|
|
10
|
+
"expected": "Peaks UI 产出 taste report,指出弱层级、模板感、交互状态缺失、响应式问题,并退回设计/RD 迭代后再 QA。"
|
|
11
|
+
}
|
|
12
|
+
]
|
|
@@ -44,107 +44,88 @@ This skill is the **primary surface**. The `peaks <cmd>` CLI is **auxiliary**
|
|
|
44
44
|
|
|
45
45
|
**Peaks-Loop Code is an orchestrator, NOT an implementer. You MUST NOT write, edit, or modify any application source code directly.** Every code change goes through `peaks-code → RD → QA → verdict`. **If you catch yourself about to write code, STOP.** Hand off to RD. Before declaring workflow complete, run `peaks workflow verify-pipeline --rid <rid> --project <repo> --json`.
|
|
46
46
|
|
|
47
|
-
##
|
|
48
|
-
|
|
49
|
-
### Peaks-Loop Slice 011 — workspace consolidate + session checkpoint/resume
|
|
50
|
-
|
|
51
|
-
`peaks workspace consolidate` is the slice-011 umbrella primitive. `peaks session checkpoint` (context-overflow defense) and `peaks session resume` surface as Step 0.75 + Step N. See `references/cross-date-session-check.md`.
|
|
52
|
-
|
|
53
|
-
### Peaks-Loop Step 0.75: Resume from checkpoint (BLOCKING on same-day re-invocation)
|
|
54
|
-
|
|
55
|
-
When a NEW conversation opens on a session whose `lastActivity` is from today AND `.peaks/_runtime/<sessionId>/checkpoints/` has `*.json`, surface via `peaks session info --active --json` + `peaks session resume --from <path> --project <repo>`. Prompt via `AskUserQuestion` (resume / fresh); if "resume", prepend the block. Step 0.75 is no-op on precondition fail. See `references/checkpoint-resume.md`.
|
|
56
|
-
|
|
57
|
-
### Peaks-Loop Step N: Periodic checkpoint (auto-fire, no user action)
|
|
58
|
-
|
|
59
|
-
Proactive context-overflow defense. CLI: `peaks session checkpoint [--reason <r>] [...flags]`. Fire `--reason periodic` every 20 tool calls (G1 hard-coded), `--reason artifact-written` per PRD/RD/QA/TXT write. See `references/periodic-checkpoint.md` (otherwise `tests/unit/code/checkpoint-periodic-frequency.test.ts` fails).
|
|
60
|
-
|
|
61
|
-
### Peaks-Loop Step 0.6: Audit + Goal (NEW)
|
|
62
|
-
|
|
63
|
-
Invoke peaks-audit after need expressed; store approved goal at `.peaks/_runtime/<sessionId>/audit-goal/<rid>.json`. **All autonomous work requires approved goal.** → `references/audit-goal-gate.md`.
|
|
64
|
-
|
|
65
|
-
### Peaks-Loop Step N+1: Final Review (NEW)
|
|
66
|
-
|
|
67
|
-
After autonomous work (RD, QA, security, perf), invoke peaks-final-review for 4-dim evidence. All 4 pass → final delivery; else loop back. See `references/final-review-gate.md`.
|
|
68
|
-
|
|
69
|
-
### Peaks-Loop Step N+2: Main-session context monitor (D6 + slice 2026-07-02)
|
|
47
|
+
## 24h mode (orchestrator flag, NOT a new skill)
|
|
70
48
|
|
|
71
|
-
|
|
49
|
+
24h mode is a *flag* the orchestrator flips, not a sibling skill. See `.peaks/memory/2026-07-28-peaks-code-loop-skill-proposal.md` for the RL-8 tension analysis. State machine via `peaks session 24h-mode {state,transition,attempts,reset}`; snapshot at `.peaks/_runtime/<sessionId>/24h-state.json` (read-only for peaks-code).
|
|
72
50
|
|
|
73
|
-
|
|
51
|
+
**5 auto-engage triggers:** T1 user NL keyword (`24h / 通宵 / 不计成本 / 不停机 / ...`) / T2 ≥30 active slices + ≥6h wall-clock / T3 ≥3 monotonic-guard fires + ≥10 slices remaining / T4 session gap ≥4h / T5 ≥3 active slices for restart. T3+T4 auto-engage 24H_ACTIVE; T1/T2/T5 surface for LLM judgement.
|
|
74
52
|
|
|
75
|
-
|
|
53
|
+
**3 decision buckets:** A (T3/T4, auto-engage, no brainstorming gate) / B (non-T3/T4, runbook brainstorming sub-step) / C (T1/T2/T5, surface `peaks session 24h-mode transition --state USER_CONFIRM`).
|
|
76
54
|
|
|
77
|
-
|
|
55
|
+
**Integration surfaces:** `peaks code run --24h` / `peaks dashboard long-run --since 24h` / `peaks session 24h-mode state|transition|attempts|reset`.
|
|
78
56
|
|
|
79
|
-
|
|
57
|
+
**Red lines (peaks-code side):**
|
|
58
|
+
- No auto-compact prose ban: never write "ask the user to compact" / "prompt the user to run `/compact`" / "the user should run `peaks compact auto` manually" / "the user is responsible for context management" / legacy 50/75/90 percent tiers. **0.85 / 0.95 contract is mandatory.**
|
|
59
|
+
- SquabbyZ sole-author rule: no `Co-Authored-By: Claude/Anthropic` trailer.
|
|
60
|
+
- 24h mode is a flag on `peaks-code`; MUST NOT introduce a sibling `peaks-24h` skill or competing top-level verb.
|
|
80
61
|
|
|
81
|
-
|
|
62
|
+
## 24h mode spill/hydrate (opt-in experimental, rid-032)
|
|
82
63
|
|
|
83
|
-
|
|
64
|
+
When 24h mode is active and an in-flight sub-agent batch is detected, the LLM MAY persist its current turn context to disk through the `session spill-demo` helper. Creates a `SpillRecord` in `.peaks/_runtime/<sessionId>/spill/`. Round-trip is idempotent; existing in-flight deferral still works without spill/hydrate. **Opt-in experimental** — not required.
|
|
84
65
|
|
|
85
|
-
|
|
66
|
+
## Peaks-Loop Superpowers 协作边界 (BRIDGE — MANDATORY, effective 2026-07-24)
|
|
86
67
|
|
|
87
|
-
|
|
68
|
+
Pins the boundary between `peaks-code` and the **superpowers** skill family (`brainstorming`, `writing-plans`, `executing-plans`, `subagent-driven-development`, `dispatching-parallel-agents`, `verification-before-completion`, `test-driven-development`, `systematic-debugging`, `requesting-code-review`, `receiving-code-review`, `using-superpowers`, `using-git-worktrees`, `finishing-a-development-branch`). Closed under slice 2026-07-24-peaks-code-bridge-002-rootcause.
|
|
88
69
|
|
|
89
|
-
|
|
70
|
+
- superpowers skills are **reference material**, not workflows peaks-code runs. They may NOT auto-replace peaks-rd, peaks-qa, peaks-ui, peaks-sc, or peaks-txt.
|
|
71
|
+
- When `superpowers:brainstorming` or `superpowers:writing-plans` is suggested, peaks-code MUST: (1) run as a **reference** to seed its own PRD/RD artefacts, (2) re-author as a peaks-rd PRD under `.peaks/_runtime/<sessionId>/rd/requests/<rid>.md`, (3) continue peaks-code's 11-step sequence from Step 3 — never the superpowers plan execution.
|
|
72
|
+
- `superpowers:writing-plans` / `superpowers:executing-plans` are **NOT** dispatched directly. peaks-rd is the only authoritative planner/executor pair.
|
|
73
|
+
- Any peaks-managed hook entry emitted by `peaks hooks install` MUST originate from `src/services/hooks/*.sh` in the peaks-loop repo. LLM-improvised hook scripts are forbidden (001-bridge root cause).
|
|
74
|
+
- Before any LLM edit to `~/.claude/skills/<skill>/*`, verify the path is a junction (`fsutil reparsepoint query` on Windows / `readlink` on POSIX). If it is a real directory, STOP and re-route via `peaks skill sync` after a junction rebuild — never write to a real directory (would pollute the npm sync chain).
|
|
75
|
+
- Mandatory closure: every peaks-code request MUST finish `peaks request transition` through `spec-locked → implemented → qa-handoff → handed-off` plus `peaks memory extract`. Half-finished state files are treated as pollution and the LLM MUST NOT exit without a transition note.
|
|
90
76
|
|
|
91
|
-
|
|
77
|
+
**Self-check (read before any tool call):** *Is the tool I am about to call a superpowers auto-runner, or a peaks-rd / peaks-qa sub-agent dispatch?* If it would short-circuit peaks-rd, STOP and dispatch via `peaks sub-agent dispatch rd`.
|
|
92
78
|
|
|
93
|
-
|
|
79
|
+
## Worktree governance (3-layer design, locked 2026-07-29)
|
|
94
80
|
|
|
95
|
-
> **
|
|
81
|
+
> **npm-contract boundary.** Editing this file in `peaks-loop` source propagates to every consumer project on `npm install`. The 3-layer design is binding; downstream projects MAY extend Layer 2 with their own `peaks worktree auth grant` reasons but MUST NOT widen Layer 3's deny list outside the upstream `SUPERPOWERS_DENIED_SKILLS` constant. Full design, sub-agent contract, operator runbook → `references/worktree-governance.md`.
|
|
96
82
|
|
|
97
|
-
|
|
83
|
+
- **L1 — sub-agent system prompt** (`MUST NOT` on superpowers chain in dispatch templates; weakest, prose-only).
|
|
84
|
+
- **L2 — hook + lifecycle gate** (`peaks hooks install` → `peaks gate enforce` → `evaluateWorktreeAuth`; 5 deny codes `REQUIRED / EXPIRED / REQUEST_MISMATCH / CONSUMED / FILE_INVALID`).
|
|
85
|
+
- **L3 — IDE `permissions.deny`** (Claude Code refuses Skill BEFORE LLM sees it; strongest layer).
|
|
98
86
|
|
|
99
|
-
|
|
87
|
+
Sub-agents MUST NOT use raw `git worktree add`. The only authorized path is `peaks worktree spawn --rid <rid> --ttl <duration> --purpose <text>` (fall back to L2 hook gate + manual `peaks worktree auth grant` until rid-L2-extended ships). Sub-agents MUST write artifacts under `.peaks/_runtime/<sessionId>/<role>/requests/` in MAIN (`--project .`), not in a worktree. See `references/worktree-governance.md`.
|
|
100
88
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
**v3.1.2 mechanical gates** (recorder-only was bypassed twice):
|
|
104
|
-
|
|
105
|
-
PreToolUse hook on `peaks code gate-step-08`; size-fear ban on `peaks code emit-handoff`; forced auto-compact at ≥ 0.85 in Job mode; on-disk slice progress via `peaks job checkpoint` (canonical reader `peaks job progress --job-id <jid>`). Full mechanics (judgement criteria, hook table, backup-regex rationale, hook wiring) at `references/step-0-8-gate.md`.
|
|
106
|
-
|
|
107
|
-
### Peaks-Loop Step 0.81 — per-slice 收尾
|
|
108
|
-
|
|
109
|
-
After commit: `peaks job checkpoint --slice-id <rid> --state done --commit-sha $(git rev-parse HEAD)` → `peaks job status` → loop (remaining>0 → Step 1; ==0 → Step 8/9/10/11; blocked → Step 0.85).
|
|
110
|
-
|
|
111
|
-
### Peaks-Loop Step 0.85 — slice 阻塞处理
|
|
112
|
-
|
|
113
|
-
Trigger: `repair-status` atCap=true, context-now red-line ≥5min, or `subagent-cleanup` fails twice. Action: `peaks job block --slice-id <rid> --reason "<reason>"` then STOP.
|
|
114
|
-
|
|
115
|
-
### Peaks-Loop Step 0.86 — main session rotation
|
|
116
|
-
|
|
117
|
-
Active in rotating mode; fires every `rotateEvery` slices or via `peaks job rotate-now`. Sequence: cycle-summary → checkpoint rotate-marker → `peaks session rotate` → resume via `peaks session resume --job-id <jid>`.
|
|
118
|
-
|
|
119
|
-
### Peaks-Loop Step 0.87 — sub-agent cleanup gate
|
|
120
|
-
|
|
121
|
-
After every `peaks sub-agent dispatch --batch-id <id>` inside a Job, BEFORE next slice checkpoint: `peaks job subagent-cleanup --job-id <jid> --batch-id <id> --force`. Non-zero → block.
|
|
89
|
+
## Peaks-Loop Startup sequence (MANDATORY — execute in order)
|
|
122
90
|
|
|
123
|
-
|
|
91
|
+
Full content extracted to **`references/startup-sequence.md`** (Steps 0 / 0.5-0.87 / 1 / 2 / 2.3 / 2.5 / N / N+1 / N+2 + sub-agent sharing + boundaries). Read that file in full at session start; the sequence is MANDATORY.
|
|
124
92
|
|
|
125
|
-
|
|
93
|
+
## Peaks-Loop Step 0.8 — Job-shape detection (BLOCKING on LLM judgement)
|
|
126
94
|
|
|
127
|
-
|
|
95
|
+
> **BLOCKING on LLM judgement.** Before Step 1 mode selection, Code MUST surface a Job-shape decision via `peaks code detect-job` and persist it to `.peaks/_runtime/<sessionId>/job-shape.json`. The CLI is a recorder + gate — the LLM makes the judgement; downstream steps call `read-job-shape` and refuse if missing. See `references/step-0-8-gate.md` for the full contract. Skipping `peaks code detect-job` blocks the workflow at the next `read-job-shape` call (`JOB_SHAPE_NOT_DECIDED`).
|
|
128
96
|
|
|
129
|
-
|
|
97
|
+
**v3.1.2 mechanical gates** (must be un-bypassable):
|
|
98
|
+
1. **PreToolUse hook — `peaks code gate-step-08`.** Installed by `peaks workspace init` on the `Bash` matcher; checks `job-shape.json` presence + fail-closed backup regex. If `job-shape.json` AND `progress.json` exist, surfaces `Next: slice #N of M (<currentSlice>)` so the LLM cannot wake up cold.
|
|
99
|
+
2. **Size-fear ban — `peaks code emit-handoff`.** Refuses to emit a final handoff while `remaining > 0` under Job mode. Pass `--force-under-job` only with explicit user approval.
|
|
100
|
+
3. **On-disk slice progress — `peaks job progress`.** `peaks job checkpoint --state done` writes `progress.json`. `peaks job progress --job-id <jid> [--allow-missing]` is the canonical reader.
|
|
101
|
+
4. **Forced auto-compact — `--enforce-job-mode`.** `peaks code context-now --enforce-job-mode` returns `action: 'auto-compact-now'` at ≥ 0.85. **Job mode at ≥ 0.85 is MANDATORY auto-compact** — Code MUST call `peaks compact auto --execute` without confirmation.
|
|
130
102
|
|
|
131
|
-
|
|
103
|
+
**Step 0.7 resume rule (read-FIRST):** on resume, `peaks code gate-step-08` reads `progress.json` first and surfaces `Next: slice #N of M (<currentSlice>)` so the orchestrator picks up at the right slice without re-reading the artifact tree.
|
|
132
104
|
|
|
133
|
-
### Peaks-Loop Step 2
|
|
105
|
+
### Peaks-Loop Step N+2: Auto-compact at the warning line (v2.13.0 zero-pause contract)
|
|
134
106
|
|
|
135
|
-
|
|
107
|
+
> **Zero-pause contract.** When context usage crosses the pre-compact threshold, peaks-loop **automatically fires `peaks compact auto --execute` — the LLM does NOT prompt the user to run `/compact` manually**. Stale prose that says "ask the user to compact" silently stalls the workflow. The v2.13.0 contract makes auto-compact a system responsibility, not a user action.
|
|
136
108
|
|
|
137
|
-
|
|
109
|
+
**Thresholds (v2.13.0, replacing legacy 50/75/90):**
|
|
138
110
|
|
|
139
|
-
|
|
111
|
+
| ratio zone | zone name | action |
|
|
112
|
+
|---|---|---|
|
|
113
|
+
| `< 0.85` | normal | skip — LLM keeps working |
|
|
114
|
+
| `0.85 ≤ ratio < 0.95` | **pre-compact zone** | `peaks compact auto --execute` fires **automatically** (deferred only when in-flight sub-agent batch is running; fires the moment the batch lands). The LLM does not prompt the user. |
|
|
115
|
+
| `ratio ≥ 0.95` | **red-line (Karpathy §4)** | synchronous gate — `peaks compact auto --execute` invoked immediately; `peaks code context-now` returns `action: 'red-line'` and refuses to advance until ratio drops below 0.85. **Karpathy §4 automatic exception** — LLM cannot opt out. |
|
|
140
116
|
|
|
141
|
-
|
|
117
|
+
**Probe primitive (single source of truth):** `peaks code context-now --json`. Do NOT use `peaks context check --prompt-size` (deprecated, will silently under-report ratio). Returns `{ ratio, action: 'ok' | 'soft-warn' | 'auto-compact-now' | 'red-line' }` — Code reads `action` and dispatches `peaks compact auto --execute` on `auto-compact-now` or `red-line` without user confirmation.
|
|
142
118
|
|
|
143
|
-
|
|
119
|
+
**Enforcement layers (defense in depth):**
|
|
120
|
+
1. `src/services/code/auto-compact-orchestrator.ts` — `evaluateAutoCompactDecision` default-returns `shouldCompact: true` for both `pre-compact` and `red-line`. Only deferral is `inFlightBatch.hasInFlightBatch` (D6.e); no LLM/human approval branch.
|
|
121
|
+
2. `--enforce-job-mode` (v3.1.2) — Job mode elevates ≥0.85 to MANDATORY regardless of in-flight batch.
|
|
122
|
+
3. `peaks code gate-step-08` (PreToolUse hook) — surfaces `auto-compact-now` on every Bash call when ratio is in the zone, so the LLM cannot wake up cold and forget.
|
|
123
|
+
4. Karpathy §4 exception: `peaks compact auto --execute` is fired *by the orchestrator*, not by the user. If you find yourself about to write "ask the user to compact" / "prompt the user to run `/compact`", STOP — that is the regression.
|
|
144
124
|
|
|
145
|
-
|
|
125
|
+
**Anti-pattern (DO NOT introduce):** any of these strings in skills/* or comments signals the zero-pause contract has been broken:
|
|
126
|
+
- "ask the user to compact" / "prompt the user to run `/compact`" / "the user should run `peaks compact auto` manually" / "the user is responsible for context management" / legacy mid/seventy-five/ninety percent tiers (current is 0.85 / 0.95).
|
|
146
127
|
|
|
147
|
-
|
|
128
|
+
If the prose audit (`peaks audit red-lines`) flags any of the above, the slice is **blocked** until the prose is rewritten.
|
|
148
129
|
|
|
149
130
|
## CLI Drift Index (sediment 2026-07-09)
|
|
150
131
|
|
|
@@ -249,40 +230,4 @@ Three CLI primitives: `peaks sub-agent share / shared-read / await` (last-write-
|
|
|
249
230
|
|
|
250
231
|
## References
|
|
251
232
|
|
|
252
|
-
Index of every `references/` file. Read on demand.
|
|
253
|
-
|
|
254
|
-
| File | Coverage |
|
|
255
|
-
|---|---|
|
|
256
|
-
| `references/dag-orchestrator.md` | DAG-aware sub-agent dispatch. |
|
|
257
|
-
| `references/a2a-artifact-mapping.md` | A2A artifact-path mapping. |
|
|
258
|
-
| `references/anchoring-and-session-info.md` | Step 0 + session-conflict. |
|
|
259
|
-
| `references/artifact-contracts.md` | Sub-agent handoff contracts. |
|
|
260
|
-
| `references/boundaries.md` | Code's do / don't list. |
|
|
261
|
-
| `references/browser-workflow.md` | Browser workflow (Playwright MCP). |
|
|
262
|
-
| `references/codegraph-orchestration.md` | Codegraph role handoff. |
|
|
263
|
-
| `references/command-migration.md` | Legacy command migration. |
|
|
264
|
-
| `references/completion-handoff.md` | Completion handoff. |
|
|
265
|
-
| `references/context-governance.md` | G7-G9 sub-agent thresholds. |
|
|
266
|
-
| `references/external-references.md` | 3rd-party inventory + lifecycle. |
|
|
267
|
-
| `references/external-skill-invocation.md` | External skill invocation. |
|
|
268
|
-
| `references/existing-system-extraction.md` | Legacy project extraction. |
|
|
269
|
-
| `references/frontend-only-mode.md` | Frontend-only mode + mocks. |
|
|
270
|
-
| `references/gstack-integration.md` | GStack → Peaks mapping. |
|
|
271
|
-
| `references/headroom-integration.md` | Headroom-ai compression. |
|
|
272
|
-
| `references/local-artifact-workspace.md` | Workspace tree + root-prohibition. |
|
|
273
|
-
| `references/micro-cycle.md` | RD micro-cycle + repair loop. |
|
|
274
|
-
| `references/mode-selection.md` | Step 1 mode + `--mode`. |
|
|
275
|
-
| `references/playwright-mcp-multi-terminal.md` | Multi-terminal Playwright MCP. |
|
|
276
|
-
| `references/project-memory-loading.md` | Step 2.3 memories. |
|
|
277
|
-
| `references/project-scan-checklist.md` | Pre-RD scan + template. |
|
|
278
|
-
| `references/quality-gate-cheatsheet.md` | 5 CLI commands. |
|
|
279
|
-
| `references/refactor-mode.md` | Refactor mode + red lines. |
|
|
280
|
-
| `references/resume-detection.md` | Step 0.7 unfinished-work. |
|
|
281
|
-
| `references/runbook.md` | End-to-end CLI sequence. |
|
|
282
|
-
| `references/job-loop.md` | Step 0.8 / 0.81 / 0.85 / 0.86 / 0.87 deep-dive. |
|
|
283
|
-
| `references/skill-presence-and-title.md` | Step 2 + Step 2.5. |
|
|
284
|
-
| `references/standards-preflight.md` | Standards preflight. |
|
|
285
|
-
| `references/sub-agent-dispatch.md` | IDE-agnostic dispatch. |
|
|
286
|
-
| `references/swarm-dispatch-contract.md` | Swarm fan-out gate + shape. |
|
|
287
|
-
| `references/workflow-gates-and-types.md` | Type classification + 7 gates. |
|
|
288
|
-
| `references/workflow.md` | Workflow flow + transitions. |
|
|
233
|
+
Index of every `references/` file. Read on demand. The 35 reference files are listed in `references/references-index.md` (auto-generated, kept outside the SKILL.md byte cap). Top-5 by usage: `runbook.md`, `sub-agent-dispatch.md`, `micro-cycle.md`, `worktree-governance.md`, `workflow-gates-and-types.md`.
|
|
@@ -18,4 +18,18 @@ Peaks-Loop Code must not silently:
|
|
|
18
18
|
- create GitHub repositories;
|
|
19
19
|
- bypass role-skill artifacts.
|
|
20
20
|
|
|
21
|
-
Use the Peaks-Loop CLI for runtime side effects.
|
|
21
|
+
Use the Peaks-Loop CLI for runtime side effects.
|
|
22
|
+
|
|
23
|
+
## Superpowers red lines (effective 2026-07-24, slice 2026-07-24-peaks-code-bridge-002-rootcause)
|
|
24
|
+
|
|
25
|
+
`peaks-code` coordinates with the **superpowers** skill family but never lets it override peaks-loop governance:
|
|
26
|
+
|
|
27
|
+
- `superpowers:brainstorming` / `superpowers:writing-plans` — **reference only**. Output (brainstorm / plan) MUST be re-authored as a `peaks-rd` PRD/RD artefact under `.peaks/_runtime/<sessionId>/rd/requests/<rid>.md` before any peaks-code step continues. `superpowers:writing-plans` upstream SKILL.md is **not edited** (it is owned by superpowers and silently overwritten on `claude install skill superpowers:writing-plans`).
|
|
28
|
+
- `superpowers:executing-plans` / `superpowers:subagent-driven-development` — **forbidden** as direct runners. peaks-rd is the only authoritative planner + executor pair in the peaks-loop governance surface. Dispatching either one to replace peaks-rd is a governance violation and the LLM MUST stop.
|
|
29
|
+
- `superpowers:test-driven-development` / `superpowers:verification-before-completion` / `superpowers:systematic-debugging` — **reference only**. peaks-qa owns TDD, verification gates, and bug triage. The superpowers versions inform method selection; they are not dispatched in place of `peaks sub-agent dispatch qa`.
|
|
30
|
+
- `superpowers:dispatching-parallel-agents` — superseded by `peaks sub-agent dispatch --from-dag` (peaks-loop DAG-aware fan-out). Use the peaks primitive.
|
|
31
|
+
- `superpowers:using-git-worktrees` / `superpowers:using-superpowers` — informational. peaks-loop has its own workspace conventions (`.peaks/_runtime/<sessionId>/<role>/...` two-axis gitignored tree). Do not adopt superpowers' bare worktree conventions for peak-* work.
|
|
32
|
+
- `superpowers:finishing-a-development-branch` — informational. peaks-loop finishes via `peaks request transition` + `peaks memory extract`.
|
|
33
|
+
- `superpowers:requesting-code-review` / `superpowers:receiving-code-review` — informational. peaks-loop review channels are `peaks-reviewer` (v2.14.0 G4 third-party reviewer) + karpathy-reviewer (RD-side fanout) + karpathy-5way-fanout guard test.
|
|
34
|
+
|
|
35
|
+
If a user explicitly asks for "the superpowers plan flow" inside a peaks-code request, the answer is: brainstorm/plan via superpowers as references, then re-author through `peaks sub-agent dispatch rd` and continue peaks-code's 11-step sequence from Step 3.
|