peaks-loop 4.0.0-beta.7 → 4.0.0-beta.9
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 +135 -0
- package/README-en.md +178 -67
- package/README.md +178 -57
- package/bin/peaks.js +1 -1
- package/dist/cli/commands/_cli-error-envelope.d.ts +19 -0
- package/dist/cli/commands/_cli-error-envelope.js +50 -0
- package/dist/{src/cli → cli}/commands/core/skill-command.js +6 -3
- package/dist/{src/cli → cli}/commands/project-commands.js +9 -4
- package/dist/{src/cli → cli}/commands/runtime-commands.js +1 -1
- package/dist/{src/cli → cli}/commands/workflow-commands.js +13 -4
- package/dist/{src/cli → cli}/commands/workspace/init-command.d.ts +18 -0
- package/dist/{src/cli → cli}/commands/workspace/init-command.js +71 -2
- package/dist/{src/services → services}/config/model-routing.d.ts +9 -0
- package/dist/{src/services → services}/config/model-routing.js +14 -2
- package/dist/{src/services → services}/filesystem/file-lock.js +35 -12
- package/dist/{src/services → services}/ide/adapters/zcode-adapter.js +1 -1
- package/dist/{src/services → services}/ide/current-model-detector.js +1 -1
- package/dist/services/memory/project-context-service.d.ts +21 -0
- package/dist/{src/services → services}/memory/project-context-service.js +15 -2
- package/dist/{src/services → services}/polyrepo/polyrepo-dispatcher.js +1 -1
- package/dist/services/prd/project-scan-bootstrap-service.d.ts +52 -0
- package/dist/services/prd/project-scan-bootstrap-service.js +445 -0
- package/dist/{src/services → services}/scan/archetype-service.js +14 -2
- package/dist/{src/services → services}/scan/scan-types.d.ts +1 -1
- package/dist/{src/services → services}/standards/ide-aware-standards-service.js +3 -1
- package/dist/{src/services → services}/standards/migrate-claude-rules-service.js +24 -3
- package/dist/{src/services → services}/standards/missing-standards-detector.d.ts +11 -9
- package/dist/{src/services → services}/standards/missing-standards-detector.js +20 -13
- package/dist/{src/services → services}/standards/project-standards-service.js +130 -11
- package/dist/services/workspace/templates/project-scan/audit-output-schema.md +100 -0
- package/dist/services/workspace/templates/project-scan/business-knowledge.md +44 -0
- package/dist/services/workspace/templates/project-scan/index.d.ts +34 -0
- package/dist/services/workspace/templates/project-scan/index.js +60 -0
- package/dist/services/workspace/templates/project-scan/perf-template.md +109 -0
- package/dist/services/workspace/templates/project-scan/security-template.md +99 -0
- package/dist/shared/version.d.ts +1 -0
- package/dist/shared/version.js +1 -0
- package/examples/video-demo/README.md +108 -23
- package/examples/video-demo/preview/peaks-loop-demo-en.mp4 +0 -0
- package/examples/video-demo/preview/peaks-loop-demo.mp4 +0 -0
- package/package.json +23 -9
- package/scripts/copy-templates.mjs +64 -0
- package/skills/bee/peaks-rd/SKILL.md +1 -1
- package/skills/bee/peaks-rd/references/library-version-awareness.md +2 -2
- package/skills/bee/peaks-rd/references/mock-data-placement.md +1 -1
- package/skills/bee/peaks-rd/references/rd-runbook.md +2 -2
- package/skills/bee/peaks-rd/references/rd-transition-gates.md +2 -2
- package/skills/bee/peaks-rd/references/writing-handoff-frontmatter.md +1 -1
- package/skills/bee/peaks-ui/SKILL.md +2 -2
- package/skills/peaks-code/SKILL.md +18 -49
- package/skills/peaks-code/references/project-scan-checklist.md +3 -1
- package/skills/peaks-code/references/runbook.md +2 -2
- package/skills/peaks-code/references/standards-preflight.md +1 -1
- package/skills/peaks-code/references/step-11-memory-sediment.md +56 -0
- package/skills/peaks-code/references/swarm-dispatch-contract.md +1 -1
- package/skills/peaks-code/references/workflow-gates-and-types.md +3 -3
- package/dist/src/services/memory/project-context-service.d.ts +0 -11
- package/dist/src/shared/version.d.ts +0 -1
- package/dist/src/shared/version.js +0 -1
- package/dist/{src/cli → cli}/cli-helpers.d.ts +0 -0
- package/dist/{src/cli → cli}/cli-helpers.js +0 -0
- package/dist/{src/cli → cli}/commands/adapter-commands-s2a.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/adapter-commands-s2a.js +0 -0
- package/dist/{src/cli → cli}/commands/adapter-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/adapter-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/agent-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/agent-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/asset-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/asset-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/audit-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/audit-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/bee-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/bee-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/capability-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/capability-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/capability-worker-config-sc-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/capability-worker-config-sc-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/classify-classify-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/classify-classify-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/code-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/code-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/code-review-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/code-review-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/codegraph-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/codegraph-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/compact-command.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/compact-command.js +0 -0
- package/dist/{src/cli → cli}/commands/complexity-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/complexity-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/config-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/config-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/context-builder-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/context-builder-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/context-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/context-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/contract-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/contract-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/core/artifacts-command.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/core/artifacts-command.js +0 -0
- package/dist/{src/cli → cli}/commands/core/binding-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/core/binding-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/core/doctor-command.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/core/doctor-command.js +0 -0
- package/dist/{src/cli → cli}/commands/core/memory-command.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/core/memory-command.js +0 -0
- package/dist/{src/cli → cli}/commands/core/profile-command.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/core/profile-command.js +0 -0
- package/dist/{src/cli → cli}/commands/core/proxy-command.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/core/proxy-command.js +0 -0
- package/dist/{src/cli → cli}/commands/core/session-command.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/core/session-command.js +0 -0
- package/dist/{src/cli → cli}/commands/core/skill-command.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/core/standards-command.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/core/standards-command.js +0 -0
- package/dist/{src/cli → cli}/commands/core-artifact-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/core-artifact-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/dispatch-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/dispatch-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/dispatch-from-dag.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/dispatch-from-dag.js +0 -0
- package/dist/{src/cli → cli}/commands/doc-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/doc-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/evolution-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/evolution-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/feedback-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/feedback-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/final-review-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/final-review-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/fixture-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/fixture-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/fork-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/fork-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/gate-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/gate-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/heartbeat-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/heartbeat-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/hook-handle.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/hook-handle.js +0 -0
- package/dist/{src/cli → cli}/commands/hooks-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/hooks-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/ide-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/ide-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/impact-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/impact-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/job-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/job-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/legacy-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/legacy-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/log-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/log-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/loop-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/loop-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/loop-eval-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/loop-eval-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/memory-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/memory-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/migrate-1-4-1-command.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/migrate-1-4-1-command.js +0 -0
- package/dist/{src/cli → cli}/commands/migrate-v2-10-to-v2-11-command.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/migrate-v2-10-to-v2-11-command.js +0 -0
- package/dist/{src/cli → cli}/commands/mut-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/mut-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/observability-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/observability-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/openspec-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/openspec-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/perf-audit-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/perf-audit-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/perf-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/perf-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/playwright-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/playwright-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/polyrepo-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/polyrepo-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/prd-blocks-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/prd-blocks-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/prd-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/prd-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/preferences-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/preferences-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/project-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/qa-business-review-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/qa-business-review-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/qa-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/qa-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/release-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/release-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/request-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/request-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/retrospective-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/retrospective-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/reviewer-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/reviewer-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/role-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/role-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/runtime-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/sc-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/sc-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/scan-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/scan-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/security-audit-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/security-audit-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/sediment-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/sediment-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/session-auto-compact-hook-command.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/session-auto-compact-hook-command.js +0 -0
- package/dist/{src/cli → cli}/commands/session-checkpoint-command.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/session-checkpoint-command.js +0 -0
- package/dist/{src/cli → cli}/commands/session-migrate-skill-name.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/session-migrate-skill-name.js +0 -0
- package/dist/{src/cli → cli}/commands/session-resume-command.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/session-resume-command.js +0 -0
- package/dist/{src/cli → cli}/commands/share-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/share-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/skill-conformance-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/skill-conformance-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/skill-loop-engineering-readiness-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/skill-loop-engineering-readiness-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/skill-search-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/skill-search-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/skill-visibility.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/skill-visibility.js +0 -0
- package/dist/{src/cli → cli}/commands/slice-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/slice-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/slice-integrate-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/slice-integrate-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/slice-review-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/slice-review-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/smoke-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/smoke-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/sop-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/sop-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/statusline-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/statusline-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/sub-agent-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/sub-agent-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/sub-agent-dispatch-guard.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/sub-agent-dispatch-guard.js +0 -0
- package/dist/{src/cli → cli}/commands/sub-agent-shared.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/sub-agent-shared.js +0 -0
- package/dist/{src/cli → cli}/commands/test-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/test-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/understand-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/understand-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/upgrade-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/upgrade-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/user-touchpoint-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/user-touchpoint-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/verdict-aggregate-command.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/verdict-aggregate-command.js +0 -0
- package/dist/{src/cli → cli}/commands/worker-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/worker-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/workflow-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/workflow-plan-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/workflow-plan-commands.js +0 -0
- package/dist/{src/cli → cli}/commands/workspace/clean-command.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/workspace/clean-command.js +0 -0
- package/dist/{src/cli → cli}/commands/workspace/helpers.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/workspace/helpers.js +0 -0
- package/dist/{src/cli → cli}/commands/workspace/migrate-command.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/workspace/migrate-command.js +0 -0
- package/dist/{src/cli → cli}/commands/workspace/reconcile-command.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/workspace/reconcile-command.js +0 -0
- package/dist/{src/cli → cli}/commands/workspace-commands.d.ts +0 -0
- package/dist/{src/cli → cli}/commands/workspace-commands.js +0 -0
- package/dist/{src/cli → cli}/index.d.ts +0 -0
- package/dist/{src/cli → cli}/index.js +0 -0
- package/dist/{src/cli → cli}/program.d.ts +0 -0
- package/dist/{src/cli → cli}/program.js +0 -0
- package/dist/{src/hooks → hooks}/pre-tool-use-sub-agent.d.ts +0 -0
- package/dist/{src/hooks → hooks}/pre-tool-use-sub-agent.js +0 -0
- package/dist/{src/lib → lib}/render/message-renderer.d.ts +0 -0
- package/dist/{src/lib → lib}/render/message-renderer.js +0 -0
- package/dist/{src/services → services}/adapter/adapter-registry.d.ts +0 -0
- package/dist/{src/services → services}/adapter/adapter-registry.js +0 -0
- package/dist/{src/services → services}/adapter/adapter.d.ts +0 -0
- package/dist/{src/services → services}/adapter/adapter.js +0 -0
- package/dist/{src/services → services}/adapter/auto-adapter.d.ts +0 -0
- package/dist/{src/services → services}/adapter/auto-adapter.js +0 -0
- package/dist/{src/services → services}/adapter/claude-adapter.d.ts +0 -0
- package/dist/{src/services → services}/adapter/claude-adapter.js +0 -0
- package/dist/{src/services → services}/adapter/codex-adapter.d.ts +0 -0
- package/dist/{src/services → services}/adapter/codex-adapter.js +0 -0
- package/dist/{src/services → services}/adapter/copilot-adapter.d.ts +0 -0
- package/dist/{src/services → services}/adapter/copilot-adapter.js +0 -0
- package/dist/{src/services → services}/agent/ecc-agent-service.d.ts +0 -0
- package/dist/{src/services → services}/agent/ecc-agent-service.js +0 -0
- package/dist/{src/services → services}/artifacts/artifact-lint-service.d.ts +0 -0
- package/dist/{src/services → services}/artifacts/artifact-lint-service.js +0 -0
- package/dist/{src/services → services}/artifacts/artifact-prerequisites.d.ts +0 -0
- package/dist/{src/services → services}/artifacts/artifact-prerequisites.js +0 -0
- package/dist/{src/services → services}/artifacts/artifact-service.d.ts +0 -0
- package/dist/{src/services → services}/artifacts/artifact-service.js +0 -0
- package/dist/{src/services → services}/artifacts/artifact-templates.d.ts +0 -0
- package/dist/{src/services → services}/artifacts/artifact-templates.js +0 -0
- package/dist/{src/services → services}/artifacts/repair-cycle-service.d.ts +0 -0
- package/dist/{src/services → services}/artifacts/repair-cycle-service.js +0 -0
- package/dist/{src/services → services}/artifacts/request-artifact-service.d.ts +0 -0
- package/dist/{src/services → services}/artifacts/request-artifact-service.js +0 -0
- package/dist/{src/services → services}/artifacts/request-artifact-state-helpers.d.ts +0 -0
- package/dist/{src/services → services}/artifacts/request-artifact-state-helpers.js +0 -0
- package/dist/{src/services → services}/artifacts/workspace-service.d.ts +0 -0
- package/dist/{src/services → services}/artifacts/workspace-service.js +0 -0
- package/dist/{src/services → services}/audit/artifact-writer.d.ts +0 -0
- package/dist/{src/services → services}/audit/artifact-writer.js +0 -0
- package/dist/{src/services → services}/audit/audit-goal-service.d.ts +0 -0
- package/dist/{src/services → services}/audit/audit-goal-service.js +0 -0
- package/dist/{src/services → services}/audit/audit-goal-types.d.ts +0 -0
- package/dist/{src/services → services}/audit/audit-goal-types.js +0 -0
- package/dist/{src/services → services}/audit/backing-detector.d.ts +0 -0
- package/dist/{src/services → services}/audit/backing-detector.js +0 -0
- package/dist/{src/services → services}/audit/classifier.d.ts +0 -0
- package/dist/{src/services → services}/audit/classifier.js +0 -0
- package/dist/{src/services → services}/audit/decision-writer.d.ts +0 -0
- package/dist/{src/services → services}/audit/decision-writer.js +0 -0
- package/dist/{src/services → services}/audit/enforcers/active-skill-resolver.d.ts +0 -0
- package/dist/{src/services → services}/audit/enforcers/active-skill-resolver.js +0 -0
- package/dist/{src/services → services}/audit/enforcers/code-ban.d.ts +0 -0
- package/dist/{src/services → services}/audit/enforcers/code-ban.js +0 -0
- package/dist/{src/services → services}/audit/enforcers/design-draft-confirm.d.ts +0 -0
- package/dist/{src/services → services}/audit/enforcers/design-draft-confirm.js +0 -0
- package/dist/{src/services → services}/audit/enforcers/lint-audit-regression.d.ts +0 -0
- package/dist/{src/services → services}/audit/enforcers/lint-audit-regression.js +0 -0
- package/dist/{src/services → services}/audit/enforcers/lint-catalog-governance.d.ts +0 -0
- package/dist/{src/services → services}/audit/enforcers/lint-catalog-governance.js +0 -0
- package/dist/{src/services → services}/audit/enforcers/lint-cli-back.d.ts +0 -0
- package/dist/{src/services → services}/audit/enforcers/lint-cli-back.js +0 -0
- package/dist/{src/services → services}/audit/enforcers/lint-output-style.d.ts +0 -0
- package/dist/{src/services → services}/audit/enforcers/lint-output-style.js +0 -0
- package/dist/{src/services → services}/audit/enforcers/lint-reference-integrity.d.ts +0 -0
- package/dist/{src/services → services}/audit/enforcers/lint-reference-integrity.js +0 -0
- package/dist/{src/services → services}/audit/enforcers/lint-reference-shape.d.ts +0 -0
- package/dist/{src/services → services}/audit/enforcers/lint-reference-shape.js +0 -0
- package/dist/{src/services → services}/audit/enforcers/lint-style.d.ts +0 -0
- package/dist/{src/services → services}/audit/enforcers/lint-style.js +0 -0
- package/dist/{src/services → services}/audit/enforcers/lint-workflow-shape.d.ts +0 -0
- package/dist/{src/services → services}/audit/enforcers/lint-workflow-shape.js +0 -0
- package/dist/{src/services → services}/audit/enforcers/login-gate.d.ts +0 -0
- package/dist/{src/services → services}/audit/enforcers/login-gate.js +0 -0
- package/dist/{src/services → services}/audit/enforcers/mock-placement.d.ts +0 -0
- package/dist/{src/services → services}/audit/enforcers/mock-placement.js +0 -0
- package/dist/{src/services → services}/audit/enforcers/no-root-pollution.d.ts +0 -0
- package/dist/{src/services → services}/audit/enforcers/no-root-pollution.js +0 -0
- package/dist/{src/services → services}/audit/enforcers/pre-rd-scan.d.ts +0 -0
- package/dist/{src/services → services}/audit/enforcers/pre-rd-scan.js +0 -0
- package/dist/{src/services → services}/audit/enforcers/prototype-fidelity.d.ts +0 -0
- package/dist/{src/services → services}/audit/enforcers/prototype-fidelity.js +0 -0
- package/dist/{src/services → services}/audit/enforcers/resume-detection.d.ts +0 -0
- package/dist/{src/services → services}/audit/enforcers/resume-detection.js +0 -0
- package/dist/{src/services → services}/audit/enforcers/sub-agent-sid.d.ts +0 -0
- package/dist/{src/services → services}/audit/enforcers/sub-agent-sid.js +0 -0
- package/dist/{src/services → services}/audit/prose-ratio-calculator.d.ts +0 -0
- package/dist/{src/services → services}/audit/prose-ratio-calculator.js +0 -0
- package/dist/{src/services → services}/audit/red-line-catalog-p2-a.d.ts +0 -0
- package/dist/{src/services → services}/audit/red-line-catalog-p2-a.js +0 -0
- package/dist/{src/services → services}/audit/red-line-catalog-p2-b.d.ts +0 -0
- package/dist/{src/services → services}/audit/red-line-catalog-p2-b.js +0 -0
- package/dist/{src/services → services}/audit/red-line-catalog.d.ts +0 -0
- package/dist/{src/services → services}/audit/red-line-catalog.js +0 -0
- package/dist/{src/services → services}/audit/red-lines-service.d.ts +0 -0
- package/dist/{src/services → services}/audit/red-lines-service.js +0 -0
- package/dist/{src/services → services}/audit/scanners/openspec-scanner.d.ts +0 -0
- package/dist/{src/services → services}/audit/scanners/openspec-scanner.js +0 -0
- package/dist/{src/services → services}/audit/scanners/rules-tree-scanner.d.ts +0 -0
- package/dist/{src/services → services}/audit/scanners/rules-tree-scanner.js +0 -0
- package/dist/{src/services → services}/audit/scanners/skills-tree-scanner.d.ts +0 -0
- package/dist/{src/services → services}/audit/scanners/skills-tree-scanner.js +0 -0
- package/dist/{src/services → services}/audit/static-service.d.ts +0 -0
- package/dist/{src/services → services}/audit/static-service.js +0 -0
- package/dist/{src/services → services}/audit/types.d.ts +0 -0
- package/dist/{src/services → services}/audit/types.js +0 -0
- package/dist/{src/services → services}/audit-independent/perf-audit-service.d.ts +0 -0
- package/dist/{src/services → services}/audit-independent/perf-audit-service.js +0 -0
- package/dist/{src/services → services}/audit-independent/security-audit-service.d.ts +0 -0
- package/dist/{src/services → services}/audit-independent/security-audit-service.js +0 -0
- package/dist/{src/services → services}/classify/classify-service.d.ts +0 -0
- package/dist/{src/services → services}/classify/classify-service.js +0 -0
- package/dist/{src/services → services}/classify/classify-types.d.ts +0 -0
- package/dist/{src/services → services}/classify/classify-types.js +0 -0
- package/dist/{src/services → services}/code/auto-compact-orchestrator.d.ts +0 -0
- package/dist/{src/services → services}/code/auto-compact-orchestrator.js +0 -0
- package/dist/{src/services → services}/code/batch-heartbeat-poller.d.ts +0 -0
- package/dist/{src/services → services}/code/batch-heartbeat-poller.js +0 -0
- package/dist/{src/services → services}/code/dag-orchestrator.d.ts +0 -0
- package/dist/{src/services → services}/code/dag-orchestrator.js +0 -0
- package/dist/{src/services → services}/code/emit-handoff.d.ts +0 -0
- package/dist/{src/services → services}/code/emit-handoff.js +0 -0
- package/dist/{src/services → services}/code/job-shape-decision.d.ts +0 -0
- package/dist/{src/services → services}/code/job-shape-decision.js +0 -0
- package/dist/{src/services → services}/code/mode-gate.d.ts +0 -0
- package/dist/{src/services → services}/code/mode-gate.js +0 -0
- package/dist/{src/services → services}/code/post-compact-detector.d.ts +0 -0
- package/dist/{src/services → services}/code/post-compact-detector.js +0 -0
- package/dist/{src/services → services}/code/status-line-renderer.d.ts +0 -0
- package/dist/{src/services → services}/code/status-line-renderer.js +0 -0
- package/dist/{src/services → services}/code/step-08-gate.d.ts +0 -0
- package/dist/{src/services → services}/code/step-08-gate.js +0 -0
- package/dist/{src/services → services}/code/user-touchpoint-classifier.d.ts +0 -0
- package/dist/{src/services → services}/code/user-touchpoint-classifier.js +0 -0
- package/dist/{src/services → services}/code-review/ecc-bridge.d.ts +0 -0
- package/dist/{src/services → services}/code-review/ecc-bridge.js +0 -0
- package/dist/{src/services → services}/code-review/ocr-service.d.ts +0 -0
- package/dist/{src/services → services}/code-review/ocr-service.js +0 -0
- package/dist/{src/services → services}/codegraph/codegraph-process-runner.d.ts +0 -0
- package/dist/{src/services → services}/codegraph/codegraph-process-runner.js +0 -0
- package/dist/{src/services → services}/codegraph/codegraph-service.d.ts +0 -0
- package/dist/{src/services → services}/codegraph/codegraph-service.js +0 -0
- package/dist/{src/services → services}/compact/decision-tables.d.ts +0 -0
- package/dist/{src/services → services}/compact/decision-tables.js +0 -0
- package/dist/{src/services → services}/compact/request-transition-hook.d.ts +0 -0
- package/dist/{src/services → services}/compact/request-transition-hook.js +0 -0
- package/dist/{src/services → services}/compact/suggest-service.d.ts +0 -0
- package/dist/{src/services → services}/compact/suggest-service.js +0 -0
- package/dist/{src/services → services}/complexity/complexity-estimator.d.ts +0 -0
- package/dist/{src/services → services}/complexity/complexity-estimator.js +0 -0
- package/dist/{src/services → services}/config/config-migration.d.ts +0 -0
- package/dist/{src/services → services}/config/config-migration.js +0 -0
- package/dist/{src/services → services}/config/config-restore.d.ts +0 -0
- package/dist/{src/services → services}/config/config-restore.js +0 -0
- package/dist/{src/services → services}/config/config-rollback.d.ts +0 -0
- package/dist/{src/services → services}/config/config-rollback.js +0 -0
- package/dist/{src/services → services}/config/config-safety.d.ts +0 -0
- package/dist/{src/services → services}/config/config-safety.js +0 -0
- package/dist/{src/services → services}/config/config-service.d.ts +0 -0
- package/dist/{src/services → services}/config/config-service.js +0 -0
- package/dist/{src/services → services}/config/config-types.d.ts +0 -0
- package/dist/{src/services → services}/config/config-types.js +0 -0
- package/dist/{src/services → services}/config/provider-service.d.ts +0 -0
- package/dist/{src/services → services}/config/provider-service.js +0 -0
- package/dist/{src/services → services}/config/proxy-service.d.ts +0 -0
- package/dist/{src/services → services}/config/proxy-service.js +0 -0
- package/dist/{src/services → services}/config/sidecar-store.d.ts +0 -0
- package/dist/{src/services → services}/config/sidecar-store.js +0 -0
- package/dist/{src/services → services}/config/workspace-state-service.d.ts +0 -0
- package/dist/{src/services → services}/config/workspace-state-service.js +0 -0
- package/dist/{src/services → services}/context/artifact-meta.d.ts +0 -0
- package/dist/{src/services → services}/context/artifact-meta.js +0 -0
- package/dist/{src/services → services}/context/auto-compact-dispatcher.d.ts +0 -0
- package/dist/{src/services → services}/context/auto-compact-dispatcher.js +0 -0
- package/dist/{src/services → services}/context/auto-compact-reader.d.ts +0 -0
- package/dist/{src/services → services}/context/auto-compact-reader.js +0 -0
- package/dist/{src/services → services}/context/auto-compact-types.d.ts +0 -0
- package/dist/{src/services → services}/context/auto-compact-types.js +0 -0
- package/dist/{src/services → services}/context/collector.d.ts +0 -0
- package/dist/{src/services → services}/context/collector.js +0 -0
- package/dist/{src/services → services}/context/context-builder.d.ts +0 -0
- package/dist/{src/services → services}/context/context-builder.js +0 -0
- package/dist/{src/services → services}/context/context-guard.d.ts +0 -0
- package/dist/{src/services → services}/context/context-guard.js +0 -0
- package/dist/{src/services → services}/context/context-schema.d.ts +0 -0
- package/dist/{src/services → services}/context/context-schema.js +0 -0
- package/dist/{src/services → services}/context/dispatch-context-guard.d.ts +0 -0
- package/dist/{src/services → services}/context/dispatch-context-guard.js +0 -0
- package/dist/{src/services → services}/context/doc-retriever.d.ts +0 -0
- package/dist/{src/services → services}/context/doc-retriever.js +0 -0
- package/dist/{src/services → services}/context/headroom-client.d.ts +0 -0
- package/dist/{src/services → services}/context/headroom-client.js +0 -0
- package/dist/{src/services → services}/context/headroom-fetcher.d.ts +0 -0
- package/dist/{src/services → services}/context/headroom-fetcher.js +0 -0
- package/dist/{src/services → services}/context/headroom-prefs.d.ts +0 -0
- package/dist/{src/services → services}/context/headroom-prefs.js +0 -0
- package/dist/{src/services → services}/context/index.d.ts +0 -0
- package/dist/{src/services → services}/context/index.js +0 -0
- package/dist/{src/services → services}/context/main-session-monitor.d.ts +0 -0
- package/dist/{src/services → services}/context/main-session-monitor.js +0 -0
- package/dist/{src/services → services}/context/renderer.d.ts +0 -0
- package/dist/{src/services → services}/context/renderer.js +0 -0
- package/dist/{src/services → services}/context/shared-channel.d.ts +0 -0
- package/dist/{src/services → services}/context/shared-channel.js +0 -0
- package/dist/{src/services → services}/context/threshold.d.ts +0 -0
- package/dist/{src/services → services}/context/threshold.js +0 -0
- package/dist/{src/services → services}/context/tokenizer.d.ts +0 -0
- package/dist/{src/services → services}/context/tokenizer.js +0 -0
- package/dist/{src/services → services}/context/types.d.ts +0 -0
- package/dist/{src/services → services}/context/types.js +0 -0
- package/dist/{src/services → services}/crystallization/crystallization-service.d.ts +0 -0
- package/dist/{src/services → services}/crystallization/crystallization-service.js +0 -0
- package/dist/{src/services → services}/crystallization/crystallization-store.d.ts +0 -0
- package/dist/{src/services → services}/crystallization/crystallization-store.js +0 -0
- package/dist/{src/services → services}/crystallization/crystallization-types.d.ts +0 -0
- package/dist/{src/services → services}/crystallization/crystallization-types.js +0 -0
- package/dist/{src/services → services}/crystallization/evidence-brief-builder.d.ts +0 -0
- package/dist/{src/services → services}/crystallization/evidence-brief-builder.js +0 -0
- package/dist/{src/services → services}/dashboard/project-dashboard-service.d.ts +0 -0
- package/dist/{src/services → services}/dashboard/project-dashboard-service.js +0 -0
- package/dist/{src/services → services}/dispatch/batch-counter.d.ts +0 -0
- package/dist/{src/services → services}/dispatch/batch-counter.js +0 -0
- package/dist/{src/services → services}/dispatch/contract-store.d.ts +0 -0
- package/dist/{src/services → services}/dispatch/contract-store.js +0 -0
- package/dist/{src/services → services}/dispatch/dispatch-record-writer.d.ts +0 -0
- package/dist/{src/services → services}/dispatch/dispatch-record-writer.js +0 -0
- package/dist/{src/services → services}/dispatch/heartbeat-truncator.d.ts +0 -0
- package/dist/{src/services → services}/dispatch/heartbeat-truncator.js +0 -0
- package/dist/{src/services → services}/dispatch/leak-detector.d.ts +0 -0
- package/dist/{src/services → services}/dispatch/leak-detector.js +0 -0
- package/dist/{src/services → services}/dispatch/slice-dag.d.ts +0 -0
- package/dist/{src/services → services}/dispatch/slice-dag.js +0 -0
- package/dist/{src/services → services}/dispatch/sub-agent-dispatcher.d.ts +0 -0
- package/dist/{src/services → services}/dispatch/sub-agent-dispatcher.js +0 -0
- package/dist/{src/services → services}/dispatch/test-tool-detection.d.ts +0 -0
- package/dist/{src/services → services}/dispatch/test-tool-detection.js +0 -0
- package/dist/{src/services → services}/doc/doc-generator.d.ts +0 -0
- package/dist/{src/services → services}/doc/doc-generator.js +0 -0
- package/dist/{src/services → services}/doctor/doctor-service.d.ts +0 -0
- package/dist/{src/services → services}/doctor/doctor-service.js +0 -0
- package/dist/{src/services → services}/evolution/evolution-service.d.ts +0 -0
- package/dist/{src/services → services}/evolution/evolution-service.js +0 -0
- package/dist/{src/services → services}/evolution/evolution-store.d.ts +0 -0
- package/dist/{src/services → services}/evolution/evolution-store.js +0 -0
- package/dist/{src/services → services}/evolution/evolution-types.d.ts +0 -0
- package/dist/{src/services → services}/evolution/evolution-types.js +0 -0
- package/dist/{src/services → services}/evolution/independent-evaluator-runner.d.ts +0 -0
- package/dist/{src/services → services}/evolution/independent-evaluator-runner.js +0 -0
- package/dist/{src/services → services}/evolution/regression-skeptic-runner.d.ts +0 -0
- package/dist/{src/services → services}/evolution/regression-skeptic-runner.js +0 -0
- package/dist/{src/services → services}/feedback/feedback-promotion-service.d.ts +0 -0
- package/dist/{src/services → services}/feedback/feedback-promotion-service.js +0 -0
- package/dist/{src/services → services}/filesystem/file-lock.d.ts +0 -0
- package/dist/{src/services → services}/final-review/final-review-service.d.ts +0 -0
- package/dist/{src/services → services}/final-review/final-review-service.js +0 -0
- package/dist/{src/services → services}/final-review/final-review-types.d.ts +0 -0
- package/dist/{src/services → services}/final-review/final-review-types.js +0 -0
- package/dist/{src/services → services}/fixture/fixture-capture-service.d.ts +0 -0
- package/dist/{src/services → services}/fixture/fixture-capture-service.js +0 -0
- package/dist/{src/services → services}/fixture/fixture-sanitize-service.d.ts +0 -0
- package/dist/{src/services → services}/fixture/fixture-sanitize-service.js +0 -0
- package/dist/{src/services → services}/fixture/index.d.ts +0 -0
- package/dist/{src/services → services}/fixture/index.js +0 -0
- package/dist/{src/services → services}/fork/fork-sync-state.d.ts +0 -0
- package/dist/{src/services → services}/fork/fork-sync-state.js +0 -0
- package/dist/{src/services → services}/fuzzy-matching/fuzzy-match-service.d.ts +0 -0
- package/dist/{src/services → services}/fuzzy-matching/fuzzy-match-service.js +0 -0
- package/dist/{src/services → services}/fuzzy-matching/fzf-pick-service.d.ts +0 -0
- package/dist/{src/services → services}/fuzzy-matching/fzf-pick-service.js +0 -0
- package/dist/{src/services → services}/fuzzy-matching/types.d.ts +0 -0
- package/dist/{src/services → services}/fuzzy-matching/types.js +0 -0
- package/dist/{src/services → services}/handoff/handoff-parser.d.ts +0 -0
- package/dist/{src/services → services}/handoff/handoff-parser.js +0 -0
- package/dist/{src/services → services}/handoff/handoff-types.d.ts +0 -0
- package/dist/{src/services → services}/handoff/handoff-types.js +0 -0
- package/dist/{src/services → services}/handoff/handoff-writer.d.ts +0 -0
- package/dist/{src/services → services}/handoff/handoff-writer.js +0 -0
- package/dist/{src/services → services}/hooks/auto-compact-hook-install.d.ts +0 -0
- package/dist/{src/services → services}/hooks/auto-compact-hook-install.js +0 -0
- package/dist/{src/services → services}/hooks/output.d.ts +0 -0
- package/dist/{src/services → services}/hooks/output.js +0 -0
- package/dist/{src/services → services}/hooks/presence-marker-detector.d.ts +0 -0
- package/dist/{src/services → services}/hooks/presence-marker-detector.js +0 -0
- package/dist/{src/services → services}/ide/adapters/claude-code-adapter.d.ts +0 -0
- package/dist/{src/services → services}/ide/adapters/claude-code-adapter.js +0 -0
- package/dist/{src/services → services}/ide/adapters/codex-adapter.d.ts +0 -0
- package/dist/{src/services → services}/ide/adapters/codex-adapter.js +0 -0
- package/dist/{src/services → services}/ide/adapters/cursor-adapter.d.ts +0 -0
- package/dist/{src/services → services}/ide/adapters/cursor-adapter.js +0 -0
- package/dist/{src/services → services}/ide/adapters/hermes-adapter.d.ts +0 -0
- package/dist/{src/services → services}/ide/adapters/hermes-adapter.js +0 -0
- package/dist/{src/services → services}/ide/adapters/openclaw-adapter.d.ts +0 -0
- package/dist/{src/services → services}/ide/adapters/openclaw-adapter.js +0 -0
- package/dist/{src/services → services}/ide/adapters/trae-adapter.d.ts +0 -0
- package/dist/{src/services → services}/ide/adapters/trae-adapter.js +0 -0
- package/dist/{src/services → services}/ide/adapters/zcode-adapter.d.ts +0 -0
- package/dist/{src/services → services}/ide/current-model-detector.d.ts +0 -0
- package/dist/{src/services → services}/ide/hook-protocol.d.ts +0 -0
- package/dist/{src/services → services}/ide/hook-protocol.js +0 -0
- package/dist/{src/services → services}/ide/hook-translator.d.ts +0 -0
- package/dist/{src/services → services}/ide/hook-translator.js +0 -0
- package/dist/{src/services → services}/ide/ide-detector.d.ts +0 -0
- package/dist/{src/services → services}/ide/ide-detector.js +0 -0
- package/dist/{src/services → services}/ide/ide-registry.d.ts +0 -0
- package/dist/{src/services → services}/ide/ide-registry.js +0 -0
- package/dist/{src/services → services}/ide/ide-types.d.ts +0 -0
- package/dist/{src/services → services}/ide/ide-types.js +0 -0
- package/dist/{src/services → services}/ide/resource-profile.d.ts +0 -0
- package/dist/{src/services → services}/ide/resource-profile.js +0 -0
- package/dist/{src/services → services}/ide/shared/atomic-json.d.ts +0 -0
- package/dist/{src/services → services}/ide/shared/atomic-json.js +0 -0
- package/dist/{src/services → services}/ide/shared/safe-path.d.ts +0 -0
- package/dist/{src/services → services}/ide/shared/safe-path.js +0 -0
- package/dist/{src/services → services}/impact/impact-scan-service.d.ts +0 -0
- package/dist/{src/services → services}/impact/impact-scan-service.js +0 -0
- package/dist/{src/services → services}/job/job-event-emitter.d.ts +0 -0
- package/dist/{src/services → services}/job/job-event-emitter.js +0 -0
- package/dist/{src/services → services}/job/job-orchestrator.d.ts +0 -0
- package/dist/{src/services → services}/job/job-orchestrator.js +0 -0
- package/dist/{src/services → services}/job/job-progress-store.d.ts +0 -0
- package/dist/{src/services → services}/job/job-progress-store.js +0 -0
- package/dist/{src/services → services}/job/job-resource-snapshot.d.ts +0 -0
- package/dist/{src/services → services}/job/job-resource-snapshot.js +0 -0
- package/dist/{src/services → services}/job/job-rotation.d.ts +0 -0
- package/dist/{src/services → services}/job/job-rotation.js +0 -0
- package/dist/{src/services → services}/job/job-state-store.d.ts +0 -0
- package/dist/{src/services → services}/job/job-state-store.js +0 -0
- package/dist/{src/services → services}/job/job-types.d.ts +0 -0
- package/dist/{src/services → services}/job/job-types.js +0 -0
- package/dist/{src/services → services}/job/subagent-job-wrapper.d.ts +0 -0
- package/dist/{src/services → services}/job/subagent-job-wrapper.js +0 -0
- package/dist/{src/services → services}/legacy/legacy-detector.d.ts +0 -0
- package/dist/{src/services → services}/legacy/legacy-detector.js +0 -0
- package/dist/{src/services → services}/log/log-commands-service.d.ts +0 -0
- package/dist/{src/services → services}/log/log-commands-service.js +0 -0
- package/dist/{src/services → services}/log/logger.d.ts +0 -0
- package/dist/{src/services → services}/log/logger.js +0 -0
- package/dist/{src/services → services}/log/redact.d.ts +0 -0
- package/dist/{src/services → services}/log/redact.js +0 -0
- package/dist/{src/services → services}/log/retention.d.ts +0 -0
- package/dist/{src/services → services}/log/retention.js +0 -0
- package/dist/{src/services → services}/loop/evaluator-dispatcher.d.ts +0 -0
- package/dist/{src/services → services}/loop/evaluator-dispatcher.js +0 -0
- package/dist/{src/services → services}/loop/loop-bee-relation-service.d.ts +0 -0
- package/dist/{src/services → services}/loop/loop-bee-relation-service.js +0 -0
- package/dist/{src/services → services}/loop/loop-bee-relation-store.d.ts +0 -0
- package/dist/{src/services → services}/loop/loop-bee-relation-store.js +0 -0
- package/dist/{src/services → services}/loop/loop-bee-relation-types.d.ts +0 -0
- package/dist/{src/services → services}/loop/loop-bee-relation-types.js +0 -0
- package/dist/{src/services → services}/loop/loop-release-service.d.ts +0 -0
- package/dist/{src/services → services}/loop/loop-release-service.js +0 -0
- package/dist/{src/services → services}/loop/loop-release-store.d.ts +0 -0
- package/dist/{src/services → services}/loop/loop-release-store.js +0 -0
- package/dist/{src/services → services}/loop/loop-release-types.d.ts +0 -0
- package/dist/{src/services → services}/loop/loop-release-types.js +0 -0
- package/dist/{src/services → services}/loop/monotonic-guard.d.ts +0 -0
- package/dist/{src/services → services}/loop/monotonic-guard.js +0 -0
- package/dist/{src/services → services}/loop/monotonic-runner.d.ts +0 -0
- package/dist/{src/services → services}/loop/monotonic-runner.js +0 -0
- package/dist/{src/services → services}/loop/run-driver.d.ts +0 -0
- package/dist/{src/services → services}/loop/run-driver.js +0 -0
- package/dist/{src/services → services}/loop/spec-service.d.ts +0 -0
- package/dist/{src/services → services}/loop/spec-service.js +0 -0
- package/dist/{src/services → services}/memory/llm-reranker.d.ts +0 -0
- package/dist/{src/services → services}/memory/llm-reranker.js +0 -0
- package/dist/{src/services → services}/memory/memory-search-service.d.ts +0 -0
- package/dist/{src/services → services}/memory/memory-search-service.js +0 -0
- package/dist/{src/services → services}/memory/project-memory-service.d.ts +0 -0
- package/dist/{src/services → services}/memory/project-memory-service.js +0 -0
- package/dist/{src/services → services}/migrate-skill-name/migrate.d.ts +0 -0
- package/dist/{src/services → services}/migrate-skill-name/migrate.js +0 -0
- package/dist/{src/services → services}/migrate-skill-name/schema.d.ts +0 -0
- package/dist/{src/services → services}/migrate-skill-name/schema.js +0 -0
- package/dist/{src/services → services}/migration/v2-10-to-v2-11-service.d.ts +0 -0
- package/dist/{src/services → services}/migration/v2-10-to-v2-11-service.js +0 -0
- package/dist/{src/services → services}/migration/v2-10-to-v2-11-types.d.ts +0 -0
- package/dist/{src/services → services}/migration/v2-10-to-v2-11-types.js +0 -0
- package/dist/{src/services → services}/mode/bypass-tracker.d.ts +0 -0
- package/dist/{src/services → services}/mode/bypass-tracker.js +0 -0
- package/dist/{src/services → services}/mode/mode-enforcement.d.ts +0 -0
- package/dist/{src/services → services}/mode/mode-enforcement.js +0 -0
- package/dist/{src/services → services}/mut/assert-scanner.d.ts +0 -0
- package/dist/{src/services → services}/mut/assert-scanner.js +0 -0
- package/dist/{src/services → services}/mut/index.d.ts +0 -0
- package/dist/{src/services → services}/mut/index.js +0 -0
- package/dist/{src/services → services}/mut/mut-runner.d.ts +0 -0
- package/dist/{src/services → services}/mut/mut-runner.js +0 -0
- package/dist/{src/services → services}/mut/production-stryker.d.ts +0 -0
- package/dist/{src/services → services}/mut/production-stryker.js +0 -0
- package/dist/{src/services → services}/mut/report-builder.d.ts +0 -0
- package/dist/{src/services → services}/mut/report-builder.js +0 -0
- package/dist/{src/services → services}/mut/report-loader.d.ts +0 -0
- package/dist/{src/services → services}/mut/report-loader.js +0 -0
- package/dist/{src/services → services}/mut/thresholds.d.ts +0 -0
- package/dist/{src/services → services}/mut/thresholds.js +0 -0
- package/dist/{src/services → services}/mut/types.d.ts +0 -0
- package/dist/{src/services → services}/mut/types.js +0 -0
- package/dist/{src/services → services}/observability/aggregation.d.ts +0 -0
- package/dist/{src/services → services}/observability/aggregation.js +0 -0
- package/dist/{src/services → services}/observability/jsonl-store.d.ts +0 -0
- package/dist/{src/services → services}/observability/jsonl-store.js +0 -0
- package/dist/{src/services → services}/observability/observability-service.d.ts +0 -0
- package/dist/{src/services → services}/observability/observability-service.js +0 -0
- package/dist/{src/services → services}/observability/report-formatter.d.ts +0 -0
- package/dist/{src/services → services}/observability/report-formatter.js +0 -0
- package/dist/{src/services → services}/openspec/openspec-archive-service.d.ts +0 -0
- package/dist/{src/services → services}/openspec/openspec-archive-service.js +0 -0
- package/dist/{src/services → services}/openspec/openspec-bridge-service.d.ts +0 -0
- package/dist/{src/services → services}/openspec/openspec-bridge-service.js +0 -0
- package/dist/{src/services → services}/openspec/openspec-init-service.d.ts +0 -0
- package/dist/{src/services → services}/openspec/openspec-init-service.js +0 -0
- package/dist/{src/services → services}/openspec/openspec-propose-from-doctor-service.d.ts +0 -0
- package/dist/{src/services → services}/openspec/openspec-propose-from-doctor-service.js +0 -0
- package/dist/{src/services → services}/openspec/openspec-render-service.d.ts +0 -0
- package/dist/{src/services → services}/openspec/openspec-render-service.js +0 -0
- package/dist/{src/services → services}/openspec/openspec-scan-service.d.ts +0 -0
- package/dist/{src/services → services}/openspec/openspec-scan-service.js +0 -0
- package/dist/{src/services → services}/openspec/openspec-types.d.ts +0 -0
- package/dist/{src/services → services}/openspec/openspec-types.js +0 -0
- package/dist/{src/services → services}/openspec/openspec-validate-service.d.ts +0 -0
- package/dist/{src/services → services}/openspec/openspec-validate-service.js +0 -0
- package/dist/{src/services → services}/perf/perf-baseline-service.d.ts +0 -0
- package/dist/{src/services → services}/perf/perf-baseline-service.js +0 -0
- package/dist/{src/services → services}/polyrepo/polyrepo-dispatcher.d.ts +0 -0
- package/dist/{src/services → services}/polyrepo/polyrepo-scanner.d.ts +0 -0
- package/dist/{src/services → services}/polyrepo/polyrepo-scanner.js +0 -0
- package/dist/{src/services → services}/polyrepo/polyrepo-service.d.ts +0 -0
- package/dist/{src/services → services}/polyrepo/polyrepo-service.js +0 -0
- package/dist/{src/services → services}/polyrepo/polyrepo-types.d.ts +0 -0
- package/dist/{src/services → services}/polyrepo/polyrepo-types.js +0 -0
- package/dist/{src/services → services}/prd/handoff-auto-regen.d.ts +0 -0
- package/dist/{src/services → services}/prd/handoff-auto-regen.js +0 -0
- package/dist/{src/services → services}/prd/handoff-service.d.ts +0 -0
- package/dist/{src/services → services}/prd/handoff-service.js +0 -0
- package/dist/{src/services → services}/prd/handoff-types.d.ts +0 -0
- package/dist/{src/services → services}/prd/handoff-types.js +0 -0
- package/dist/{src/services → services}/prd/prd-blocks-checker.d.ts +0 -0
- package/dist/{src/services → services}/prd/prd-blocks-checker.js +0 -0
- package/dist/{src/services → services}/prd/project-scan-reader.d.ts +0 -0
- package/dist/{src/services → services}/prd/project-scan-reader.js +0 -0
- package/dist/{src/services → services}/prd/project-scan-sediment.d.ts +0 -0
- package/dist/{src/services → services}/prd/project-scan-sediment.js +0 -0
- package/dist/{src/services → services}/prd/project-scan-types.d.ts +0 -0
- package/dist/{src/services → services}/prd/project-scan-types.js +0 -0
- package/dist/{src/services → services}/preferences/preferences-service.d.ts +0 -0
- package/dist/{src/services → services}/preferences/preferences-service.js +0 -0
- package/dist/{src/services → services}/preferences/preferences-types.d.ts +0 -0
- package/dist/{src/services → services}/preferences/preferences-types.js +0 -0
- package/dist/{src/services → services}/profiles/profile-service.d.ts +0 -0
- package/dist/{src/services → services}/profiles/profile-service.js +0 -0
- package/dist/{src/services → services}/progress/progress-service.d.ts +0 -0
- package/dist/{src/services → services}/progress/progress-service.js +0 -0
- package/dist/{src/services → services}/providers/minimax-provider-service.d.ts +0 -0
- package/dist/{src/services → services}/providers/minimax-provider-service.js +0 -0
- package/dist/{src/services → services}/providers/minimax-worker-service.d.ts +0 -0
- package/dist/{src/services → services}/providers/minimax-worker-service.js +0 -0
- package/dist/{src/services → services}/proxy/proxy-service.d.ts +0 -0
- package/dist/{src/services → services}/proxy/proxy-service.js +0 -0
- package/dist/{src/services → services}/qa/browser-event-logger.d.ts +0 -0
- package/dist/{src/services → services}/qa/browser-event-logger.js +0 -0
- package/dist/{src/services → services}/qa/browser-restart-detector.d.ts +0 -0
- package/dist/{src/services → services}/qa/browser-restart-detector.js +0 -0
- package/dist/{src/services → services}/qa/browser-reuse-hint.d.ts +0 -0
- package/dist/{src/services → services}/qa/browser-reuse-hint.js +0 -0
- package/dist/{src/services → services}/qa/browser-wrapper-service.d.ts +0 -0
- package/dist/{src/services → services}/qa/browser-wrapper-service.js +0 -0
- package/dist/{src/services → services}/qa/qa-business-review-state.d.ts +0 -0
- package/dist/{src/services → services}/qa/qa-business-review-state.js +0 -0
- package/dist/{src/services → services}/rd/ast-gate.d.ts +0 -0
- package/dist/{src/services → services}/rd/ast-gate.js +0 -0
- package/dist/{src/services → services}/rd/impl.d.ts +0 -0
- package/dist/{src/services → services}/rd/impl.js +0 -0
- package/dist/{src/services → services}/rd/rd-service.d.ts +0 -0
- package/dist/{src/services → services}/rd/rd-service.js +0 -0
- package/dist/{src/services → services}/rd/reviewer-dispatch-policy.d.ts +0 -0
- package/dist/{src/services → services}/rd/reviewer-dispatch-policy.js +0 -0
- package/dist/{src/services → services}/rd/standards-diagnostic.d.ts +0 -0
- package/dist/{src/services → services}/rd/standards-diagnostic.js +0 -0
- package/dist/{src/services → services}/rd/strategic-stage.d.ts +0 -0
- package/dist/{src/services → services}/rd/strategic-stage.js +0 -0
- package/dist/{src/services → services}/rd/strategy.d.ts +0 -0
- package/dist/{src/services → services}/rd/strategy.js +0 -0
- package/dist/{src/services → services}/rd/tactical-stage.d.ts +0 -0
- package/dist/{src/services → services}/rd/tactical-stage.js +0 -0
- package/dist/{src/services → services}/rd/types.d.ts +18 -18
- /package/dist/{src/services → services}/rd/types.js +0 -0
- /package/dist/{src/services → services}/recommendations/capability-availability.d.ts +0 -0
- /package/dist/{src/services → services}/recommendations/capability-availability.js +0 -0
- /package/dist/{src/services → services}/recommendations/capability-map-service.d.ts +0 -0
- /package/dist/{src/services → services}/recommendations/capability-map-service.js +0 -0
- /package/dist/{src/services → services}/recommendations/capability-seed-items.d.ts +0 -0
- /package/dist/{src/services → services}/recommendations/capability-seed-items.js +0 -0
- /package/dist/{src/services → services}/recommendations/capability-seed-mappings.d.ts +0 -0
- /package/dist/{src/services → services}/recommendations/capability-seed-mappings.js +0 -0
- /package/dist/{src/services → services}/recommendations/capability-seed-sources.d.ts +0 -0
- /package/dist/{src/services → services}/recommendations/capability-seed-sources.js +0 -0
- /package/dist/{src/services → services}/recommendations/recommendation-service.d.ts +0 -0
- /package/dist/{src/services → services}/recommendations/recommendation-service.js +0 -0
- /package/dist/{src/services → services}/recommendations/recommendation-types.d.ts +0 -0
- /package/dist/{src/services → services}/recommendations/recommendation-types.js +0 -0
- /package/dist/{src/services → services}/recommendations/seed-capability-catalog.d.ts +0 -0
- /package/dist/{src/services → services}/recommendations/seed-capability-catalog.js +0 -0
- /package/dist/{src/services → services}/refactor/refactor-service.d.ts +0 -0
- /package/dist/{src/services → services}/refactor/refactor-service.js +0 -0
- /package/dist/{src/services → services}/release/release-state.d.ts +0 -0
- /package/dist/{src/services → services}/release/release-state.js +0 -0
- /package/dist/{src/services → services}/retrospective/retrospective-index.d.ts +0 -0
- /package/dist/{src/services → services}/retrospective/retrospective-index.js +0 -0
- /package/dist/{src/services → services}/retrospective/retrospective-search-service.d.ts +0 -0
- /package/dist/{src/services → services}/retrospective/retrospective-search-service.js +0 -0
- /package/dist/{src/services → services}/retrospective/retrospective-show.d.ts +0 -0
- /package/dist/{src/services → services}/retrospective/retrospective-show.js +0 -0
- /package/dist/{src/services → services}/reviewer/model-family.d.ts +0 -0
- /package/dist/{src/services → services}/reviewer/model-family.js +0 -0
- /package/dist/{src/services → services}/reviewer/providers/anthropic.d.ts +0 -0
- /package/dist/{src/services → services}/reviewer/providers/anthropic.js +0 -0
- /package/dist/{src/services → services}/reviewer/providers/ollama.d.ts +0 -0
- /package/dist/{src/services → services}/reviewer/providers/ollama.js +0 -0
- /package/dist/{src/services → services}/reviewer/providers/openai.d.ts +0 -0
- /package/dist/{src/services → services}/reviewer/providers/openai.js +0 -0
- /package/dist/{src/services → services}/reviewer/reviewer-config.d.ts +0 -0
- /package/dist/{src/services → services}/reviewer/reviewer-config.js +0 -0
- /package/dist/{src/services → services}/reviewer/reviewer-service.d.ts +0 -0
- /package/dist/{src/services → services}/reviewer/reviewer-service.js +0 -0
- /package/dist/{src/services → services}/reviewer/selection-strategies.d.ts +0 -0
- /package/dist/{src/services → services}/reviewer/selection-strategies.js +0 -0
- /package/dist/{src/services → services}/role/role-registry.d.ts +0 -0
- /package/dist/{src/services → services}/role/role-registry.js +0 -0
- /package/dist/{src/services → services}/runtime/runtime-detector.d.ts +0 -0
- /package/dist/{src/services → services}/runtime/runtime-detector.js +0 -0
- /package/dist/{src/services → services}/runtime/runtime-service.d.ts +0 -0
- /package/dist/{src/services → services}/runtime/runtime-service.js +0 -0
- /package/dist/{src/services → services}/runtime/vendor-adapter.d.ts +0 -0
- /package/dist/{src/services → services}/runtime/vendor-adapter.js +0 -0
- /package/dist/{src/services → services}/runtime/vendors/claude-code.d.ts +0 -0
- /package/dist/{src/services → services}/runtime/vendors/claude-code.js +0 -0
- /package/dist/{src/services → services}/runtime/vendors/codex.d.ts +0 -0
- /package/dist/{src/services → services}/runtime/vendors/codex.js +0 -0
- /package/dist/{src/services → services}/runtime/vendors/copilot.d.ts +0 -0
- /package/dist/{src/services → services}/runtime/vendors/copilot.js +0 -0
- /package/dist/{src/services → services}/sc/index.d.ts +0 -0
- /package/dist/{src/services → services}/sc/index.js +0 -0
- /package/dist/{src/services → services}/sc/sc-service.d.ts +0 -0
- /package/dist/{src/services → services}/sc/sc-service.js +0 -0
- /package/dist/{src/services → services}/scan/acceptance-coverage-service.d.ts +0 -0
- /package/dist/{src/services → services}/scan/acceptance-coverage-service.js +0 -0
- /package/dist/{src/services → services}/scan/api-surface-service.d.ts +0 -0
- /package/dist/{src/services → services}/scan/api-surface-service.js +0 -0
- /package/dist/{src/services → services}/scan/archetype-service.d.ts +0 -0
- /package/dist/{src/services → services}/scan/diff-scope-service.d.ts +0 -0
- /package/dist/{src/services → services}/scan/diff-scope-service.js +0 -0
- /package/dist/{src/services → services}/scan/existing-system-service.d.ts +0 -0
- /package/dist/{src/services → services}/scan/existing-system-service.js +0 -0
- /package/dist/{src/services → services}/scan/file-size-scan.d.ts +0 -0
- /package/dist/{src/services → services}/scan/file-size-scan.js +0 -0
- /package/dist/{src/services → services}/scan/karpathy-service.d.ts +0 -0
- /package/dist/{src/services → services}/scan/karpathy-service.js +0 -0
- /package/dist/{src/services → services}/scan/libraries-service.d.ts +0 -0
- /package/dist/{src/services → services}/scan/libraries-service.js +0 -0
- /package/dist/{src/services → services}/scan/libraries-types.d.ts +0 -0
- /package/dist/{src/services → services}/scan/libraries-types.js +0 -0
- /package/dist/{src/services → services}/scan/orphan-service.d.ts +0 -0
- /package/dist/{src/services → services}/scan/orphan-service.js +0 -0
- /package/dist/{src/services → services}/scan/scan-types.js +0 -0
- /package/dist/{src/services → services}/scan/type-sanity-service.d.ts +0 -0
- /package/dist/{src/services → services}/scan/type-sanity-service.js +0 -0
- /package/dist/{src/services → services}/security/safe-settings-path.d.ts +0 -0
- /package/dist/{src/services → services}/security/safe-settings-path.js +0 -0
- /package/dist/{src/services → services}/sediment/dispose-confirm.d.ts +0 -0
- /package/dist/{src/services → services}/sediment/dispose-confirm.js +0 -0
- /package/dist/{src/services → services}/sediment/json-schema.d.ts +0 -0
- /package/dist/{src/services → services}/sediment/json-schema.js +0 -0
- /package/dist/{src/services → services}/sediment/manifest-lint.d.ts +0 -0
- /package/dist/{src/services → services}/sediment/manifest-lint.js +0 -0
- /package/dist/{src/services → services}/sediment/pool-paths.d.ts +0 -0
- /package/dist/{src/services → services}/sediment/pool-paths.js +0 -0
- /package/dist/{src/services → services}/sediment/pool-read.d.ts +0 -0
- /package/dist/{src/services → services}/sediment/pool-read.js +0 -0
- /package/dist/{src/services → services}/sediment/pool-rebuild-index.d.ts +0 -0
- /package/dist/{src/services → services}/sediment/pool-rebuild-index.js +0 -0
- /package/dist/{src/services → services}/sediment/pool-write.d.ts +0 -0
- /package/dist/{src/services → services}/sediment/pool-write.js +0 -0
- /package/dist/{src/services → services}/sediment/promotion-gate.d.ts +0 -0
- /package/dist/{src/services → services}/sediment/promotion-gate.js +0 -0
- /package/dist/{src/services → services}/sediment/types.d.ts +0 -0
- /package/dist/{src/services → services}/sediment/types.js +0 -0
- /package/dist/{src/services → services}/session/binding-status-service.d.ts +0 -0
- /package/dist/{src/services → services}/session/binding-status-service.js +0 -0
- /package/dist/{src/services → services}/session/binding-store.d.ts +0 -0
- /package/dist/{src/services → services}/session/binding-store.js +0 -0
- /package/dist/{src/services → services}/session/caller-binding-service.d.ts +0 -0
- /package/dist/{src/services → services}/session/caller-binding-service.js +0 -0
- /package/dist/{src/services → services}/session/caller-id-types.d.ts +0 -0
- /package/dist/{src/services → services}/session/caller-id-types.js +0 -0
- /package/dist/{src/services → services}/session/getSessionDir.d.ts +0 -0
- /package/dist/{src/services → services}/session/getSessionDir.js +0 -0
- /package/dist/{src/services → services}/session/index.d.ts +0 -0
- /package/dist/{src/services → services}/session/index.js +0 -0
- /package/dist/{src/services → services}/session/platform-fallbacks.d.ts +0 -0
- /package/dist/{src/services → services}/session/platform-fallbacks.js +0 -0
- /package/dist/{src/services → services}/session/resolve-caller-id.d.ts +0 -0
- /package/dist/{src/services → services}/session/resolve-caller-id.js +0 -0
- /package/dist/{src/services → services}/session/session-binding-bridge.d.ts +0 -0
- /package/dist/{src/services → services}/session/session-binding-bridge.js +0 -0
- /package/dist/{src/services → services}/session/session-checkpoint-service.d.ts +0 -0
- /package/dist/{src/services → services}/session/session-checkpoint-service.js +0 -0
- /package/dist/{src/services → services}/session/session-manager.d.ts +0 -0
- /package/dist/{src/services → services}/session/session-manager.js +0 -0
- /package/dist/{src/services → services}/session/session-resume-service.d.ts +0 -0
- /package/dist/{src/services → services}/session/session-resume-service.js +0 -0
- /package/dist/{src/services → services}/share/bundle-reader.d.ts +0 -0
- /package/dist/{src/services → services}/share/bundle-reader.js +0 -0
- /package/dist/{src/services → services}/share/bundle-types.d.ts +0 -0
- /package/dist/{src/services → services}/share/bundle-types.js +0 -0
- /package/dist/{src/services → services}/share/bundle-writer.d.ts +0 -0
- /package/dist/{src/services → services}/share/bundle-writer.js +0 -0
- /package/dist/{src/services → services}/share/run-state-contract.d.ts +0 -0
- /package/dist/{src/services → services}/share/run-state-contract.js +0 -0
- /package/dist/{src/services → services}/signal/cancel-handler.d.ts +0 -0
- /package/dist/{src/services → services}/signal/cancel-handler.js +0 -0
- /package/dist/{src/services → services}/skill/resume-detector.d.ts +0 -0
- /package/dist/{src/services → services}/skill/resume-detector.js +0 -0
- /package/dist/{src/services → services}/skill/skill-scheduler.d.ts +0 -0
- /package/dist/{src/services → services}/skill/skill-scheduler.js +0 -0
- /package/dist/{src/services → services}/skill/skill-search-service.d.ts +0 -0
- /package/dist/{src/services → services}/skill/skill-search-service.js +0 -0
- /package/dist/{src/services → services}/skillhub/release-diff.d.ts +0 -0
- /package/dist/{src/services → services}/skillhub/release-diff.js +0 -0
- /package/dist/{src/services → services}/skillhub/release-export.d.ts +0 -0
- /package/dist/{src/services → services}/skillhub/release-export.js +0 -0
- /package/dist/{src/services → services}/skillhub/release-gc-blobs.d.ts +0 -0
- /package/dist/{src/services → services}/skillhub/release-gc-blobs.js +0 -0
- /package/dist/{src/services → services}/skillhub/release-import.d.ts +0 -0
- /package/dist/{src/services → services}/skillhub/release-import.js +0 -0
- /package/dist/{src/services → services}/skillhub/release-retain.d.ts +0 -0
- /package/dist/{src/services → services}/skillhub/release-retain.js +0 -0
- /package/dist/{src/services → services}/skillhub/sqlite-store.d.ts +0 -0
- /package/dist/{src/services → services}/skillhub/sqlite-store.js +0 -0
- /package/dist/{src/services → services}/skillhub/tar-runtime.d.ts +0 -0
- /package/dist/{src/services → services}/skillhub/tar-runtime.js +0 -0
- /package/dist/{src/services → services}/skillhub/types.d.ts +0 -0
- /package/dist/{src/services → services}/skillhub/types.js +0 -0
- /package/dist/{src/services → services}/skills/hooks-settings-service.d.ts +0 -0
- /package/dist/{src/services → services}/skills/hooks-settings-service.js +0 -0
- /package/dist/{src/services → services}/skills/skill-conformance-service.d.ts +0 -0
- /package/dist/{src/services → services}/skills/skill-conformance-service.js +0 -0
- /package/dist/{src/services → services}/skills/skill-presence-service.d.ts +0 -0
- /package/dist/{src/services → services}/skills/skill-presence-service.js +0 -0
- /package/dist/{src/services → services}/skills/skill-registry.d.ts +0 -0
- /package/dist/{src/services → services}/skills/skill-registry.js +0 -0
- /package/dist/{src/services → services}/skills/skill-runbook-service.d.ts +0 -0
- /package/dist/{src/services → services}/skills/skill-runbook-service.js +0 -0
- /package/dist/{src/services → services}/skills/skill-statusline-renderer.d.ts +0 -0
- /package/dist/{src/services → services}/skills/skill-statusline-renderer.js +0 -0
- /package/dist/{src/services → services}/skills/skill-statusline-service.d.ts +0 -0
- /package/dist/{src/services → services}/skills/skill-statusline-service.js +0 -0
- /package/dist/{src/services → services}/skills/statusline-settings-service.d.ts +0 -0
- /package/dist/{src/services → services}/skills/statusline-settings-service.js +0 -0
- /package/dist/{src/services → services}/skills/sync-service.d.ts +0 -0
- /package/dist/{src/services → services}/skills/sync-service.js +0 -0
- /package/dist/{src/services → services}/slice/calibration-store.d.ts +0 -0
- /package/dist/{src/services → services}/slice/calibration-store.js +0 -0
- /package/dist/{src/services → services}/slice/cross-pass-edge-merger.d.ts +0 -0
- /package/dist/{src/services → services}/slice/cross-pass-edge-merger.js +0 -0
- /package/dist/{src/services → services}/slice/granularity-decider.d.ts +0 -0
- /package/dist/{src/services → services}/slice/granularity-decider.js +0 -0
- /package/dist/{src/services → services}/slice/llm-arbitrator.d.ts +0 -0
- /package/dist/{src/services → services}/slice/llm-arbitrator.js +0 -0
- /package/dist/{src/services → services}/slice/multi-pass-orchestrator.d.ts +0 -0
- /package/dist/{src/services → services}/slice/multi-pass-orchestrator.js +0 -0
- /package/dist/{src/services → services}/slice/schema-router.d.ts +0 -0
- /package/dist/{src/services → services}/slice/schema-router.js +0 -0
- /package/dist/{src/services → services}/slice/slice-archive-service.d.ts +0 -0
- /package/dist/{src/services → services}/slice/slice-archive-service.js +0 -0
- /package/dist/{src/services → services}/slice/slice-benchmark-service.d.ts +0 -0
- /package/dist/{src/services → services}/slice/slice-benchmark-service.js +0 -0
- /package/dist/{src/services → services}/slice/slice-check-service.d.ts +0 -0
- /package/dist/{src/services → services}/slice/slice-check-service.js +0 -0
- /package/dist/{src/services → services}/slice/slice-check-types.d.ts +0 -0
- /package/dist/{src/services → services}/slice/slice-check-types.js +0 -0
- /package/dist/{src/services → services}/slice/slice-decompose-runners.d.ts +0 -0
- /package/dist/{src/services → services}/slice/slice-decompose-runners.js +0 -0
- /package/dist/{src/services → services}/slice/slice-decompose-service.d.ts +0 -0
- /package/dist/{src/services → services}/slice/slice-decompose-service.js +0 -0
- /package/dist/{src/services → services}/slice/slice-decompose-types.d.ts +0 -0
- /package/dist/{src/services → services}/slice/slice-decompose-types.js +0 -0
- /package/dist/{src/services → services}/slice/slice-integration.d.ts +0 -0
- /package/dist/{src/services → services}/slice/slice-integration.js +0 -0
- /package/dist/{src/services → services}/slice/slice-pick-service.d.ts +0 -0
- /package/dist/{src/services → services}/slice/slice-pick-service.js +0 -0
- /package/dist/{src/services → services}/slice/slice-review-state.d.ts +0 -0
- /package/dist/{src/services → services}/slice/slice-review-state.js +0 -0
- /package/dist/{src/services → services}/slice/slice-topology-types.d.ts +0 -0
- /package/dist/{src/services → services}/slice/slice-topology-types.js +0 -0
- /package/dist/{src/services → services}/smoke/smoke-paths-state.d.ts +0 -0
- /package/dist/{src/services → services}/smoke/smoke-paths-state.js +0 -0
- /package/dist/{src/services → services}/sop/gate-enforce-service.d.ts +0 -0
- /package/dist/{src/services → services}/sop/gate-enforce-service.js +0 -0
- /package/dist/{src/services → services}/sop/sop-advance-service.d.ts +0 -0
- /package/dist/{src/services → services}/sop/sop-advance-service.js +0 -0
- /package/dist/{src/services → services}/sop/sop-check-service.d.ts +0 -0
- /package/dist/{src/services → services}/sop/sop-check-service.js +0 -0
- /package/dist/{src/services → services}/sop/sop-paths.d.ts +0 -0
- /package/dist/{src/services → services}/sop/sop-paths.js +0 -0
- /package/dist/{src/services → services}/sop/sop-registry-service.d.ts +0 -0
- /package/dist/{src/services → services}/sop/sop-registry-service.js +0 -0
- /package/dist/{src/services → services}/sop/sop-service.d.ts +0 -0
- /package/dist/{src/services → services}/sop/sop-service.js +0 -0
- /package/dist/{src/services → services}/sop/sop-types.d.ts +0 -0
- /package/dist/{src/services → services}/sop/sop-types.js +0 -0
- /package/dist/{src/services → services}/standards/ide-aware-standards-service.d.ts +0 -0
- /package/dist/{src/services → services}/standards/loop-engineering-lint.d.ts +0 -0
- /package/dist/{src/services → services}/standards/loop-engineering-lint.js +0 -0
- /package/dist/{src/services → services}/standards/loop-engineering-readiness-lint.d.ts +0 -0
- /package/dist/{src/services → services}/standards/loop-engineering-readiness-lint.js +0 -0
- /package/dist/{src/services → services}/standards/migrate-claude-rules-service.d.ts +0 -0
- /package/dist/{src/services → services}/standards/migrate-service.d.ts +0 -0
- /package/dist/{src/services → services}/standards/migrate-service.js +0 -0
- /package/dist/{src/services → services}/standards/project-context.d.ts +0 -0
- /package/dist/{src/services → services}/standards/project-context.js +0 -0
- /package/dist/{src/services → services}/standards/project-standards-service.d.ts +0 -0
- /package/dist/{src/services → services}/tech/tech-service.d.ts +0 -0
- /package/dist/{src/services → services}/tech/tech-service.js +0 -0
- /package/dist/{src/services → services}/test-cache/test-cache-service.d.ts +0 -0
- /package/dist/{src/services → services}/test-cache/test-cache-service.js +0 -0
- /package/dist/{src/services → services}/understand/hybrid-types.d.ts +0 -0
- /package/dist/{src/services → services}/understand/hybrid-types.js +0 -0
- /package/dist/{src/services → services}/understand/understand-hybrid-service.d.ts +0 -0
- /package/dist/{src/services → services}/understand/understand-hybrid-service.js +0 -0
- /package/dist/{src/services → services}/understand/understand-scan-service.d.ts +0 -0
- /package/dist/{src/services → services}/understand/understand-scan-service.js +0 -0
- /package/dist/{src/services → services}/understand/understand-types.d.ts +0 -0
- /package/dist/{src/services → services}/understand/understand-types.js +0 -0
- /package/dist/{src/services → services}/upgrade/1x-detector-service.d.ts +0 -0
- /package/dist/{src/services → services}/upgrade/1x-detector-service.js +0 -0
- /package/dist/{src/services → services}/upgrade/gitignore-migrate-service.d.ts +0 -0
- /package/dist/{src/services → services}/upgrade/gitignore-migrate-service.js +0 -0
- /package/dist/{src/services → services}/upgrade/upgrade-service.d.ts +0 -0
- /package/dist/{src/services → services}/upgrade/upgrade-service.js +0 -0
- /package/dist/{src/services → services}/verdict/envelopes.d.ts +0 -0
- /package/dist/{src/services → services}/verdict/envelopes.js +0 -0
- /package/dist/{src/services → services}/verdict/verdict-aggregator.d.ts +0 -0
- /package/dist/{src/services → services}/verdict/verdict-aggregator.js +0 -0
- /package/dist/{src/services → services}/workflow/artifact-paths.d.ts +0 -0
- /package/dist/{src/services → services}/workflow/artifact-paths.js +0 -0
- /package/dist/{src/services → services}/workflow/autonomous-resume-writer.d.ts +0 -0
- /package/dist/{src/services → services}/workflow/autonomous-resume-writer.js +0 -0
- /package/dist/{src/services → services}/workflow/pipeline-verify-service.d.ts +0 -0
- /package/dist/{src/services → services}/workflow/pipeline-verify-service.js +0 -0
- /package/dist/{src/services → services}/workflow/plan-reader.d.ts +0 -0
- /package/dist/{src/services → services}/workflow/plan-reader.js +0 -0
- /package/dist/{src/services → services}/workflow/plan-refresher.d.ts +0 -0
- /package/dist/{src/services → services}/workflow/plan-refresher.js +0 -0
- /package/dist/{src/services → services}/workflow/plan-trigger-detector.d.ts +0 -0
- /package/dist/{src/services → services}/workflow/plan-trigger-detector.js +0 -0
- /package/dist/{src/services → services}/workflow/workflow-autonomous-resume-helpers.d.ts +0 -0
- /package/dist/{src/services → services}/workflow/workflow-autonomous-resume-helpers.js +0 -0
- /package/dist/{src/services → services}/workflow/workflow-autonomous-service.d.ts +0 -0
- /package/dist/{src/services → services}/workflow/workflow-autonomous-service.js +0 -0
- /package/dist/{src/services → services}/workflow/workflow-loader.d.ts +0 -0
- /package/dist/{src/services → services}/workflow/workflow-loader.js +0 -0
- /package/dist/{src/services → services}/workflow/workflow-router-service.d.ts +0 -0
- /package/dist/{src/services → services}/workflow/workflow-router-service.js +0 -0
- /package/dist/{src/services → services}/workflow/workflow-skip-service.d.ts +0 -0
- /package/dist/{src/services → services}/workflow/workflow-skip-service.js +0 -0
- /package/dist/{src/services → services}/workflow/workflow-spec.d.ts +0 -0
- /package/dist/{src/services → services}/workflow/workflow-spec.js +0 -0
- /package/dist/{src/services → services}/workflow/workflow-state-store.d.ts +0 -0
- /package/dist/{src/services → services}/workflow/workflow-state-store.js +0 -0
- /package/dist/{src/services → services}/workspace/claude-settings-template.d.ts +0 -0
- /package/dist/{src/services → services}/workspace/claude-settings-template.js +0 -0
- /package/dist/{src/services → services}/workspace/migrate-1-4-1-service.d.ts +0 -0
- /package/dist/{src/services → services}/workspace/migrate-1-4-1-service.js +0 -0
- /package/dist/{src/services → services}/workspace/migrate-service.d.ts +0 -0
- /package/dist/{src/services → services}/workspace/migrate-service.js +0 -0
- /package/dist/{src/services → services}/workspace/migrate-types.d.ts +0 -0
- /package/dist/{src/services → services}/workspace/migrate-types.js +0 -0
- /package/dist/{src/services → services}/workspace/reconcile-service.d.ts +0 -0
- /package/dist/{src/services → services}/workspace/reconcile-service.js +0 -0
- /package/dist/{src/services → services}/workspace/reconcile-types.d.ts +0 -0
- /package/dist/{src/services → services}/workspace/reconcile-types.js +0 -0
- /package/dist/{src/services → services}/workspace/sid-naming-guard.d.ts +0 -0
- /package/dist/{src/services → services}/workspace/sid-naming-guard.js +0 -0
- /package/dist/{src/services → services}/workspace/workspace-claude-settings-materializer.d.ts +0 -0
- /package/dist/{src/services → services}/workspace/workspace-claude-settings-materializer.js +0 -0
- /package/dist/{src/services → services}/workspace/workspace-clean-service.d.ts +0 -0
- /package/dist/{src/services → services}/workspace/workspace-clean-service.js +0 -0
- /package/dist/{src/services → services}/workspace/workspace-service.d.ts +0 -0
- /package/dist/{src/services → services}/workspace/workspace-service.js +0 -0
- /package/dist/{src/services → services}/workspace/workspace-state-service.d.ts +0 -0
- /package/dist/{src/services → services}/workspace/workspace-state-service.js +0 -0
- /package/dist/{src/shared → shared}/format-md-compact.d.ts +0 -0
- /package/dist/{src/shared → shared}/format-md-compact.js +0 -0
- /package/dist/{src/shared → shared}/frontmatter.d.ts +0 -0
- /package/dist/{src/shared → shared}/frontmatter.js +0 -0
- /package/dist/{src/shared → shared}/fs-utils.d.ts +0 -0
- /package/dist/{src/shared → shared}/fs-utils.js +0 -0
- /package/dist/{src/shared → shared}/fs.d.ts +0 -0
- /package/dist/{src/shared → shared}/fs.js +0 -0
- /package/dist/{src/shared → shared}/incrementing-number.d.ts +0 -0
- /package/dist/{src/shared → shared}/incrementing-number.js +0 -0
- /package/dist/{src/shared → shared}/json-schema-mini.d.ts +0 -0
- /package/dist/{src/shared → shared}/json-schema-mini.js +0 -0
- /package/dist/{src/shared → shared}/path-safety.d.ts +0 -0
- /package/dist/{src/shared → shared}/path-safety.js +0 -0
- /package/dist/{src/shared → shared}/path-utils.d.ts +0 -0
- /package/dist/{src/shared → shared}/path-utils.js +0 -0
- /package/dist/{src/shared → shared}/paths.d.ts +0 -0
- /package/dist/{src/shared → shared}/paths.js +0 -0
- /package/dist/{src/shared → shared}/planner-response.d.ts +0 -0
- /package/dist/{src/shared → shared}/planner-response.js +0 -0
- /package/dist/{src/shared → shared}/platform.d.ts +0 -0
- /package/dist/{src/shared → shared}/platform.js +0 -0
- /package/dist/{src/shared → shared}/process.d.ts +0 -0
- /package/dist/{src/shared → shared}/process.js +0 -0
- /package/dist/{src/shared → shared}/result.d.ts +0 -0
- /package/dist/{src/shared → shared}/result.js +0 -0
- /package/dist/{src/shared → shared}/stale-policy.d.ts +0 -0
- /package/dist/{src/shared → shared}/stale-policy.js +0 -0
- /package/dist/{src/skills → skills}/peaks-maker/index.d.ts +0 -0
- /package/dist/{src/skills → skills}/peaks-maker/index.js +0 -0
|
@@ -1,40 +1,101 @@
|
|
|
1
|
-
# peaks-loop video demo
|
|
1
|
+
# peaks-loop video demo (v5)
|
|
2
2
|
|
|
3
|
-
Remotion-based
|
|
3
|
+
Remotion-based ~27-second brand walk-through for peaks-loop 4.x. Mirrors the multi-domain + slash-command narrative of the top-level README.
|
|
4
4
|
|
|
5
5
|
## Composition
|
|
6
6
|
|
|
7
7
|
- Two compositions, one per locale:
|
|
8
|
-
- `peaks-loop-demo` —
|
|
9
|
-
- `peaks-loop-demo-en` —
|
|
10
|
-
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
- `peaks-loop-demo` — Chinese primary
|
|
9
|
+
- `peaks-loop-demo-en` — English primary
|
|
10
|
+
- Same frame budget for both; dimensions 1920×1080 @ 30fps.
|
|
11
|
+
- Scene timeline (frozen in `src/Root.tsx`, v5 narrative):
|
|
12
|
+
|
|
13
|
+
| # | Scene | Slug | Frames |
|
|
14
|
+
| --- | --- | --- | --- |
|
|
15
|
+
| 1 | `IntroScene` | intro | 80 |
|
|
16
|
+
| 2 | `RecordingScene` | install | 100 |
|
|
17
|
+
| 3 | `RecordingScene` | first-slash | 100 |
|
|
18
|
+
| 4 | `RecordingScene` | domains | 100 |
|
|
19
|
+
| 5 | `RecordingScene` | sediment | 100 |
|
|
20
|
+
| 6 | `CreditScene` | credit | 130 |
|
|
21
|
+
| 7 | `ClosingScene` | closing | 110 |
|
|
22
|
+
|
|
23
|
+
Plus 12-frame overlap transitions between every scene.
|
|
16
24
|
|
|
17
25
|
## Visual style
|
|
18
26
|
|
|
19
|
-
- Background: `#0f172a` (slate-900) via `bg-brand-bg`
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
27
|
+
- Background: `#0f172a` (slate-900) via `bg-brand-bg` + `BrandBackground` (drifting indigo halo + diagonal sweep line + bottom green glow).
|
|
28
|
+
- Accent: `#6366f1` (indigo-500) · Stable: `#22c55e` (green-500) · Warn: `#f59e0b` (amber-500).
|
|
29
|
+
- Typography: `font-mono` for kickers, captions, IDE/terminal HUD; `font-sans` for headlines.
|
|
30
|
+
- Three caption styles (`CaptionOverlay`):
|
|
31
|
+
- **subtitle** — black semi-transparent bar at the bottom.
|
|
32
|
+
- **callout** — indigo gradient emphasis box, slides in from the left.
|
|
33
|
+
- **annotation** — amber speech-bubble, drops in from the top-right.
|
|
24
34
|
|
|
25
|
-
##
|
|
35
|
+
## Scene components
|
|
26
36
|
|
|
27
|
-
|
|
37
|
+
```
|
|
38
|
+
src/scenes/
|
|
39
|
+
├── IntroScene.tsx — hero title + tagline (kicker / brand / tagline)
|
|
40
|
+
├── RecordingScene.tsx — the workhorse: 4 instances, each plays an HUD + captions + cursor
|
|
41
|
+
├── HudWindow.tsx — stylised terminal/IDE panel that types out lines one at a time
|
|
42
|
+
├── CaptionOverlay.tsx — 3-style caption layer (subtitle / callout / annotation)
|
|
43
|
+
├── CursorHighlight.tsx — macOS-style cursor with smooth waypoint interpolation + click ripple
|
|
44
|
+
├── BrandBackground.tsx — shared brand background (halo + sweep + bottom glow)
|
|
45
|
+
├── CreditScene.tsx — tribute + recommended stack
|
|
46
|
+
└── ClosingScene.tsx — install chip + 5,439 tests stats
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Copy registry
|
|
28
50
|
|
|
29
|
-
- `
|
|
30
|
-
|
|
51
|
+
All on-screen text lives in `src/copy.ts`. Both locales are strict: no hardcoded
|
|
52
|
+
CN/EN inline in scene components. The `recordings[]` array holds 4 scene slugs
|
|
53
|
+
(install / first-slash / domains / sediment), each with its own captions,
|
|
54
|
+
cursor choreography, and HUD payload.
|
|
31
55
|
|
|
32
|
-
|
|
56
|
+
## v5 recording pipeline (Playwright + Remotion)
|
|
33
57
|
|
|
34
|
-
|
|
58
|
+
The `RecordingScene` slots are designed to host **real recorded footage**
|
|
59
|
+
when you have a Chromium-equipped machine. The HUD window is the stand-in
|
|
60
|
+
for that footage until the recording pass runs.
|
|
61
|
+
|
|
62
|
+
### 1. Install the recording side
|
|
35
63
|
|
|
36
64
|
```bash
|
|
37
65
|
cd examples/video-demo
|
|
66
|
+
pnpm add -D playwright
|
|
67
|
+
pnpm exec playwright install chromium
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### 2. Author a scenario JSON
|
|
71
|
+
|
|
72
|
+
Write `recordings/<slug>.json` per scene using the
|
|
73
|
+
`web-demo-video_skills` schema (`goto` / `click` / `fill` / `wait` / `screenshot`).
|
|
74
|
+
For our 4 slugs, the natural targets are:
|
|
75
|
+
|
|
76
|
+
| slug | URL / action |
|
|
77
|
+
| --- | --- |
|
|
78
|
+
| `install` | terminal typing `npm i -g peaks-loop` |
|
|
79
|
+
| `first-slash` | Claude Code chat with `/peaks-code ...` |
|
|
80
|
+
| `domains` | same chat, scrolling through the 5 `/peaks-*` slash commands |
|
|
81
|
+
| `sediment` | same chat, completing a run + asking to sediment |
|
|
82
|
+
|
|
83
|
+
### 3. Record per scene
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
pnpm exec tsx scripts/record-scenes.ts
|
|
87
|
+
# outputs recordings/<slug>.webm + recordings/<slug>.cursor.json
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### 4. Swap the HUD for the recorded clip
|
|
91
|
+
|
|
92
|
+
In `src/scenes/RecordingScene.tsx`, replace the `<HudWindow>` block with a
|
|
93
|
+
`<Video src={...}>` from the matching `recordings/<slug>.webm`. Drop the
|
|
94
|
+
`HudWindow` import when no scene needs it any more.
|
|
95
|
+
|
|
96
|
+
### 5. Render
|
|
97
|
+
|
|
98
|
+
```bash
|
|
38
99
|
pnpm install
|
|
39
100
|
npx remotion render peaks-loop-demo out/peaks-loop-demo.mp4
|
|
40
101
|
npx remotion render peaks-loop-demo-en out/peaks-loop-demo-en.mp4
|
|
@@ -44,10 +105,10 @@ cp out/peaks-loop-demo.mp4 preview/peaks-loop-demo.mp4
|
|
|
44
105
|
cp out/peaks-loop-demo-en.mp4 preview/peaks-loop-demo-en.mp4
|
|
45
106
|
```
|
|
46
107
|
|
|
47
|
-
Fallback (no Chromium available):
|
|
108
|
+
Fallback (no Chromium available — renders the HUD stand-in only):
|
|
48
109
|
|
|
49
110
|
```bash
|
|
50
|
-
npx remotion still peaks-loop-demo out/still.png --frame=
|
|
111
|
+
npx remotion still peaks-loop-demo out/still.png --frame=400
|
|
51
112
|
```
|
|
52
113
|
|
|
53
114
|
## Preview during dev
|
|
@@ -55,3 +116,27 @@ npx remotion still peaks-loop-demo out/still.png --frame=120
|
|
|
55
116
|
```bash
|
|
56
117
|
npx remotion studio # http://localhost:3000
|
|
57
118
|
```
|
|
119
|
+
|
|
120
|
+
## Why this layout
|
|
121
|
+
|
|
122
|
+
The 4 recording slugs follow the **black-box mental model** the README now
|
|
123
|
+
uses: install → first slash command → tour the 5 domains → sediment. Each
|
|
124
|
+
scene is **self-contained** (own HUD payload, captions, cursor ticks),
|
|
125
|
+
so you can rearrange them, drop one, or A/B test a new one without
|
|
126
|
+
touching the others. The 12-frame overlap transitions cross-fade between
|
|
127
|
+
scenes so the result feels like one continuous take rather than a slide
|
|
128
|
+
deck.
|
|
129
|
+
|
|
130
|
+
## Adding a new scene
|
|
131
|
+
|
|
132
|
+
1. Add a new entry to `recordings` in `src/copy.ts` (both `zh` and `en`):
|
|
133
|
+
- `slug` (kebab-case, used for the corner chip + recording filename)
|
|
134
|
+
- `captions` (array of `{ text, style }` triples)
|
|
135
|
+
- `cursor` (array of waypoints; empty = no cursor overlay)
|
|
136
|
+
- `hud` (terminal / ide, with the lines you want typed out)
|
|
137
|
+
2. Add an extra frame budget to `src/Root.tsx` if you want a longer hold.
|
|
138
|
+
3. Typecheck: `pnpm exec tsc --noEmit`.
|
|
139
|
+
4. Re-render.
|
|
140
|
+
|
|
141
|
+
If you have a recording, drop a `<Video>` into `RecordingScene.tsx` and
|
|
142
|
+
point it at the new `recordings/<slug>.webm`.
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "peaks-loop",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.9",
|
|
4
4
|
"description": "Loop Engineering CLI — workflow primitive / loop guards / evaluators / slice orchestration",
|
|
5
5
|
"author": "SquabbyZ",
|
|
6
6
|
"license": "MIT",
|
|
@@ -22,10 +22,12 @@
|
|
|
22
22
|
},
|
|
23
23
|
"files": [
|
|
24
24
|
"bin/peaks.js",
|
|
25
|
-
"dist/
|
|
26
|
-
"dist
|
|
27
|
-
"dist
|
|
25
|
+
"dist/cli/index.js",
|
|
26
|
+
"dist/**/*.js",
|
|
27
|
+
"dist/**/*.d.ts",
|
|
28
|
+
"dist/**/*.md",
|
|
28
29
|
"scripts/clean-dist.mjs",
|
|
30
|
+
"scripts/copy-templates.mjs",
|
|
29
31
|
"scripts/sync-version.mjs",
|
|
30
32
|
"scripts/install-skills.mjs",
|
|
31
33
|
"scripts/watch.mjs",
|
|
@@ -46,7 +48,7 @@
|
|
|
46
48
|
"examples/video-demo/out/en-closing-960.png"
|
|
47
49
|
],
|
|
48
50
|
"scripts": {
|
|
49
|
-
"build": "node ./scripts/sync-version.mjs && node ./scripts/clean-dist.mjs && tsc -p tsconfig.json",
|
|
51
|
+
"build": "node ./scripts/sync-version.mjs && node ./scripts/clean-dist.mjs && tsc -p tsconfig.build.json && node ./scripts/copy-templates.mjs",
|
|
50
52
|
"prepack": "npm run build",
|
|
51
53
|
"prepublishOnly": "node scripts/prepublish-build.mjs",
|
|
52
54
|
"prepublish": "node ./scripts/sync-version.mjs",
|
|
@@ -55,7 +57,18 @@
|
|
|
55
57
|
"dev": "tsx src/cli/index.ts",
|
|
56
58
|
"dev:watch": "node ./scripts/watch.mjs",
|
|
57
59
|
"pretest": "node ./scripts/sync-version.mjs",
|
|
58
|
-
"test": "
|
|
60
|
+
"test": "vitest run tests/unit/cli-program.core.test.ts tests/unit/cli-program.stateful.test.ts tests/unit/cli-program.workflow.test.ts tests/unit/cli-program.workflow-cli.test.ts tests/unit/cli-program.workspace.test.ts tests/unit/cli",
|
|
61
|
+
"test:full": "vitest run",
|
|
62
|
+
"test:fast": "vitest run --maxWorkers=8 -t \"^((?!@slow|@integration|@replay).)*$\" tests/unit",
|
|
63
|
+
"test:dev": "vitest run tests/unit",
|
|
64
|
+
"test:dev:cli": "vitest run tests/unit/cli-program.core.test.ts tests/unit/cli-program.stateful.test.ts tests/unit/cli-program.workflow.test.ts tests/unit/cli-program.workflow-cli.test.ts tests/unit/cli-program.workspace.test.ts tests/unit/cli",
|
|
65
|
+
"test:unit": "vitest run tests/unit",
|
|
66
|
+
"test:integration": "vitest run tests/integration",
|
|
67
|
+
"test:cli": "vitest run tests/unit/cli-program.core.test.ts tests/unit/cli-program.stateful.test.ts tests/unit/cli-program.workflow.test.ts tests/unit/cli-program.workflow-cli.test.ts tests/unit/cli-program.workspace.test.ts tests/unit/cli",
|
|
68
|
+
"test:workflow": "vitest run tests/unit/cli-program.workflow.test.ts tests/unit/cli-program.workflow-cli.test.ts tests/unit/workflow-autonomous-resume-validation.test.ts tests/unit/workflow-autonomous-service.test.ts tests/unit/workflow-router-service.test.ts tests/unit/skill-browser-workflow.test.ts tests/unit/services/workflow",
|
|
69
|
+
"test:audit:silent-warning": "node ./scripts/lint/silent-warning-detector.mjs",
|
|
70
|
+
"test:ci": "node ./scripts/sync-version.mjs && node ./scripts/lint/silent-warning-detector.mjs && vitest run --coverage",
|
|
71
|
+
"test:changed": "node scripts/test-changed.mjs",
|
|
59
72
|
"lint:silent-warning": "node ./scripts/lint/silent-warning-detector.mjs",
|
|
60
73
|
"test:race": "vitest run --no-file-parallelism tests/unit/g8-shared-channel.test.ts tests/unit/dispatch-record-writer.test.ts tests/unit/services/retrospective/heartbeat.test.ts tests/unit/cli/commands/share-commands.test.ts",
|
|
61
74
|
"test:replay": "node scripts/fixture-capture-setup.mjs && vitest run tests/unit/replay tests/unit/fixture",
|
|
@@ -99,13 +112,14 @@
|
|
|
99
112
|
"@jridgewell/trace-mapping": "^0.3.31",
|
|
100
113
|
"@stryker-mutator/core": "^8.7.1",
|
|
101
114
|
"@stryker-mutator/typescript-checker": "^8.7.1",
|
|
102
|
-
"@stryker-mutator/vitest-runner": "^
|
|
115
|
+
"@stryker-mutator/vitest-runner": "^9.6.1",
|
|
103
116
|
"@types/better-sqlite3": "^7.6.13",
|
|
104
117
|
"@types/node": "^22.10.2",
|
|
105
|
-
"@vitest/coverage-v8": "^
|
|
118
|
+
"@vitest/coverage-v8": "^4.1.10",
|
|
106
119
|
"tsx": "^4.19.2",
|
|
107
120
|
"typescript": "^5.7.2",
|
|
108
|
-
"
|
|
121
|
+
"vite": "^6.0.0",
|
|
122
|
+
"vitest": "^4.1.0",
|
|
109
123
|
"zod-to-json-schema": "^3.25.2"
|
|
110
124
|
}
|
|
111
125
|
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* copy-templates.mjs — copy bundled non-JS template assets into dist/
|
|
4
|
+
* after `tsc` runs. Required by slice 2026-07-15-project-scan-bootstrap
|
|
5
|
+
* (PRD G4b / R1 / QA BLOCKER): `tsc` only emits .js / .d.ts, so the
|
|
6
|
+
* audit/business markdown templates at
|
|
7
|
+
* `src/services/workspace/templates/project-scan/*.md` are absent
|
|
8
|
+
* from `dist/`. Downstream `npm install peaks-loop` consumers would
|
|
9
|
+
* therefore only get the dynamically-generated `project-scan.md` and
|
|
10
|
+
* the 4 audit/business templates would silently be missing.
|
|
11
|
+
*
|
|
12
|
+
* Idempotent: safe to run multiple times. Run after `tsc` in `build`.
|
|
13
|
+
*/
|
|
14
|
+
import { copyFileSync, mkdirSync, readdirSync, statSync } from 'node:fs';
|
|
15
|
+
import { dirname, join, resolve } from 'node:path';
|
|
16
|
+
import { fileURLToPath } from 'node:url';
|
|
17
|
+
|
|
18
|
+
const packageRoot = resolve(dirname(fileURLToPath(import.meta.url)), '..');
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @param {string} srcDir absolute source directory
|
|
22
|
+
* @param {string} destDir absolute destination directory (created if absent)
|
|
23
|
+
* @param {readonly string[]} extensions file extensions to copy (lowercase, with leading dot)
|
|
24
|
+
*/
|
|
25
|
+
function copyTree(srcDir, destDir, extensions) {
|
|
26
|
+
if (!statSync(srcDir, { throwIfNoEntry: false })) return;
|
|
27
|
+
mkdirSync(destDir, { recursive: true });
|
|
28
|
+
for (const entry of readdirSync(srcDir, { withFileTypes: true })) {
|
|
29
|
+
const srcPath = join(srcDir, entry.name);
|
|
30
|
+
const destPath = join(destDir, entry.name);
|
|
31
|
+
if (entry.isDirectory()) {
|
|
32
|
+
copyTree(srcPath, destPath, extensions);
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
if (!entry.isFile()) continue;
|
|
36
|
+
const ext = entry.name.toLowerCase().slice(entry.name.lastIndexOf('.'));
|
|
37
|
+
if (!extensions.includes(ext)) continue;
|
|
38
|
+
copyFileSync(srcPath, destPath);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const targets = [
|
|
43
|
+
{
|
|
44
|
+
src: join(packageRoot, 'src/services/workspace/templates/project-scan'),
|
|
45
|
+
dest: join(packageRoot, 'dist/services/workspace/templates/project-scan'),
|
|
46
|
+
extensions: ['.md']
|
|
47
|
+
}
|
|
48
|
+
];
|
|
49
|
+
|
|
50
|
+
let totalCopied = 0;
|
|
51
|
+
for (const { src, dest, extensions } of targets) {
|
|
52
|
+
const before = statSync(dest, { throwIfNoEntry: false })
|
|
53
|
+
? readdirSync(dest).length
|
|
54
|
+
: 0;
|
|
55
|
+
copyTree(src, dest, extensions);
|
|
56
|
+
const after = readdirSync(dest).length;
|
|
57
|
+
const added = after - before;
|
|
58
|
+
totalCopied += added;
|
|
59
|
+
process.stdout.write(
|
|
60
|
+
`copy-templates: ${src.replace(packageRoot + '/', '')} -> ${dest.replace(packageRoot + '/', '')} (+${added} files)\n`
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
process.stdout.write(`copy-templates: done (${totalCopied} files copied)\n`);
|
|
@@ -185,7 +185,7 @@ Peaks-Loop PRD/RD/QA gates remain authoritative: OpenSpec structures the durable
|
|
|
185
185
|
|
|
186
186
|
## Mock data placement rules (BLOCKING — framework-aware)
|
|
187
187
|
|
|
188
|
-
When the project-scan in `.peaks/
|
|
188
|
+
When the project-scan in `.peaks/project-scan/project-scan.md` (project-level, git-tracked; slice 2026-07-15-project-scan-bootstrap) identifies a frontend framework, mock data MUST follow the framework's built-in mock mechanism. **Never write mock data inline in component files.**
|
|
189
189
|
|
|
190
190
|
→ see `references/mock-data-placement.md` for the framework-to-mock-directory mapping + hard rules + verification gate.
|
|
191
191
|
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
> Body of `## Library version awareness (3rd-party breaking-change gate)`. After `peaks scan libraries` lands the dependency list under `## Library versions` in `rd/project-scan.md`, RD MUST cross-check the slice's diff against `schemas/library-breaking-changes.data.json` before writing any 3rd-party API call. Concretely:
|
|
4
4
|
|
|
5
|
-
1. **Read the project's `## Library versions` section** in `.peaks/
|
|
5
|
+
1. **Read the project's `## Library versions` section** in `.peaks/project-scan/project-scan.md`. Identify the `name` + `major` of every dependency the slice imports from.
|
|
6
6
|
2. **Open `schemas/library-breaking-changes.data.json`** (LLM reads via the `Read` tool). For each library where the installed `major` matches a `toMajor` in the table, load the corresponding `breakingChanges[]` list.
|
|
7
7
|
3. **For each `import` statement in the slice's diff** (e.g. `import { Drawer } from 'antd'`), check whether the imported symbol or its prop signature matches any `breakingChanges[].api` entry for the library's installed major.
|
|
8
8
|
4. **On a hit**:
|
|
9
9
|
- **Warn the LLM in the slice's handoff**: in `.peaks/_runtime/<sessionId>/rd/requests/<rid>.md` under `## Implementation evidence`, append a one-line note per hit: `- [lib-version] <library> <installed version> imports <api>; breaking-change rule says use <replacement> instead.`
|
|
10
|
-
- **Persist a `lesson` memory** at the END of `.peaks/
|
|
10
|
+
- **Persist a `lesson` memory** at the END of `.peaks/project-scan/project-scan.md` (or the tech-doc, or the handoff — any of these is read by future RD runs):
|
|
11
11
|
```
|
|
12
12
|
<!-- peaks-memory:start -->
|
|
13
13
|
title: <library> <installed major> requires <api> → <replacement>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> Body of `## Mock data placement rules` + `### Framework-to-mock-directory mapping` + `### Hard rules` + `### Verification gate`. **BLOCKING — framework-aware.**
|
|
4
4
|
|
|
5
|
-
When the project-scan in `.peaks/
|
|
5
|
+
When the project-scan in `.peaks/project-scan/project-scan.md` identifies a frontend framework, mock data MUST follow the framework's built-in mock mechanism. **Never write mock data inline in component files.**
|
|
6
6
|
|
|
7
7
|
## Framework-to-mock-directory mapping
|
|
8
8
|
|
|
@@ -29,11 +29,11 @@ peaks codegraph context --project <repo> "<task>"
|
|
|
29
29
|
peaks codegraph affected --project <repo> <changed-files...> --json
|
|
30
30
|
|
|
31
31
|
# 4.1 read project-scan from Code's pre-RD scan — BLOCKING if missing
|
|
32
|
-
# **STOP if .peaks/
|
|
32
|
+
# **STOP if .peaks/project-scan/project-scan.md does not exist.**
|
|
33
33
|
# **Do not write any code, do not plan any implementation, do not pass go.**
|
|
34
34
|
# **Create the project-scan first, then proceed.**
|
|
35
35
|
# NOTE: project-scan.md is a session-scoped singleton. Check if it already exists
|
|
36
|
-
# before regenerating (e.g. via `ls .peaks/
|
|
36
|
+
# before regenerating (e.g. via `ls .peaks/project-scan/project-scan.md`). If it exists
|
|
37
37
|
# and is complete (has `## Archetype` and `## Project mode` sections), reuse it.
|
|
38
38
|
# Required sections in project-scan:
|
|
39
39
|
# - build tool and framework
|
|
@@ -19,8 +19,8 @@ You cannot declare a phase complete from memory. Each gate below is a `ls` or `g
|
|
|
19
19
|
|
|
20
20
|
**Peaks-Loop Gate A — After project-scan read (before any implementation):**
|
|
21
21
|
```bash
|
|
22
|
-
ls .peaks/
|
|
23
|
-
# Expected output: .peaks/
|
|
22
|
+
ls .peaks/project-scan/project-scan.md
|
|
23
|
+
# Expected output: .peaks/project-scan/project-scan.md
|
|
24
24
|
# "No such file" → STOP, create the project-scan first. Do not write code.
|
|
25
25
|
```
|
|
26
26
|
|
|
@@ -33,7 +33,7 @@ nextActions:
|
|
|
33
33
|
- "peaks-qa reads this handoff and runs the regression matrix"
|
|
34
34
|
- "If Gate C passes, transition to txt handoff"
|
|
35
35
|
gateEvidence:
|
|
36
|
-
projectScan: .peaks/
|
|
36
|
+
projectScan: .peaks/project-scan/project-scan.md
|
|
37
37
|
prdHandoff: .peaks/_runtime/<sessionId>/prd/handoff.md
|
|
38
38
|
codeReview: .peaks/_runtime/<sessionId>/rd/code-review.md
|
|
39
39
|
securityReview: .peaks/_runtime/<sessionId>/rd/security-review.md
|
|
@@ -138,7 +138,7 @@ peaks request show <request-id> --role prd --project <repo> --json # read link
|
|
|
138
138
|
# browser-launch substitute (it cannot launch a browser of its own).
|
|
139
139
|
|
|
140
140
|
# 3. read project-scan for component library and CSS framework context
|
|
141
|
-
# check .peaks/
|
|
141
|
+
# check .peaks/project-scan/project-scan.md (blocking if missing for existing projects)
|
|
142
142
|
# NOTE: project-scan.md is a session-scoped singleton — check before regenerating. Reuse if complete.
|
|
143
143
|
|
|
144
144
|
# 4. PROTOTYPE FIDELITY CHECK (MANDATORY before any design work):
|
|
@@ -319,7 +319,7 @@ Every UI invocation touching user-visible behavior MUST produce a design-draft a
|
|
|
319
319
|
8. **Anti-template checklist** — which generic patterns were rejected.
|
|
320
320
|
|
|
321
321
|
**Component library awareness rules:**
|
|
322
|
-
- Read `.peaks/
|
|
322
|
+
- Read `.peaks/project-scan/project-scan.md` before proposing UI changes.
|
|
323
323
|
- antd → `theme.token`, `className`/`styles` APIs; no TailwindCSS utilities on antd components.
|
|
324
324
|
- MUI → `sx` prop, `styled()`, `theme`; no TailwindCSS utilities on MUI components.
|
|
325
325
|
- shadcn/ui → TailwindCSS utility classes + existing shadcn variants (expected pattern).
|
|
@@ -68,7 +68,7 @@ After autonomous work (RD, QA, security, perf), invoke peaks-final-review for 4-
|
|
|
68
68
|
|
|
69
69
|
### Peaks-Loop Step N+2: Main-session context monitor (D6 + slice 2026-07-02)
|
|
70
70
|
|
|
71
|
-
After every 4th tool call, probe via `peaks code context-now --project <repo> --json`. Thresholds: 50% / **0.85 pre-compact / 0.95 red-line** (v2.13.0). **In Job mode ≥ 0.85 is MANDATORY auto-compact** (
|
|
71
|
+
After every 4th tool call, probe via `peaks code context-now --project <repo> --json`. Thresholds: 50% / **0.85 pre-compact / 0.95 red-line** (v2.13.0). **In Job mode ≥ 0.85 is MANDATORY auto-compact** (`peaks session auto-compact --execute`). Pass `--enforce-job-mode` for single-rid. **≥ 0.95** red line: next Bash/Task fires `peaks session auto-compact-hook`. **Karpathy §4 exception**: compact red line keeps runner alive — zero-intervention wins; LLM MUST NOT ask user to run `/compact`. Honor `--in-flight-batch` (D6.e).
|
|
72
72
|
|
|
73
73
|
### Peaks-Loop Step 0: Anchor the workflow (MANDATORY FIRST ACTIONS — no bail-out)
|
|
74
74
|
|
|
@@ -84,17 +84,11 @@ Run `peaks workspace init` + `peaks skill presence:set peaks-code` BEFORE any an
|
|
|
84
84
|
|
|
85
85
|
### Peaks-Loop Step 0.7: Detect unfinished work and offer resume (BLOCKING on first invocation per session)
|
|
86
86
|
|
|
87
|
-
After Step 0, run the resume-detection probe; surface via `AskUserQuestion` if a slice is in flight.
|
|
88
|
-
|
|
89
|
-
**v3.1.2 resume rule:** if `.peaks/_runtime/<sessionId>/job/<jid>/progress.json` exists, read it FIRST and surface `Next: slice #N of M (<currentSlice>)`. `peaks job progress --job-id <jid> [--allow-missing]` is the canonical reader; the same JSON is surfaced by `peaks code gate-step-08` on every Bash call.
|
|
90
|
-
|
|
91
|
-
**v2.11.0 D7 override:** if user just `/compact`ed, run `peaks code post-compact-detect --project <repo> --json` FIRST; `shouldAutoResume: true` skips AskUserQuestion (D7.b). Log to `.peaks/_runtime/<sessionId>/txt/auto-decisions.md`.
|
|
92
|
-
|
|
93
|
-
→ see `references/resume-detection.md`.
|
|
87
|
+
After Step 0, run the resume-detection probe; surface via `AskUserQuestion` if a slice is in flight. **v3.1.2 resume rule:** if `.peaks/_runtime/<sessionId>/job/<jid>/progress.json` exists, read FIRST and surface `Next: slice #N of M`. **v2.11.0 D7 override:** if user just `/compact`ed, run `peaks code post-compact-detect --project <repo> --json` FIRST; `shouldAutoResume: true` skips AskUserQuestion. → `references/resume-detection.md`.
|
|
94
88
|
|
|
95
89
|
### Peaks-Loop Step 0.55: 1.x → 2.0 detection (BLOCKING on first invocation per session, when the project is not on a 2.0 layout)
|
|
96
90
|
|
|
97
|
-
After Step 0.7 returns "fresh", run `peaks upgrade --detect-1x --project <root> --json`. If `isOneX: true`, surface `AskUserQuestion`.
|
|
91
|
+
After Step 0.7 returns "fresh", run `peaks upgrade --detect-1x --project <root> --json`. If `isOneX: true`, surface `AskUserQuestion`. → `references/step-0-55-1x-detection.md`.
|
|
98
92
|
|
|
99
93
|
### Peaks-Loop Step 0.8 — Job 启动 (BLOCKING on LLM judgement — v3.1.1 patch + v3.1.2 mechanical gates)
|
|
100
94
|
|
|
@@ -108,12 +102,7 @@ The CLI is a **recorder + gate** for job-shape (the LLM judges). LLM calls `peak
|
|
|
108
102
|
|
|
109
103
|
**v3.1.2 mechanical gates** (recorder-only was bypassed twice):
|
|
110
104
|
|
|
111
|
-
|
|
112
|
-
- **Size-fear ban** — `peaks code emit-handoff` refuses a final handoff while `remaining > 0` under Job mode.
|
|
113
|
-
- **Forced auto-compact** — `peaks code context-now --enforce-job-mode` (auto-enabled on `isJob=true`) returns `auto-compact-now` at ≥ 0.85; **In Job mode ≥ 0.85 is MANDATORY auto-compact** (not advisory).
|
|
114
|
-
- **On-disk slice progress** — `peaks job checkpoint --state done` writes `progress.json`; `peaks job progress --job-id <jid> [--allow-missing]` is the canonical reader.
|
|
115
|
-
|
|
116
|
-
Full mechanics (judgement criteria, hook table, backup-regex rationale, hook wiring) at `references/step-0-8-gate.md`.
|
|
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`.
|
|
117
106
|
|
|
118
107
|
### Peaks-Loop Step 0.81 — per-slice 收尾
|
|
119
108
|
|
|
@@ -121,11 +110,11 @@ After commit: `peaks job checkpoint --slice-id <rid> --state done --commit-sha $
|
|
|
121
110
|
|
|
122
111
|
### Peaks-Loop Step 0.85 — slice 阻塞处理
|
|
123
112
|
|
|
124
|
-
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
|
|
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.
|
|
125
114
|
|
|
126
115
|
### Peaks-Loop Step 0.86 — main session rotation
|
|
127
116
|
|
|
128
|
-
Active in rotating mode; fires every `rotateEvery` slices or
|
|
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>`.
|
|
129
118
|
|
|
130
119
|
### Peaks-Loop Step 0.87 — sub-agent cleanup gate
|
|
131
120
|
|
|
@@ -147,9 +136,7 @@ Run `peaks project memories --project <repo> --json` to read decisions / convent
|
|
|
147
136
|
|
|
148
137
|
### Peaks-Loop Step 2.5: Set session title
|
|
149
138
|
|
|
150
|
-
Extract a short title from the user's first request (8-20 Chinese chars or 4-10 English words). Run `peaks session title <
|
|
151
|
-
|
|
152
|
-
> **CLI reality check (D-002 sediment, 2026-07-09):** The session id is a **positional argument**, not a `--session-id` flag. Correct invocation is `peaks session title 2026-07-08-session-17918f "add-zcode-adapter — peaks-loop 第 9 IDE 接入" --json`. Passing `--session-id` will be rejected with `error: unknown option '--session-id'`.
|
|
139
|
+
Extract a short title from the user's first request (8-20 Chinese chars or 4-10 English words). Run `peaks session title <sessionId> "<title>" --json`. Skip if a title is already set. → `references/skill-presence-and-title.md` (same file as Step 2). D-002: sid is positional, NOT `--session-id` flag (rejected with `error: unknown option`).
|
|
153
140
|
|
|
154
141
|
## Sub-agent session sharing (MANDATORY — one conversation = one sid)
|
|
155
142
|
|
|
@@ -157,16 +144,16 @@ When peaks-code dispatches a sub-agent (peaks-rd, peaks-qa, peaks-ui, peaks-txt,
|
|
|
157
144
|
|
|
158
145
|
## Boundaries
|
|
159
146
|
|
|
160
|
-
Peaks-Loop Code may
|
|
147
|
+
Peaks-Loop Code may identify scenarios, recommend profiles, coordinate role skills via artifacts, coordinate project memory extraction, request user confirmation at risk/commit boundaries. MUST NOT silently install hooks / create agents / enable MCP / modify Claude settings / create GitHub repos / bypass role-skill artifacts. → `references/boundaries.md`.
|
|
161
148
|
|
|
162
149
|
## CLI Drift Index (sediment 2026-07-09)
|
|
163
150
|
|
|
164
|
-
> **Reading guide:**
|
|
151
|
+
> **Reading guide:** Verified against peaks-loop 4.0.0-beta.6. Each drift below is annotated inline at the relevant step with a `> CLI reality check`. On `error: unknown option ...`, **read the inline reality check first** before guessing.
|
|
165
152
|
|
|
166
153
|
| Drift ID | Step | Symptom | Fix | Inline location |
|
|
167
154
|
|---|---|---|---|---|
|
|
168
155
|
| **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 |
|
|
169
|
-
| **D-002** | 2.5 | `peaks session title --session-id <sid> ...` rejected with `error: unknown option '--session-id'` | sid is positional: `peaks session title <
|
|
156
|
+
| **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.5 |
|
|
170
157
|
| **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 |
|
|
171
158
|
| **D-010** | 11c | `peaks memory extract` returns `extractedCount: 0` despite `<!-- peaks-memory:start -->` existing | Block requires YAML frontmatter (`title:` + `kind:` + `---`) + closing `<!-- peaks-memory:end -->`. Bare `peaks-memory:start` is parsed silently but produces no writes | §Step 11c + 11d |
|
|
172
159
|
|
|
@@ -182,7 +169,9 @@ Step 0 creates the workspace; all intermediate artifacts land under `.peaks/_run
|
|
|
182
169
|
|
|
183
170
|
## Peaks-Loop Pre-RD project scan checklist (MANDATORY)
|
|
184
171
|
|
|
185
|
-
Before handing off to `peaks-rd`, scan the project and record findings to `.peaks/
|
|
172
|
+
Before handing off to `peaks-rd`, scan the project and record findings to `.peaks/project-scan/project-scan.md` (project-level, git-tracked; sibling of `.peaks/PROJECT.md`). Slice 2026-07-15-project-scan-bootstrap (G1 + G2): `peaks workspace init` and `peaks project context` both bootstrap this file automatically; only re-run the manual flow when the scan output is genuinely out of date. → `references/project-scan-checklist.md`.
|
|
173
|
+
|
|
174
|
+
> **Slice 2026-07-15-project-scan-bootstrap G4b / AC9:** after `peaks workspace init`, the consumer project's `.peaks/project-scan/` directory carries 5 files: `project-scan.md` (generated by the scan logic) + `business-knowledge.md` + `security-template.md` + `perf-template.md` + `audit-output-schema.md` (the 4 audit/business templates bundled at `src/services/workspace/templates/project-scan/*.md`, copied on init; idempotent — existing files preserved unless `--force-project-scan-templates`). RD / UI / TXT / QA read from this tree; nothing else.
|
|
186
175
|
|
|
187
176
|
## Peaks-Loop Frontend-only development mode
|
|
188
177
|
|
|
@@ -190,15 +179,13 @@ When the project has no live backend (no swagger.json, no API server), Code must
|
|
|
190
179
|
|
|
191
180
|
## Peaks-Loop Request type classification + Workflow order + Transition verification gates
|
|
192
181
|
|
|
193
|
-
The
|
|
182
|
+
The 6-type table + 11-step order + 7 transition gates (A-G) live in `references/workflow-gates-and-types.md`. peaks-code narrative references Gate A-G — keep both files in lockstep.
|
|
194
183
|
|
|
195
184
|
## Peaks-Loop Default sub-agent fan-out (≥ 2 leaves/topological level → `--from-dag`)
|
|
196
185
|
|
|
197
186
|
> **Slice 5:** when the slice DAG has ≥ 2 leaves at one topological level, dispatch via `peaks sub-agent dispatch --from-dag <dag-file>` (wall-time ≈ max, not sum).
|
|
198
187
|
|
|
199
|
-
Write DAG → `.peaks/_runtime/<sessionId>/sc/slice-dag.json`, run `peaks sub-agent dispatch --from-dag <dag-file> --batch-id <id>` once; orchestrator emits N parallel `buildToolCall` (`dispatchCount === N`).
|
|
200
|
-
|
|
201
|
-
> **2026-06-28 校准:** 主路径 = 唯一蜂群;config/docs/chore 跳过不打断。详见 `.peaks/memory/peaks-loop-24h-ai-programmer-positioning.md`。
|
|
188
|
+
Write DAG → `.peaks/_runtime/<sessionId>/sc/slice-dag.json`, run `peaks sub-agent dispatch --from-dag <dag-file> --batch-id <id>` once; orchestrator emits N parallel `buildToolCall` (`dispatchCount === N`). 主路径 = 唯一蜂群;config/docs/chore 跳过不打断。详见 `.peaks/memory/peaks-loop-24h-ai-programmer-positioning.md`。
|
|
202
189
|
|
|
203
190
|
### Hard constraint: fan-out is mandatory (slice 2026-06-24-audit-5th-p2)
|
|
204
191
|
|
|
@@ -242,25 +229,7 @@ After final validation, refresh project-local standards via `peaks standards ini
|
|
|
242
229
|
|
|
243
230
|
## Peaks-Loop Step 11: Memory sediment (BLOCKING on workflow complete)
|
|
244
231
|
|
|
245
|
-
> **Hard rule.** Code MUST NOT declare a workflow complete until Step 11 has produced ≥ 1 file in `.peaks/memory/`
|
|
246
|
-
|
|
247
|
-
### Substeps (BLOCKING)
|
|
248
|
-
|
|
249
|
-
**11a — Gate A (txt/ inventory):** `find .peaks/_runtime/<sessionId>/txt/ -type f -name '*.md' | head`. If **0 files** → STOP. Dispatch `peaks-txt` first to write `handoff.md`, then return to 11c.
|
|
250
|
-
|
|
251
|
-
**11b — Gate B (memory block embed scan):** `grep -c 'peaks-memory:start' .peaks/_runtime/<sessionId>/txt/handoff.md || true`. If **0 AND this session surfaced a stable project fact** (decision / convention / approved refactor / hard rule), STOP and tell peaks-txt to embed at least one `<!-- peaks-memory:start -->` block first.
|
|
252
|
-
|
|
253
|
-
**11c — Canonical extract** (the only CLI that writes `.peaks/memory/`): `peaks memory extract --project <repo> --artifact .peaks/_runtime/<sessionId>/txt/handoff.md --apply --json`. `--apply` is REQUIRED (without it the command only previews — no files land).
|
|
254
|
-
|
|
255
|
-
> **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 bare `peaks-memory:start` without the YAML fields is parsed but produces no `plannedWrites` — the CLI silently returns `extractedCount: 0`. Full format reference: see any successful extract output (e.g. `.peaks/_runtime/2026-07-08-session-17918f/txt/handoff-003-add-zcode-adapter.md`).
|
|
256
|
-
|
|
257
|
-
**11d — Gate C (zero-write outcome):** If `extractedCount === 0` after 11c, fire AskUserQuestion:
|
|
258
|
-
|
|
259
|
-
> "本次 code 未沉淀任何 `.peaks/memory` 文件。可选: (a) 回去在 handoff.md 嵌入至少 1 个 `peaks-memory:start` block 后重试; (b) 显式接受 no-sediment 并记录为 lesson; (c) 取消完成。"
|
|
260
|
-
|
|
261
|
-
> **D-010 fix root cause check:** When firing 11d, first inspect whether the block has the YAML frontmatter (`title:` + `kind:` + `---`). If the `<!-- peaks-memory:start -->` exists but no `title:` line follows, fix the block format and re-run 11c — don't ask the user yet. Default option = (a). Code MUST NOT silently accept (b) without user pick. Full bash + flow at `references/runbook.md` §Step 11.
|
|
262
|
-
|
|
263
|
-
**Why this step exists:** audit 2026-07-03 confirmed 2 consecutive sessions produced zero `.peaks/memory/` files despite completing RD + QA + handoff artifacts; `assisted` mode silently skipped runbook Step 10 (no STOP condition). **Why `peaks memory extract` (not `peaks project memories:extract`):** the artifact-scoped extract is canonical; the batch-scoped sibling is for non-handoff flows. Always use `peaks memory extract --apply`.
|
|
232
|
+
> **Hard rule.** Code MUST NOT declare a workflow complete until Step 11 has produced ≥ 1 file in `.peaks/memory/` OR the user has explicitly approved a no-sediment outcome via AskUserQuestion. Canonical CLI: `peaks memory extract --project <repo> --artifact .peaks/_runtime/<sessionId>/txt/handoff.md --apply --json` (the artifact-scoped extract; the batch-scoped sibling `peaks project memories:extract` is for non-handoff flows only). Substeps 11a/11b/11c/11d (Gate A/B/C), D-010 fix root cause check → `references/step-11-memory-sediment.md` + `references/runbook.md` §Step 11.
|
|
264
233
|
|
|
265
234
|
## Peaks-Loop External references and lifecycle
|
|
266
235
|
|
|
@@ -274,9 +243,9 @@ After final validation, refresh project-local standards via `peaks standards ini
|
|
|
274
243
|
|
|
275
244
|
Main LLM reducer sees metadata-only view (~200 chars/sub-agent); on-demand `Read` for full content. Threshold table: 50% soft warn, 75% `CONTEXT_NEAR_LIMIT`, 80% hard reject (CLI + hook double-guard). → `references/context-governance.md`.
|
|
276
245
|
|
|
277
|
-
## Sub-agent cross-batch signal — G8.4 share / shared-read / await
|
|
246
|
+
## Sub-agent cross-batch signal — G8.4 share / shared-read / await
|
|
278
247
|
|
|
279
|
-
Three CLI primitives
|
|
248
|
+
Three CLI primitives: `peaks sub-agent share / shared-read / await` (last-write-wins, ≤ 1KB warn / ≥ 64KB reject). Channel gitignored under `.peaks/_sub_agents/<sessionId>/shared/`.
|
|
280
249
|
|
|
281
250
|
## References
|
|
282
251
|
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
> Extracted from `skills/peaks-code/SKILL.md` on 2026-06-09 (slice 019 — slim skill files to references) to keep SKILL.md under the 800-line cap from `common/coding-style.md`. The content below is the verbatim Pre-RD project scan checklist that was previously inline; nothing was paraphrased, just relocated.
|
|
4
4
|
|
|
5
|
-
Before handing off to `peaks-rd`, scan the project and record findings to `.peaks/
|
|
5
|
+
Before handing off to `peaks-rd`, scan the project and record findings to `.peaks/project-scan/project-scan.md` (project-level, git-tracked; sibling of `.peaks/PROJECT.md`). RD and UI roles read this before starting work. **project-scan.md is a project-scoped singleton** — check if it already exists before regenerating (e.g. via `ls .peaks/project-scan/project-scan.md`). If it exists and is complete (has `## Archetype` and `## Project mode` sections), reuse it. Only regenerate if missing or incomplete.
|
|
6
|
+
|
|
7
|
+
> **Slice 2026-07-15-project-scan-bootstrap (G1 + G2 + G4b):** `peaks workspace init` and `peaks project context` now both bootstrap `.peaks/project-scan/project-scan.md` automatically. On a brand-new 0-1 project (no `package.json` or no source files) the file is seeded with `archetype: unknown` + `(empty)` placeholder rows. On an existing project it is filled from `peaks scan archetype` + `peaks scan libraries` output. Idempotent — re-running `workspace init` does NOT overwrite the existing file unless `--force` is passed.
|
|
6
8
|
|
|
7
9
|
### 0. Project archetype detection (MANDATORY — run FIRST, deterministic CLI)
|
|
8
10
|
|
|
@@ -26,8 +26,8 @@ peaks skill runbook peaks-code --json
|
|
|
26
26
|
peaks workspace init --project <repo> --json
|
|
27
27
|
peaks workspace reconcile --project <repo> --json
|
|
28
28
|
peaks scan archetype --project <repo> --json
|
|
29
|
-
# → copy archetype, frontendOnly, signals into .peaks/
|
|
30
|
-
# → copy libraries[] into .peaks/
|
|
29
|
+
# → copy archetype, frontendOnly, signals into .peaks/project-scan/project-scan.md (Peaks-Loop Gate A; project-level, git-tracked — slice 2026-07-15-project-scan-bootstrap G1)
|
|
30
|
+
# → copy libraries[] into .peaks/project-scan/project-scan.md under `## Library versions`
|
|
31
31
|
peaks scan libraries --project <repo> --json
|
|
32
32
|
# → if archetype != greenfield AND archetype != unknown:
|
|
33
33
|
peaks scan existing-system --project <repo> --json
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
Use `standards init` for first-time creation and `standards update` for existing `CLAUDE.md` append/review behavior. In `full-auto` and `swarm` profiles, `--apply` runs automatically after `--dry-run` succeeds — these files live inside the target project, are required for downstream skill preflight, and producing them is part of finishing the workflow (Peaks-Loop Gate G enforces this). `assisted` and `strict` profiles pause for explicit user confirmation between dry-run and apply.
|
|
9
9
|
|
|
10
|
-
**CRITICAL — Standards must reflect the project scan.** When generating or updating `CLAUDE.md`, the content must reference concrete findings from `.peaks/
|
|
10
|
+
**CRITICAL — Standards must reflect the project scan.** When generating or updating `CLAUDE.md`, the content must reference concrete findings from `.peaks/project-scan/project-scan.md`: the detected component library (e.g. "This project uses antd 5.x"), CSS solution (e.g. "Uses Less via Umi"), build tool, state management, and routing. Never emit a generic template that says "read .claude/rules/..." without naming the actual project stack. If the project-scan has not been run yet, run it before standards init/update.
|
|
11
11
|
|
|
12
12
|
**Legacy projects additionally** — when archetype ∈ {legacy-frontend, legacy-fullstack, frontend-monorepo}, the `CLAUDE.md` Conventions section MUST extract concrete naming, directory, service-layer, and hooks conventions from `.peaks/_runtime/<sessionId>/system/existing-system.md` and record them as hard constraints for new code. It must also list the `## Legacy constraints` from `project-scan.md` (class components, moment, enzyme, etc.) and instruct that new code in the same module preserves those patterns unless PRD explicitly authorizes modernization. A `CLAUDE.md` for a legacy project that contains only generic rule pointers without naming the actual conventions is a blocking violation — regenerate it.
|
|
13
13
|
|