@bolloon/bolloon-agent 0.1.0 → 0.1.2
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/bin/bolloon-cli.cjs +157 -0
- package/bin/bolloon-daemon.sh +207 -0
- package/bin/bolloon.cmd +11 -0
- package/dist/agents/constraint-layer.js +10 -15
- package/dist/agents/pi-sdk.js +433 -106
- package/dist/agents/protocol.js +82 -1
- package/dist/agents/subagent-manager.js +2 -2
- package/dist/agents/workflow-engine.js +15 -20
- package/dist/agents/workflow-pivot-loop.js +541 -0
- package/dist/bollharness/src/index.js +5 -0
- package/dist/bollharness/src/scripts/checks/check_adr_plan_numbering.js +6 -0
- package/dist/bollharness/src/scripts/checks/check_api_types.js +45 -0
- package/dist/bollharness/src/scripts/checks/check_artifact_link.js +146 -0
- package/dist/bollharness/src/scripts/checks/check_bridge_deps.js +6 -0
- package/dist/bollharness/src/scripts/checks/check_bugfix_binding.js +6 -0
- package/dist/bollharness/src/scripts/checks/check_bugfix_binding_ci.js +6 -0
- package/dist/bollharness/src/scripts/checks/check_doc_file_references.js +6 -0
- package/dist/bollharness/src/scripts/checks/check_doc_freshness.js +135 -0
- package/dist/bollharness/src/scripts/checks/check_doc_links.js +31 -0
- package/dist/bollharness/src/scripts/checks/check_file_existence_claims.js +6 -0
- package/dist/bollharness/src/scripts/checks/check_fragment_integrity.js +34 -0
- package/dist/bollharness/src/scripts/checks/check_hook_installed.js +63 -0
- package/dist/bollharness/src/scripts/checks/check_issue_closure.js +41 -0
- package/dist/bollharness/src/scripts/checks/check_mcp_parity.js +6 -0
- package/dist/bollharness/src/scripts/checks/check_security.js +48 -0
- package/dist/bollharness/src/scripts/checks/check_skill_parity.js +6 -0
- package/dist/bollharness/src/scripts/checks/check_versions.js +6 -0
- package/dist/bollharness/src/scripts/checks/finding.js +13 -0
- package/dist/bollharness/src/scripts/checks/next_decision_number.js +20 -0
- package/dist/bollharness/src/scripts/checks/regenerate_magic_docs.js +6 -0
- package/dist/bollharness/src/scripts/ci/detect_rebaseline_triggers.js +8 -0
- package/dist/bollharness/src/scripts/ci/scan_subprocess_cfg.js +8 -0
- package/dist/bollharness/src/scripts/ci/scan_verify_artifacts.js +8 -0
- package/dist/bollharness/src/scripts/ci/scan_yaml_schema.js +8 -0
- package/dist/bollharness/src/scripts/context_router.js +67 -0
- package/dist/bollharness/src/scripts/deploy-guard.js +157 -0
- package/dist/bollharness/src/scripts/guard-feedback.js +192 -0
- package/dist/bollharness/src/scripts/guard_router.js +158 -0
- package/dist/bollharness/src/scripts/hooks/_hook_output.js +6 -0
- package/dist/bollharness/src/scripts/hooks/auto-python3.js +6 -0
- package/dist/bollharness/src/scripts/hooks/deploy-progress-on-session-end.js +6 -0
- package/dist/bollharness/src/scripts/hooks/failure-analyzer.js +6 -0
- package/dist/bollharness/src/scripts/hooks/gate-judgment-inject.js +92 -0
- package/dist/bollharness/src/scripts/hooks/gate-transition-judgment.js +63 -0
- package/dist/bollharness/src/scripts/hooks/inbox-ack.js +6 -0
- package/dist/bollharness/src/scripts/hooks/inbox-inject-on-start.js +6 -0
- package/dist/bollharness/src/scripts/hooks/inbox-validate.js +6 -0
- package/dist/bollharness/src/scripts/hooks/inbox-write-ledger.js +6 -0
- package/dist/bollharness/src/scripts/hooks/initializer-agent.js +6 -0
- package/dist/bollharness/src/scripts/hooks/loop-detection.js +73 -0
- package/dist/bollharness/src/scripts/hooks/owner-guard.js +6 -0
- package/dist/bollharness/src/scripts/hooks/precompact.js +6 -0
- package/dist/bollharness/src/scripts/hooks/review-agent-gatekeeper.js +6 -0
- package/dist/bollharness/src/scripts/hooks/risk-tracker.js +108 -0
- package/dist/bollharness/src/scripts/hooks/sanitize-on-read.js +6 -0
- package/dist/bollharness/src/scripts/hooks/session-reflection.js +7 -0
- package/dist/bollharness/src/scripts/hooks/session-start-magic-docs.js +7 -0
- package/dist/bollharness/src/scripts/hooks/session-start-reset-risk.js +7 -0
- package/dist/bollharness/src/scripts/hooks/session-start-toolkit-reminder.js +7 -0
- package/dist/bollharness/src/scripts/hooks/stop-evaluator.js +157 -0
- package/dist/bollharness/src/scripts/hooks/tool-call-counter.js +6 -0
- package/dist/bollharness/src/scripts/hooks/trace-analyzer.js +10 -0
- package/dist/bollharness/src/scripts/install/install-trust-token.js +7 -0
- package/dist/bollharness/src/scripts/install/multi_project_registry.js +9 -0
- package/dist/bollharness/src/scripts/install/phase2_auto.js +21 -0
- package/dist/bollharness/src/scripts/install/pre_commit_installer.js +6 -0
- package/dist/bollharness/src/scripts/install/tier_selector.js +7 -0
- package/dist/bollharness/src/scripts/install/transcript_miner.js +7 -0
- package/dist/bollharness/src/scripts/lib/claim_patterns.js +10 -0
- package/dist/bollharness/src/scripts/lib/sanitize_patterns.js +12 -0
- package/dist/bollharness/src/scripts/sanitize.js +6 -0
- package/dist/bollharness-integration/channel-judgment-engine.js +530 -0
- package/dist/bollharness-integration/context-chain-router.js +383 -0
- package/dist/bollharness-integration/context-router-judgment.js +13 -21
- package/dist/bollharness-integration/context-router.js +22 -64
- package/dist/bollharness-integration/gate-state-machine.js +14 -19
- package/dist/bollharness-integration/gate-transition-hooks.js +16 -61
- package/dist/bollharness-integration/guard-checker.js +21 -68
- package/dist/bollharness-integration/index.js +14 -124
- package/dist/bollharness-integration/integration.js +13 -20
- package/dist/bollharness-integration/llm-judgment-engine.js +569 -0
- package/dist/bollharness-integration/skill-adapter.js +18 -64
- package/dist/cli-entry.js +261 -0
- package/dist/constraint-runtime/src/commands.js +17 -7
- package/dist/constraint-runtime/src/constraint/budget.js +1 -6
- package/dist/constraint-runtime/src/constraint/permission.js +1 -6
- package/dist/constraint-runtime/src/models.js +1 -3
- package/dist/constraint-runtime/src/tools.js +17 -7
- package/dist/constraints/index.js +1 -7
- package/dist/documents/reader.js +8 -49
- package/dist/heartbeat/DaemonManager.js +242 -0
- package/dist/heartbeat/HealthMonitor.js +285 -0
- package/dist/heartbeat/StartupVerifier.js +205 -0
- package/dist/heartbeat/Watchdog.js +168 -0
- package/dist/heartbeat/index.js +84 -0
- package/dist/heartbeat/types.js +5 -0
- package/dist/index.js +381 -28
- package/dist/llm/config-store.js +31 -57
- package/dist/llm/llm-judgment-client.js +389 -0
- package/dist/llm/pi-ai.js +9 -52
- package/dist/network/agent-network.js +46 -90
- package/dist/network/hybrid-messenger.js +125 -0
- package/dist/network/iroh-bootstrap.js +38 -0
- package/dist/network/iroh-discovery.js +145 -0
- package/dist/network/iroh-integration.js +9 -16
- package/dist/network/iroh-transport.js +10 -48
- package/dist/network/p2p.js +23 -62
- package/dist/network/storage/adapters/json-adapter.js +4 -42
- package/dist/network/storage/index.js +147 -0
- package/dist/network/storage/types.js +14 -0
- package/dist/pi-ecosystem/index.js +233 -0
- package/dist/pi-ecosystem-colony/index.js +29 -90
- package/dist/pi-ecosystem-goals/index.js +20 -74
- package/dist/pi-ecosystem-judgment/decision.js +29 -47
- package/dist/pi-ecosystem-judgment/distillation.js +16 -29
- package/dist/pi-ecosystem-judgment/human-value-store.js +13 -60
- package/dist/pi-ecosystem-judgment/index.js +21 -74
- package/dist/pi-ecosystem-judgment/value-injection.js +26 -72
- package/dist/pi-ecosystem-mcp/index.js +24 -78
- package/dist/pi-ecosystem-subagents/index.js +20 -69
- package/dist/social/ant-colony/AdaptiveHeartbeat.js +3 -8
- package/dist/social/ant-colony/PheromoneEngine.js +11 -49
- package/dist/social/ant-colony/index.js +6 -0
- package/dist/social/ant-colony/types.js +4 -8
- package/dist/social/channels/ChannelManager.js +8 -46
- package/dist/social/channels/DiapChannelBridge.js +9 -47
- package/dist/social/channels/InterestMatcher.js +2 -7
- package/dist/social/channels/channel-agent-session.js +309 -0
- package/dist/social/channels/channel-heartbeat-agent.js +494 -0
- package/dist/social/channels/diap-doc-parser.js +204 -0
- package/dist/social/channels/harness-workflow-integrator.js +446 -0
- package/dist/social/channels/index.js +9 -0
- package/dist/social/channels/types.js +3 -7
- package/dist/social/global-shared-context.js +6 -47
- package/dist/social/heartbeat.js +29 -72
- package/dist/social/persona/enhanced-persona.js +299 -0
- package/dist/web/client.js +302 -136
- package/dist/web/components/p2p/index.js +159 -9
- package/dist/web/components/p2p/p2p-connection.js +136 -0
- package/dist/web/components/p2p/p2p-manager.js +24 -0
- package/dist/web/components/p2p/p2p-store-memory.js +1 -1
- package/dist/web/components/p2p/types.js +7 -0
- package/dist/web/index.html +5 -0
- package/dist/web/style.css +118 -0
- package/package.json +12 -6
- package/scripts/build-cli.js +206 -0
- package/scripts/postinstall.js +153 -0
- package/src/agents/pi-sdk.ts +347 -28
- package/src/agents/protocol.ts +95 -1
- package/src/agents/workflow-pivot-loop.ts +674 -0
- package/src/bollharness/scripts/context-fragments/pi-agent-operations.md +34 -0
- package/src/cli-entry.ts +304 -0
- package/src/heartbeat/DaemonManager.ts +283 -0
- package/src/heartbeat/HealthMonitor.ts +316 -0
- package/src/heartbeat/StartupVerifier.ts +223 -0
- package/src/heartbeat/Watchdog.ts +198 -0
- package/src/heartbeat/index.ts +108 -0
- package/src/heartbeat/types.ts +82 -0
- package/src/llm/config-store.ts +23 -5
- package/src/network/iroh-transport.ts +3 -3
- package/src/web/client.js +302 -136
- package/src/web/components/p2p/P2PModal.tsx +91 -3
- package/src/web/components/p2p/index.ts +171 -9
- package/src/web/components/p2p/p2p-connection.ts +153 -1
- package/src/web/components/p2p/p2p-manager.ts +39 -1
- package/src/web/components/p2p/p2p-store-memory.ts +1 -1
- package/src/web/components/p2p/p2p-tools.ts +315 -0
- package/src/web/components/p2p/types.ts +58 -0
- package/src/web/index.html +5 -0
- package/src/web/server.ts +353 -36
- package/src/web/style.css +118 -0
- package/tsconfig.cli.json +16 -0
- package/tsconfig.electron.json +1 -1
- package/tsconfig.json +1 -2
- 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/web/server.js +0 -1647
- package/dist/web/server.js.map +0 -1
- 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/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/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/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/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,146 +0,0 @@
|
|
|
1
|
-
# ADR-H4: Prompt 治理(行为偏好三类清单:黑话 / 推卸 / 过度 review)
|
|
2
|
-
|
|
3
|
-
**状态**:Draft(待 reviewer 复核后转 Accepted;H 系列拓扑 D 第 5 个 ADR)
|
|
4
|
-
**日期**:2026-04-28
|
|
5
|
-
**关联**:ADR-H0 元规约 / ADR-H2 身份隔离 / ADR-H9 inbox 邮箱 / ADR-H3 memory scope / ADR-041 Codex 分流 v1.0 / ADR-038 D11 schema-level 隔离 / `.boll/skills/lead/SKILL.md`
|
|
6
|
-
|
|
7
|
-
## 1. 决策本质
|
|
8
|
-
|
|
9
|
-
把跨 session 反复出现的"行为偏好类违规"(黑话 / 推卸决策 / 过度 review)从**散落在 6 条 memory feedback** 升级为 **lead SKILL.md 内一段 ≤30 行 checklist**,让 lead skill 加载时直接推入 prompt context;触发 70% 遵从率(ADR-038 D11.2 prompt-level 兜底基线,schema 隔离不适用——这是行为偏好,不是工具调用边界)。
|
|
10
|
-
|
|
11
|
-
> **H4 = 把已经存在但散落的教训聚拢成 lead skill 上的清单**,不是发明新规则。
|
|
12
|
-
> ADR-041 v1.0 已签"老板心态 + 红线 + 每周复盘"哲学——本 ADR 是其在"语言/对话表达"侧的具体化。
|
|
13
|
-
|
|
14
|
-
## 2. 不变量(INV-H4)
|
|
15
|
-
|
|
16
|
-
- **INV-H4-1(清单最小厚度)**:`.boll/skills/lead/SKILL.md` 内必须存在一段 `## 行为治理(H4 三类清单)` 或同义标题,含 **≥10 条** checklist 项(每条 1 行:触发场景 → 应有行为 → memory pointer)
|
|
17
|
-
- **INV-H4-2(pointer 强制)**:每条 checklist 必须挂 `feedback_*.md` 真相源 pointer;不允许新建无 pointer 的"凭空规则"(避免 ADR-041 v0.1 → v0.3 inflation 重演)
|
|
18
|
-
- **INV-H4-3(哲学边界硬规)**:H4 **不**写任何 hook、**不**加 metrics、**不**动 `review-contract.yaml`、**不**改 PreToolUse / PostToolUse / SessionStart hook 链路(schema-level 治理是 H2/H7/H6 段范畴;H4 严格留在 prompt-level)
|
|
19
|
-
|
|
20
|
-
## 3. 设计
|
|
21
|
-
|
|
22
|
-
### 3.1 三类清单(H4 最小集合)
|
|
23
|
-
|
|
24
|
-
按现有 6 条 memory feedback 教训映射到 3 个语义类:
|
|
25
|
-
|
|
26
|
-
| 类别 | 触发场景 | 应有行为 | memory pointer |
|
|
27
|
-
|------|---------|---------|---------------|
|
|
28
|
-
| **黑话** | 跟 Nature 对话中即将冒出 idle / commit / SendMessage / pytest / PASS / verify / spawn 等术语 | 改用人话("等一下" / "保存进度" / "跟队友说一声" / "跑测试" / "通过" / "验证" / "派人去做");保留协议术语仅在 ADR/PR 内部 | `feedback_no_jargon_with_nature.md` |
|
|
29
|
-
| **黑话(task-arch)** | 起草 task-arch 文档时倾向把每个 seam 契约逐字复写 | 每 seam 只 3 行角色 + PLAN 引用 | `feedback_task_arch_verbose_rewrite.md` |
|
|
30
|
-
| **推卸(反问)** | 收到不熟悉的需求时第一反应是反问"你确认要 X 吗?" | 拿不准就派 teammate 或先做现状 grep;不要把决策权抛回 Nature | `feedback_stop_asking_confirmation.md` / `feedback_answer_not_ask.md` / `feedback_delegate_to_teammate_on_uncertain.md` |
|
|
31
|
-
| **推卸(待协调员决定)** | 起草 ADR/PLAN 时倾向写"待协调员决定 / TBD / 后续讨论" | 直接给当下最佳判断;H0.4 自指禁止已物理化此规则 | `feedback_stop_asking_confirmation.md`(升级版) |
|
|
32
|
-
| **过度 review(review-driven inflation)** | reviewer 给 P1/P2 时第一反应是大重构 / 加新机制 / 写 hook 拦截 | 先调规则文字(ADR-041 哲学);机制化必须先在每周复盘里证明"调规则解决不了" | `feedback_review_driven_complexity_inflation.md` |
|
|
33
|
-
| **过度 review(同维度反复)** | 同一 PR 第 N 轮 review 时给同一维度建议 | 多轮同维度 = 边际递减;换正交方法论 | `feedback_review_methodology_orthogonal.md` |
|
|
34
|
-
| **过度 review(无证宣告 PASS)** | reviewer 给 PASS 但子项 P0 未闭 | 任何 PASS_WITH_NOTES 含 P0 仍为 BLOCK;修复后必须重评估 | `lead/SKILL.md` 现有段(已存)|
|
|
35
|
-
| **完工虚报** | 实现完成即宣告 done,未跑 E2E / 未截图 | E2E + Playwright + 真实后端是 Gate 7→8 必经 | `feedback_e2e_before_push.md` |
|
|
36
|
-
| **起草未实证(H 系列 dogfood)** | 起草 ADR/PLAN 引用受管资产时未先 wc / grep / ls 实证 | 起草前必做 4 项核:路径存在 + 行数 + frontmatter 字段 + 前置 ADR 已覆盖 | `.boll/log/harness-self-symptoms.md` §4.7 / §4.8 |
|
|
37
|
-
| **结论范围越界** | 单点测试 PASS 即宣告全量 PASS / 平台级声明 | 测试 ≤ docstring ≤ LOG ≤ commit;平台级前核 vendor docs | `feedback_assertion_scope_discipline.md` |
|
|
38
|
-
|
|
39
|
-
合计 **10 条**,正好达成 INV-H4-1 最小厚度。新增条目按 INV-H4-2 必须挂 pointer。
|
|
40
|
-
|
|
41
|
-
### 3.2 lead SKILL.md 集成位置
|
|
42
|
-
|
|
43
|
-
在 lead/SKILL.md 现有"### Gate 7 开发日志硬性要求"段**之后** + "## 联动规则(skill 调度表)"段**之前**插入新段:
|
|
44
|
-
|
|
45
|
-
```markdown
|
|
46
|
-
## 行为治理(H4 三类清单)
|
|
47
|
-
|
|
48
|
-
> 本段由 ADR-H4 物理化 6 条 memory feedback 教训。lead skill 加载时直接推入 prompt context(70% 遵从率基线,schema 隔离不适用)。
|
|
49
|
-
> 任何 checklist 项升级或新增按 INV-H4-2 挂 memory pointer,禁止凭空规则。
|
|
50
|
-
|
|
51
|
-
### 黑话
|
|
52
|
-
- ...
|
|
53
|
-
|
|
54
|
-
### 推卸
|
|
55
|
-
- ...
|
|
56
|
-
|
|
57
|
-
### 过度 review
|
|
58
|
-
- ...
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
### 3.3 与 ADR-041 v1.0 的关系(重要)
|
|
62
|
-
|
|
63
|
-
ADR-041 v1.0 §3 已签"先调规则不加机制"哲学;本 ADR **完全继承**该哲学:
|
|
64
|
-
|
|
65
|
-
| 维度 | ADR-041 v1.0 | ADR-H4 |
|
|
66
|
-
|------|--------------|--------|
|
|
67
|
-
| 治理对象 | Codex 分流决策("是否派 Codex") | 表达行为("怎么说话") |
|
|
68
|
-
| 物理介质 | CLAUDE.md §零 + ADR-041 §3 红线 | lead/SKILL.md `## 行为治理`段 |
|
|
69
|
-
| 机制化禁令 | hook / router / metrics 全砍 | 同砍(INV-H4-3)|
|
|
70
|
-
| 升级路径 | 每周复盘人脑回顾 | 同(H4 不另立机制) |
|
|
71
|
-
|
|
72
|
-
H4 是 ADR-041 在不同行为侧(决策 vs 表达)的孪生子,**不重复也不冲突**。
|
|
73
|
-
|
|
74
|
-
### 3.4 与 H5 边界(plan §3.3.1)
|
|
75
|
-
|
|
76
|
-
| 维度 | H4 (本 ADR) | H5 (未来) |
|
|
77
|
-
|------|-------------|-----------|
|
|
78
|
-
| 范围 | lead / arch / boll-dev SKILL.md prompt 段 | review-contract.yaml + Gate 清单 + .boll/skills/boll-review/ |
|
|
79
|
-
| 介质 | 纯 markdown 文字 | yaml + 文档 |
|
|
80
|
-
| 触发 | skill 加载时 prompt context | Gate 流转时 contract spawn reviewer |
|
|
81
|
-
| 治理对象 | 表达行为 | 节奏控制(review 轮次 / inflation 规则) |
|
|
82
|
-
|
|
83
|
-
二者**不交叉**:H4 不动 review-contract,H5 不动 SKILL.md prompt 段。如某条规则跨界(既要 prompt 又要 yaml),按 plan §3.3.1 串行:先 H4 prompt,再 H5 yaml backport。
|
|
84
|
-
|
|
85
|
-
### 3.5 受管资产 scope(H0.1 施工隔离)
|
|
86
|
-
|
|
87
|
-
| 路径 | 动作 |
|
|
88
|
-
|------|------|
|
|
89
|
-
| `docs/decisions/ADR-H4-prompt-governance.md` | 新增(本文件) |
|
|
90
|
-
| `docs/decisions/PLAN-H4-prompt-governance.md` | 新增(PLAN 起草) |
|
|
91
|
-
| `.boll/skills/lead/SKILL.md` | 追加 `## 行为治理` 段(≤30 行)|
|
|
92
|
-
| `docs/decisions/tasks/PLAN-H4/demo-rewrite-{ts}.md` | 1 个 demo 改写示范(PLAN-H4 §2 WP-04)|
|
|
93
|
-
| `docs/decisions/tasks/PLAN-H4/reviewer-verdict-*.md` | reviewer 落点 |
|
|
94
|
-
| `.boll/log/harness-self-symptoms.md` | append §4.x(如有自指)|
|
|
95
|
-
|
|
96
|
-
**不动**:ownership.yaml / hook / review-contract.yaml / arch SKILL.md(暂不改 — PLAN-H4 WP-01 盘点确认现状再定)/ boll-dev SKILL.md / 任何业务代码。
|
|
97
|
-
|
|
98
|
-
### 3.6 失败模式(必须 inline,不留撞坑)
|
|
99
|
-
|
|
100
|
-
**FM1**:lead SKILL.md 加上"## 行为治理"段后膨胀超 200 行 → 触发与 INV-H3-1 同类的物理 truncate 风险。
|
|
101
|
-
**对策**:H4 段 ≤30 行硬规(INV-H4-1 上限附加值);超限按 INV-H3-2 双层口径分拆。
|
|
102
|
-
|
|
103
|
-
**FM2**:H4 写入后被 reviewer 当作 inflation 攻击面 → 重演 ADR-041 v0.1→v0.3 失败模式。
|
|
104
|
-
**对策**:每条 checklist 强制挂 memory pointer(INV-H4-2);reviewer 反对必须指认"哪条规则没 pointer",否则属同维度反复 review(H4 §3.1 第 6 条命中)。
|
|
105
|
-
|
|
106
|
-
**FM3**:跨 SKILL.md 复制粘贴(lead → arch → boll-dev)导致同规则三个副本漂移。
|
|
107
|
-
**对策**:H4 仅在 lead/SKILL.md 落地;其他 skill 引用时用 pointer 不复制(lead skill 是 entry tier,所有 session 必加载,不需要在 arch/boll-dev 重复)。
|
|
108
|
-
|
|
109
|
-
## 4. 反对意见与取舍
|
|
110
|
-
|
|
111
|
-
**反对 1**:lead SKILL.md 已经 169 行 + 加 30 行 = 199 行,逼近 200 行 truncate 阈值(INV-H3-1 同类)。
|
|
112
|
-
|
|
113
|
-
**取舍**:lead SKILL.md 不是 user-level memory(在 `.boll/skills/lead/`,不受 200 行 truncate 限制;CC skill 加载是按完整文件读,无 line-cutoff)。reviewer 若担心 prompt context token 占用,按 ADR-041 §3 "先调规则不加机制" — 不引入 hook 切片;如未来某段冗余,按 INV-H4-2 删冗余条目(每条必须挂 pointer = 必然有真相源备份)。
|
|
114
|
-
|
|
115
|
-
**反对 2**:行为偏好治理本质是"语气问题",靠 prompt 70% 遵从率 = 30% session 仍然违规;该升级到 hook 拦截。
|
|
116
|
-
|
|
117
|
-
**取舍**:ADR-038 D11 已明确:"prompt 解决不了语气问题,schema 也解决不了"。70% 是行为偏好上限;剩 30% 靠 Nature 每周复盘人脑回顾(继承 ADR-041 路径)。任何 hook 拦截"黑话"都会撞 false-positive 海啸("commit"二字在工程上下文必然出现,hook 无法区分"对 Nature 说 commit"vs"在 ADR 里写 commit")。
|
|
118
|
-
|
|
119
|
-
**反对 3**:H4 只做 lead SKILL.md = 漏覆盖 arch / boll-dev 等其他 skill 加载时的违规。
|
|
120
|
-
|
|
121
|
-
**取舍**:lead 是 entry tier,CLAUDE.md 隐式默认加载;其他 skill 是按需加载。70% 遵从率基线建立在"必读 skill"的位置;arch/boll-dev session 已经有 lead 加载,规则会跨级生效。如未来发现 arch session 的违规率显著高于 lead session,按 ADR-041 路径:"先调规则文字" — 在 lead `## 行为治理`段加 1 条"在 arch 子任务中同样适用",不复制清单。
|
|
122
|
-
|
|
123
|
-
## 5. ADR-H0 元规约自检
|
|
124
|
-
|
|
125
|
-
- **H0.1 施工隔离**:scope 列表见 §3.5(6 类路径,全在 `docs/decisions/`、`docs/decisions/tasks/`、`.boll/skills/lead/`、`.boll/log/`)
|
|
126
|
-
- **H0.2 节流限速**:本 ADR 目标 ≤ 300 行(终稿见 wc -l);PLAN-H4 ≤ 500 行
|
|
127
|
-
- **H0.3 执检分离**:起草 = 本 session;reviewer 必为非起草 read-only subagent(PLAN-H4 末位 WP)
|
|
128
|
-
- **H0.4 自指禁止**:H4 修"黑话/推卸/过度 review",本 ADR grep `TBD|后续讨论|待协调员决定` 仅元层定义命中(参 ADR-H0 §6 例 4 + §3.1 #4 推卸类条目本身就是定义)
|
|
129
|
-
- **H0.5 跨子计划协调**:lead/SKILL.md 共改冲突已记入 H 系列 plan §3.4 冲突表(H2 × H4 串行;H2 已 merged,H4 后续在新 schema 上加段不冲突)
|
|
130
|
-
- **H0.6 证据机械化**:所有 INV / DoD 给 grep / wc / `find` 命令(详 PLAN-H4 §2 verify 命令段)
|
|
131
|
-
- **H0.meta**:本 ADR 自身不引用 H1/H5/H6/H8 未来产物(grep `\bH[1568]\b` 仅本检查行 + §3.4 H5 边界段命中)
|
|
132
|
-
|
|
133
|
-
## 6. 关系
|
|
134
|
-
|
|
135
|
-
- **ADR-H0 §3 元规约**:本 ADR 完全遵守 H0.1-H0.6 + H0.meta(自检见 §5)
|
|
136
|
-
- **ADR-H3 INV-H3-2 v1.1 双层限速**:lead SKILL.md 不是 MEMORY.md,不受 200 行 truncate 限制;本 ADR §4 反对 1 已答辩
|
|
137
|
-
- **ADR-038 D11.2 prompt-level 兜底基线**:H4 完全在 prompt-level 工作,70% 遵从率是 D11.2 给定上限
|
|
138
|
-
- **ADR-041 v1.0 §3 不做的事**:H4 完全继承 §3 哲学,不写 hook / router / metrics(INV-H4-3)
|
|
139
|
-
- **PLAN-H4-prompt-governance.md**:本 ADR 工程实施真相源
|
|
140
|
-
- **lead/SKILL.md 现有段**:H4 新段插入位置详 §3.2
|
|
141
|
-
|
|
142
|
-
## 7. 落地范围 + DoD
|
|
143
|
-
|
|
144
|
-
- 详细 WP 拆解 + DoD:见 PLAN-H4 §2
|
|
145
|
-
- H 系列 plan §3.3 H4 行:3 天估时;DoD 关键 = checklist ≥ 10 + 自指悖论显式段 + 自身 grep "TBD\|后续讨论" = 0 + 1 个 demo 改写
|
|
146
|
-
- 末位 reviewer 签字:H0.3 执检分离强制
|
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
adr: ADR-H5
|
|
3
|
-
title: Gate 量纲化(行数硬限 schema 化 + 执检分离 binding 化 + 跳 Gate 决策表)
|
|
4
|
-
status: accepted
|
|
5
|
-
date: 2026-04-28
|
|
6
|
-
parent_charter: ADR-H0-meta-charter.md
|
|
7
|
-
philosophy_inheritance:
|
|
8
|
-
- ADR-041-codex-integration v1.0("调字不加机制")
|
|
9
|
-
- ADR-H4 INV-H4-3 反例表第 2 条(不写 metrics / 不写 dashboard / 不写 hook 治节奏)
|
|
10
|
-
- ADR-038 D11.2(schema-level 100% 遵从 >> prompt-level 70%)
|
|
11
|
-
applies_scope:
|
|
12
|
-
- .boll/plugins/boll-review-toolkit/contracts/review-contract.yaml
|
|
13
|
-
- .boll/plugins/boll-review-toolkit/agents/reviewer.md(仅引用,不改)
|
|
14
|
-
- 本 ADR 自身(自指 dogfood)
|
|
15
|
-
not_in_scope:
|
|
16
|
-
- .boll/skills/lead/SKILL.md(H4 占位;本 H 不动)
|
|
17
|
-
- 任何新 hook(INV-H5-3 红线)
|
|
18
|
-
- .boll/state/ 下新增 metrics 文件(INV-H5-3 红线)
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
# ADR-H5:Gate 量纲化
|
|
22
|
-
|
|
23
|
-
## §1 上下文
|
|
24
|
-
|
|
25
|
-
### 1.1 已有的"Gate 真相源"(review-contract.yaml)
|
|
26
|
-
|
|
27
|
-
`.boll/plugins/boll-review-toolkit/contracts/review-contract.yaml` 当前 4 个 active binding:
|
|
28
|
-
|
|
29
|
-
| binding | applies_when | reviewer.type | 阻塞何处 |
|
|
30
|
-
|---------|-------------|---------------|----------|
|
|
31
|
-
| `default-build-review` | mode=build, task_kind=code_change | pane | mode → verify |
|
|
32
|
-
| `merge-ready-review` | mode=verify, transition→release | subagent (`reviewer`) | mode → release |
|
|
33
|
-
| `design-review` | mode=plan, transition→build | human | mode → build |
|
|
34
|
-
| `retirement-review` | operation=retire_asset | pane | retire 动作 |
|
|
35
|
-
|
|
36
|
-
`verify-gate.ts` Stop hook 按 binding 校验 evidence packet → 决定 stop allow/block;`transition.ts` 按 transition_target 校验。**这是已有的 schema-level 真相源**——H5 不重建,H5 是"补字段"。
|
|
37
|
-
|
|
38
|
-
### 1.2 散落的行数限额(4 个 ADR、4 处口径)
|
|
39
|
-
|
|
40
|
-
| 来源 | 限额 | 适用 |
|
|
41
|
-
|------|------|------|
|
|
42
|
-
| ADR-H0 §H0.2 | ADR ≤300 / PLAN ≤500 | 所有 H 子计划文档 |
|
|
43
|
-
| ADR-H1 INV-H1-1 + 受管资产 | lead/SKILL.md "## 触发节奏(H1)" 段 ≤30 行;全文 ≤220 | H1 嵌入段 |
|
|
44
|
-
| ADR-H3 INV-H3-2 v1.1 | MEMORY.md `## ` 父段 ≤80 / `### ` 子段 ≤50 / 主索引 ≤200 | MEMORY.md |
|
|
45
|
-
| ADR-H4 INV-H4-1 | lead/dev/nature-designer skill prompt 段 ≤30 行 | H4 受管 SKILL.md 段 |
|
|
46
|
-
|
|
47
|
-
各 ADR 独立写、独立约束、独立验证(每个 ADR 自己的 §H0 自检表手动 wc -l),**没有 schema-level 收口**。reviewer 必须人脑读每个 ADR 才知道某文件应该限多少行,prompt-level 70% 遵从。
|
|
48
|
-
|
|
49
|
-
### 1.3 已发生的 4 次"非起草人 reviewer signoff"
|
|
50
|
-
|
|
51
|
-
| H | verdict 文件 | 路径形态 |
|
|
52
|
-
|---|-------------|---------|
|
|
53
|
-
| H2 | reviewer-verdict-20260428-1730.md | tasks/PLAN-H2/(根) |
|
|
54
|
-
| H3 | reviewer-verdict-20260428-1741.md | tasks/PLAN-H3/(根) |
|
|
55
|
-
| H4 | reviewer-verdict-20260428-1810.md | tasks/PLAN-H4/(根) |
|
|
56
|
-
| H1 | reviewer-verdict-20260428-183611.md | tasks/PLAN-H1/WP-05/(WP 子目录) |
|
|
57
|
-
|
|
58
|
-
**两个一致 + 两个不一致**:路径形态发散;reviewer subagent 类型一致(都是 `pr-review-toolkit:code-reviewer`),但 spawn 方式无 contract 约束——靠"上次怎么做这次照做"的 prompt-level 模式复用,70% 遵从。
|
|
59
|
-
|
|
60
|
-
### 1.4 触发动机
|
|
61
|
-
|
|
62
|
-
H 系列 PLAN §3.3 给 H5 的 DoD:**Gate 清单 ≥5 + inflation 规则 ≥3 + 跳 Gate 决策表 + 自指自检**。本 ADR 给出 H5 决策本质,不是工程节奏(节奏在 PLAN-H5)。
|
|
63
|
-
|
|
64
|
-
## §2 决策本质(Decision Substance)
|
|
65
|
-
|
|
66
|
-
**一句话**:把 §1.2 的行数限额和 §1.3 的执检分离从"散落 prompt + 人脑遵从"升级到 review-contract.yaml 的 `inflation` 子字段,让 verify-gate.ts 直接读 schema 判定,不再需要 reviewer 人脑遍历 ADR。
|
|
67
|
-
|
|
68
|
-
**只调字(schema 字段),不加机制(不写新 hook、不写 metrics、不建 dashboard)**——继承 ADR-041 v1.0 + ADR-H4 INV-H4-3 反例表第 2/3 条。
|
|
69
|
-
|
|
70
|
-
**与 H4 边界**(H 系列 plan §3.3.1 表):
|
|
71
|
-
- H4 = prompt 治理(lead/SKILL.md 行为偏好段,纯文字,prompt-level 70%)
|
|
72
|
-
- H5 = Gate 量纲化(review-contract.yaml inflation 字段,纯 yaml,schema-level 100%)
|
|
73
|
-
- 不交叉:H5 不动 SKILL.md prompt 段;H4 不动 review-contract.yaml
|
|
74
|
-
|
|
75
|
-
## §3 INV-H5(不变量,3 条)
|
|
76
|
-
|
|
77
|
-
### INV-H5-1:行数硬限 schema 化
|
|
78
|
-
|
|
79
|
-
review-contract.yaml 增加 top-level `line_caps` 字段(注:不是每个 binding 重复写,而是顶层一次性定义、binding 通过 ref 引用),列出 §1.2 4 处散落的限额,**作为 verify-gate.ts 校验 evidence packet 时的可读字段**。每条 cap 字段格式:
|
|
80
|
-
```yaml
|
|
81
|
-
line_caps:
|
|
82
|
-
- id: adr-h-series
|
|
83
|
-
glob: "docs/decisions/ADR-H*.md"
|
|
84
|
-
max_lines: 300
|
|
85
|
-
source_adr: ADR-H0 §H0.2
|
|
86
|
-
...
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
**红线**:
|
|
90
|
-
- 修改限额数值不算 H5 工作面(数值由各原始 ADR 决定,H5 仅做收口聚合 + ref 指针)
|
|
91
|
-
- 增加新 cap 项必须在原始 ADR 中先有"≤N 行"明文规定
|
|
92
|
-
|
|
93
|
-
### INV-H5-2:执检分离 binding 化
|
|
94
|
-
|
|
95
|
-
review-contract.yaml 的 `merge-ready-review` binding 增加 `drafter_reviewer_separation` 子字段:
|
|
96
|
-
|
|
97
|
-
```yaml
|
|
98
|
-
drafter_reviewer_separation:
|
|
99
|
-
required: true
|
|
100
|
-
rationale: ADR-H0 §H0.3 执检分离
|
|
101
|
-
evidence_path_pattern: "docs/decisions/tasks/PLAN-{plan}/WP-05/reviewer-verdict-*.md"
|
|
102
|
-
reviewer_subagent_whitelist:
|
|
103
|
-
- pr-review-toolkit:code-reviewer
|
|
104
|
-
- boll-review-toolkit:reviewer
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
**统一 verdict 路径形态为 `WP-05/`** —— H1 的形态(已经发生,不改 H1/2/3/4 的历史 verdict 文件位置);新一轮起草必须遵守。
|
|
108
|
-
|
|
109
|
-
**红线**:
|
|
110
|
-
- 不实施"自动 spawn reviewer"逻辑(H5 仅声明 schema,spawn 仍由起草人手动触发——这是 ADR-H4 INV-H4-3 反例表第 4 条 ❌"加 SKILL.md 教 AI 自己识别推卸"的反向预防)
|
|
111
|
-
|
|
112
|
-
### INV-H5-3:零机制实际引入(不只是关键词)
|
|
113
|
-
|
|
114
|
-
**验证 = 实际引入检测**(不是裸 word frequency;反例声明 / 验证命令字符串自身不算违反,避免自指悖论):
|
|
115
|
-
|
|
116
|
-
1. `find docs/decisions/tasks/PLAN-H5 .boll/plugins/boll-review-toolkit -newer docs/decisions/ADR-H0-meta-charter.md -name "*.ts"` = 0(H5 工作面无新增 hook ts 文件)
|
|
117
|
-
2. `git diff --stat HEAD~10..HEAD -- 'src/scripts/hooks/h5*' '.boll/plugins/*/hooks/h5*'` = empty(无 H5 命名的 hook 引入)
|
|
118
|
-
3. review-contract.yaml diff 中无 `cron:` / `schedule:` / `polling_interval:` / `auto_spawn_reviewer:` 等 schema 字段
|
|
119
|
-
4. ADR-H5 + PLAN-H5 § 正文(排除 §3 INV-H5-3 / §7 不做什么 / §9 H0 自检验证命令字符串)不引入机制实施动词("创建"/"启动"/"调度"+ metrics|dashboard|hook 名词搭配)
|
|
120
|
-
|
|
121
|
-
**等价于 INV-H1-3 的 H5 翻版** + **修正 INV-H1-3 朴素 grep 的自指 false positive**:把 ADR-H4 INV-H4-3 反例表升级到 schema-检查级。
|
|
122
|
-
|
|
123
|
-
## §4 跳 Gate 决策表(DoD ≥5 行)
|
|
124
|
-
|
|
125
|
-
| # | 场景 | 是否可跳 | 需要什么签字 | 证据落地 |
|
|
126
|
-
|---|------|----------|-------------|---------|
|
|
127
|
-
| 1 | binding active=false(review-contract.yaml 中显式声明非活跃) | ✅ 跳 | yaml `active: false` 即声明 | yaml diff 即证据 |
|
|
128
|
-
| 2 | retirement-review 类高放射半径动作 | ❌ 不可跳 | human attestation | evidence packet kind=retire |
|
|
129
|
-
| 3 | merge-ready-review 起草人 = reviewer 同体 | ❌ 不可跳 | INV-H5-2 binding 强制 | WP-05/ verdict 文件存在性 |
|
|
130
|
-
| 4 | line_caps 超限 | ⚠ 条件跳 | 起草人显式 disclosure(ADR §H0 自检段写"已知超限 N 行 + 理由")+ Nature 单签 | ADR diff 显式 disclosure 段 |
|
|
131
|
-
| 5 | design-review (plan→build transition) | ❌ 永不可跳(review-contract.yaml `bypass_requires: never`) | — | yaml 即证据 |
|
|
132
|
-
| 6 | hot-fix(生产 P0 issue) | ⚠ 24h 内补 reviewer signoff | Nature 口头授权 + issue 文档 | docs/issues/guard-*.md + 24h 内 reviewer-verdict-*.md |
|
|
133
|
-
|
|
134
|
-
**红线**:跳 Gate ≠ 不留证据。任何跳过路径必须有可机器读的痕迹(yaml 字段 / disclosure 段 / issue 文档)——满足 ADR-H0 §H0.6 证据机械化。
|
|
135
|
-
|
|
136
|
-
## §5 inflation 规则(DoD ≥3 条)
|
|
137
|
-
|
|
138
|
-
### 规则 1:行数硬限优先于"先合并再清理"
|
|
139
|
-
ADR-H0 §H0.2 已有,本 ADR 强化为 review-contract.yaml `inflation.no_grow_now_clean_later` 字段。任何 PR 提交 line_caps 超限 → verify-gate.ts 直接 block,不接受"merge 后下个 PR 拆"理由。
|
|
140
|
-
|
|
141
|
-
### 规则 2:非起草人 reviewer 强制
|
|
142
|
-
INV-H5-2 已声明 schema;本规则补充:reviewer 与起草人必须不同 session(H0.3 执检分离的实操);`pr-review-toolkit:code-reviewer` subagent 自身就是不同 session,物理满足。
|
|
143
|
-
|
|
144
|
-
### 规则 3:自指自检段必填
|
|
145
|
-
任何 ADR-Hx 必须包含 `## §H0 自检` 段,列出 H0.1-H0.6 + H0.meta 7 条逐条勾选状态——本 ADR §10 即为示范。verify-gate.ts 通过 grep `^## .*H0 自检` 校验存在性。
|
|
146
|
-
|
|
147
|
-
## §6 H4 vs H5 边界(再次强调)
|
|
148
|
-
|
|
149
|
-
| 关注点 | H4(已闭合) | H5(本 ADR) |
|
|
150
|
-
|--------|-------------|-------------|
|
|
151
|
-
| 改的文件 | lead/SKILL.md(prompt) | review-contract.yaml(schema) |
|
|
152
|
-
| 治什么 | 行为偏好(黑话/推卸/过度 review) | 节奏/限速/执检分离 |
|
|
153
|
-
| 遵从层级 | prompt-level 70% | schema-level 100% |
|
|
154
|
-
| 哲学 | 调字不加机制 | 调字(yaml 是"字")不加机制 |
|
|
155
|
-
|
|
156
|
-
H5 不撤销 H4,也不重写 H4 的 prompt 段。两者并行生效。
|
|
157
|
-
|
|
158
|
-
## §7 不做什么(边界声明)
|
|
159
|
-
|
|
160
|
-
- ❌ 不写新 hook(INV-H5-3 红线)
|
|
161
|
-
- ❌ 不在 verify-gate.ts 加新逻辑(仅靠 yaml schema 字段读取,原有 contract-driven 框架已够用;如果某字段需要解释,由后续单独 ADR 决定)
|
|
162
|
-
- ❌ 不动 H4 的 SKILL.md prompt 段
|
|
163
|
-
- ❌ 不动 H1 的"## 来自 crystal-learn 的门禁"接收段
|
|
164
|
-
- ❌ 不引入 metrics/dashboard(INV-H5-3)
|
|
165
|
-
- ❌ 不"自动 spawn reviewer"——人手起 subagent 仍是当前模式(70% 遵从足够;schema 级别只规范"必须发生"和"形态",不规范"如何触发")
|
|
166
|
-
|
|
167
|
-
## §8 受管资产(scope 锁死)
|
|
168
|
-
|
|
169
|
-
| # | 路径 | 动作 | 限额 |
|
|
170
|
-
|---|------|------|------|
|
|
171
|
-
| 1 | `.boll/plugins/boll-review-toolkit/contracts/review-contract.yaml` | 增加 `line_caps` 顶层字段 + 在 `merge-ready-review` binding 增加 `drafter_reviewer_separation` 子字段 + `inflation` 顶层字段 | 当前 132 行 → 目标 ≤220 行 |
|
|
172
|
-
| 2 | `docs/decisions/ADR-H5-gate-quantization.md` | 本 ADR | ≤300 行 |
|
|
173
|
-
| 3 | `docs/decisions/PLAN-H5-gate-quantization.md` | 工程计划 | ≤500 行 |
|
|
174
|
-
| 4 | `docs/decisions/tasks/PLAN-H5/WP-04/dogfood-output-*.md` | dogfood 产出 | ≤80 行 |
|
|
175
|
-
| 5 | `docs/decisions/tasks/PLAN-H5/WP-05/reviewer-verdict-*.md` | reviewer signoff | 由 reviewer 决定 |
|
|
176
|
-
|
|
177
|
-
**禁动**:
|
|
178
|
-
- `.boll/skills/lead/SKILL.md`(H4 受管)
|
|
179
|
-
- `~/.boll/skills/boll-crystal-learn/SKILL.md`(H1 受管)
|
|
180
|
-
- `~/.boll/projects/-Users-nature------boll/memory/MEMORY.md`(H3 受管)
|
|
181
|
-
- 任何 hook 文件(INV-H5-3)
|
|
182
|
-
|
|
183
|
-
## §9 H0 自检(H0.1-H0.6 + H0.meta)
|
|
184
|
-
|
|
185
|
-
| 条款 | 内容 | 本 ADR 状态 |
|
|
186
|
-
|------|------|-------------|
|
|
187
|
-
| H0.1 施工隔离 | scope 显式列出 | ✅ §8 受管资产表 + frontmatter applies_scope |
|
|
188
|
-
| H0.2 节流限速 | ADR ≤300 行 | ✅ 终稿 wc -l 验(estimated 200-220) |
|
|
189
|
-
| H0.3 执检分离 | 起草人 ≠ 签字人 | ✅ WP-05 reviewer subagent 独立 |
|
|
190
|
-
| H0.4 自指禁止 | 不重现要修的症状 | ✅ INV-H5-3 + §7 反例表是 ADR-H4 INV-H4-3 第 2/3 条的本 H 翻版,物理避免 |
|
|
191
|
-
| H0.5 跨 H 协调 | 共改文件冲突表 | ✅ §6 H4/H5 边界表;review-contract.yaml 仅本 H 改动 |
|
|
192
|
-
| H0.6 证据机械化 | DoD 证据机器可生成 | ✅ §4 跳 Gate 表 + §5 规则均给 grep/yaml field 校验路径 |
|
|
193
|
-
| H0.meta | 不引未来 H | ✅ grep `H[6-9]` = 0(H9 已存在不算未来;下方 grep 验证) |
|
|
194
|
-
|
|
195
|
-
H0.meta 验证命令(排除 code block,避免命令字符串自指 false positive):
|
|
196
|
-
```bash
|
|
197
|
-
awk '/^```/{f=!f; next} !f' docs/decisions/ADR-H5-gate-quantization.md | grep -cE "\bH[6-8]\b"
|
|
198
|
-
# 应为 0(H6/H7/H8 是未来 H;排除 code block 后命令字符串自身不算引用)
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
## §10 dogfood 规划
|
|
202
|
-
|
|
203
|
-
H5 自身走一次 Gate 即 PLAN-H5 WP-04:
|
|
204
|
-
- 起草本 ADR-H5 + PLAN-H5 时,本身要满足 INV-H5-1(行数)+ INV-H5-3(无机制关键词)
|
|
205
|
-
- WP-04 dogfood-output-*.md 记录"H5 起草过程触发了哪些 line_caps 边界"
|
|
206
|
-
- WP-05 reviewer signoff 验证"H5 自己是否被 H5 的规则约束住"——典型 ADR-038 D11.2 实例
|
|
207
|
-
|
|
208
|
-
## §11 与现行 vNext 共存
|
|
209
|
-
|
|
210
|
-
- review-contract.yaml 修改前必须 `git diff` 验证:4 active binding 未被破坏
|
|
211
|
-
- 修改后跑 `verify-gate.ts` 一次手动测试(PLAN-H5 WP-03 DoD)
|
|
212
|
-
- 如发现 verify-gate.ts 因新字段崩溃 → 回退 yaml + ADR-H5 重新设计字段位置(H 系列 plan §3.3.4 中等回退)
|
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
adr: ADR-H6
|
|
3
|
-
title: 状态文件健康度(state 清单 schema 化 + 健康度指标 + stale 清理 + 抗 compact 接口签字)
|
|
4
|
-
status: accepted
|
|
5
|
-
date: 2026-04-28
|
|
6
|
-
parent_charter: ADR-H0-meta-charter.md
|
|
7
|
-
philosophy_inheritance:
|
|
8
|
-
- ADR-041-codex-integration v1.0("调字不加机制")
|
|
9
|
-
- ADR-H4 INV-H4-3 反例表(不写 metrics / 不写 dashboard / 不写 hook 治节奏)
|
|
10
|
-
- ADR-H5 INV-H5-3(实际引入检测取代裸 grep;awk 排除 code block 自指悖论修正)
|
|
11
|
-
- ADR-038 D11.2(schema-level 100% > prompt-level 70%)
|
|
12
|
-
applies_scope:
|
|
13
|
-
- .boll/plugins/boll-review-toolkit/contracts/review-contract.yaml(增 state_inventory + state_health_indicators 顶层字段)
|
|
14
|
-
- .boll/state/_archived/(新建:归档目录)
|
|
15
|
-
- .boll/state/.DS_Store(删除)
|
|
16
|
-
- .boll/state/completion-proposal-profile-build-cli-archived-20260419-1110.json(移到 _archived/)
|
|
17
|
-
- .boll/state/harness-review-2026-04-14/(移到 _archived/)
|
|
18
|
-
- 本 ADR 自身(自指 dogfood)
|
|
19
|
-
not_in_scope:
|
|
20
|
-
- .boll/state/round{1-5}-verdicts/(审计依据,原地保留不动)
|
|
21
|
-
- .boll/proposals/(self-evolution 足迹,只增不删)
|
|
22
|
-
- .boll/guard/(once-flag/loop-counter 活工具态,#4 认知修正)
|
|
23
|
-
- .boll/inbox/(H9 受管,不动)
|
|
24
|
-
- .boll/evidence/(各 PLAN 受管,不动)
|
|
25
|
-
- 任何新 hook(INV-H6-3 红线)
|
|
26
|
-
- ADR-042 D3/D4 写屏障逻辑(仅引用,不改)
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
# ADR-H6:状态文件健康度
|
|
30
|
-
|
|
31
|
-
## §1 上下文
|
|
32
|
-
|
|
33
|
-
### 1.1 .boll/ 现状盘点(实测 2026-04-28T19:12)
|
|
34
|
-
|
|
35
|
-
| 路径 | 当前状态 | 健康度判定 |
|
|
36
|
-
|------|---------|-----------|
|
|
37
|
-
| `.boll/state/mode` | 6 字节 | ✅ 动态运行期 |
|
|
38
|
-
| `.boll/state/run.json` | 3 字节 | ✅ 动态运行期 |
|
|
39
|
-
| `.boll/state/locks.json` | 3 字节 | ✅ 动态运行期 |
|
|
40
|
-
| `.boll/state/completion-proposal.json` | 6048 字节 / Apr 19 | ✅ 当前 run 提案 |
|
|
41
|
-
| `.boll/state/risk-snapshot.json` | 877 字节 / 实测 mtime 当下 | ✅ 由 risk-tracker 实时维护 |
|
|
42
|
-
| `.boll/state/round{1-5}-verdicts/` | 5 个目录 / Apr 16-19 | ✅ 审计归档保留 |
|
|
43
|
-
| `.boll/state/harness-review-2026-04-14/` | 目录 / Apr 14 | ⚠ 14 天前归档,应移 _archived/ |
|
|
44
|
-
| `.boll/state/completion-proposal-profile-build-cli-archived-20260419-1110.json` | 4737 字节 / Apr 19 | ⚠ 文件名已含 archived 但在主目录 |
|
|
45
|
-
| `.boll/state/.DS_Store` | 6148 字节 / Apr 16 | ❌ macOS 噪声 |
|
|
46
|
-
| `.boll/proposals/` | 265 文件 | ✅ self-evolution 痕迹(只增不删) |
|
|
47
|
-
| `.boll/guard/` | 11321 文件 | ✅ once-flag/loop-counter 活工具态(#4 认知修正) |
|
|
48
|
-
| `.boll/log/harness-self-symptoms.md` | 1 文件 | ✅ H 系列自指审计 |
|
|
49
|
-
| `.boll/log/hook/` | 目录 | ✅ hook ledger |
|
|
50
|
-
| `.boll/inbox/**` | H9 受管 | ✅ 不动 |
|
|
51
|
-
| `.boll/evidence/**` | 各 PLAN 受管 | ✅ 不动 |
|
|
52
|
-
|
|
53
|
-
### 1.2 触发动机
|
|
54
|
-
|
|
55
|
-
H 系列 plan §3.3 给 H6 的 DoD:**state 清单 ≥10 + 健康度指标 ≥3 + ADR-042 D9 接口签字 + 3 stale 清理**。本 ADR 给出 H6 决策本质,不是工程节奏(节奏在 PLAN-H6)。
|
|
56
|
-
|
|
57
|
-
### 1.3 与 H5 的协同关系
|
|
58
|
-
|
|
59
|
-
H5 已经在 review-contract.yaml 增加了 `line_caps` + `inflation` + `drafter_reviewer_separation` 三处 schema 字段(commit `872f03ce`)。H6 直接复用同一 yaml 作为 schema 真相源,增加 `state_inventory` + `state_health_indicators` 两处顶层字段——**不再分散到独立 yaml/json**。
|
|
60
|
-
|
|
61
|
-
## §2 决策本质
|
|
62
|
-
|
|
63
|
-
**一句话**:把 §1.1 现状清单和"什么算 state 健康"从"散落在 ADR-038/ADR-042/各 plan §6"升级到 review-contract.yaml 顶层 `state_inventory` + `state_health_indicators` 字段——schema-level 真相源。同步把 3 个明确 stale 文件(.DS_Store + archived JSON + Apr 14 review)物理移走或删除。
|
|
64
|
-
|
|
65
|
-
**只调字(schema 字段 + 文件移动),不加机制**——继承 ADR-041 v1.0 + ADR-H4 INV-H4-3 反例表 + ADR-H5 INV-H5-3 实际引入检测原则。
|
|
66
|
-
|
|
67
|
-
**抗 compact 接口签字**:本 ADR §6 显式签字"抗 compact 真相源 = ADR-042 D3 (Session-Owner ownership.yaml) + D4 (owner-guard.ts) 写屏障";H6 不重做、不另建。AGENTS.md 渐进加载(ADR-042 D9)作为 Codex 抗 compact 路径同样签字接受。
|
|
68
|
-
|
|
69
|
-
## §3 INV-H6(不变量,3 条)
|
|
70
|
-
|
|
71
|
-
### INV-H6-1:state 清单 schema 化
|
|
72
|
-
|
|
73
|
-
review-contract.yaml 增加顶层 `state_inventory` 字段,列出 §1.1 表的全部 ≥10 条 state 资产(按 dynamic / archived / append-only / managed-by-other-H 四类标注)。
|
|
74
|
-
|
|
75
|
-
```yaml
|
|
76
|
-
state_inventory:
|
|
77
|
-
- id: state-mode
|
|
78
|
-
path: ".boll/state/mode"
|
|
79
|
-
kind: dynamic
|
|
80
|
-
owner: boll-mode-toolkit
|
|
81
|
-
...
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
**红线**:增加新 state 资产必须在原始 ADR(ADR-038 / ADR-042 / ADR-Hx)中先有声明;H6 不发明新 state。
|
|
85
|
-
|
|
86
|
-
### INV-H6-2:state 健康度指标 schema 化
|
|
87
|
-
|
|
88
|
-
review-contract.yaml 增加顶层 `state_health_indicators` 字段,定义 ≥3 条机器可读指标:
|
|
89
|
-
|
|
90
|
-
```yaml
|
|
91
|
-
state_health_indicators:
|
|
92
|
-
- id: schema-validity
|
|
93
|
-
desc: "5 个 dynamic JSON 文件 (mode/run.json/locks.json/completion-proposal.json/risk-snapshot.json) JSON parse 通过 + 必填字段非空"
|
|
94
|
-
check: "npx ts-node -e 'import json; for p in [...]: json.load(open(p))'"
|
|
95
|
-
- id: top-level-no-noise
|
|
96
|
-
desc: ".boll/state/ 顶层无 .DS_Store / 未归档 archived 文件 / 临时文件"
|
|
97
|
-
check: "ls .boll/state/*.DS_Store .boll/state/*archived*.json 2>/dev/null | wc -l == 0(顶层)"
|
|
98
|
-
- id: inbox-unread-volume
|
|
99
|
-
desc: ".boll/inbox/main/unread/ ≤50 文件(H9 ADR 红线复用)"
|
|
100
|
-
check: "ls .boll/inbox/main/unread/ | wc -l ≤ 50"
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
**红线**:指标必须 schema-level 可验证(机器可读 check 命令);不引入"AI 自我评估"或"主观 health score"。
|
|
104
|
-
|
|
105
|
-
### INV-H6-3:零机制实际引入(继承 INV-H5-3 修正版)
|
|
106
|
-
|
|
107
|
-
验证 = 实际引入检测(不是裸 word frequency;反例段豁免,避免 INV-H1-3 自指悖论):
|
|
108
|
-
|
|
109
|
-
1. `find .boll/state/_archived .boll/plugins/boll-review-toolkit -newer docs/decisions/ADR-H0-meta-charter.md -name "*.ts"` = 0
|
|
110
|
-
2. `git diff HEAD~5..HEAD --stat -- 'src/scripts/hooks/h6*' '.boll/plugins/*/hooks/h6*'` = empty
|
|
111
|
-
3. review-contract.yaml diff 中无 `cron:` / `schedule:` / `polling_interval:` / `auto_*:` 等触发字段
|
|
112
|
-
4. ADR-H6 + PLAN-H6 § 正文(排除 §3 INV-H6-3 / §7 不做什么 / §9 H0 自检)不引入机制实施动词搭配,搭配定义见以下 fence:
|
|
113
|
-
|
|
114
|
-
```text
|
|
115
|
-
verbs = (创建|启动|调度)
|
|
116
|
-
mechanism_nouns = (metrics|dashboard|hook)
|
|
117
|
-
violation = verbs.*mechanism_nouns
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
## §4 stale 清理决策表(DoD 3 stale)
|
|
121
|
-
|
|
122
|
-
| # | 路径 | 大小 / mtime | 决策 | 理由 |
|
|
123
|
-
|---|------|-------------|------|------|
|
|
124
|
-
| 1 | `.boll/state/.DS_Store` | 6148 / Apr 16 | **物理删除** + 加 `.gitignore` | macOS 噪声,无信息价值;防止再生 |
|
|
125
|
-
| 2 | `.boll/state/completion-proposal-profile-build-cli-archived-20260419-1110.json` | 4737 / Apr 19 | **移到 `.boll/state/_archived/`** | 文件名已含 archived 标识,应物理位置匹配 |
|
|
126
|
-
| 3 | `.boll/state/harness-review-2026-04-14/` | 目录 / Apr 14 | **移到 `.boll/state/_archived/`** | 14 天前归档;移走后 `.boll/state/` 顶层只剩 dynamic + round{1-5}-verdicts/(仍是审计依据,保留) |
|
|
127
|
-
|
|
128
|
-
**禁动**:
|
|
129
|
-
- `.boll/state/round{1-5}-verdicts/` —— 审计依据,原地保留
|
|
130
|
-
- `.boll/proposals/` —— self-evolution 足迹,只增不删
|
|
131
|
-
- `.boll/guard/` —— 11321 文件按 #4 认知修正是活工具态(once-flag/loop-counter)
|
|
132
|
-
|
|
133
|
-
## §5 跳 Gate 决策表(继承 ADR-H5 §4,不重写)
|
|
134
|
-
|
|
135
|
-
H6 涉及的 Gate 由 ADR-H5 §4 跳 Gate 决策表统一治理。本 ADR 不重复定义跳 Gate 表;引用:
|
|
136
|
-
- merge-ready-review binding(含 INV-H5-2 drafter_reviewer_separation)
|
|
137
|
-
- line_caps 中本 ADR + PLAN-H6 受 adr-h-series ≤300 / plan-h-series ≤500 限制
|
|
138
|
-
|
|
139
|
-
## §6 抗 compact 接口签字(plan §3.3 H6 DoD:ADR-042 D9 接口签字)
|
|
140
|
-
|
|
141
|
-
H6 显式签字接受以下抗 compact 真相源,不重做、不另建:
|
|
142
|
-
|
|
143
|
-
| 抗 compact 路径 | 真相源 | 签字状态 |
|
|
144
|
-
|----------------|--------|---------|
|
|
145
|
-
| AI 自识 "我是谁、own 什么" | ADR-042 D3 Session-Owner 真相源 + ownership.yaml + AI 自识协议 | ✅ H6 签字接受 |
|
|
146
|
-
| 写权限物理隔离 | ADR-042 D4 owner-guard.ts PreToolUse 写屏障 hook | ✅ H6 签字接受(hook 已存在,H6 不动其代码) |
|
|
147
|
-
| Codex 渐进加载 | ADR-042 D9 AGENTS.md 渐进加载体系 | ✅ H6 签字接受 |
|
|
148
|
-
| H 系列窗口邮箱 cross-session 通信 | ADR-H9 inbox 路径约定 + SessionStart 注入 | ✅ H6 签字接受(H9 受管,不动) |
|
|
149
|
-
| state 文件 fresh-load | review-contract.yaml `state_inventory` + 各 owner skill SessionStart 重读 | ✅ H6 提供 schema 真相源 |
|
|
150
|
-
|
|
151
|
-
**红线**:H6 不重新设计抗 compact 协议;H6 仅做"清单 + 健康度 + 签字接受"。
|
|
152
|
-
|
|
153
|
-
## §7 不做什么(边界声明)
|
|
154
|
-
|
|
155
|
-
- ❌ 不写新 hook(INV-H6-3 红线)
|
|
156
|
-
- ❌ 不在 verify-gate.ts 加新逻辑(schema 字段先存在,消费链路留 H 系列收尾后单独 ADR)
|
|
157
|
-
- ❌ 不动 .boll/proposals/(self-evolution 足迹)
|
|
158
|
-
- ❌ 不动 .boll/guard/(活工具态)
|
|
159
|
-
- ❌ 不动 .boll/inbox/(H9 受管)
|
|
160
|
-
- ❌ 不动 .boll/evidence/(各 PLAN 受管)
|
|
161
|
-
- ❌ 不重做 ADR-042 D3/D4/D9 抗 compact 协议
|
|
162
|
-
- ❌ 不引入 metrics/dashboard/AI 自评估 health score(INV-H6-3)
|
|
163
|
-
- ❌ 不动 .boll/state/round{1-5}-verdicts/(审计依据)
|
|
164
|
-
|
|
165
|
-
## §8 受管资产(scope 锁死)
|
|
166
|
-
|
|
167
|
-
| # | 路径 | 动作 | 限额 |
|
|
168
|
-
|---|------|------|------|
|
|
169
|
-
| 1 | `.boll/plugins/boll-review-toolkit/contracts/review-contract.yaml` | 增 `state_inventory` + `state_health_indicators` 顶层字段 | ≤300 行(H5 后 171 → 目标 ≤270) |
|
|
170
|
-
| 2 | `docs/decisions/ADR-H6-state-file-health.md` | 本 ADR | ≤300 行 |
|
|
171
|
-
| 3 | `docs/decisions/PLAN-H6-state-file-health.md` | 工程计划 | ≤500 行 |
|
|
172
|
-
| 4 | `docs/decisions/tasks/PLAN-H6/WP-04/dogfood-output-*.md` | dogfood 产出 | ≤80 行 |
|
|
173
|
-
| 5 | `docs/decisions/tasks/PLAN-H6/WP-05/reviewer-verdict-*.md` | reviewer signoff | reviewer 决定 |
|
|
174
|
-
| 6 | `.boll/state/_archived/` | 新建目录 | — |
|
|
175
|
-
| 7 | `.gitignore` | 加 `.boll/state/.DS_Store` 规则 | — |
|
|
176
|
-
| 8 | `.boll/state/.DS_Store` | 删除 | — |
|
|
177
|
-
| 9 | `.boll/state/completion-proposal-profile-build-cli-archived-20260419-1110.json` | git mv → `_archived/` | — |
|
|
178
|
-
| 10 | `.boll/state/harness-review-2026-04-14/` | git mv → `_archived/` | — |
|
|
179
|
-
|
|
180
|
-
## §9 H0 自检
|
|
181
|
-
|
|
182
|
-
| 条款 | 内容 | 状态 |
|
|
183
|
-
|------|------|------|
|
|
184
|
-
| H0.1 施工隔离 | scope 显式列出 | ✅ §8 + frontmatter applies_scope/not_in_scope |
|
|
185
|
-
| H0.2 节流限速 | ADR ≤300 行 | 待终稿 wc -l 验证(estimated 230-260) |
|
|
186
|
-
| H0.3 执检分离 | 起草人 ≠ 签字人 | ✅ WP-05 reviewer subagent 独立 |
|
|
187
|
-
| H0.4 自指禁止 | 不重现要修的症状 | ✅ INV-H6-3 继承 H5 修正版;不重现"自指 false positive" |
|
|
188
|
-
| H0.5 跨 H 协调 | 共改文件冲突表 | ✅ §7 不做什么 + §3 跨 H 协调(H6 仅改 review-contract.yaml + state/,不撞其他 H) |
|
|
189
|
-
| H0.6 证据机械化 | DoD 证据机器可生成 | ✅ §3 INV + §4 stale 表 + §6 抗 compact 表均给 grep/find/yaml field 校验 |
|
|
190
|
-
| H0.meta | 不引未来 H | ✅(H8 已存在不算未来;下方 grep 验证) |
|
|
191
|
-
|
|
192
|
-
H0.meta 验证命令(继承 H5 awk 排除 code block 模板):
|
|
193
|
-
```bash
|
|
194
|
-
awk '/^```/{f=!f; next} !f' docs/decisions/ADR-H6-state-file-health.md | grep -cE "\bH(7|10|11|12)\b"
|
|
195
|
-
# 应为 0(H7 退役不算未来;H10+ 是未来 H)
|
|
196
|
-
```
|
|
197
|
-
|
|
198
|
-
## §10 dogfood 规划
|
|
199
|
-
|
|
200
|
-
PLAN-H6 WP-04 用 H6 起草过程自身做输入:
|
|
201
|
-
- ADR-H6 + PLAN-H6 + review-contract.yaml diff 满足 INV-H6-3 4 项检测
|
|
202
|
-
- 3 stale 清理动作的 git mv / git rm 物理结果可机器验证
|
|
203
|
-
- WP-04 输出文件 ≤80 行,自身受 INV-H6-1 line-cap 约束
|
|
204
|
-
|
|
205
|
-
## §11 与现行 vNext 共存
|
|
206
|
-
|
|
207
|
-
按 H 系列 plan §3.3.3:
|
|
208
|
-
- review-contract.yaml 修改后跑 yaml.safe_load 验证(PLAN-H6 WP-03 DoD)
|
|
209
|
-
- 4 active binding + H5 三字段(line_caps / inflation / drafter_reviewer_separation)不动
|
|
210
|
-
- `.boll/state/_archived/` 新建对 verify-gate.ts / transition.ts / capability-router.ts 透明(不会影响 mode/run.json/locks.json 读取路径)
|
|
211
|
-
- 3 stale 文件移动用 `git mv`(保留历史)+ git rm(仅 .DS_Store)
|