@bolloon/bolloon-agent 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/dist/constraint-runtime/tests/agent.test.js +0 -16
- package/dist/constraint-runtime/tests/constraint.test.js +0 -41
- package/dist/constraint-runtime/tests/skill.test.js +0 -19
- package/dist/constraint-runtime/tests/thinking.test.js +0 -22
- package/dist/electron-preload.js +0 -15
- package/dist/electron-preload.js.map +0 -1
- package/dist/electron.js +0 -206
- package/dist/electron.js.map +0 -1
- package/dist/test/constraint-layer.test.js +0 -164
- package/dist/test/global-shared-context.test.js +0 -315
- package/dist/test/pi-sdk.test.js +0 -47
- package/dist/test/set-persona.test.js +0 -38
- package/dist/test/subagent-manager.test.js +0 -276
- package/dist/test/workflow-engine.test.js +0 -87
- package/dist/workflows/collaboration.js +0 -374
- package/dist/workflows/index.js +0 -54
- package/docs/agent-communication.md +0 -333
- package/docs/plans/2026-05-15-document-agent-design.md +0 -479
- package/docs/plans/2026-05-15-document-agent-implementation-plan.md +0 -792
- package/docs/plans/2026-05-16-chat-ui-design.md +0 -86
- package/docs/plans/2026-05-16-constraint-runtime-design.md +0 -106
- package/docs/plans/2026-05-16-constraint-runtime-implementation.md +0 -441
- package/docs//346/225/260/345/255/246/350/276/205/345/212/251/346/231/272/350/203/275/344/275/223-/346/240/270/345/277/203/346/225/210/346/236/234/345/256/232/344/271/211.md +0 -287
- package/src/bollharness/.boll/CLAUDE.md.template +0 -34
- package/src/bollharness/.boll/MANIFEST.yaml +0 -213
- package/src/bollharness/.boll/active-review-agents/.gitkeep +0 -0
- package/src/bollharness/.boll/agents/review-base.yaml +0 -108
- package/src/bollharness/.boll/deploy-allowlist.yaml +0 -38
- package/src/bollharness/.boll/inbox/schema/message-v1.json +0 -99
- package/src/bollharness/.boll/install-staging/.gitkeep +0 -0
- package/src/bollharness/.boll/issue-adapter.yaml +0 -31
- package/src/bollharness/.boll/plugins/boll-mode-toolkit/contracts/mode-contract.md +0 -85
- package/src/bollharness/.boll/plugins/boll-review-toolkit/contracts/evidence-packet-schema.json +0 -102
- package/src/bollharness/.boll/plugins/boll-review-toolkit/contracts/review-contract.yaml +0 -247
- package/src/bollharness/.boll/rules/backend-routes.md +0 -31
- package/src/bollharness/.boll/rules/closure-semantics.md +0 -30
- package/src/bollharness/.boll/rules/env-vars.md +0 -32
- package/src/bollharness/.boll/rules/hanis-protocol.md +0 -145
- package/src/bollharness/.boll/rules/repo-structure.md +0 -42
- package/src/bollharness/.boll/rules/review-agent-isolation.md +0 -73
- package/src/bollharness/.boll/rules/source-of-truth.md +0 -33
- package/src/bollharness/.boll/settings.json +0 -180
- package/src/bollharness/.boll/settings.json.template +0 -31
- package/src/bollharness/.boll/skills/arch/SKILL.md +0 -372
- package/src/bollharness/.boll/skills/bug-pipeline/SKILL.md +0 -168
- package/src/bollharness/.boll/skills/bug-triage/SKILL.md +0 -161
- package/src/bollharness/.boll/skills/context-chains/SKILL.md +0 -250
- package/src/bollharness/.boll/skills/context-chains/context-chain-index.md +0 -48
- package/src/bollharness/.boll/skills/context-chains/work-type-extractors/code_change_extractor.ts +0 -142
- package/src/bollharness/.boll/skills/context-chains/work-type-extractors/debugging_extractor.ts +0 -126
- package/src/bollharness/.boll/skills/context-chains/work-type-extractors/design_extractor.ts +0 -148
- package/src/bollharness/.boll/skills/context-chains/work-type-extractors/planning_extractor.ts +0 -162
- package/src/bollharness/.boll/skills/context-chains/work-type-extractors/question_extractor.ts +0 -116
- package/src/bollharness/.boll/skills/context-chains/work-type-extractors/review_extractor.ts +0 -136
- package/src/bollharness/.boll/skills/crystal-learn/SKILL.md +0 -93
- package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-0.md +0 -34
- package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-1.md +0 -34
- package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-2.md +0 -35
- package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-3.md +0 -34
- package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-4.md +0 -43
- package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-5.md +0 -34
- package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-6.md +0 -37
- package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-7.md +0 -46
- package/src/bollharness/.boll/skills/guardian-fixer/PROMPT.md +0 -415
- package/src/bollharness/.boll/skills/guardian-fixer/SKILL.md +0 -320
- package/src/bollharness/.boll/skills/harness-dev/SKILL.md +0 -93
- package/src/bollharness/.boll/skills/harness-dev/examples/README.md +0 -227
- package/src/bollharness/.boll/skills/harness-dev-handoff/SKILL.md +0 -165
- package/src/bollharness/.boll/skills/harness-eng/SKILL.md +0 -110
- package/src/bollharness/.boll/skills/harness-eng-test/SKILL.md +0 -79
- package/src/bollharness/.boll/skills/harness-lab/SKILL.md +0 -170
- package/src/bollharness/.boll/skills/harness-ops/SKILL.md +0 -57
- package/src/bollharness/.boll/skills/harness-voice/SKILL.md +0 -183
- package/src/bollharness/.boll/skills/judgment/SKILL.md +0 -115
- package/src/bollharness/.boll/skills/lead/SKILL.md +0 -245
- package/src/bollharness/.boll/skills/lead/install-wow-harness.md +0 -77
- package/src/bollharness/.boll/skills/lead/ref-review-sop.md +0 -91
- package/src/bollharness/.boll/skills/lead/ref-stages.md +0 -129
- package/src/bollharness/.boll/skills/skill-discovery/SKILL.md +0 -169
- package/src/bollharness/.boll/skills/task-arch/SKILL.md +0 -106
- package/src/bollharness/.boll/skills/toolkit/SKILL.md +0 -57
- package/src/bollharness/.boll/tasks/.gitkeep +0 -0
- package/src/bollharness/.boll/toolkit-index.yaml +0 -112
- package/src/bollharness/.claude/agents/review-base.yaml +0 -108
- package/src/bollharness/.claude/plugins/boll-mode-toolkit/.claude-plugin/plugin.json +0 -44
- package/src/bollharness/.claude/plugins/boll-review-toolkit/.claude-plugin/plugin.json +0 -24
- package/src/bollharness/.claude/plugins/boll-review-toolkit/contracts/evidence-packet-schema.json +0 -102
- package/src/bollharness/.claude/plugins/boll-review-toolkit/contracts/review-contract.yaml +0 -247
- package/src/bollharness/.claude/settings.json +0 -157
- package/src/bollharness/.claude/skills/arch/SKILL.md +0 -64
- package/src/bollharness/.claude/skills/crystal-learn/SKILL.md +0 -93
- package/src/bollharness/.claude/skills/guardian-fixer/PROMPT.md +0 -44
- package/src/bollharness/.claude/skills/guardian-fixer/SKILL.md +0 -324
- package/src/bollharness/.claude/skills/harness-dev/SKILL.md +0 -93
- package/src/bollharness/.claude/skills/harness-dev/examples/README.md +0 -17
- package/src/bollharness/.claude/skills/harness-dev-handoff/SKILL.md +0 -165
- package/src/bollharness/.claude/skills/harness-eng/SKILL.md +0 -183
- package/src/bollharness/.claude/skills/harness-eng-test/SKILL.md +0 -57
- package/src/bollharness/.claude/skills/harness-ops/SKILL.md +0 -57
- package/src/bollharness/.claude/skills/harness-voice/SKILL.md +0 -84
- package/src/bollharness/.claude/skills/lead/INDEX.md +0 -28
- package/src/bollharness/.claude/skills/lead/SKILL.md +0 -24
- package/src/bollharness/.claude/skills/lead/install-wow-harness.md +0 -77
- package/src/bollharness/.claude/skills/lead/ref-review-sop.md +0 -48
- package/src/bollharness/.claude/skills/lead/ref-stages.md +0 -58
- package/src/bollharness/.claude/skills/plan-lock/SKILL.md +0 -74
- package/src/bollharness/.claude/skills/skill-discovery/SKILL.md +0 -120
- package/src/bollharness/.claude/skills/task-arch/SKILL.md +0 -106
- package/src/bollharness/.claude/skills/toolkit/SKILL.md +0 -57
- package/src/bollharness/.claude/skills/toolkit/list.sh +0 -92
- package/src/bollharness/.githooks/pre-commit +0 -21
- package/src/bollharness/.github/workflows/ci.yml +0 -88
- package/src/bollharness/CLAUDE.md +0 -73
- package/src/bollharness/README.md +0 -143
- package/src/bollharness/README.zh-CN.md +0 -131
- package/src/bollharness/docs/decisions/ADR-030-guard-signal-protocol-and-governance-reload.md +0 -1076
- package/src/bollharness/docs/decisions/ADR-038-harness-optimization-strategy.md +0 -2039
- package/src/bollharness/docs/decisions/ADR-041-codex-claude-code-division-of-labor.md +0 -128
- package/src/bollharness/docs/decisions/ADR-H1-crystal-learn-revival.md +0 -188
- package/src/bollharness/docs/decisions/ADR-H2-identity-isolation.md +0 -183
- package/src/bollharness/docs/decisions/ADR-H3-memory-scope.md +0 -133
- package/src/bollharness/docs/decisions/ADR-H4-prompt-governance.md +0 -146
- package/src/bollharness/docs/decisions/ADR-H5-gate-quantization.md +0 -212
- package/src/bollharness/docs/decisions/ADR-H6-state-file-health.md +0 -211
- package/src/bollharness/docs/decisions/ADR-H8-issue-and-doc-compliance.md +0 -202
- package/src/bollharness/docs/decisions/ADR-H9-mailbox.md +0 -231
- package/src/bollharness/docs/decisions/PLAN-H1-crystal-learn-revival.md +0 -270
- package/src/bollharness/docs/decisions/PLAN-H2-identity-isolation.md +0 -291
- package/src/bollharness/docs/decisions/PLAN-H3-memory-scope.md +0 -228
- package/src/bollharness/docs/decisions/PLAN-H4-prompt-governance.md +0 -227
- package/src/bollharness/docs/decisions/PLAN-H5-gate-quantization.md +0 -239
- package/src/bollharness/docs/decisions/PLAN-H6-state-file-health.md +0 -325
- package/src/bollharness/docs/decisions/PLAN-H8-issue-and-doc-compliance.md +0 -242
- package/src/bollharness/docs/decisions/PLAN-H9-mailbox.md +0 -378
- package/src/bollharness/docs/launch-article-en.md +0 -276
- package/src/bollharness/docs/launch-article-zh.md +0 -305
- package/src/bollharness/docs/practice.html +0 -356
- package/src/bollharness/docs/practice.md +0 -82
- package/src/bollharness/docs/research/round-1/README.md +0 -11
- package/src/bollharness/docs/research/round-2/README.md +0 -11
- package/src/bollharness/docs/research/round-3/README.md +0 -11
- package/src/bollharness/docs/research/round-4/README.md +0 -11
- package/src/bollharness/docs/research/round-5/README.md +0 -11
- package/src/bollharness/docs/research/round-6/README.md +0 -11
- package/src/bollharness/package-lock.json +0 -48
- package/src/bollharness/reference/boll-reference/.claude/rules/backend-routes.md +0 -268
- package/src/bollharness/reference/boll-reference/.claude/rules/bridge.md +0 -20
- package/src/bollharness/reference/boll-reference/.claude/rules/closure-semantics.md +0 -30
- package/src/bollharness/reference/boll-reference/.claude/rules/coaching.md +0 -13
- package/src/bollharness/reference/boll-reference/.claude/rules/env-vars.md +0 -50
- package/src/bollharness/reference/boll-reference/.claude/rules/hackathon.md +0 -12
- package/src/bollharness/reference/boll-reference/.claude/rules/repo-structure.md +0 -184
- package/src/bollharness/reference/boll-reference/.claude/rules/review-agent-isolation.md +0 -112
- package/src/bollharness/reference/boll-reference/.claude/rules/scenes.md +0 -12
- package/src/bollharness/reference/boll-reference/.claude/skills/arch/SKILL.md +0 -551
- package/src/bollharness/reference/boll-reference/.claude/skills/boll-animation/SKILL.md +0 -26
- package/src/bollharness/reference/boll-reference/.claude/skills/boll-bridge/SKILL.md +0 -227
- package/src/bollharness/reference/boll-reference/.claude/skills/boll-bridge/agents/openai.yaml +0 -4
- package/src/bollharness/reference/boll-reference/.claude/skills/boll-bridge/references/bridge-failure-taxonomy.md +0 -142
- package/src/bollharness/reference/boll-reference/.claude/skills/boll-bridge/references/bridge-validation-ladder.md +0 -107
- package/src/bollharness/reference/boll-reference/.claude/skills/boll-crystal/SKILL.md +0 -893
- package/src/bollharness/reference/boll-reference/.claude/skills/boll-crystal-learn/SKILL.md +0 -89
- package/src/bollharness/reference/boll-reference/.claude/skills/boll-dev/SKILL.md +0 -93
- package/src/bollharness/reference/boll-reference/.claude/skills/boll-dev/examples/README.md +0 -209
- package/src/bollharness/reference/boll-reference/.claude/skills/boll-dev-handoff/SKILL.md +0 -165
- package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng/SKILL.md +0 -110
- package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-frontend/SKILL.md +0 -203
- package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-hdc/SKILL.md +0 -27
- package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-orchestrator/SKILL.md +0 -28
- package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-prompt/SKILL.md +0 -27
- package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-test/SKILL.md +0 -79
- package/src/bollharness/reference/boll-reference/.claude/skills/boll-lab/SKILL.md +0 -372
- package/src/bollharness/reference/boll-reference/.claude/skills/boll-run/SKILL.md +0 -437
- package/src/bollharness/reference/boll-reference/.claude/skills/boll-ux-appstore/SKILL.md +0 -27
- package/src/bollharness/reference/boll-reference/.claude/skills/boll-voice/SKILL.md +0 -442
- package/src/bollharness/reference/boll-reference/.claude/skills/guardian-fixer/PROMPT.md +0 -421
- package/src/bollharness/reference/boll-reference/.claude/skills/guardian-fixer/SKILL.md +0 -326
- package/src/bollharness/reference/boll-reference/.claude/skills/lead/SKILL.md +0 -155
- package/src/bollharness/reference/boll-reference/.claude/skills/lead/ref-review-sop.md +0 -91
- package/src/bollharness/reference/boll-reference/.claude/skills/lead/ref-stages.md +0 -129
- package/src/bollharness/reference/boll-reference/.claude/skills/nature-designer/output/skill-map-preview.png +0 -0
- package/src/bollharness/reference/boll-reference/.claude/skills/nature-designer/output/skill-map-v2.png +0 -0
- package/src/bollharness/reference/boll-reference/.claude/skills/nature-designer/output/skill-map-v3.png +0 -0
- package/src/bollharness/reference/boll-reference/.claude/skills/nature-designer/output/skill-map-v4.png +0 -0
- package/src/bollharness/reference/boll-reference/.claude/skills/plan-lock/SKILL.md +0 -425
- package/src/bollharness/reference/boll-reference/.claude/skills/plan-lock/ref-three-checks.md +0 -62
- package/src/bollharness/reference/boll-reference/.claude/skills/plan-lock/ref-wp-templates.md +0 -78
- package/src/bollharness/reference/boll-reference/.claude/skills/task-arch/SKILL.md +0 -76
- package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-graph/SKILL.md +0 -57
- package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-graph/beads-graph.sh +0 -153
- package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-init/SKILL.md +0 -52
- package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-init/beads-auto-link.sh +0 -76
- package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-sync/SKILL.md +0 -50
- package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-sync/beads-sync-proj.sh +0 -108
- package/src/bollharness/reference/boll-reference/docs/architecture/AGENT-PROFILE.md +0 -151
- package/src/bollharness/reference/boll-reference/docs/architecture/COST-STRUCTURE.md +0 -56
- package/src/bollharness/reference/boll-reference/docs/architecture/INDEX.md +0 -76
- package/src/bollharness/reference/boll-reference/docs/architecture/MODULE1-INTENT-FIELD.md +0 -116
- package/src/bollharness/reference/boll-reference/docs/architecture/MODULE2-CRYSTALLIZATION.md +0 -200
- package/src/bollharness/reference/boll-reference/docs/architecture/PRINCIPLES.md +0 -84
- package/src/bollharness/reference/boll-reference/docs/architecture/PROTOCOL-CORE.md +0 -209
- package/src/bollharness/reference/boll-reference/docs/architecture/VISION.md +0 -181
- package/src/bollharness/reference/boll-reference/docs/architecture/discussions/D-01-MARKET-SCENE-PROTOCOL.md +0 -754
- package/src/bollharness/reference/boll-reference/scripts/hooks/stop-evaluator.md +0 -57
- package/src/bollharness/scripts/context-fragments/artifact-linkage.md +0 -14
- package/src/bollharness/scripts/context-fragments/auth-consumers.md +0 -17
- package/src/bollharness/scripts/context-fragments/bridge-constitution.md +0 -13
- package/src/bollharness/scripts/context-fragments/catalyst-distributed.md +0 -18
- package/src/bollharness/scripts/context-fragments/closure-checklist.md +0 -13
- package/src/bollharness/scripts/context-fragments/contract-consumers.md +0 -15
- package/src/bollharness/scripts/context-fragments/db-shared-structures.md +0 -15
- package/src/bollharness/scripts/context-fragments/fixed-three-layers.md +0 -19
- package/src/bollharness/scripts/context-fragments/general-dev-principles.md +0 -11
- package/src/bollharness/scripts/context-fragments/issue-first.md +0 -8
- package/src/bollharness/scripts/context-fragments/mcp-parity.md +0 -16
- package/src/bollharness/scripts/context-fragments/pi-agent-operations.md +0 -74
- package/src/bollharness/scripts/context-fragments/protocol-consumers.md +0 -15
- package/src/bollharness/scripts/context-fragments/run-events-consumers.md +0 -15
- package/src/bollharness/scripts/context-fragments/scene-fidelity.md +0 -13
- package/src/bollharness/scripts/context-fragments/truth-source-hierarchy.md +0 -15
- package/src/bollharness/scripts/context-fragments/two-language.md +0 -15
- package/src/bollharness/scripts/context-fragments/version-sources.md +0 -14
- package/src/bollharness/scripts/hooks/stop-evaluator.md +0 -83
- package/src/bollharness/templates/scaffold/.boll/guard/.gitkeep +0 -0
- package/src/bollharness/templates/scaffold/.boll/metrics/.gitkeep +0 -0
- package/src/bollharness/templates/scaffold/.boll/state/.gitkeep +0 -0
- package/src/bollharness/templates/scaffold/CLAUDE.md +0 -89
- package/src/bollharness/templates/scaffold/docs/INDEX.md +0 -3
- package/src/bollharness/templates/scaffold/docs/decisions/ADR_TEMPLATE.md +0 -38
- package/src/bollharness/templates/scaffold/docs/decisions/PLAN_TEMPLATE.md +0 -45
- package/src/bollharness/templates/scaffold/docs/decisions/tasks/.gitkeep +0 -2
- package/src/bollharness/templates/scaffold/docs/issues/.gitkeep +0 -0
- package/src/bollharness/templates/scaffold/docs/issues/GUARD_ISSUE_TEMPLATE.md +0 -35
- package/src/bollharness/templates/scaffold/docs/issues/ISSUE_TEMPLATE.md +0 -51
- package/src/bollharness/tsconfig.json +0 -26
- package/src/constraint-runtime/package-lock.json +0 -48
- package/src/constraint-runtime/package.json +0 -34
- package/src/constraint-runtime/src/_archive_helper.ts +0 -16
- package/src/constraint-runtime/src/agent/coordinator.ts +0 -71
- package/src/constraint-runtime/src/agent/index.ts +0 -1
- package/src/constraint-runtime/src/assistant/index.ts +0 -15
- package/src/constraint-runtime/src/bootstrap/index.ts +0 -15
- package/src/constraint-runtime/src/bootstrap_graph.ts +0 -17
- package/src/constraint-runtime/src/bridge/index.ts +0 -15
- package/src/constraint-runtime/src/buddy/index.ts +0 -15
- package/src/constraint-runtime/src/cli/index.ts +0 -15
- package/src/constraint-runtime/src/command_graph.ts +0 -20
- package/src/constraint-runtime/src/commands.ts +0 -83
- package/src/constraint-runtime/src/components/index.ts +0 -15
- package/src/constraint-runtime/src/constants/index.ts +0 -15
- package/src/constraint-runtime/src/constraint/budget.ts +0 -25
- package/src/constraint-runtime/src/constraint/index.ts +0 -3
- package/src/constraint-runtime/src/constraint/permission.ts +0 -28
- package/src/constraint-runtime/src/context.ts +0 -45
- package/src/constraint-runtime/src/coordinator/index.ts +0 -15
- package/src/constraint-runtime/src/cost_hook.ts +0 -6
- package/src/constraint-runtime/src/cost_tracker.ts +0 -9
- package/src/constraint-runtime/src/deferred_init.ts +0 -18
- package/src/constraint-runtime/src/direct_modes.ts +0 -13
- package/src/constraint-runtime/src/dynamic-tool-loader.ts +0 -115
- package/src/constraint-runtime/src/entrypoints/index.ts +0 -15
- package/src/constraint-runtime/src/execution_registry.ts +0 -41
- package/src/constraint-runtime/src/history.ts +0 -16
- package/src/constraint-runtime/src/hooks/index.ts +0 -15
- package/src/constraint-runtime/src/index.ts +0 -28
- package/src/constraint-runtime/src/ink.ts +0 -4
- package/src/constraint-runtime/src/keybindings/index.ts +0 -15
- package/src/constraint-runtime/src/memdir/index.ts +0 -15
- package/src/constraint-runtime/src/migrations/index.ts +0 -15
- package/src/constraint-runtime/src/models.ts +0 -49
- package/src/constraint-runtime/src/moreright/index.ts +0 -15
- package/src/constraint-runtime/src/native_ts/index.ts +0 -15
- package/src/constraint-runtime/src/output_styles/index.ts +0 -15
- package/src/constraint-runtime/src/parity_audit.ts +0 -23
- package/src/constraint-runtime/src/plugins/index.ts +0 -15
- package/src/constraint-runtime/src/port_manifest.ts +0 -20
- package/src/constraint-runtime/src/prefetch.ts +0 -17
- package/src/constraint-runtime/src/query.ts +0 -7
- package/src/constraint-runtime/src/reference_data/archive_surface_snapshot.json +0 -63
- package/src/constraint-runtime/src/reference_data/commands_snapshot.json +0 -1037
- package/src/constraint-runtime/src/reference_data/subsystems/OpenCLI.json +0 -10
- package/src/constraint-runtime/src/reference_data/subsystems/PolymarketSDK.json +0 -12
- package/src/constraint-runtime/src/reference_data/subsystems/SafeSDK.json +0 -14
- package/src/constraint-runtime/src/reference_data/subsystems/assistant.json +0 -8
- package/src/constraint-runtime/src/reference_data/subsystems/bootstrap.json +0 -8
- package/src/constraint-runtime/src/reference_data/subsystems/bridge.json +0 -32
- package/src/constraint-runtime/src/reference_data/subsystems/buddy.json +0 -13
- package/src/constraint-runtime/src/reference_data/subsystems/cli.json +0 -26
- package/src/constraint-runtime/src/reference_data/subsystems/components.json +0 -32
- package/src/constraint-runtime/src/reference_data/subsystems/constants.json +0 -28
- package/src/constraint-runtime/src/reference_data/subsystems/coordinator.json +0 -8
- package/src/constraint-runtime/src/reference_data/subsystems/entrypoints.json +0 -15
- package/src/constraint-runtime/src/reference_data/subsystems/hooks.json +0 -32
- package/src/constraint-runtime/src/reference_data/subsystems/keybindings.json +0 -21
- package/src/constraint-runtime/src/reference_data/subsystems/memdir.json +0 -15
- package/src/constraint-runtime/src/reference_data/subsystems/migrations.json +0 -18
- package/src/constraint-runtime/src/reference_data/subsystems/moreright.json +0 -8
- package/src/constraint-runtime/src/reference_data/subsystems/native_ts.json +0 -11
- package/src/constraint-runtime/src/reference_data/subsystems/outputStyles.json +0 -8
- package/src/constraint-runtime/src/reference_data/subsystems/plugins.json +0 -9
- package/src/constraint-runtime/src/reference_data/subsystems/remote.json +0 -11
- package/src/constraint-runtime/src/reference_data/subsystems/schemas.json +0 -8
- package/src/constraint-runtime/src/reference_data/subsystems/screens.json +0 -10
- package/src/constraint-runtime/src/reference_data/subsystems/server.json +0 -10
- package/src/constraint-runtime/src/reference_data/subsystems/services.json +0 -32
- package/src/constraint-runtime/src/reference_data/subsystems/skills.json +0 -27
- package/src/constraint-runtime/src/reference_data/subsystems/state.json +0 -13
- package/src/constraint-runtime/src/reference_data/subsystems/types.json +0 -18
- package/src/constraint-runtime/src/reference_data/subsystems/upstreamproxy.json +0 -9
- package/src/constraint-runtime/src/reference_data/subsystems/utils.json +0 -32
- package/src/constraint-runtime/src/reference_data/subsystems/vim.json +0 -12
- package/src/constraint-runtime/src/reference_data/subsystems/voice.json +0 -8
- package/src/constraint-runtime/src/reference_data/tools_snapshot.json +0 -1042
- package/src/constraint-runtime/src/remote/index.ts +0 -15
- package/src/constraint-runtime/src/remote_runtime.ts +0 -17
- package/src/constraint-runtime/src/runtime/index.ts +0 -1
- package/src/constraint-runtime/src/runtime/session.ts +0 -42
- package/src/constraint-runtime/src/schemas/index.ts +0 -15
- package/src/constraint-runtime/src/screens/index.ts +0 -15
- package/src/constraint-runtime/src/server/index.ts +0 -15
- package/src/constraint-runtime/src/services/index.ts +0 -15
- package/src/constraint-runtime/src/session_store.ts +0 -32
- package/src/constraint-runtime/src/setup.ts +0 -50
- package/src/constraint-runtime/src/skills/index.ts +0 -1
- package/src/constraint-runtime/src/skills/skill-registry.ts +0 -40
- package/src/constraint-runtime/src/state/index.ts +0 -15
- package/src/constraint-runtime/src/system_init.ts +0 -21
- package/src/constraint-runtime/src/thinking/engine.ts +0 -61
- package/src/constraint-runtime/src/thinking/index.ts +0 -1
- package/src/constraint-runtime/src/tool_pool.ts +0 -20
- package/src/constraint-runtime/src/tools/OpenCLI/execAdapter.ts +0 -12
- package/src/constraint-runtime/src/tools/OpenCLI/listAdapters.ts +0 -12
- package/src/constraint-runtime/src/tools/OpenCLI/runCommand.ts +0 -13
- package/src/constraint-runtime/src/tools/PolymarketSDK/cancelOrder.ts +0 -10
- package/src/constraint-runtime/src/tools/PolymarketSDK/createOrder.ts +0 -13
- package/src/constraint-runtime/src/tools/PolymarketSDK/getMarket.ts +0 -14
- package/src/constraint-runtime/src/tools/PolymarketSDK/getOrders.ts +0 -10
- package/src/constraint-runtime/src/tools/PolymarketSDK/listMarkets.ts +0 -24
- package/src/constraint-runtime/src/tools/SafeSDK/confirmTransaction.ts +0 -13
- package/src/constraint-runtime/src/tools/SafeSDK/createTransaction.ts +0 -23
- package/src/constraint-runtime/src/tools/SafeSDK/deploySafe.ts +0 -12
- package/src/constraint-runtime/src/tools/SafeSDK/executeTransaction.ts +0 -12
- package/src/constraint-runtime/src/tools/SafeSDK/getBalance.ts +0 -10
- package/src/constraint-runtime/src/tools/SafeSDK/getPendingTransactions.ts +0 -10
- package/src/constraint-runtime/src/tools/SafeSDK/proposeTransaction.ts +0 -14
- package/src/constraint-runtime/src/tools/WalletTools/autoPay.ts +0 -58
- package/src/constraint-runtime/src/tools/WalletTools/createWallet.ts +0 -19
- package/src/constraint-runtime/src/tools/WalletTools/getBalance.ts +0 -28
- package/src/constraint-runtime/src/tools/WalletTools/importWallet.ts +0 -34
- package/src/constraint-runtime/src/tools/WalletTools/sendTransaction.ts +0 -50
- package/src/constraint-runtime/src/tools/WalletTools/signMessage.ts +0 -23
- package/src/constraint-runtime/src/tools/WalletTools/transferToken.ts +0 -49
- package/src/constraint-runtime/src/tools.ts +0 -100
- package/src/constraint-runtime/src/transcript.ts +0 -23
- package/src/constraint-runtime/src/types/index.ts +0 -15
- package/src/constraint-runtime/src/upstream_proxy/index.ts +0 -15
- package/src/constraint-runtime/src/utils/index.ts +0 -15
- package/src/constraint-runtime/src/vim/index.ts +0 -15
- package/src/constraint-runtime/src/voice/index.ts +0 -15
- package/src/constraint-runtime/tests/agent.test.ts +0 -20
- package/src/constraint-runtime/tests/constraint.test.ts +0 -47
- package/src/constraint-runtime/tests/skill.test.ts +0 -23
- package/src/constraint-runtime/tests/thinking.test.ts +0 -28
- package/src/constraint-runtime/tsconfig.json +0 -13
- package/src/pi-ecosystem/index.ts +0 -453
- package/src/pi-ecosystem-colony/index.ts +0 -482
- package/src/pi-ecosystem-goals/index.ts +0 -585
- package/src/pi-ecosystem-judgment/decision.ts +0 -431
- package/src/pi-ecosystem-judgment/distillation.ts +0 -398
- package/src/pi-ecosystem-judgment/human-value-store.ts +0 -580
- package/src/pi-ecosystem-judgment/index.ts +0 -678
- package/src/pi-ecosystem-judgment/value-injection.ts +0 -744
- package/src/pi-ecosystem-mcp/index.ts +0 -427
- package/src/pi-ecosystem-subagents/index.ts +0 -408
- package/src/test/ai-judgment-test.ts +0 -92
- package/src/test/bollharness-integration.test.ts +0 -398
- package/src/test/channel-agent-multi-dialogue.ts +0 -265
- package/src/test/channel-heartbeat-agent-test.ts +0 -244
- package/src/test/constraint-layer.test.ts +0 -191
- package/src/test/diap-identity-test.ts +0 -222
- package/src/test/diap-quick-test.ts +0 -73
- package/src/test/global-shared-context.test.ts +0 -393
- package/src/test/harness-judgment-injection.test.ts +0 -353
- package/src/test/harness-workflow-integrator-test.ts +0 -285
- package/src/test/human-value-store.test.ts +0 -316
- package/src/test/hybrid-integration-test.ts +0 -126
- package/src/test/hybrid-messenger-verify.ts +0 -68
- package/src/test/iroh-bistream-debug.ts +0 -50
- package/src/test/iroh-communication.test.ts +0 -81
- package/src/test/iroh-debug-test.ts +0 -69
- package/src/test/iroh-diap-test.ts +0 -90
- package/src/test/iroh-direct-connect.ts +0 -65
- package/src/test/iroh-e2e-fixed.ts +0 -106
- package/src/test/iroh-e2e-same-process.ts +0 -83
- package/src/test/iroh-e2e.ts +0 -83
- package/src/test/iroh-final-e2e.ts +0 -84
- package/src/test/iroh-relay-test.ts +0 -46
- package/src/test/iroh-simple-test.ts +0 -49
- package/src/test/iroh-transport-verify.ts +0 -60
- package/src/test/iroh-transport.test.ts +0 -47
- package/src/test/iroh-two-nodes.ts +0 -87
- package/src/test/iroh-verify.ts +0 -55
- package/src/test/judgment-decision.test.ts +0 -373
- package/src/test/llm-judgment-integration.test.ts +0 -257
- package/src/test/p2p-agent-complex-dialogue.ts +0 -490
- package/src/test/p2p-agent-dialogue.ts +0 -423
- package/src/test/p2p-agent-full-bidirectional.ts +0 -686
- package/src/test/p2p-agent-harness-flow.ts +0 -562
- package/src/test/p2p-agent-harness-single.ts +0 -175
- package/src/test/p2p-ai-dialogue-test.ts +0 -374
- package/src/test/p2p-cid-connect-test.ts +0 -245
- package/src/test/p2p-connect-receiver.ts +0 -85
- package/src/test/p2p-iroh-test.ts +0 -214
- package/src/test/p2p-minimal-test.ts +0 -264
- package/src/test/p2p-node-1.ts +0 -172
- package/src/test/p2p-node-2.ts +0 -172
- package/src/test/p2p-server.ts +0 -335
- package/src/test/p2p-two-nodes-test.ts +0 -542
- package/src/test/pi-sdk.test.ts +0 -47
- package/src/test/set-persona.ts +0 -56
- package/src/test/simple.test.ts +0 -11
- package/src/test/storage-integration.test.ts +0 -191
- package/src/test/subagent-manager.test.ts +0 -392
- package/src/test/test-gate-flow.test.ts +0 -92
- package/src/test/workflow-engine.test.ts +0 -101
- package/src/web/design.md +0 -99
- package/src/workflows/collaboration.ts +0 -455
- package/src/workflows/index.ts +0 -64
- package/vitest.config.ts +0 -12
- package//346/203/263/346/263/225.md +0 -79
|
@@ -1,326 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: guardian-fixer
|
|
3
|
-
description: 守夜人 issue 自动修复管道。8 Gate 全流程——规划、独立审查、开发、测试、闭环、PR。用于修复 docs/issues/guard-*.md 中 status:open 的 issue。
|
|
4
|
-
status: active
|
|
5
|
-
tier: execution
|
|
6
|
-
owner: nature
|
|
7
|
-
last_audited: 2026-03-24
|
|
8
|
-
triggers:
|
|
9
|
-
- 修复 guardian issue
|
|
10
|
-
- 执行 guard issue
|
|
11
|
-
- 自动修复管道
|
|
12
|
-
outputs:
|
|
13
|
-
- 独立 branch 上的 PR
|
|
14
|
-
- 完整 Gate artifacts (PLAN/REVIEW/TASK/LOG/TEST/CLOSURE)
|
|
15
|
-
truth_policy:
|
|
16
|
-
- issue 文档是唯一执行队列
|
|
17
|
-
- 不从口头描述、memory、聊天记录直接开做
|
|
18
|
-
- 代码真相以 repo 当前状态为准,不以 issue 描述为准
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
# 守夜人 Issue 自动修复
|
|
22
|
-
|
|
23
|
-
## 我是谁
|
|
24
|
-
|
|
25
|
-
我把 `docs/issues/guard-*.md`(status: open)变成可合并的 PR。我不发现 issue(那是巡逻的事),我只修复。
|
|
26
|
-
|
|
27
|
-
## 核心约束
|
|
28
|
-
|
|
29
|
-
1. **8 Gate 全走,一个都不能少。** 简单 issue 不是跳步的理由。
|
|
30
|
-
2. **审查是独立的。** Gate 2/4/7 必须 spawn 独立 subagent(opus),不是自己审自己。
|
|
31
|
-
3. **验证是诚实的。** 跑不了的测试标 BLOCKED,不标 PASS。"collect 通过" ≠ "测试通过"。
|
|
32
|
-
4. **写了代码必须运行。** 每个 WP 完成后必须有运行时证据(命令 + 输出),不是"看起来对"。
|
|
33
|
-
|
|
34
|
-
## 执行流程
|
|
35
|
-
|
|
36
|
-
### Step 0: 选 issue
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
# 找到优先级最高的可执行 issue
|
|
40
|
-
grep -rl 'status: open' docs/issues/guard-*.md | while read f; do
|
|
41
|
-
sev=$(grep '^severity:' "$f" | sed 's/severity: *//')
|
|
42
|
-
exec_st=$(grep '^execution_status:' "$f" | sed 's/execution_status: *//')
|
|
43
|
-
# 跳过已有 execution_status 的(除了 pending)
|
|
44
|
-
if [ -z "$exec_st" ] || [ "$exec_st" = "pending" ]; then
|
|
45
|
-
echo "$sev|$f"
|
|
46
|
-
fi
|
|
47
|
-
done | sort
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
选第一个(P0 > P1 > P2)。如果需要检查 zone 冲突,查 DESIGN 文档 Section 3.6 的 CODE_ZONES。
|
|
51
|
-
|
|
52
|
-
### Step 1: 建 worktree
|
|
53
|
-
|
|
54
|
-
```bash
|
|
55
|
-
ISSUE_SLUG="guard-YYYYMMDD-HHMM-slug" # 从 issue 文件名提取
|
|
56
|
-
git worktree add /tmp/boll-$ISSUE_SLUG -b codex/$ISSUE_SLUG main
|
|
57
|
-
mkdir -p /tmp/boll-$ISSUE_SLUG/docs/decisions/tasks/GUARD-YYYYMMDD-HHMM
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
以下所有操作在 worktree 目录内进行。
|
|
61
|
-
|
|
62
|
-
### Step 2: Gate 1 — 规划
|
|
63
|
-
|
|
64
|
-
**输入**: issue 文档
|
|
65
|
-
**产物**: `PLAN.md`
|
|
66
|
-
|
|
67
|
-
PLAN.md 必须包含:
|
|
68
|
-
|
|
69
|
-
```markdown
|
|
70
|
-
# PLAN: guard-YYYYMMDD-HHMM — 标题
|
|
71
|
-
|
|
72
|
-
**Issue**: issue 文档路径
|
|
73
|
-
**Severity**: P0/P1/P2
|
|
74
|
-
**Component**: 主要代码文件
|
|
75
|
-
|
|
76
|
-
## 问题分析
|
|
77
|
-
(根因,不是症状)
|
|
78
|
-
|
|
79
|
-
## 变更清单
|
|
80
|
-
| # | 文件 | 变更 | 类型 |
|
|
81
|
-
|
|
82
|
-
## 契约 vs 实现分析
|
|
83
|
-
- 契约变更?消费方?
|
|
84
|
-
|
|
85
|
-
## 同类检查
|
|
86
|
-
(grep 验证是否有其他地方有同样的问题)
|
|
87
|
-
|
|
88
|
-
## 测试策略
|
|
89
|
-
(修改前/修改后的验证方法)
|
|
90
|
-
|
|
91
|
-
## Scope 判定
|
|
92
|
-
- ≤3 文件 + 无契约变更 → 可执行
|
|
93
|
-
- 否则 → needs_plan,停止
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
**Scope 硬上限**:
|
|
97
|
-
- 超过 3 个代码文件 → 标 `needs_plan`,停止
|
|
98
|
-
- API/schema/event 契约变更 → 标 `needs_plan`,停止
|
|
99
|
-
- 需要数据库 migration → 标 `needs_plan`,停止
|
|
100
|
-
|
|
101
|
-
### Step 3: Gate 2 — 独立审查 PLAN
|
|
102
|
-
|
|
103
|
-
**用 Agent tool spawn 独立审查者(opus 模型)。不是自己审自己。**
|
|
104
|
-
|
|
105
|
-
```
|
|
106
|
-
Agent tool:
|
|
107
|
-
model: opus
|
|
108
|
-
prompt: |
|
|
109
|
-
你是独立代码审查者。你没有参与这段代码的编写。
|
|
110
|
-
|
|
111
|
-
审查 PLAN 文档:[路径]
|
|
112
|
-
对照 issue 文档:[路径]
|
|
113
|
-
读相关代码文件。
|
|
114
|
-
|
|
115
|
-
审查维度(全部覆盖):
|
|
116
|
-
1. 覆盖性:变更清单完整吗?
|
|
117
|
-
2. 独立性:每个改动可独立验证吗?
|
|
118
|
-
3. 执行模拟:逐步走,开发者会卡住吗?
|
|
119
|
-
4. 自包含性:有执行所需全部信息吗?
|
|
120
|
-
5. 元数据准确性:severity/component/scope 正确吗?
|
|
121
|
-
6. 修复完整性:修复完整吗?有没有引入新问题?
|
|
122
|
-
|
|
123
|
-
输出写入:[PLAN-REVIEW.md 路径]
|
|
124
|
-
YAML frontmatter 必须有 verdict: PASS 或 FAIL。
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
**如果 FAIL**:修改 PLAN,重新提交审查(最多 2 轮)。2 轮不通过 → 标 `blocked`,停止。
|
|
128
|
-
|
|
129
|
-
### Step 4: Gate 3 — 任务拆解
|
|
130
|
-
|
|
131
|
-
**产物**: `TASK.md`
|
|
132
|
-
|
|
133
|
-
```markdown
|
|
134
|
-
# TASK: guard-YYYYMMDD-HHMM
|
|
135
|
-
|
|
136
|
-
## WP-N: 标题
|
|
137
|
-
**文件**: 路径
|
|
138
|
-
**改什么**: 具体描述
|
|
139
|
-
**验收标准**: 可机械验证的条件
|
|
140
|
-
|
|
141
|
-
## 验收测试
|
|
142
|
-
| # | 方法 | 预期结果 |
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
### Step 5: Gate 4 — 独立审查 TASK
|
|
146
|
-
|
|
147
|
-
同 Gate 2,spawn 独立审查者审查 TASK.md。
|
|
148
|
-
|
|
149
|
-
### Step 6: Gate 5 — 开发
|
|
150
|
-
|
|
151
|
-
**操作顺序**:
|
|
152
|
-
|
|
153
|
-
1. **先开 LOG.md**(实时写,不是事后补)
|
|
154
|
-
2. 逐个 WP 执行:
|
|
155
|
-
a. 写代码
|
|
156
|
-
b. **运行代码**(关键!不是"看起来对"就 commit)
|
|
157
|
-
c. 记录运行命令和输出到 LOG.md
|
|
158
|
-
d. 验证 TASK.md 中的验收标准
|
|
159
|
-
3. 更新 issue 文档状态(pre-commit hook 要求)
|
|
160
|
-
4. Commit(不 push)
|
|
161
|
-
|
|
162
|
-
**Worktree 里 Read/Edit 工具可能被 guard hook 阻塞**(pre-existing findings)。用 Bash 操作 worktree 文件:
|
|
163
|
-
- 读文件:`cat` / `tail`
|
|
164
|
-
- 写文件:`cat > file << 'EOF'` 或 `cat >> file << 'EOF'`
|
|
165
|
-
- 小修改:`sed -i ''`
|
|
166
|
-
|
|
167
|
-
**LOG.md 格式**:
|
|
168
|
-
|
|
169
|
-
```markdown
|
|
170
|
-
# LOG: guard-YYYYMMDD-HHMM
|
|
171
|
-
|
|
172
|
-
## WP-N: 标题
|
|
173
|
-
- 做了什么
|
|
174
|
-
- 运行命令 + 输出(证据)
|
|
175
|
-
- 偏差说明(如果有)
|
|
176
|
-
|
|
177
|
-
## 验收检查
|
|
178
|
-
| # | 方法 | 结果 |
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
### Step 7: Gate 6 — 测试
|
|
182
|
-
|
|
183
|
-
**运行所有能跑的测试**:
|
|
184
|
-
|
|
185
|
-
```bash
|
|
186
|
-
# 从 worktree 运行,用主仓库的 venv
|
|
187
|
-
VENV=/Users/nature/个人项目/boll/backend/venv/bin/pytest
|
|
188
|
-
|
|
189
|
-
cd /tmp/boll-$ISSUE_SLUG
|
|
190
|
-
$VENV -q backend/tests/unit/ # 无 Docker
|
|
191
|
-
$VENV -q backend/tests/field/ # 无 Docker
|
|
192
|
-
$VENV -q backend/tests/test_phase0_surface.py # 无 Docker
|
|
193
|
-
$VENV -q backend/tests/product/ # 需要 Docker
|
|
194
|
-
$VENV -q backend/tests/matching/ # 无 Docker
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
**产物**: `TEST.md`
|
|
198
|
-
|
|
199
|
-
```markdown
|
|
200
|
-
# TEST: guard-YYYYMMDD-HHMM
|
|
201
|
-
|
|
202
|
-
## 测试执行结果
|
|
203
|
-
|
|
204
|
-
### 可运行测试
|
|
205
|
-
| 测试集 | 数量 | 结果 | 命令 |
|
|
206
|
-
|
|
207
|
-
### 需要 Docker 的测试
|
|
208
|
-
| 测试集 | 状态 | 原因 |
|
|
209
|
-
|
|
210
|
-
### 诚实声明
|
|
211
|
-
- 新代码有没有被测试覆盖?
|
|
212
|
-
- 是"旧测试通过"还是"新代码验证通过"?
|
|
213
|
-
- 有没有把 BLOCKED 标成 PASSED?
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
**诚实规则**:
|
|
217
|
-
- "collect 通过" ≠ "测试通过"
|
|
218
|
-
- "旧测试通过" ≠ "新代码验证通过"
|
|
219
|
-
- Docker 不可用 → 标 BLOCKED,不标 PASS
|
|
220
|
-
- 不虚构测试数量
|
|
221
|
-
|
|
222
|
-
### Step 8: Gate 7 — 最终审查
|
|
223
|
-
|
|
224
|
-
Spawn 独立审查者(opus)审查代码 diff + 测试结果。
|
|
225
|
-
|
|
226
|
-
```
|
|
227
|
-
Agent tool:
|
|
228
|
-
model: opus
|
|
229
|
-
prompt: |
|
|
230
|
-
你是独立代码审查者(最终审查)。
|
|
231
|
-
|
|
232
|
-
审查 git diff + TEST.md + LOG.md。
|
|
233
|
-
检查代码是否与 PLAN 一致。
|
|
234
|
-
检查有没有引入新问题。
|
|
235
|
-
检查 TEST.md 是否诚实。
|
|
236
|
-
|
|
237
|
-
输出写入:[FINAL-REVIEW.md 路径]
|
|
238
|
-
verdict: PASS 或 FAIL。
|
|
239
|
-
```
|
|
240
|
-
|
|
241
|
-
### Step 9: Gate 7.5 — Closure
|
|
242
|
-
|
|
243
|
-
**产物**: `CLOSURE.md`
|
|
244
|
-
|
|
245
|
-
```markdown
|
|
246
|
-
# CLOSURE
|
|
247
|
-
|
|
248
|
-
## Issue 闭环状态
|
|
249
|
-
- status: fixed ✓/✗
|
|
250
|
-
- prevention_status: closed ✓/✗
|
|
251
|
-
- mechanism_layer: guard|test|type|convention ✓/✗
|
|
252
|
-
|
|
253
|
-
## 文档同步清单
|
|
254
|
-
|
|
255
|
-
### 必须更新
|
|
256
|
-
- [ ] issue 文档 status/prevention_status
|
|
257
|
-
|
|
258
|
-
### 可能需要更新(写进 PR 描述)
|
|
259
|
-
- [ ] CLAUDE.md 路由表(如果改了 API)
|
|
260
|
-
- [ ] 其他 issue 文档(如果修复也解决了其他问题)
|
|
261
|
-
|
|
262
|
-
### 不需要更新
|
|
263
|
-
- (列出检查过但不需要改的)
|
|
264
|
-
```
|
|
265
|
-
|
|
266
|
-
**禁止修改的文件**:
|
|
267
|
-
- CLAUDE.md(行为指令部分)
|
|
268
|
-
- AGENTS.md
|
|
269
|
-
- `.claude/skills/*/SKILL.md`
|
|
270
|
-
- `scripts/guard-feedback.py`
|
|
271
|
-
- `scripts/context_router.py`
|
|
272
|
-
|
|
273
|
-
### Step 10: Gate 8 — Push + PR
|
|
274
|
-
|
|
275
|
-
```bash
|
|
276
|
-
cd /tmp/boll-$ISSUE_SLUG
|
|
277
|
-
git push -u origin codex/$ISSUE_SLUG
|
|
278
|
-
gh pr create --title "fix(...): guard-YYYYMMDD-HHMM 标题" --body "..."
|
|
279
|
-
```
|
|
280
|
-
|
|
281
|
-
PR 描述必须包含:
|
|
282
|
-
- Issue 路径
|
|
283
|
-
- 变更摘要
|
|
284
|
-
- 8 Gate 结果表
|
|
285
|
-
- 验证结果(诚实标注 PASS/BLOCKED)
|
|
286
|
-
- Artifacts 列表
|
|
287
|
-
|
|
288
|
-
## 异常处理
|
|
289
|
-
|
|
290
|
-
| 场景 | 操作 |
|
|
291
|
-
|------|------|
|
|
292
|
-
| Scope 超 3 文件 | Gate 1 标 `needs_plan`,停止 |
|
|
293
|
-
| 审查 2 轮不通过 | 标 `blocked`,停止 |
|
|
294
|
-
| 测试失败且无法修 | TEST.md 记录失败原因,标 `blocked`,停止 |
|
|
295
|
-
| 碰禁止修改的文件 | 停止 |
|
|
296
|
-
| Rebase 冲突 | 标 `needs_coordination`,停止 |
|
|
297
|
-
|
|
298
|
-
**所有异常路径都停止。不要强行继续。**
|
|
299
|
-
|
|
300
|
-
## 反模式清单
|
|
301
|
-
|
|
302
|
-
以下行为是明确禁止的(PLAN-064 教训):
|
|
303
|
-
|
|
304
|
-
| 反模式 | 正确做法 |
|
|
305
|
-
|--------|---------|
|
|
306
|
-
| 写完代码不运行就 commit | 每个 WP 必须有运行时证据 |
|
|
307
|
-
| LOG.md 从 git log 生成 | LOG.md 在写代码时实时写 |
|
|
308
|
-
| 把 "199 tests PASS" 当验证 | 区分旧测试/新测试,标注新代码覆盖率 |
|
|
309
|
-
| 4 分钟完成一个 WP | 如果太快,说明没有运行验证 |
|
|
310
|
-
| 自己审自己 | Gate 2/4/7 必须 spawn 独立 subagent |
|
|
311
|
-
| Docker 不可用就跳过 | 标 BLOCKED,不标 PASS |
|
|
312
|
-
|
|
313
|
-
## Gate 检查清单
|
|
314
|
-
|
|
315
|
-
执行前自检——**如果正在写代码但 PLAN.md 不存在,立刻停下来。**
|
|
316
|
-
|
|
317
|
-
```
|
|
318
|
-
□ PLAN.md 存在? → Gate 2 可以开始
|
|
319
|
-
□ PLAN-REVIEW.md verdict: PASS? → Gate 3 可以开始
|
|
320
|
-
□ TASK.md 存在? → Gate 4 可以开始
|
|
321
|
-
□ TASK-REVIEW.md verdict: PASS? → Gate 5 可以开始
|
|
322
|
-
□ LOG.md 存在? → Gate 6 可以开始
|
|
323
|
-
□ TEST.md 存在? → Gate 7 可以开始
|
|
324
|
-
□ FINAL-REVIEW.md verdict: PASS? → Gate 7.5 可以开始
|
|
325
|
-
□ CLOSURE.md 存在? → Gate 8 可以开始
|
|
326
|
-
```
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: lead
|
|
3
|
-
description: 流形开发流程统领(fail-closed 状态机)。从想法到生产代码的全流程管理,机械化门禁强制。当用户提出新功能、改动需求、或需要讨论方向时使用。
|
|
4
|
-
status: active
|
|
5
|
-
tier: entry
|
|
6
|
-
owner: nature
|
|
7
|
-
last_audited: 2026-03-27
|
|
8
|
-
triggers:
|
|
9
|
-
- 新功能
|
|
10
|
-
- 方向讨论
|
|
11
|
-
- 跨模块修复
|
|
12
|
-
- 需要 Gate 管理
|
|
13
|
-
outputs:
|
|
14
|
-
- Gate 包(current_gate + required_artifact + required_next_skill + required_review_substrate)
|
|
15
|
-
- 决策缺口
|
|
16
|
-
- 执行 DAG 骨架
|
|
17
|
-
truth_policy:
|
|
18
|
-
- 不复制实时仓库事实
|
|
19
|
-
- 实时事实以 boll-dev-handoff 的真相优先级为准
|
|
20
|
-
- 只维护稳定流程、门禁和升级条件
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
# 流形开发统领(Fail-Closed 状态机)
|
|
24
|
-
|
|
25
|
-
## 我是谁
|
|
26
|
-
|
|
27
|
-
我是 fail-closed 的流程状态机。我的职责不是建议,而是**阻塞**——没有满足入门条件就不能进下一门。
|
|
28
|
-
|
|
29
|
-
我优先处理的不是"快不快",而是:
|
|
30
|
-
|
|
31
|
-
1. 当前处于哪一门,前置条件是否满足
|
|
32
|
-
2. 下一门需要什么产物,由哪个 skill 产出
|
|
33
|
-
3. 审查由谁做,用什么基底(TeamCreate,不是 Agent)
|
|
34
|
-
|
|
35
|
-
## 状态机定义
|
|
36
|
-
|
|
37
|
-
### Gate 转移表
|
|
38
|
-
|
|
39
|
-
| Gate | 名称 | entry_condition | required_artifact | required_next_skill | required_review_substrate |
|
|
40
|
-
|------|------|-----------------|-------------------|---------------------|--------------------------|
|
|
41
|
-
| 0 | 问题锁定 | 用户提出需求 | 问题陈述 + Change Classification | `arch` | — |
|
|
42
|
-
| 1 | 架构设计 | Gate 0 产物存在 | ADR 草稿 + 消费方清单 | `arch` | — |
|
|
43
|
-
| 2 | 架构审查 | ADR 草稿完成 | 审查报告(PASS/BLOCK) | **TeamCreate** | `ref-review-sop.md` 阶段②维度 |
|
|
44
|
-
| 3 | PLAN | Gate 2 PASS | PLAN 文档 + 架构覆盖矩阵 | `boll-eng` + `plan-lock` | — |
|
|
45
|
-
| 4 | PLAN 审查 + plan-lock | PLAN `vN-final` 冻结 | 审查报告 + plan-lock 确认 | **TeamCreate** | `ref-review-sop.md` 阶段④维度 + C/D/E/F |
|
|
46
|
-
| 5 | task-arch | Gate 4 PASS + plan-lock | WP 拆分 + TASK.md | `task-arch` | — |
|
|
47
|
-
| 6 | task 审查 | 全部 TASK.md 完成 | 审查报告(PASS/BLOCK) | **TeamCreate** | `ref-review-sop.md` WP 拆分专项 |
|
|
48
|
-
| 7 | 执行 + 日志 | Gate 6 PASS | 代码 + LOG.md(每 WP 实时写) | `boll-eng` / `boll-dev` | — |
|
|
49
|
-
| 8 | 执行审查 | 全部 WP 代码 + LOG.md 存在 | 审查报告 + 验收确认 | **TeamCreate** + `boll-eng-test` | `ref-review-sop.md` 阶段⑤⑥维度 |
|
|
50
|
-
|
|
51
|
-
### 转移函数(硬规则)
|
|
52
|
-
|
|
53
|
-
```
|
|
54
|
-
transition(current_gate, artifact) -> next_gate | BLOCKED
|
|
55
|
-
|
|
56
|
-
规则:
|
|
57
|
-
- Gate N 的 entry_condition 未满足 → BLOCKED,输出缺什么
|
|
58
|
-
- Gate 2/4/6/8 的 required_review_substrate 是 TeamCreate → Agent 审查 = 不合规
|
|
59
|
-
- Gate 4 → Gate 5:PLAN 必须有 plan-lock 标记(vN-final)
|
|
60
|
-
- Gate 5 → Gate 6:task-arch 产物必须存在(TASK.md)
|
|
61
|
-
- Gate 6 → Gate 7:task 审查 PASS
|
|
62
|
-
- Gate 7 → Gate 8:每个 WP 必须同时有代码 commit 和 LOG.md
|
|
63
|
-
- Gate 8 PASS → 完成;BLOCK → 回退到对应 Gate 修复
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
### 审查门强制 TeamCreate
|
|
67
|
-
|
|
68
|
-
Gate 2/4/6/8 是审查门。硬规则:
|
|
69
|
-
|
|
70
|
-
```
|
|
71
|
-
审查门执行方式:
|
|
72
|
-
✅ TeamCreate("review-{plan-id}-gate-{N}") — 独立上下文,多视角
|
|
73
|
-
❌ Agent(subagent_type="...") — 共享上下文,单视角,不合规
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
审查维度参见 `ref-review-sop.md`。Gate 4 额外覆盖 C/D/E/F 维度。
|
|
77
|
-
|
|
78
|
-
## Output Contract
|
|
79
|
-
|
|
80
|
-
每次调用我,我**必须**先输出 Gate 包:
|
|
81
|
-
|
|
82
|
-
```yaml
|
|
83
|
-
gate_pack:
|
|
84
|
-
current_gate: N # 当前所在门
|
|
85
|
-
entry_satisfied: true/false # 入门条件是否满足
|
|
86
|
-
blockers: [...] # 未满足的条件列表
|
|
87
|
-
required_artifact: "..." # 本门需要产出什么
|
|
88
|
-
required_next_skill: "..." # 由谁产出
|
|
89
|
-
required_review_substrate: "..." # 审查用什么(如果是审查门)
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
如果 `entry_satisfied: false`,不输出任何执行建议,只输出 blockers。
|
|
93
|
-
|
|
94
|
-
## 快速通道
|
|
95
|
-
|
|
96
|
-
只有同时满足以下**全部 5 条**,才允许跳 gate(不能跳 skill):
|
|
97
|
-
|
|
98
|
-
1. 改动不超过 3 个文件
|
|
99
|
-
2. 无契约变更(Change Classification = `implementation`)
|
|
100
|
-
3. 无跨模块接缝
|
|
101
|
-
4. 不影响用户心智或产品语义
|
|
102
|
-
5. 不引入新的架构决策
|
|
103
|
-
|
|
104
|
-
快速通道仍然需要:执行 skill + 审查(可简化为单人 TeamCreate)。
|
|
105
|
-
|
|
106
|
-
## Change Classification
|
|
107
|
-
|
|
108
|
-
每个工作单元先分类,分类决定最低门禁:
|
|
109
|
-
|
|
110
|
-
| 分类 | 定义 | 最低门禁 |
|
|
111
|
-
|------|------|---------|
|
|
112
|
-
| `policy` | 边界、身份、权限、场景承诺、对外语义 | Gate 0 → Gate 8 全走 |
|
|
113
|
-
| `contract` | API、schema、事件、共享配置、生成物 | Gate 0 → Gate 8 全走 + 消费方清单 |
|
|
114
|
-
| `implementation` | 单模块内部实现 | 可走快速通道(需满足 5 条) |
|
|
115
|
-
|
|
116
|
-
## Parallel Planning Contract
|
|
117
|
-
|
|
118
|
-
进入并行前必须显式写出:
|
|
119
|
-
|
|
120
|
-
```yaml
|
|
121
|
-
parallel_contract:
|
|
122
|
-
write_set: [...] # 每个 track 的写文件集
|
|
123
|
-
parallel_tracks: [...] # 并行 track 列表
|
|
124
|
-
depends_on: {track: dep} # 依赖关系
|
|
125
|
-
integration_owner: "..." # 集成负责人
|
|
126
|
-
seam_owner: "..." # 接缝负责人
|
|
127
|
-
golden_journeys: [...] # 端到端验证路径
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
如果两个 track 有共享接口但没有 `seam_owner` → 不是可执行计划 → BLOCKED。
|
|
131
|
-
|
|
132
|
-
## 来自 crystal-learn 的门禁
|
|
133
|
-
|
|
134
|
-
**INV-4 真相源分裂**:涉及文档、配置、版本、部署描述时,必须追问"这个事实还写在哪"。如果有第二个副本,要么删掉,要么标注以谁为准。
|
|
135
|
-
|
|
136
|
-
**INV-6 验证衰减**:不要只验最容易的那一层。任何计划都必须有从用户价值链最后一步倒推回来的 golden journeys。
|
|
137
|
-
|
|
138
|
-
## Gate 7 开发日志硬性要求(PLAN-064 教训)
|
|
139
|
-
|
|
140
|
-
**LOG.md 不是可选项。** 每个 WP 的 `LOG.md` 必须在开发过程中实时写入,不得事后补写。
|
|
141
|
-
|
|
142
|
-
Gate 7 → Gate 8 的转移条件包含:每个 WP 的 `docs/decisions/tasks/WP-*/LOG.md` 存在且非空。代码已 commit 但 LOG.md 不存在 = BLOCKED。
|
|
143
|
-
|
|
144
|
-
## 联动规则(skill 调度表)
|
|
145
|
-
|
|
146
|
-
| 需要做什么 | 调度 skill | 在哪些 gate |
|
|
147
|
-
|-----------|-----------|------------|
|
|
148
|
-
| 本质和边界 | `arch` | Gate 0, 1 |
|
|
149
|
-
| 锁 plan | `plan-lock` | Gate 3 → 4 |
|
|
150
|
-
| 拆 WP | `task-arch` | Gate 5 |
|
|
151
|
-
| 编排并行执行 | `boll-eng` | Gate 3, 7 |
|
|
152
|
-
| 全栈实现 | `boll-dev` | Gate 7 |
|
|
153
|
-
| 质量闭环 | `boll-eng-test` | Gate 8 |
|
|
154
|
-
| 审真相源和漂移 | `boll-ops` | 任何 gate |
|
|
155
|
-
| 独立上下文审查 | **TeamCreate** | Gate 2, 4, 6, 8 |
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
# 审查闭环 SOP
|
|
2
|
-
|
|
3
|
-
lead skill 的审查操作手册。审查是每个阶段的硬门禁。
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## 核心原则
|
|
8
|
-
|
|
9
|
-
每个阶段结束后必须审查。审查用 TeamCreate(独立上下文 = 不被已有讨论污染的判断)。不是 Agent tool(subagent),是持久化 Team。
|
|
10
|
-
|
|
11
|
-
## 审查何时触发
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
① 讨论沉淀 → ✅ 审查:本质找对了吗?
|
|
15
|
-
② 决策书 ADR → ✅ 审查:决策完备吗?
|
|
16
|
-
③ 接口设计 → ✅ 审查:契约清楚吗?消费方覆盖了吗?
|
|
17
|
-
④ 实现方案 PLAN → ✅ 审查:方案能实现计划吗?
|
|
18
|
-
④-a 任务拆分 WP → ✅ 审查:WP 完备、解耦、可执行吗?
|
|
19
|
-
⑤ 代码实现 → ✅ 审查:每个 WP 完成后单独审查
|
|
20
|
-
⑥ 集成验收 → ✅ 审查:端到端走通吗?
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## 标准审查流程
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
TeamCreate("review-{plan-id}")
|
|
27
|
-
|
|
28
|
-
第 1 轮:多视角独立审查(Team 内并行)
|
|
29
|
-
├── Teammate A:视角 1
|
|
30
|
-
├── Teammate B:视角 2
|
|
31
|
-
└── Teammate C:视角 3
|
|
32
|
-
|
|
33
|
-
↓ 收集独立报告 → 汇总 → 修正 → 再审 → 通过
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## 审查维度矩阵
|
|
37
|
-
|
|
38
|
-
| 阶段 | 视角 A | 视角 B | 视角 C |
|
|
39
|
-
|------|--------|--------|--------|
|
|
40
|
-
| ① 讨论 | 商业可行性 | 技术本质 | 用户体验 |
|
|
41
|
-
| ② ADR | 选项完备性 | 架构一致性 | 风险分析 |
|
|
42
|
-
| ③ 接口 | 消费方完备 | 向后兼容 | 可测试性 |
|
|
43
|
-
| ④ PLAN/WP | 代码现状验证 | 任务解耦+依赖 | 测试+验收可执行 |
|
|
44
|
-
| ⑤ 代码 | 功能正确性 | 安全+错误处理 | 性能+生产就绪 |
|
|
45
|
-
| ⑥ 集成 | 端到端链路 | 回归验证 | 部署就绪 |
|
|
46
|
-
|
|
47
|
-
## PLAN-033 教训:审查团队扩展维度
|
|
48
|
-
|
|
49
|
-
**Gate 4(PLAN 审查)必须额外覆盖**(详见 `plan-lock/ref-three-checks.md`):
|
|
50
|
-
|
|
51
|
-
| 维度 | 检查什么 |
|
|
52
|
-
|------|---------|
|
|
53
|
-
| C. 消费方语义兼容 | 接口变更后所有调用方在新语义下行为正确 |
|
|
54
|
-
| D. 数据流完整性 | 新字段从创建到消费的传递链无断点 |
|
|
55
|
-
| E. 时间边界 | 跨午夜/跨过期/并发竞态 |
|
|
56
|
-
| F. 对抗/红队 | 攻击者能构造什么输入获得不正当利益 |
|
|
57
|
-
|
|
58
|
-
## 生产问题诊断硬规则(2026-03-18 沉淀)
|
|
59
|
-
|
|
60
|
-
**当审查对象是"生产故障"时,审查的第一步不是看代码,是看生产证据。**
|
|
61
|
-
|
|
62
|
-
| 顺序 | 动作 | 不是 |
|
|
63
|
-
|------|------|------|
|
|
64
|
-
| 1 | 看日志、事件、DB 中的实际错误 | 看代码猜"可能哪里错了" |
|
|
65
|
-
| 2 | 对比成功 case 和失败 case 的时间线 | 从代码结构推断"应该用另一种方式" |
|
|
66
|
-
| 3 | 验证运行环境(认证、权限、沙盒、磁盘) | 假设环境和本地一样 |
|
|
67
|
-
| 4 | 最后看代码,只为理解机制 | 把"代码可以改进"等同于"这里是 bug" |
|
|
68
|
-
|
|
69
|
-
**Gate 0 的额外检查项**(生产故障类 issue):
|
|
70
|
-
- [ ] 是否已查看失败 run 的实际错误消息(不是推测)
|
|
71
|
-
- [ ] 是否已对比同路径下的成功 run
|
|
72
|
-
- [ ] 是否已验证运行环境与本地的差异
|
|
73
|
-
|
|
74
|
-
## WP 拆分专项审查
|
|
75
|
-
|
|
76
|
-
当 PLAN 拆分成 WP 后,逐条检查:
|
|
77
|
-
|
|
78
|
-
1. **PLAN 覆盖率** — 每个 RP 在 WP 中都有归属
|
|
79
|
-
2. **WP 解耦与依赖** — 依赖正确,并行度最大化
|
|
80
|
-
3. **代码现状验证** — 文件/函数签名与真实代码一致
|
|
81
|
-
4. **接缝完整性** — 没有"不属于任何 WP 的中间层"
|
|
82
|
-
5. **验收可测试性** — 每个 WP 有可自动化的验收标准
|
|
83
|
-
6. **执行分配** — 每个 WP 由哪个 Skill 负责
|
|
84
|
-
|
|
85
|
-
## 日志要求
|
|
86
|
-
|
|
87
|
-
每次审查产生日志:`docs/decisions/tasks/{WP-ID}/LOG.md`。
|
|
88
|
-
|
|
89
|
-
## Skill 自迭代
|
|
90
|
-
|
|
91
|
-
审查中发现的可复用教训,沉淀到对应 Skill 的 reference 文件中,不只是 memory。
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
# 开发阶段详细描述
|
|
2
|
-
|
|
3
|
-
lead skill 的 5 个阶段的深度定义。主 SKILL.md 的 Gate 0-8 是强制顺序,这里是每个阶段的详细操作指南。
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## 阶段 ①:讨论沉淀
|
|
8
|
-
|
|
9
|
-
**目标**:把想法想清楚,找到本质。
|
|
10
|
-
|
|
11
|
-
**必须加载**:`arch` skill(架构师做本质分析,不是 lead 自己想)
|
|
12
|
-
|
|
13
|
-
**做什么**:
|
|
14
|
-
- 从架构原则出发分析(引用 `docs/ARCHITECTURE_DESIGN.md` 的具体 Section)
|
|
15
|
-
- 列出多个方案和 trade-off,不只给一个答案
|
|
16
|
-
- 追问"这个东西的本质是什么?它属于哪一层?"
|
|
17
|
-
- 识别它是**契约变更**还是**实现变更**
|
|
18
|
-
- 记录讨论中达成的共识
|
|
19
|
-
|
|
20
|
-
**消费方发现门禁**(必须在讨论阶段完成,三个维度都要覆盖):
|
|
21
|
-
```
|
|
22
|
-
数据消费方(谁在读这个实体的数据):
|
|
23
|
-
□ 这个 Feature 改动涉及哪些组件/模块?
|
|
24
|
-
□ 每个被改组件有哪些消费方?(grep import 来源)
|
|
25
|
-
□ 消费方 > 1 时,所有消费方都在 Feature scope 内吗?
|
|
26
|
-
□ 不在的消费方:纳入 scope,或显式标注"不受影响 + 原因"
|
|
27
|
-
|
|
28
|
-
行为消费方(谁在调用这个实体的能力):
|
|
29
|
-
□ 这个实体被创建/注册后,系统中谁会调用它的方法/能力?
|
|
30
|
-
□ 每个调用点,实体的状态是否足以支持调用?(如 adapter!=None 才能 chat)
|
|
31
|
-
□ "接口接受" ≠ "语义完整"——API 接受你的输入不代表产物是完整公民
|
|
32
|
-
|
|
33
|
-
可见性消费方(谁在查找/匹配这个实体):
|
|
34
|
-
□ 这个实体在所有 scope/query 条件下都能被找到吗?
|
|
35
|
-
□ 有没有过滤条件会让它隐形?(如空 scene_ids → 场景查询不可见)
|
|
36
|
-
```
|
|
37
|
-
**原则**:Feature scope = 改动集 ∪ 改动的所有消费方(数据+行为+可见性三维)。scope 不由"我想做什么"决定,由"谁在用我改的东西"决定。
|
|
38
|
-
|
|
39
|
-
**不做**:不跳到"怎么实现"。这个阶段只讨论"是什么"和"为什么"。
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## 阶段 ②:决策书 (ADR)
|
|
44
|
-
|
|
45
|
-
**目标**:把共识变成正式决策,留下记录。
|
|
46
|
-
|
|
47
|
-
**门禁**:阶段 ① 的讨论已充分,核心问题已回答。
|
|
48
|
-
|
|
49
|
-
**必须加载**:`arch` skill
|
|
50
|
-
|
|
51
|
-
**做什么**:
|
|
52
|
-
- 写 `docs/decisions/ADR-NNN-xxx.md`
|
|
53
|
-
- 格式:背景 → 选项分析(≥2 个方案 + trade-off)→ 决策 → 核心原则 → 影响范围
|
|
54
|
-
|
|
55
|
-
**不做**:不在 ADR 里写实现细节。ADR 描述"做什么决定",不描述"怎么实现"。
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
## 阶段 ③:接口设计
|
|
60
|
-
|
|
61
|
-
**目标**:定义功能的**本质**——它做什么,不是怎么做。
|
|
62
|
-
|
|
63
|
-
**门禁**:ADR 已获批准。
|
|
64
|
-
|
|
65
|
-
**必须加载**:`arch` skill + 领域相关 Skill
|
|
66
|
-
|
|
67
|
-
**做什么**:
|
|
68
|
-
- 定义输入/输出的语义
|
|
69
|
-
- 定义调用方和实现方之间的契约
|
|
70
|
-
- 定义操作会产生的事件/状态变化
|
|
71
|
-
- 与现有契约的关系
|
|
72
|
-
|
|
73
|
-
**本质描述的标准**:换一种实现方式,接口定义不需要改。
|
|
74
|
-
|
|
75
|
-
---
|
|
76
|
-
|
|
77
|
-
## 阶段 ④:实现方案 (PLAN)
|
|
78
|
-
|
|
79
|
-
**目标**:把接口设计映射到代码改动。
|
|
80
|
-
|
|
81
|
-
**门禁**:接口设计已完成,且架构设计审查 blocker 已清零。
|
|
82
|
-
|
|
83
|
-
**必须加载**:`boll-eng` + 领域 Skill + `plan-lock`
|
|
84
|
-
|
|
85
|
-
**做什么**:
|
|
86
|
-
- 写 `docs/decisions/PLAN-NNN-xxx.md`
|
|
87
|
-
- 列出具体要改/新增的文件
|
|
88
|
-
- 每条变更链路追踪到底
|
|
89
|
-
- 架构覆盖矩阵:逐条核对"架构设计 → PLAN 承载"
|
|
90
|
-
- **冻结步骤**:必须经过 `plan-lock` 关掉所有决策口子
|
|
91
|
-
|
|
92
|
-
**变更链路追踪清单**:
|
|
93
|
-
```
|
|
94
|
-
□ 我改的是契约还是实现?
|
|
95
|
-
□ 如果是契约,消费方有哪些?列出来。
|
|
96
|
-
□ 数据从哪来 → 经过哪些层 → 到哪去?每一层有代码吗?
|
|
97
|
-
□ 有没有降级路径?降级路径也通了吗?
|
|
98
|
-
□ 有没有"不归任何人"的中间层?
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
**消费方验证清单**:
|
|
102
|
-
```
|
|
103
|
-
数据消费方:每个都有对应的变更条目吗?降级路径覆盖了吗?
|
|
104
|
-
行为消费方:复用已有模式时,原模式的语义意图适用于新场景吗?
|
|
105
|
-
可见性消费方:新实体在所有 scope 查询下都可见吗?
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
**硬性规则**:只有标成 `vN-final` 的冻结计划,才允许进入审查或交给 `task-arch`。
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
|
|
112
|
-
## 阶段 ⑤:代码实现
|
|
113
|
-
|
|
114
|
-
**目标**:按方案写生产级代码。
|
|
115
|
-
|
|
116
|
-
**强制 Skill 调度**:
|
|
117
|
-
|
|
118
|
-
| 领域 | Skill | 什么时候用 |
|
|
119
|
-
|------|-------|-----------|
|
|
120
|
-
| 全栈实现(默认) | `boll-dev` | 跨前后端改动、调试、重构 |
|
|
121
|
-
| 状态机/编排 | `arch` + `boll-eng` + `boll-dev` | 需要先冻结状态语义,再落执行编排和实现 |
|
|
122
|
-
| LLM/Prompt | `soul-writing` + `boll-dev` | 行为文本设计、tool-use、parser 落地 |
|
|
123
|
-
| HDC/向量 | `arch` + `boll-lab` | 编码策略、共振实验、证据化验证 |
|
|
124
|
-
| 前端 UI | `boll-eng-frontend` | 组件、WS 事件消费 |
|
|
125
|
-
| 前端设计 | `nature-designer` | 视觉设计、交互 |
|
|
126
|
-
| 测试 | `boll-eng-test` | 测试策略 |
|
|
127
|
-
| 架构对齐 | `arch` | 可能违反架构原则时 |
|
|
128
|
-
|
|
129
|
-
**快速通道可以跳阶段,不可以跳 Skill。**
|
|
Binary file
|