@event4u/agent-config 9.7.0 → 9.9.0
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/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +314 -190
- package/CONTRIBUTING.md +23 -7
- package/MIGRATION.md +20 -0
- package/README.md +57 -11
- package/dist/agent-src/commands/agents/audit.md +1 -1
- package/dist/agent-src/commands/agents/optimize.md +2 -2
- package/dist/agent-src/commands/agents/user.md +1 -1
- package/dist/agent-src/commands/agents.md +1 -1
- package/dist/agent-src/commands/check-current-md.md +3 -3
- package/dist/agent-src/commands/commit/in-chunks.md +8 -0
- package/dist/agent-src/commands/commit.md +17 -0
- package/dist/agent-src/commands/fix/portability.md +2 -2
- package/dist/agent-src/commands/fix/pr-comments-loop.md +136 -0
- package/dist/agent-src/commands/fix/refs.md +2 -2
- package/dist/agent-src/commands/fix/route.md +4 -3
- package/dist/agent-src/commands/fix.md +9 -6
- package/dist/agent-src/commands/ghostwriter.md +1 -1
- package/dist/agent-src/commands/image.md +1 -1
- package/dist/agent-src/commands/optimize/augmentignore.md +1 -1
- package/dist/agent-src/commands/optimize/skills.md +2 -2
- package/dist/agent-src/commands/post-as.md +1 -1
- package/dist/agent-src/commands/pr/create.md +4 -0
- package/dist/agent-src/commands/research.md +1 -1
- package/dist/agent-src/commands/roadmap/ai-council.md +1 -1
- package/dist/agent-src/commands/security-audit-config.md +1 -1
- package/dist/agent-src/commands/team/delegate.md +4 -0
- package/dist/agent-src/commands/video.md +1 -1
- package/dist/agent-src/contexts/authority/kernel-rule-edits.md +1 -1
- package/dist/agent-src/contexts/contracts/emergency-triage-block.md +2 -2
- package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +48 -2
- package/dist/agent-src/contexts/execution/orchestration-telemetry.md +10 -0
- package/dist/agent-src/contexts/execution/subagent-modes-detail.md +109 -8
- package/dist/agent-src/contexts/execution/subagent-response-contract.md +20 -0
- package/dist/agent-src/contexts/execution/subagent-spawn-contract.md +53 -3
- package/dist/agent-src/contexts/override-system.md +75 -5
- package/dist/agent-src/rules/code-provenance.md +112 -0
- package/dist/agent-src/rules/context-hygiene.md +2 -0
- package/dist/agent-src/rules/doc-screenshot-hygiene.md +97 -0
- package/dist/agent-src/rules/domain-safety-pii.md +1 -0
- package/dist/agent-src/rules/external-code-graph-interop.md +13 -3
- package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +2 -0
- package/dist/agent-src/rules/git-history-discipline.md +2 -0
- package/dist/agent-src/rules/history-discipline.md +80 -0
- package/dist/agent-src/rules/language-and-tone.md +2 -0
- package/dist/agent-src/rules/lethal-trifecta-guard.md +3 -0
- package/dist/agent-src/rules/media-governance-routing.md +2 -0
- package/dist/agent-src/rules/minimal-safe-diff.md +2 -0
- package/dist/agent-src/rules/no-roadmap-references.md +4 -1
- package/dist/agent-src/rules/non-destructive-by-default.md +20 -0
- package/dist/agent-src/rules/onboarding-gate.md +2 -0
- package/dist/agent-src/rules/output-discipline.md +2 -0
- package/dist/agent-src/rules/persona-governance.md +2 -0
- package/dist/agent-src/rules/php-coding.md +1 -0
- package/dist/agent-src/rules/preservation-guard.md +3 -0
- package/dist/agent-src/rules/reviewer-awareness.md +1 -0
- package/dist/agent-src/rules/roadmap-ci-steps-policy.md +1 -0
- package/dist/agent-src/rules/roadmap-progress-sync.md +9 -0
- package/dist/agent-src/rules/scale-discipline.md +92 -0
- package/dist/agent-src/rules/secret-vcs-guard.md +106 -0
- package/dist/agent-src/rules/security-sensitive-stop.md +11 -1
- package/dist/agent-src/rules/session-canary.md +77 -0
- package/dist/agent-src/rules/skill-quality.md +2 -0
- package/dist/agent-src/rules/source-confidentiality.md +2 -0
- package/dist/agent-src/rules/source-of-truth.md +2 -0
- package/dist/agent-src/rules/telegraph-speak.md +2 -0
- package/dist/agent-src/rules/token-optimizer-maintenance.md +3 -1
- package/dist/agent-src/rules/tool-safety.md +4 -1
- package/dist/agent-src/rules/untrusted-input-defense.md +10 -0
- package/dist/agent-src/rules/verify-before-complete.md +2 -0
- package/dist/agent-src/skills/adr-create/SKILL.md +17 -1
- package/dist/agent-src/skills/agent-security-review/SKILL.md +1 -1
- package/dist/agent-src/skills/code-intelligence/SKILL.md +97 -0
- package/dist/agent-src/skills/condense-memory/SKILL.md +1 -1
- package/dist/agent-src/skills/corpus-grounding/SKILL.md +0 -3
- package/dist/agent-src/skills/description-assist/SKILL.md +1 -1
- package/dist/agent-src/skills/design-review/SKILL.md +5 -6
- package/dist/agent-src/skills/design-tokens/SKILL.md +0 -1
- package/dist/agent-src/skills/gated-reach/SKILL.md +185 -0
- package/dist/agent-src/skills/gated-reach/evals/triggers.json +72 -0
- package/dist/agent-src/skills/history-design/SKILL.md +101 -0
- package/dist/agent-src/skills/history-design/evals/triggers.json +17 -0
- package/dist/agent-src/skills/humanizer/SKILL.md +3 -3
- package/dist/agent-src/skills/image-analyser/SKILL.md +14 -12
- package/dist/agent-src/skills/image-editing/SKILL.md +2 -1
- package/dist/agent-src/skills/image-generation/SKILL.md +2 -1
- package/dist/agent-src/skills/image-provider-routing/SKILL.md +2 -2
- package/dist/agent-src/skills/launch-readiness/SKILL.md +1 -1
- package/dist/agent-src/skills/license-compliance-audit/SKILL.md +161 -0
- package/dist/agent-src/skills/license-compliance-audit/evals/triggers.json +52 -0
- package/dist/agent-src/skills/license-compliance-borrow-check/SKILL.md +145 -0
- package/dist/agent-src/skills/license-compliance-borrow-check/evals/triggers.json +52 -0
- package/dist/agent-src/skills/license-compliance-credits/SKILL.md +97 -0
- package/dist/agent-src/skills/license-compliance-credits/evals/triggers.json +52 -0
- package/dist/agent-src/skills/md-language-check/SKILL.md +1 -1
- package/dist/agent-src/skills/override-management/SKILL.md +1 -1
- package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +7 -7
- package/dist/agent-src/skills/project-analysis-core/SKILL.md +1 -1
- package/dist/agent-src/skills/prompt-engineering-image/SKILL.md +3 -2
- package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +2 -2
- package/dist/agent-src/skills/readme-writing/SKILL.md +6 -1
- package/dist/agent-src/skills/recursive-verification/SKILL.md +6 -0
- package/dist/agent-src/skills/refine-ticket/SKILL.md +3 -3
- package/dist/agent-src/skills/roadmap-writing/SKILL.md +4 -0
- package/dist/agent-src/skills/rtk-output-filtering/SKILL.md +31 -12
- package/dist/agent-src/skills/rule-refactor/SKILL.md +3 -3
- package/dist/agent-src/skills/schema-review/SKILL.md +92 -0
- package/dist/agent-src/skills/schema-review/evals/triggers.json +17 -0
- package/dist/agent-src/skills/screenshot-hygiene/SKILL.md +171 -0
- package/dist/agent-src/skills/secrets-management/SKILL.md +43 -1
- package/dist/agent-src/skills/security-audit/SKILL.md +1 -1
- package/dist/agent-src/skills/security-maturity-assessment/SKILL.md +1 -1
- package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +3 -3
- package/dist/agent-src/skills/skill-writing/SKILL.md +2 -2
- package/dist/agent-src/skills/source-discovery/SKILL.md +5 -5
- package/dist/agent-src/skills/subagent-orchestration/SKILL.md +45 -85
- package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +5 -4
- package/dist/agent-src/skills/subagent-orchestration/prompts/adversarial-verification-council.md +29 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/do-and-judge-two-stage.md +29 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/do-and-judge.md +29 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/do-competitively.md +29 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/do-in-parallel.md +29 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/do-in-steps.md +29 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/do-in-worktrees.md +29 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/judge-with-debate.md +29 -0
- package/dist/agent-src/skills/systematic-debugging/SKILL.md +2 -2
- package/dist/agent-src/skills/tailwind-engineer/SKILL.md +2 -3
- package/dist/agent-src/skills/token-optimizer/SKILL.md +4 -4
- package/dist/agent-src/skills/verify-repair-loop/SKILL.md +4 -0
- package/dist/agent-src/skills/worktree-lifecycle/SKILL.md +2 -3
- package/dist/agent-src/templates/AGENTS.md +1 -1
- package/dist/agent-src/templates/agents/.gitattributes.fragment +25 -6
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/agent-src/templates/command.md +3 -3
- package/dist/agent-src/templates/github-workflows/secret-scan.yml +65 -0
- package/dist/agent-src/templates/persona.md +2 -2
- package/dist/agent-src/templates/rule.md +2 -2
- package/dist/agent-src/templates/scripts/telemetry/engagement.ts +77 -0
- package/dist/agent-src/templates/scripts/telemetry_record.ts +33 -1
- package/dist/cli/commands/doctorShell.js +20 -0
- package/dist/cli/commands/doctorShell.js.map +1 -1
- package/dist/cli/commands/rtkDetect.js +58 -0
- package/dist/cli/commands/rtkDetect.js.map +1 -0
- package/dist/cli/configRoot.js +112 -0
- package/dist/cli/configRoot.js.map +1 -0
- package/dist/cli/configRoot.test.js +97 -0
- package/dist/cli/configRoot.test.js.map +1 -0
- package/dist/cli/firstRunNotice.js +70 -0
- package/dist/cli/firstRunNotice.js.map +1 -0
- package/dist/cli/help.js +4 -1
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/main.js +54 -5
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/registry.js +8 -1
- package/dist/cli/registry.js.map +1 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +502 -101
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +6 -4
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +95 -8
- package/dist/discovery/trust-report.md +11 -11
- package/dist/discovery/workspaces.json +36 -7
- package/dist/hooks/dispatch.js +19475 -0
- package/dist/install/agentSwitchDetection.js +75 -0
- package/dist/install/agentSwitchDetection.js.map +1 -0
- package/dist/install/agentSwitchProfile.js +117 -0
- package/dist/install/agentSwitchProfile.js.map +1 -0
- package/dist/install/atomic.js +1 -1
- package/dist/install/detect.js +1 -1
- package/dist/install/install.mjs +791 -486
- package/dist/install/rtkDetection.js +213 -0
- package/dist/install/rtkDetection.js.map +1 -0
- package/dist/install/rule_scope.js +2 -1
- package/dist/install/rule_scope.js.map +1 -1
- package/dist/install/types.js +2 -2
- package/dist/install/wizard-plan.js +1 -1
- package/dist/install/wizardDismissals.js +58 -0
- package/dist/install/wizardDismissals.js.map +1 -0
- package/dist/mcp/awesome-mcp-servers.row.md +1 -1
- package/dist/mcp/mcp-cloudflare-catalogue.json +1 -1
- package/dist/mcp/registry-manifest.json +15 -4
- package/dist/mcp/server.json +20 -0
- package/dist/mcp/server.mjs +44292 -0
- package/dist/router.json +1 -1
- package/dist/scripts/condense.js +14 -7
- package/dist/scripts/condense.js.map +1 -1
- package/dist/server/app.js +12 -0
- package/dist/server/app.js.map +1 -1
- package/dist/server/io/sharedWriteCheck.js +101 -0
- package/dist/server/io/sharedWriteCheck.js.map +1 -0
- package/dist/server/routes/ping.js +32 -0
- package/dist/server/routes/ping.js.map +1 -1
- package/dist/server/routes/settings.js +21 -4
- package/dist/server/routes/settings.js.map +1 -1
- package/dist/server/routes/userMd.js +21 -4
- package/dist/server/routes/userMd.js.map +1 -1
- package/dist/server/routes/wizard.js +68 -25
- package/dist/server/routes/wizard.js.map +1 -1
- package/dist/server/schemas/settings.js +12 -2
- package/dist/server/schemas/settings.js.map +1 -1
- package/dist/server/serverInfo.js +6 -2
- package/dist/server/serverInfo.js.map +1 -1
- package/dist/server/token.js +11 -4
- package/dist/server/token.js.map +1 -1
- package/dist/server/writeRoot.js +15 -1
- package/dist/server/writeRoot.js.map +1 -1
- package/dist/shared/capabilities.js +33 -0
- package/dist/shared/capabilities.js.map +1 -0
- package/dist/shared/capabilities.test.js +39 -0
- package/dist/shared/capabilities.test.js.map +1 -0
- package/dist/ui/assets/index-BpSQt5vm.js +40 -0
- package/dist/ui/assets/index-BpSQt5vm.js.map +1 -0
- package/dist/ui/assets/index-jSfMW8_t.css +1 -0
- package/dist/ui/index.html +15 -6
- package/docs/MIGRATION.md +16 -0
- package/docs/guidelines/component-oriented-and-oop-development.md +4 -2
- package/package.json +22 -9
- package/src/agent-src/templates/AGENTS.md +1 -1
- package/src/agent-src/templates/scripts/telemetry/engagement.ts +77 -0
- package/src/agent-src/templates/scripts/telemetry_record.ts +33 -1
- package/src/config/agent-settings.template.yml +94 -13
- package/src/config/discovery/packs.yml +22 -0
- package/src/config/discovery/workspaces.yml +1 -1
- package/src/config/evaluator-budgets.json +47 -0
- package/src/config/hook-latency-budget.json +20 -0
- package/src/config/reach-channels.yml +217 -0
- package/src/config/reach-prescriptions-intake.yml +200 -0
- package/src/install/agentSwitchDetection.ts +90 -0
- package/src/install/agentSwitchProfile.ts +131 -0
- package/src/install/atomic.ts +1 -1
- package/src/install/detect.ts +1 -1
- package/src/install/rtkDetection.ts +274 -0
- package/src/install/rule_scope.ts +9 -2
- package/src/install/types.ts +2 -2
- package/src/install/wizard-plan.ts +1 -1
- package/src/install/wizardDismissals.ts +60 -0
- package/src/scripts/_cli/cmd_doctor.ts +62 -1
- package/src/scripts/_cli/cmd_memory_get.ts +197 -0
- package/src/scripts/_cli/cmd_refresh.ts +30 -0
- package/src/scripts/_dispatch.bash +96 -0
- package/src/scripts/_lib/auto_dispatch.corpus.test.ts +64 -1
- package/src/scripts/_lib/auto_dispatch.ts +76 -0
- package/src/scripts/_lib/detect_target_license.ts +714 -0
- package/src/scripts/_lib/exec_evidence.ts +251 -0
- package/src/scripts/_lib/fixtures/secret-detector/negatives.txt +15 -0
- package/src/scripts/_lib/fixtures/secret-detector/positives.txt +15 -0
- package/src/scripts/_lib/install_drift.ts +194 -0
- package/src/scripts/_lib/kernel_rules.ts +46 -0
- package/src/scripts/_lib/memory_fts_index.ts +390 -0
- package/src/scripts/_lib/orchestration_record.ts +91 -2
- package/src/scripts/_lib/persistence/adapter_raw_sql.ts +443 -0
- package/src/scripts/_lib/persistence/detect_audit_coverage.ts +423 -0
- package/src/scripts/_lib/persistence/detect_bounded_reads.ts +154 -0
- package/src/scripts/_lib/persistence/detect_index_parity.ts +576 -0
- package/src/scripts/_lib/persistence/detect_n1_eloquent.ts +226 -0
- package/src/scripts/_lib/persistence/detect_offload.ts +441 -0
- package/src/scripts/_lib/persistence/detect_prisma_growth.ts +74 -0
- package/src/scripts/_lib/persistence/offload_catalog.ts +73 -0
- package/src/scripts/_lib/persistence/types.ts +109 -0
- package/src/scripts/_lib/reddit_thread_parse.ts +598 -0
- package/src/scripts/_lib/risk_paths.ts +160 -0
- package/src/scripts/_lib/rtk_allowlist.ts +44 -0
- package/src/scripts/_lib/secret_detector.test.ts +108 -0
- package/src/scripts/_lib/secret_detector.ts +328 -0
- package/src/scripts/_lib/secret_detector_adversarial.test.ts +116 -0
- package/src/scripts/_lib/spawn_env.ts +7 -0
- package/src/scripts/_lib/sqlite_guard.ts +191 -0
- package/src/scripts/_lib/subagent_spawn.ts +53 -0
- package/src/scripts/_lib/tool_probe.ts +359 -0
- package/src/scripts/_lib/worker_budget.ts +107 -0
- package/src/scripts/adr/regenerate_index.ts +81 -6
- package/src/scripts/ai_council/blind_review.ts +0 -0
- package/src/scripts/ai_council/config.ts +12 -6
- package/src/scripts/ai_council/orchestrator.ts +73 -3
- package/src/scripts/ai_team/review_gate.ts +8 -10
- package/src/scripts/ai_team/team_dispatch.ts +48 -0
- package/src/scripts/audit_adr_coverage.ts +33 -0
- package/src/scripts/audit_initial_context.ts +1 -1
- package/src/scripts/bench_cross_source_eval.ts +400 -0
- package/src/scripts/bench_honesty_score.ts +1093 -0
- package/src/scripts/bench_hook_latency.ts +218 -0
- package/src/scripts/build_mcp_catalog.ts +275 -0
- package/src/scripts/build_mcp_registry_manifest.ts +46 -0
- package/src/scripts/build_proof.ts +207 -0
- package/src/scripts/chat_history.ts +8 -5
- package/src/scripts/check_adr_frontmatter.ts +195 -0
- package/src/scripts/check_artefact_count_messaging.ts +4 -0
- package/src/scripts/check_backstop_debt.ts +210 -0
- package/src/scripts/check_bundle_path_leakage.ts +343 -0
- package/src/scripts/check_claims.ts +188 -8
- package/src/scripts/check_comparison.ts +12 -0
- package/src/scripts/check_enforcement_coverage.ts +592 -0
- package/src/scripts/check_evaluator_budgets.ts +99 -0
- package/src/scripts/check_kernel_rule_bundle.ts +16 -12
- package/src/scripts/check_knowledge_sharing.ts +12 -1
- package/src/scripts/check_no_external_sources.ts +2 -2
- package/src/scripts/check_reach_channels.ts +407 -0
- package/src/scripts/check_reach_staleness.ts +364 -0
- package/src/scripts/check_secret_leak.test.ts +47 -0
- package/src/scripts/check_secret_leak.ts +290 -0
- package/src/scripts/check_source_pointer_freshness.ts +28 -3
- package/src/scripts/code_graph/build.ts +0 -0
- package/src/scripts/code_graph/cli.ts +379 -0
- package/src/scripts/code_graph/detect.ts +186 -0
- package/src/scripts/code_graph/extract.ts +386 -0
- package/src/scripts/code_graph/intent.ts +45 -0
- package/src/scripts/code_graph/loader.ts +123 -0
- package/src/scripts/code_graph/query.ts +290 -0
- package/src/scripts/code_graph/sanitize.ts +30 -0
- package/src/scripts/code_graph/sqlite_store.ts +174 -0
- package/src/scripts/code_graph/types.ts +83 -0
- package/src/scripts/code_graph/validate.ts +63 -0
- package/src/scripts/condense.ts +14 -6
- package/src/scripts/context_hygiene_hook.ts +8 -5
- package/src/scripts/council_cli.ts +126 -12
- package/src/scripts/detect_target_license.ts +203 -0
- package/src/scripts/evaluator_umbrella.sh +145 -0
- package/src/scripts/external_sources_denylist.json +8 -4
- package/src/scripts/first_run_gate_hook.ts +9 -5
- package/src/scripts/generate_subagent_floor.ts +194 -0
- package/src/scripts/hermetic-install.sh +3 -3
- package/src/scripts/hook_manifest.yaml +65 -16
- package/src/scripts/hooks/block_kernel_rule_writes.ts +212 -0
- package/src/scripts/hooks/block_no_verify.ts +9 -9
- package/src/scripts/hooks/code_graph_nudge_hook.ts +191 -0
- package/src/scripts/hooks/concern_registry.ts +75 -0
- package/src/scripts/hooks/design_slop_hook.ts +8 -5
- package/src/scripts/hooks/dispatch_entry.ts +37 -0
- package/src/scripts/hooks/dispatch_hook.ts +176 -3
- package/src/scripts/hooks/hook_stdin.ts +42 -0
- package/src/scripts/hooks/rtk_wrap_hook.ts +26 -12
- package/src/scripts/hot_context_hook.ts +7 -6
- package/src/scripts/injection_scan_hook.ts +9 -1
- package/src/scripts/install +6 -6
- package/src/scripts/install-hooks.sh +4 -4
- package/src/scripts/install.sh +5 -4
- package/src/scripts/install.ts +264 -23
- package/src/scripts/iron_law_sha.ts +3 -12
- package/src/scripts/learning_sidecar.ts +0 -0
- package/src/scripts/lint_budget_ownership.ts +89 -0
- package/src/scripts/lint_command_routing.ts +35 -5
- package/src/scripts/lint_command_verbs.ts +42 -9
- package/src/scripts/lint_consumer_internal_refs.ts +211 -0
- package/src/scripts/lint_discovery_vocabulary.ts +2 -0
- package/src/scripts/lint_documented_commands.ts +670 -0
- package/src/scripts/lint_framework_leakage.ts +17 -3
- package/src/scripts/lint_framework_leakage_allowlist.json +32 -0
- package/src/scripts/lint_governed_writes.ts +335 -0
- package/src/scripts/lint_hidden_unicode.ts +6 -0
- package/src/scripts/lint_mcp_registry_manifest.ts +26 -1
- package/src/scripts/lint_memory_tripwire.ts +186 -0
- package/src/scripts/lint_override_kernel_guard.ts +267 -0
- package/src/scripts/lint_persistence.ts +171 -0
- package/src/scripts/lint_pre_migration_refs.ts +106 -0
- package/src/scripts/lint_provenance.ts +547 -0
- package/src/scripts/lint_provenance_vocabulary.ts +437 -0
- package/src/scripts/lint_spawn_payload.ts +283 -0
- package/src/scripts/lint_store_boundary.ts +152 -0
- package/src/scripts/lint_versioned_cache.ts +7 -1
- package/src/scripts/mcp_server/__main__.ts +7 -2
- package/src/scripts/mcp_server/catalog.ts +23 -1
- package/src/scripts/mcp_server/consumer_tool_catalog.json +563 -193
- package/src/scripts/mcp_server/prompts.ts +6 -0
- package/src/scripts/mcp_server/tool_catalog_source.ts +332 -0
- package/src/scripts/mcp_server/tools.ts +56 -5
- package/src/scripts/mcp_telemetry_query.ts +2 -33
- package/src/scripts/mcp_telemetry_store.ts +64 -34
- package/src/scripts/measure_rule_budget.ts +3 -12
- package/src/scripts/memory_learn_hook.ts +126 -0
- package/src/scripts/memory_lookup.ts +0 -0
- package/src/scripts/memory_replay_24.ts +312 -0
- package/src/scripts/memory_report.ts +16 -3
- package/src/scripts/memory_signal.ts +48 -0
- package/src/scripts/memory_status.ts +6 -0
- package/src/scripts/minimal_safe_diff_hook.ts +8 -5
- package/src/scripts/onboarding_gate_hook.ts +8 -5
- package/src/scripts/orchestration_record.ts +16 -0
- package/src/scripts/pr_url_reminder_hook.ts +8 -1
- package/src/scripts/prepack-check.mjs +17 -0
- package/src/scripts/prepack_lifecycle_check.d.mts +8 -0
- package/src/scripts/prepack_lifecycle_check.mjs +82 -0
- package/src/scripts/profile_staleness_hook.ts +8 -7
- package/src/scripts/reach_doctor.ts +1651 -0
- package/src/scripts/release.ts +24 -3
- package/src/scripts/report_install_drift.ts +109 -0
- package/src/scripts/risk_escalation_shadow.ts +160 -0
- package/src/scripts/roadmap_progress_hook.ts +8 -5
- package/src/scripts/schemas/agent-settings.schema.json +23 -0
- package/src/scripts/schemas/license-policy.schema.json +89 -0
- package/src/scripts/schemas/provenance-borrow.schema.json +46 -0
- package/src/scripts/schemas/reach-channels.schema.json +134 -0
- package/src/scripts/schemas/reach-doctor-payload.schema.json +220 -0
- package/src/scripts/schemas/rule.schema.json +20 -0
- package/src/scripts/self_review_gate.test.ts +173 -1
- package/src/scripts/self_review_gate.ts +155 -15
- package/src/scripts/session_canary_hook.ts +182 -0
- package/src/scripts/skill_linter.ts +55 -0
- package/src/scripts/smoke_quickstart.ts +2 -2
- package/src/scripts/surface_probe_hook.ts +8 -7
- package/src/scripts/sync_gitattributes.ts +310 -0
- package/src/scripts/team_review_gate_hook.ts +13 -16
- package/src/scripts/validate_reach_prescriptions.ts +751 -0
- package/src/scripts/verify_before_complete_hook.ts +8 -5
- package/src/scripts/wrapper_freshness_hook.ts +8 -7
- package/src/server/schemas/settings.ts +24 -2
- package/src/shared/capabilities.test.ts +43 -0
- package/src/shared/capabilities.ts +75 -0
- package/src/templates/minimal/agents-overrides-readme.md +20 -0
- package/dist/ui/assets/index-BPFMZWUs.css +0 -1
- package/dist/ui/assets/index-BiEZiZ31.js +0 -40
- package/dist/ui/assets/index-BiEZiZ31.js.map +0 -1
- package/docs/CLAIMS.md +0 -261
- package/docs/DISTRIBUTION_CHECKLIST.md +0 -170
- package/docs/RELEASE_STORY_TEMPLATE.md +0 -37
- package/docs/SKILL_CENSUS.md +0 -352
- package/docs/adrs/cost/0001-hard-stop-hook.md +0 -114
- package/docs/adrs/cost/README.md +0 -9
- package/docs/adrs/memory/0001-consumer-side-snapshot.md +0 -119
- package/docs/adrs/memory/README.md +0 -10
- package/docs/adrs/router/0001-three-tier-routing.md +0 -119
- package/docs/adrs/router/README.md +0 -9
- package/docs/adrs/schema/0001-json-schema-frontmatter.md +0 -102
- package/docs/adrs/schema/README.md +0 -9
- package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +0 -99
- package/docs/adrs/smoke/README.md +0 -9
- package/docs/adrs/telegraph/0001-default-off-until-bench.md +0 -93
- package/docs/adrs/telegraph/README.md +0 -9
- package/docs/announcements/2026-05-non-dev-launch.md +0 -79
- package/docs/announcements/2026-07-honest-cost-sweep-launch.md +0 -84
- package/docs/anti-reskin-gate.md +0 -60
- package/docs/architecture/augment-projection.md +0 -70
- package/docs/architecture/claude-bundle.md +0 -77
- package/docs/architecture/current-onboard-baseline.md +0 -126
- package/docs/architecture/current-safety-behavior.md +0 -137
- package/docs/architecture/multi-tool-projection.md +0 -125
- package/docs/architecture/setup-vs-settings-shared-surface.md +0 -114
- package/docs/architecture/source-projection.md +0 -85
- package/docs/architecture.md +0 -390
- package/docs/archive/CHANGELOG-6.0.0-overview.md +0 -953
- package/docs/archive/CHANGELOG-7.0.0.md +0 -419
- package/docs/archive/CHANGELOG-pre-2.11.0.md +0 -141
- package/docs/archive/CHANGELOG-pre-2.15.0.md +0 -244
- package/docs/archive/CHANGELOG-pre-2.16.0.md +0 -48
- package/docs/archive/CHANGELOG-pre-2.17.0.md +0 -63
- package/docs/archive/CHANGELOG-pre-2.2.0.md +0 -2138
- package/docs/archive/CHANGELOG-pre-2.20.0.md +0 -159
- package/docs/archive/CHANGELOG-pre-2.25.0.md +0 -191
- package/docs/archive/CHANGELOG-pre-2.7.0.md +0 -185
- package/docs/archive/CHANGELOG-pre-3.0.0.md +0 -130
- package/docs/archive/CHANGELOG-pre-3.1.0.md +0 -167
- package/docs/archive/CHANGELOG-pre-3.2.0.md +0 -268
- package/docs/archive/CHANGELOG-pre-4.0.0.md +0 -80
- package/docs/archive/CHANGELOG-pre-4.5.0.md +0 -289
- package/docs/archive/CHANGELOG-pre-5.4.0.md +0 -260
- package/docs/archive/CHANGELOG-pre-5.9.0.md +0 -270
- package/docs/archive/CHANGELOG-pre-6.0.0.md +0 -473
- package/docs/archive/CHANGELOG-pre-7.0.0.md +0 -126
- package/docs/archive/CHANGELOG-pre-8.0.0.md +0 -301
- package/docs/archive/CHANGELOG-pre-8.1.0.md +0 -316
- package/docs/archive/CHANGELOG-pre-8.12.0.md +0 -304
- package/docs/archive/CHANGELOG-pre-8.9.0.md +0 -306
- package/docs/archive/CHANGELOG-pre-9.2.0.md +0 -276
- package/docs/artefact-census.md +0 -71
- package/docs/benchmark.md +0 -648
- package/docs/benchmark.pinned.yml +0 -31
- package/docs/benchmarks.md +0 -85
- package/docs/capability-matrix.md +0 -33
- package/docs/case-studies/_template.md +0 -60
- package/docs/case-studies/frontend-design-positioning.md +0 -86
- package/docs/catalog.md +0 -721
- package/docs/command-flows.md +0 -272
- package/docs/command-naming-audit.md +0 -60
- package/docs/comparison.yaml +0 -45
- package/docs/contracts/CHANGELOG-conventions.md +0 -149
- package/docs/contracts/STABILITY.md +0 -188
- package/docs/contracts/adoption-signal-floor.md +0 -127
- package/docs/contracts/adr-architectural-consensus-mechanism.md +0 -68
- package/docs/contracts/adr-chat-history-split.md +0 -140
- package/docs/contracts/adr-command-suggestion.md +0 -144
- package/docs/contracts/adr-forecast-construction-shape.md +0 -90
- package/docs/contracts/adr-gtm-context-spine.md +0 -116
- package/docs/contracts/adr-implement-ticket-runtime.md +0 -121
- package/docs/contracts/adr-install-user-type-axis.md +0 -107
- package/docs/contracts/adr-layout.md +0 -107
- package/docs/contracts/adr-level-6-productization.md +0 -145
- package/docs/contracts/adr-mcp-runtime.md +0 -128
- package/docs/contracts/adr-product-ui-track.md +0 -381
- package/docs/contracts/adr-prompt-driven-execution.md +0 -186
- package/docs/contracts/adr-settings-sync-engine.md +0 -128
- package/docs/contracts/adr-user-types-axis.md +0 -127
- package/docs/contracts/adr-wing4-context-spine.md +0 -126
- package/docs/contracts/agent-user-schema.md +0 -170
- package/docs/contracts/agents-layout.md +0 -148
- package/docs/contracts/agents-md-tech-stack.md +0 -75
- package/docs/contracts/ai-council-config.md +0 -829
- package/docs/contracts/ai-team-config.md +0 -224
- package/docs/contracts/analysis-memory-loop.md +0 -149
- package/docs/contracts/at-rest-encryption.md +0 -191
- package/docs/contracts/audit-log-v1.md +0 -150
- package/docs/contracts/auto-orchestration-v1.md +0 -70
- package/docs/contracts/benchmark-ab-contract.md +0 -106
- package/docs/contracts/benchmark-corpus-spec.md +0 -125
- package/docs/contracts/benchmark-report-schema.md +0 -113
- package/docs/contracts/branch-protection-policy.md +0 -139
- package/docs/contracts/brand-token-consumption.md +0 -74
- package/docs/contracts/capability-boundary.md +0 -69
- package/docs/contracts/capability-packs.md +0 -217
- package/docs/contracts/ci-cost-budget.md +0 -111
- package/docs/contracts/ci-green-floor.md +0 -141
- package/docs/contracts/command-category-governance.md +0 -84
- package/docs/contracts/command-clusters.md +0 -399
- package/docs/contracts/command-surface-tiers.md +0 -176
- package/docs/contracts/command-taxonomy.md +0 -137
- package/docs/contracts/condensation-default-kill-criterion.md +0 -116
- package/docs/contracts/config-presets.md +0 -144
- package/docs/contracts/conformance.md +0 -84
- package/docs/contracts/consumer-bridge.md +0 -73
- package/docs/contracts/context-paths.md +0 -101
- package/docs/contracts/context-spine.md +0 -179
- package/docs/contracts/cost-dashboard.md +0 -143
- package/docs/contracts/cost-enforcement.md +0 -134
- package/docs/contracts/cost-profile-defaults.md +0 -110
- package/docs/contracts/cost-summary-schema.md +0 -107
- package/docs/contracts/creative-pack-boundary.md +0 -63
- package/docs/contracts/cross-repo-retrieval.md +0 -64
- package/docs/contracts/cross-wing-handoff.md +0 -134
- package/docs/contracts/daily-workspace.md +0 -147
- package/docs/contracts/decision-engine-gates.md +0 -120
- package/docs/contracts/decision-trace-v1.md +0 -177
- package/docs/contracts/design-artifact-lifecycle.md +0 -93
- package/docs/contracts/design-artifact-verification.md +0 -153
- package/docs/contracts/discovery-manifest.md +0 -209
- package/docs/contracts/discovery-manifest.schema.json +0 -254
- package/docs/contracts/evidence-based-pruning.md +0 -102
- package/docs/contracts/explain-modes.md +0 -187
- package/docs/contracts/explain-trace.schema.json +0 -144
- package/docs/contracts/file-ownership-matrix.json +0 -13941
- package/docs/contracts/file-ownership-matrix.md +0 -135
- package/docs/contracts/frontmatter-contract.md +0 -140
- package/docs/contracts/ghostwriter-schema.md +0 -337
- package/docs/contracts/governance-enforcement-projection.md +0 -159
- package/docs/contracts/gui-wizard.md +0 -350
- package/docs/contracts/harness-expectations.md +0 -128
- package/docs/contracts/hook-architecture-v1.md +0 -325
- package/docs/contracts/host-agent-protocol.md +0 -110
- package/docs/contracts/implement-ticket-flow.md +0 -625
- package/docs/contracts/init-telemetry.md +0 -132
- package/docs/contracts/injected-block-authenticity-model.md +0 -66
- package/docs/contracts/install-layout.md +0 -249
- package/docs/contracts/install-scopes.md +0 -82
- package/docs/contracts/installed-tools-lockfile.md +0 -144
- package/docs/contracts/installer-agent-mode.md +0 -137
- package/docs/contracts/iron-law-overrides.txt +0 -26
- package/docs/contracts/kernel-membership.md +0 -339
- package/docs/contracts/linear-ai-rules-inclusion.md +0 -143
- package/docs/contracts/linear-ai-three-layers.md +0 -130
- package/docs/contracts/linter-structural-model.md +0 -181
- package/docs/contracts/load-context-budget-model.md +0 -259
- package/docs/contracts/load-context-schema.md +0 -220
- package/docs/contracts/local-analytics.md +0 -160
- package/docs/contracts/local-knowledge-ingestion.md +0 -96
- package/docs/contracts/local-server-api.md +0 -134
- package/docs/contracts/low-impact-corpus-format.md +0 -95
- package/docs/contracts/mcp-beta-criteria.md +0 -130
- package/docs/contracts/mcp-cloud-scope.md +0 -355
- package/docs/contracts/mcp-discovery-phase-notice.md +0 -60
- package/docs/contracts/mcp-phase-1-scope.md +0 -272
- package/docs/contracts/mcp-registry-manifest.schema.json +0 -129
- package/docs/contracts/mcp-tool-inventory.md +0 -64
- package/docs/contracts/mcp-tool-stub-envelope.md +0 -78
- package/docs/contracts/measurement-baseline.md +0 -103
- package/docs/contracts/memory-visibility-v1.md +0 -160
- package/docs/contracts/mental-models.md +0 -336
- package/docs/contracts/migrate-command.md +0 -233
- package/docs/contracts/multi-tool-projection-fidelity.md +0 -134
- package/docs/contracts/namespace.md +0 -125
- package/docs/contracts/no-runtime-boundary.md +0 -61
- package/docs/contracts/one-off-script-lifecycle.md +0 -110
- package/docs/contracts/orchestration-dsl-v1.md +0 -153
- package/docs/contracts/package-self-orientation.md +0 -163
- package/docs/contracts/pilot/agent-authority.md +0 -24
- package/docs/contracts/pilot/direct-answers.md +0 -70
- package/docs/contracts/pilot/language-and-tone.md +0 -63
- package/docs/contracts/plain-language-surface.md +0 -117
- package/docs/contracts/prelaunch-diagnostics.md +0 -151
- package/docs/contracts/profile-system.md +0 -167
- package/docs/contracts/reasoning-discipline-protocol.md +0 -83
- package/docs/contracts/release-pr-gating.md +0 -151
- package/docs/contracts/release-sizing.md +0 -107
- package/docs/contracts/release-trunk-sync.md +0 -105
- package/docs/contracts/review-lens-schema.md +0 -64
- package/docs/contracts/roadmap-complexity-standard.md +0 -138
- package/docs/contracts/role-experience.md +0 -125
- package/docs/contracts/router-blending.md +0 -71
- package/docs/contracts/rule-classification.md +0 -171
- package/docs/contracts/rule-interactions.md +0 -132
- package/docs/contracts/rule-interactions.yml +0 -260
- package/docs/contracts/rule-priority-hierarchy.md +0 -88
- package/docs/contracts/rule-router.md +0 -287
- package/docs/contracts/safety-model.md +0 -129
- package/docs/contracts/session-profile-overlay.md +0 -157
- package/docs/contracts/settings-api.md +0 -264
- package/docs/contracts/settings-gui-agent-mode.schema.json +0 -128
- package/docs/contracts/settings-sync-yaml-subset.md +0 -139
- package/docs/contracts/skill-bundled-assets.md +0 -62
- package/docs/contracts/skill-discovery.md +0 -80
- package/docs/contracts/skill-distribution-channels.md +0 -66
- package/docs/contracts/skill-domains.md +0 -144
- package/docs/contracts/skill-dry-run.md +0 -47
- package/docs/contracts/skill-family-map.yml +0 -915
- package/docs/contracts/smoke-contracts.md +0 -144
- package/docs/contracts/subagent-boundary.md +0 -59
- package/docs/contracts/surface-agent-contracts.md +0 -153
- package/docs/contracts/surface-matrix.md +0 -108
- package/docs/contracts/surface-tiers.md +0 -81
- package/docs/contracts/telegraph-telemetry.md +0 -83
- package/docs/contracts/ticket-bundle-format.md +0 -233
- package/docs/contracts/tier-3-contrib-plugin.md +0 -137
- package/docs/contracts/trust-and-safety.md +0 -144
- package/docs/contracts/ui-stack-extension.md +0 -237
- package/docs/contracts/ui-track-flow.md +0 -329
- package/docs/contracts/universal-skills.md +0 -91
- package/docs/contracts/user-type-schema.md +0 -146
- package/docs/contracts/value-dashboard-spec.md +0 -378
- package/docs/contracts/value-report-schema.md +0 -168
- package/docs/contracts/workflow-packs.md +0 -121
- package/docs/contracts/workspace-boundary.md +0 -84
- package/docs/contracts/workspace-documents.md +0 -144
- package/docs/contracts/write-engine.md +0 -182
- package/docs/cookbook.md +0 -152
- package/docs/customization.md +0 -685
- package/docs/decisions/ADR-001-kernel-swap-deferred.md +0 -109
- package/docs/decisions/ADR-002-kernel-bucket-overrides.md +0 -135
- package/docs/decisions/ADR-003-flat-cluster-subs-and-colon-syntax.md +0 -137
- package/docs/decisions/ADR-004-rule-governance-pruning.md +0 -240
- package/docs/decisions/ADR-005-subagent-worktrees.md +0 -120
- package/docs/decisions/ADR-006-skill-tools-python-pilot.md +0 -114
- package/docs/decisions/ADR-007-agent-discovery-scopes.md +0 -371
- package/docs/decisions/ADR-008-installed-tools-manifest.md +0 -160
- package/docs/decisions/ADR-009-event4u-namespace.md +0 -188
- package/docs/decisions/ADR-010-profile-pack-preset-boundary.md +0 -168
- package/docs/decisions/ADR-011-domain-pack-readiness.md +0 -213
- package/docs/decisions/ADR-012-typescript-cli-shell.md +0 -162
- package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +0 -342
- package/docs/decisions/ADR-014-gui-framework-choice.md +0 -136
- package/docs/decisions/ADR-015-discovery-manifest-contract.md +0 -146
- package/docs/decisions/ADR-016-installer-architecture.md +0 -189
- package/docs/decisions/ADR-017-monorepo-physical-layout.md +0 -261
- package/docs/decisions/ADR-018-trust-and-safety-layer.md +0 -159
- package/docs/decisions/ADR-019-router-json-dist-location.md +0 -124
- package/docs/decisions/ADR-020-global-only-consumer-scope.md +0 -213
- package/docs/decisions/ADR-021-deployment-shape.md +0 -153
- package/docs/decisions/ADR-022-daily-workspace-decomposition.md +0 -140
- package/docs/decisions/ADR-023-host-agent-protocol.md +0 -129
- package/docs/decisions/ADR-024-workspace-v0-feature-floor.md +0 -126
- package/docs/decisions/ADR-025-workspace-chrome.md +0 -119
- package/docs/decisions/ADR-026-explain-mode-translation.md +0 -117
- package/docs/decisions/ADR-027-changelog-machine-vs-manual.md +0 -129
- package/docs/decisions/ADR-028-root-layout.md +0 -147
- package/docs/decisions/ADR-029-multi-workspace-deferred.md +0 -122
- package/docs/decisions/ADR-030-claude-code-command-projection.md +0 -147
- package/docs/decisions/ADR-031-validation-severity-tiers-and-projection-roundtrip.md +0 -97
- package/docs/decisions/ADR-032-linked-projects-scope.md +0 -122
- package/docs/decisions/ADR-033-distribution-identity-npm-primary.md +0 -81
- package/docs/decisions/ADR-034-per-skill-model-recommendation-transport.md +0 -63
- package/docs/decisions/ADR-035-model-capability-tiers.md +0 -104
- package/docs/decisions/ADR-036-global-install-browser-wizard-handoff.md +0 -106
- package/docs/decisions/ADR-037-cost-profile-untangle.md +0 -117
- package/docs/decisions/ADR-038-canonical-settings-path.md +0 -96
- package/docs/decisions/ADR-039-claude-skills-untracked.md +0 -139
- package/docs/decisions/ADR-040-execution-model-projection-time-filtering.md +0 -244
- package/docs/decisions/ADR-041-controlled-command-verbs.md +0 -133
- package/docs/decisions/ADR-042-runtime-resolver-decision-gate.md +0 -113
- package/docs/decisions/ADR-043-monorepo-collapse-to-src-domains.md +0 -128
- package/docs/decisions/ADR-044-command-naming-scheme-hyphenated.md +0 -250
- package/docs/decisions/ADR-045-src-source-layout-and-profiles-as-views.md +0 -111
- package/docs/decisions/ADR-046-thin-command-principle.md +0 -93
- package/docs/decisions/ADR-047-framework-neutral-stack-adaptive-commands.md +0 -94
- package/docs/decisions/ADR-048-command-justification-rule.md +0 -106
- package/docs/decisions/ADR-049-configuration-trust-boundary.md +0 -132
- package/docs/decisions/ADR-050-workspace-vs-package-root-boundary.md +0 -121
- package/docs/decisions/ADR-051-uncondensed-source-container-relocation.md +0 -114
- package/docs/decisions/ADR-052-packages-removal-and-pack-home-migration.md +0 -86
- package/docs/decisions/ADR-053-agents-namespace-dual-role-resolution.md +0 -132
- package/docs/decisions/ADR-054-rule-adherence-decay-triggered-restate.md +0 -143
- package/docs/decisions/ADR-055-flow-layer-data-model.md +0 -235
- package/docs/decisions/ADR-056-unvalidated-video-adapters-disposition.md +0 -124
- package/docs/decisions/ADR-057-consolidation-evidence-gate-outcomes.md +0 -135
- package/docs/decisions/ADR-058-condensed-output-relocation-to-dist.md +0 -94
- package/docs/decisions/ADR-059-render-resume-filesystem-as-state.md +0 -161
- package/docs/decisions/ADR-060-comfyui-sandbox-model.md +0 -154
- package/docs/decisions/ADR-061-corpus-grounding-layer.md +0 -230
- package/docs/decisions/ADR-062-encrypt-at-rest-store-architecture.md +0 -121
- package/docs/decisions/ADR-063-append-jsonl-encryption-deferred.md +0 -83
- package/docs/decisions/ADR-064-append-jsonl-per-record-encryption.md +0 -113
- package/docs/decisions/ADR-065-tier3-inbox-handoff-v0.md +0 -86
- package/docs/decisions/ADR-066-skill-body-prerendering.md +0 -93
- package/docs/decisions/ADR-067-glama-registry-listing.md +0 -259
- package/docs/decisions/ADR-068-host-tier-detection.md +0 -90
- package/docs/decisions/ADR-069-prompt-renderer.md +0 -97
- package/docs/decisions/ADR-070-tier1-drive-loop.md +0 -94
- package/docs/decisions/ADR-071-launch-drive-integration.md +0 -95
- package/docs/decisions/ADR-072-codex-gemini-drive-configs.md +0 -90
- package/docs/decisions/ADR-073-drive-health-kill-switch.md +0 -81
- package/docs/decisions/ADR-074-drive-kill-switch-auto-recovery.md +0 -84
- package/docs/decisions/ADR-075-workspace-gui-drive.md +0 -83
- package/docs/decisions/ADR-076-workspace-multi-turn.md +0 -92
- package/docs/decisions/ADR-077-workspace-followup-gui.md +0 -70
- package/docs/decisions/ADR-078-drive-health-panel.md +0 -70
- package/docs/decisions/ADR-079-workspace-host-picker.md +0 -81
- package/docs/decisions/ADR-080-host-session-expired-410.md +0 -92
- package/docs/decisions/ADR-081-drive-health-reset-and-410-affordance.md +0 -71
- package/docs/decisions/ADR-082-410-one-click-relaunch.md +0 -58
- package/docs/decisions/ADR-083-session-thread-and-arbitrary-continuation.md +0 -85
- package/docs/decisions/ADR-084-drive-health-refresh-on-drive.md +0 -52
- package/docs/decisions/ADR-085-mcp-stdio-end-user-distribution-shape.md +0 -158
- package/docs/decisions/ADR-086-read-only-cross-agent-mcp-discovery-helper.md +0 -171
- package/docs/decisions/ADR-087-installer-e2e-test-strategy.md +0 -111
- package/docs/decisions/ADR-088-no-external-runtime-federation.md +0 -144
- package/docs/decisions/ADR-089-lean-local-plugin-install.md +0 -111
- package/docs/decisions/ADR-090-visibility-command-frontmatter-field.md +0 -95
- package/docs/decisions/ADR-091-split-meta-capability-packs.md +0 -113
- package/docs/decisions/ADR-092-defer-command-tier-alias-removal.md +0 -117
- package/docs/decisions/ADR-093-ai-council-config-user-global.md +0 -117
- package/docs/decisions/ADR-094-agent-memory-layer-removal.md +0 -94
- package/docs/decisions/ADR-095-workspace-boundary-contract.md +0 -108
- package/docs/decisions/ADR-096-analysis-workbench.md +0 -110
- package/docs/decisions/ADR-097-mission-recipe-privilege-boundary.md +0 -121
- package/docs/decisions/ADR-098-evidence-first-structure-discovery.md +0 -154
- package/docs/decisions/ADR-099-file-first-pattern-library.md +0 -87
- package/docs/decisions/ADR-100-global-knowledge-card-sharing.md +0 -140
- package/docs/decisions/ADR-101-ticket-bundle-emission.md +0 -109
- package/docs/decisions/ADR-102-ticket-handoff-paste-and-mcp.md +0 -72
- package/docs/decisions/ADR-103-global-knowledge-default-off-until-measured.md +0 -92
- package/docs/decisions/ADR-104-ai-council-config-global-only.md +0 -119
- package/docs/decisions/ADR-105-automatic-subagent-orchestration.md +0 -108
- package/docs/decisions/ADR-106-recursive-verification-benchmark-gate.md +0 -126
- package/docs/decisions/ADR-107-legal-domain-pack-adoption.md +0 -70
- package/docs/decisions/ADR-108-open-source-forever-no-commercial-tier.md +0 -46
- package/docs/decisions/ADR-109-subagent-v1-contract.md +0 -246
- package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +0 -110
- package/docs/decisions/ADR-111-canonical-glama-listing.md +0 -97
- package/docs/decisions/ADR-112-stdio-lite-stays-read-only.md +0 -92
- package/docs/decisions/ADR-113-ci-native-release-label-trigger.md +0 -201
- package/docs/decisions/ADR-114-commit-policy-iron-law-override.md +0 -85
- package/docs/decisions/ADR-115-command-cluster-consolidation-phase-4.md +0 -91
- package/docs/decisions/ADR-116-memory-tripwire-activation-path.md +0 -144
- package/docs/decisions/ADR-117-subagents-auto-default-on.md +0 -89
- package/docs/decisions/ADR-118-loop-engineering-boundaries.md +0 -162
- package/docs/decisions/ADR-119-global-knowledge-default-on.md +0 -104
- package/docs/decisions/ADR-120-council-chairman-mode.md +0 -70
- package/docs/decisions/ADR-121-knowledge-sensitivity-classes.md +0 -90
- package/docs/decisions/ADR-122-adversarial-verification-council.md +0 -166
- package/docs/decisions/ADR-123-runtime-security-scope-and-spawn-hardening.md +0 -142
- package/docs/decisions/ADR-200-python-to-typescript-migration.md +0 -203
- package/docs/decisions/ADR-rule-kernel-and-router.md +0 -133
- package/docs/decisions/INDEX.md +0 -136
- package/docs/deploy/connector-setup.md +0 -129
- package/docs/deploy/env-vars.md +0 -70
- package/docs/deploy/policy-cookbook.md +0 -130
- package/docs/deploy/quickstart.md +0 -112
- package/docs/deploy/small-team-recipe.md +0 -148
- package/docs/deploy/team-deployment-posture.md +0 -111
- package/docs/design/adversarial-council-eval.md +0 -106
- package/docs/design/council-vs-solo-baseline.md +0 -92
- package/docs/design/cross-model-parity-eval.md +0 -82
- package/docs/design/length-neutral-judge-rerun.md +0 -92
- package/docs/design/utilization-window-criteria.md +0 -51
- package/docs/development.md +0 -230
- package/docs/distribution/awesome-list-submission.md +0 -46
- package/docs/distribution/consumer-matrix.md +0 -96
- package/docs/distribution/launch-story-draft.md +0 -58
- package/docs/distribution/mcp-submission-checklist.md +0 -95
- package/docs/distribution/public-install-smoke.md +0 -68
- package/docs/distribution/registries.md +0 -117
- package/docs/distribution/registry-submissions.md +0 -85
- package/docs/distribution/telemetry-privacy.md +0 -128
- package/docs/distribution/telemetry-schema.md +0 -174
- package/docs/distribution/topics-equivalents-decay-policy.md +0 -51
- package/docs/end-to-end-walkthroughs.md +0 -165
- package/docs/enforcement-by-host.md +0 -44
- package/docs/examples/agent-user.example.md +0 -22
- package/docs/experiences/agency.md +0 -49
- package/docs/experiences/content_creator.md +0 -49
- package/docs/experiences/developer.md +0 -49
- package/docs/experiences/finance.md +0 -50
- package/docs/experiences/founder.md +0 -49
- package/docs/experiences/ops.md +0 -49
- package/docs/featured-commands.md +0 -27
- package/docs/featured-skills.md +0 -95
- package/docs/flows.md +0 -67
- package/docs/getting-started-by-role.md +0 -190
- package/docs/getting-started-laravel.md +0 -72
- package/docs/getting-started-local-stdio.md +0 -77
- package/docs/getting-started.md +0 -254
- package/docs/github-topics.md +0 -93
- package/docs/governance-advantage.md +0 -72
- package/docs/governance.md +0 -96
- package/docs/guides/cross-repo-linked-projects.md +0 -93
- package/docs/guides/cross-repo-retrieval.md +0 -61
- package/docs/guides/frontend-design-corpus-refresh.md +0 -83
- package/docs/guides/local-analytics.md +0 -125
- package/docs/guides/local-knowledge.md +0 -127
- package/docs/guides/skill-discovery.md +0 -71
- package/docs/guides/skill-preview.md +0 -71
- package/docs/hook-payload-capture.md +0 -221
- package/docs/install-friction-report.md +0 -66
- package/docs/installation.md +0 -959
- package/docs/maintainers/branch-protection.md +0 -105
- package/docs/maintainers/dev-mode.md +0 -106
- package/docs/maintainers/optional-media-deps.md +0 -50
- package/docs/maintainers/system-map.md +0 -85
- package/docs/mcp-registries.md +0 -94
- package/docs/mcp-server.md +0 -175
- package/docs/mcp.md +0 -147
- package/docs/media/proof-demo.cast +0 -14
- package/docs/media/proof-demo.gif +0 -0
- package/docs/migration/consumer-template-consumption-model.md +0 -145
- package/docs/migration/divergences/README.md +0 -55
- package/docs/migration/divergences/_template.md +0 -50
- package/docs/migration/divergences/bench-stats-float-precision.md +0 -72
- package/docs/migration/divergences/mcp-telemetry-node-sqlite.md +0 -61
- package/docs/migration/divergences/pack-mcp-content-gzip-body.md +0 -53
- package/docs/migration/divergences/src-scripts-build_cloud_bundle.md +0 -63
- package/docs/migration/divergences/src-scripts-check_memory.md +0 -91
- package/docs/migration/divergences/src-scripts-inventory_abstraction_budget.md +0 -65
- package/docs/migration/divergences/src-scripts-lint_marketplace.md +0 -57
- package/docs/migration/divergences/src-scripts-lint_mcp_registry_manifest.md +0 -70
- package/docs/migration/divergences/src-scripts-spotcheck_thin_root.md +0 -60
- package/docs/migration/divergences/src-scripts-validate_agent_settings.md +0 -58
- package/docs/migration/node-floor.md +0 -86
- package/docs/migration/v1-to-v2.md +0 -156
- package/docs/migration/yaml-roundtrip-spike.md +0 -163
- package/docs/migrations/commands-1.15.0.md +0 -117
- package/docs/parity/bench-external.json +0 -58
- package/docs/parity/bench.json +0 -41
- package/docs/parity/command-frontmatter.md +0 -60
- package/docs/parity/external-runtime.md +0 -46
- package/docs/personas.md +0 -178
- package/docs/positioning-evidence.md +0 -86
- package/docs/profiles.md +0 -108
- package/docs/proof.md +0 -176
- package/docs/quality.md +0 -98
- package/docs/readme-split-plan.md +0 -102
- package/docs/recruits/_template.md +0 -81
- package/docs/release-runbook.md +0 -141
- package/docs/role-experiences.md +0 -19
- package/docs/safety.md +0 -30
- package/docs/second-brain-scope.md +0 -116
- package/docs/self-review-gate.md +0 -65
- package/docs/setup/enterprise-and-offline.md +0 -201
- package/docs/setup/mcp-client-config.md +0 -358
- package/docs/setup/mcp-cloud-endpoints.md +0 -116
- package/docs/setup/mcp-cloud-registry-listing.md +0 -99
- package/docs/setup/mcp-cloud-setup.md +0 -183
- package/docs/setup/mcp-r2-bootstrap.md +0 -82
- package/docs/setup/mcp-server-docker.md +0 -101
- package/docs/setup/per-ide/aider.md +0 -48
- package/docs/setup/per-ide/antigravity.md +0 -68
- package/docs/setup/per-ide/augment.md +0 -89
- package/docs/setup/per-ide/claude-code.md +0 -97
- package/docs/setup/per-ide/claude-desktop.md +0 -207
- package/docs/setup/per-ide/cline.md +0 -43
- package/docs/setup/per-ide/codebuddy.md +0 -63
- package/docs/setup/per-ide/codex.md +0 -46
- package/docs/setup/per-ide/continue.md +0 -68
- package/docs/setup/per-ide/copilot.md +0 -80
- package/docs/setup/per-ide/cursor.md +0 -125
- package/docs/setup/per-ide/droid.md +0 -65
- package/docs/setup/per-ide/gemini-cli.md +0 -45
- package/docs/setup/per-ide/jetbrains.md +0 -76
- package/docs/setup/per-ide/kilocode.md +0 -66
- package/docs/setup/per-ide/kiro.md +0 -72
- package/docs/setup/per-ide/opencode.md +0 -62
- package/docs/setup/per-ide/qoder.md +0 -63
- package/docs/setup/per-ide/roocode.md +0 -68
- package/docs/setup/per-ide/trae.md +0 -63
- package/docs/setup/per-ide/warp.md +0 -63
- package/docs/setup/per-ide/windsurf.md +0 -109
- package/docs/setup/per-ide/zed.md +0 -73
- package/docs/showcase.md +0 -209
- package/docs/skill-duplication-findings.md +0 -91
- package/docs/skills-catalog.md +0 -265
- package/docs/skills-taxonomy.md +0 -90
- package/docs/spawn-site-policy.md +0 -72
- package/docs/succession.md +0 -80
- package/docs/threat-model.md +0 -29
- package/docs/troubleshooting.md +0 -155
- package/docs/ui-track-mental-model.md +0 -121
- package/docs/us-vs-the-category.md +0 -38
- package/docs/value.md +0 -86
- package/docs/walkthroughs/assets/workspace-role-grid.png +0 -0
- package/docs/walkthroughs/assets/workspace-session-started.png +0 -0
- package/docs/walkthroughs/assets/workspace-task-picker.png +0 -0
- package/docs/walkthroughs/daily-workspace-a11y.md +0 -87
- package/docs/walkthroughs/daily-workspace.md +0 -127
- package/docs/wedge/production-validator/README.md +0 -81
- package/docs/wedge/production-validator/first-run-check.sh +0 -42
- package/docs/wedge/production-validator/production-validator.md +0 -83
- package/docs/wizard.md +0 -173
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
stability: beta
|
|
3
|
-
keep-beta-until: 2026-08-12
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# ADR — `forecast-construction-shape`: the O2 ↔ H10 interface
|
|
7
|
-
|
|
8
|
-
> **Status:** Decided · 2026-05-13
|
|
9
|
-
> **Builds on:** [`cross-wing-handoff.md`](cross-wing-handoff.md) § 5 W4 chain;
|
|
10
|
-
> [`wing4-handoff.md`](../guidelines/wing4-handoff.md) § Chain 4;
|
|
11
|
-
> [`gtm-handoff.md`](../guidelines/gtm-handoff.md) § Chain 2 (H10 side).
|
|
12
|
-
|
|
13
|
-
## Decision
|
|
14
|
-
|
|
15
|
-
`forecasting` (O2, Wing-4, finance-partner) and `forecast-accuracy`
|
|
16
|
-
(H10, Wing-3, RevOps) compose through a **typed interface**, not a
|
|
17
|
-
shared implementation. O2 owns the cognition of *how a forecast is
|
|
18
|
-
constructed*; H10 owns the cognition of *which deals belong in
|
|
19
|
-
commit*. The interface is the only contract that crosses the wing.
|
|
20
|
-
|
|
21
|
-
Interface payload (the `forecast-band.json` artifact):
|
|
22
|
-
|
|
23
|
-
| Field | Type | Meaning |
|
|
24
|
-
|---|---|---|
|
|
25
|
-
| `construction_shape` | enum `top-down` · `bottom-up` · `hybrid` | Which construction shape the forecast was built from. Top-down anchors against TAM × penetration × motion; bottom-up sums deal-level conviction; hybrid is the explicit two-call reconciliation. |
|
|
26
|
-
| `commit_value` | money | Sum of commit-categorised deals × in-window close-rate, or top-down commit-band lower bound. |
|
|
27
|
-
| `best_case_value` | money | Commit + best-case-tagged, or top-down best-case-band upper bound. |
|
|
28
|
-
| `pipeline_value` | money | Population from which commit / best-case are drawn. Not a forecast category, included for ratio reasoning. |
|
|
29
|
-
| `confidence_band` | `{plus_pct: float, minus_pct: float}` | Historical-deviation-derived band around commit. **MUST** be present; a forecast without a band has no honesty about its prior miss-rate. |
|
|
30
|
-
| `retro_signature` | `{horizon: enum, last_two_actual_vs_predicted: [pct, pct]}` | The accuracy retro this band was calibrated against. Horizon = `quarterly` · `monthly` · `annual`. |
|
|
31
|
-
| `segment_scope` | string list | Customer-segment slots the forecast covers (from spine). Empty list = blended; explicit list = per-segment. |
|
|
32
|
-
| `fiscal_period` | string | Reporting cadence slot from `fiscal-period` spine: `monthly` · `quarterly` · `annual` · `multi-year-plan`. |
|
|
33
|
-
| `construction_inputs` | object | Shape-specific inputs: top-down → `{tam, penetration_band, motion_band}`; bottom-up → `{commit_count, best_case_count, evidence_floor}`; hybrid → both. |
|
|
34
|
-
|
|
35
|
-
## Why this was a real question
|
|
36
|
-
|
|
37
|
-
Three options were on the table:
|
|
38
|
-
|
|
39
|
-
1. **Shared implementation in one wing.** Forecasting lives entirely
|
|
40
|
-
in Wing-3 (RevOps) or Wing-4 (Finance). Rejected: forecasting is
|
|
41
|
-
constructed from finance fundamentals and consumed from deal-level
|
|
42
|
-
evidence — collapsing it into one wing forces the other to
|
|
43
|
-
re-derive cognition.
|
|
44
|
-
2. **Free-form text handoff.** O2 emits prose; H10 reads prose.
|
|
45
|
-
Rejected: prose drifts every quarter, the linter cannot catch
|
|
46
|
-
contract breaks, and the retro loop loses the comparison shape.
|
|
47
|
-
3. **Typed interface, owned by O2.** Accepted: O2 owns the shape so
|
|
48
|
-
that drift is a producer-side fix. H10 consumes against the
|
|
49
|
-
contract and never re-derives forecasting cognition.
|
|
50
|
-
|
|
51
|
-
## Citation-evidence gating
|
|
52
|
-
|
|
53
|
-
This ADR is the gating artefact. O2 cites the ADR in its frontmatter
|
|
54
|
-
and procedure. H10 cites the ADR in its `Related Skills` carve-out
|
|
55
|
-
and validates its `commit-list.md` against the `forecast-band.json`
|
|
56
|
-
shape. `task lint-handoffs` (Phase 3.2) walks the cross-wing graph
|
|
57
|
-
and rejects a contract break.
|
|
58
|
-
|
|
59
|
-
## Parallel-development rule
|
|
60
|
-
|
|
61
|
-
O2 ships an **interface-first stub** (this ADR + a stub procedure
|
|
62
|
-
that emits the typed artifact from a single bottom-up case). The
|
|
63
|
-
stub counts as ≥ 100 % of `O2-interface`. H10 starts after the
|
|
64
|
-
interface lands, parallel to O2 implementation. O2 cannot break the
|
|
65
|
-
contract without an ADR revision and a co-ordinated H10 update.
|
|
66
|
-
|
|
67
|
-
## Counter-evidence the agent should listen for
|
|
68
|
-
|
|
69
|
-
Three signals that this ADR is wrong and needs revisiting:
|
|
70
|
-
|
|
71
|
-
1. **H10 re-derives forecasting cognition.** If `forecast-accuracy`
|
|
72
|
-
starts shipping top-down vs bottom-up reasoning, the interface
|
|
73
|
-
leaked and one of the two skills is mis-scoped. Re-cut the
|
|
74
|
-
boundary.
|
|
75
|
-
2. **A third consumer reads `forecast-band.json`.** A new skill
|
|
76
|
-
composing the interface means the contract is load-bearing for
|
|
77
|
-
the broader spine and should graduate from beta to stable.
|
|
78
|
-
3. **The confidence-band is consistently absent.** Forecasts that
|
|
79
|
-
ship without a band are using the interface as a shape but
|
|
80
|
-
skipping the calibration; the field should become required-on-
|
|
81
|
-
parse, not required-on-cognition.
|
|
82
|
-
|
|
83
|
-
## See also
|
|
84
|
-
|
|
85
|
-
- [`wing4-handoff.md`](../guidelines/wing4-handoff.md) § Chain 4 —
|
|
86
|
-
finance → GTM prose around this contract.
|
|
87
|
-
- [`gtm-handoff.md`](../guidelines/gtm-handoff.md) § Chain 2 — H10
|
|
88
|
-
side prose; identical contract, opposite consumer.
|
|
89
|
-
- [`cross-wing-handoff.md`](cross-wing-handoff.md) § 5 — wing-scoped
|
|
90
|
-
contract policy this ADR follows.
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
stability: beta
|
|
3
|
-
keep-beta-until: 2026-08-12
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# ADR — GTM context-spine: Wing-3 slot extension
|
|
7
|
-
|
|
8
|
-
> **Status:** Decided · 2026-05-13
|
|
9
|
-
> **Roadmap origin:** `agents/roadmaps/` (Block G — G1, archived after merge)
|
|
10
|
-
> **Builds on:** [`context-spine.md`](context-spine.md) — tri-slot
|
|
11
|
-
> contract (`product`, `team`, `repo`) locked at 3 by council Q1
|
|
12
|
-
> (2026-05-05 KEEP-3, unified-senior-roles iter 1).
|
|
13
|
-
> **Defers to:** [`cross-wing-handoff.md`](cross-wing-handoff.md) — typed
|
|
14
|
-
> handoff contract; orthogonal to slot membership.
|
|
15
|
-
|
|
16
|
-
## Decision
|
|
17
|
-
|
|
18
|
-
The context-spine adds **three Wing-3-specific slots** under
|
|
19
|
-
`agents/context-spine/`: `channel-stage`, `funnel-stage`,
|
|
20
|
-
`customer-segment`. The schema enum in
|
|
21
|
-
[`scripts/schemas/skill.schema.json`](../../src/scripts/schemas/skill.schema.json)
|
|
22
|
-
extends from `{product, team, repo}` to
|
|
23
|
-
`{product, team, repo, channel-stage, funnel-stage, customer-segment}`.
|
|
24
|
-
|
|
25
|
-
The KEEP-3 lock from council Q1 applies to **cross-wing slots** —
|
|
26
|
-
slabs every senior wing might read. The Wing-3 slots are
|
|
27
|
-
**wing-scoped**: they exist for the GTM cluster (Block H, 16 skills)
|
|
28
|
-
and the GTM personas (Block I, 7 personas). Engineering, Foundation,
|
|
29
|
-
and Money / Strategy / Ops wings do not opt into them.
|
|
30
|
-
|
|
31
|
-
| Slot | Path | Typical content |
|
|
32
|
-
|---|---|---|
|
|
33
|
-
| `channel-stage` | `agents/context-spine/channel-stage.md` | Which channels the GTM motion uses (awareness · consideration · decision · retention · expansion), per-channel maturity, channel-cost band. Read by H1 (`positioning-strategy`), H2 (`messaging-architecture`), H3 (`gtm-launch`), H6 (`editorial-calendar`). |
|
|
34
|
-
| `funnel-stage` | `agents/context-spine/funnel-stage.md` | Funnel topology (top / mid / bottom / activation / retention), per-stage definition, exit-criteria for each. Read by H8 (`pipeline-strategy`), R1 (`funnel-analysis`), R2 (`activation-design`), R3 (`onboarding-design`). |
|
|
35
|
-
| `customer-segment` | `agents/context-spine/customer-segment.md` | ICP, persona-by-segment, ARR-band-by-segment. Read by H7 (`ICP`), H8 (`pipeline-strategy`), H9 (`MEDDIC`), R4 (`retention-loops`). |
|
|
36
|
-
|
|
37
|
-
## Why this was a real question
|
|
38
|
-
|
|
39
|
-
Three options were on the table:
|
|
40
|
-
|
|
41
|
-
1. **Force-fit into existing slots.** Stuff GTM context into the
|
|
42
|
-
`product` slab. Rejected: `product` is owned by the discovery wing
|
|
43
|
-
and a Wing-3 reader gets fuzzy semantics (channel maturity is not
|
|
44
|
-
product scope), Council Q1 explicitly fences `product` against
|
|
45
|
-
sprawl.
|
|
46
|
-
2. **Wing-3-only frontmatter key.** Add `gtm_spine: [...]` as a
|
|
47
|
-
parallel field. Rejected: duplicates the read-discipline
|
|
48
|
-
mechanism, the lint gate, and the skill-author cognitive load.
|
|
49
|
-
Two spines is the slot-sprawl failure mode at a different layer.
|
|
50
|
-
3. **Extend the spine, scope the slots.** Accepted: same mechanism,
|
|
51
|
-
same lint gate, same opt-in discipline; slot names carry the wing
|
|
52
|
-
scope (`channel-stage`, `funnel-stage`, `customer-segment` are
|
|
53
|
-
visibly GTM-shaped).
|
|
54
|
-
|
|
55
|
-
## Citation-evidence gating — prospective
|
|
56
|
-
|
|
57
|
-
The existing § 5 policy requires ≥ 2 shipped skills citing the new
|
|
58
|
-
slot **before** the slot is added. For Wing-3 the citation chain is
|
|
59
|
-
**prospective**: the roadmap (G1 → H → I) ships citing skills in the
|
|
60
|
-
same iteration, ordered so G1 lands first to unblock H authoring.
|
|
61
|
-
|
|
62
|
-
The ADR is the gating artefact (not the citations). The Block-H
|
|
63
|
-
authoring procedure MUST cite ≥ 1 of the three new slots per skill
|
|
64
|
-
or carry a one-line ADR-opt-out comment in the skill body. The G2
|
|
65
|
-
linter (council Q7 boundary tests) enforces channel-agnosticism,
|
|
66
|
-
which is orthogonal — a skill can cite `channel-stage` for context
|
|
67
|
-
without prescribing channel-specific tactics.
|
|
68
|
-
|
|
69
|
-
This relaxation is **wing-bounded**: future wings adding their own
|
|
70
|
-
slots must either accumulate ≥ 2 citations from already-shipped
|
|
71
|
-
skills, **or** write a per-wing ADR that names the citing-skill
|
|
72
|
-
chain in the same iteration (the pattern this ADR establishes).
|
|
73
|
-
|
|
74
|
-
## Migration plan for the existing senior catalog
|
|
75
|
-
|
|
76
|
-
- **No retrofitting required.** Existing senior skills
|
|
77
|
-
(`customer-research`, `funnel-analysis`, `po-discovery`,
|
|
78
|
-
`refine-ticket`, `rice-prioritization`, etc.) keep their current
|
|
79
|
-
`context_spine` declarations. They MAY add a Wing-3 slot if their
|
|
80
|
-
cognition genuinely reads it; they MUST NOT be retrofitted
|
|
81
|
-
mechanically.
|
|
82
|
-
- **Opt-out for off-wing skills.** Engineering / Foundation / Ops
|
|
83
|
-
senior skills do not need to mention the Wing-3 slots in any way.
|
|
84
|
-
The schema accepts subsets — declaring only `[product, team]`
|
|
85
|
-
remains valid.
|
|
86
|
-
- **Slot-file authoring is consumer-side.** The package ships the
|
|
87
|
-
contract; consumer projects fill `agents/context-spine/channel-stage.md`
|
|
88
|
-
etc. when adopting Wing-3 skills. Missing slot file is graceful
|
|
89
|
-
per § 4 of the contract.
|
|
90
|
-
|
|
91
|
-
## Counter-evidence the agent should listen for
|
|
92
|
-
|
|
93
|
-
Three signals that this decision is wrong and the ADR needs revisiting:
|
|
94
|
-
|
|
95
|
-
1. **Off-wing skills start declaring Wing-3 slots.** If an
|
|
96
|
-
Engineering skill cites `channel-stage`, the slot is misnamed or
|
|
97
|
-
the wing boundary is leaking. Re-scope the slot or rename it.
|
|
98
|
-
2. **Wing-3 skills consistently ignore the slot they declared.** If
|
|
99
|
-
Block H skills declare `funnel-stage` but never quote it in their
|
|
100
|
-
procedure, the slot is decorative and should be deleted.
|
|
101
|
-
3. **A fourth Wing-3 slot is proposed within the same iteration.**
|
|
102
|
-
That is slot-sprawl on the same wing — Block G2 boundary tests
|
|
103
|
-
should reject the addition until a follow-up ADR documents why
|
|
104
|
-
three slots are insufficient.
|
|
105
|
-
|
|
106
|
-
## See also
|
|
107
|
-
|
|
108
|
-
- [`context-spine.md`](context-spine.md) § 2 (slot table — extended),
|
|
109
|
-
§ 5 (slot-add policy — wing-bounded extension clause).
|
|
110
|
-
- [`scripts/schemas/skill.schema.json`](../../src/scripts/schemas/skill.schema.json)
|
|
111
|
-
— `context_spine.items.enum` extended in this ADR.
|
|
112
|
-
- `agents/roadmaps/` § Block G — the authorising roadmap (archived
|
|
113
|
-
after merge; this ADR is the durable record).
|
|
114
|
-
- [`.agent-src.uncondensed/rules/skill-quality.md`](../../.agent-src.uncondensed/rules/skill-quality.md)
|
|
115
|
-
§ Senior-Tier Required Structure — the four blocks every senior
|
|
116
|
-
skill ships independently of spine opt-in.
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
stability: stable
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# ADR — `/implement-ticket` runtime: Python
|
|
6
|
-
|
|
7
|
-
> **Status:** Decided · Phase 0 spike closed · 2026-04-22
|
|
8
|
-
> **Context:** [`implement-ticket-flow.md`](implement-ticket-flow.md)
|
|
9
|
-
> **Supersedes:** the `Runtime: TBD` placeholder in `implement-ticket-flow.md`.
|
|
10
|
-
|
|
11
|
-
## Decision
|
|
12
|
-
|
|
13
|
-
The `/implement-ticket` orchestrator ships on **Python 3.10+** (stdlib + `pyyaml`).
|
|
14
|
-
|
|
15
|
-
Bash is rejected as the runtime. It stays only where it already lives —
|
|
16
|
-
the install driver, condensation helper, and test runner — not the
|
|
17
|
-
delivery flow.
|
|
18
|
-
|
|
19
|
-
## Why this was a real question
|
|
20
|
-
|
|
21
|
-
The repo already ships a Bash install + condensation toolchain. A
|
|
22
|
-
shell-native dispatcher would have reused the existing muscle memory and
|
|
23
|
-
avoided adding Python as a delivery-runtime dependency. The spike
|
|
24
|
-
existed to verify whether Bash could still carry the 8-step linear flow
|
|
25
|
-
once real orchestration needs showed up (structured state, blocked/partial
|
|
26
|
-
outcomes, metrics, tests). Result: not well.
|
|
27
|
-
|
|
28
|
-
## Spike scope
|
|
29
|
-
|
|
30
|
-
Both prototypes implement the same shape from
|
|
31
|
-
`implement-ticket-flow.md`:
|
|
32
|
-
|
|
33
|
-
- 8 linear steps (refine → memory → analyze → plan → implement → test →
|
|
34
|
-
verify → report)
|
|
35
|
-
- `DeliveryState` as the only thing shared between steps
|
|
36
|
-
- Three terminal outcomes: `success`, `blocked`, `partial`
|
|
37
|
-
- Metrics JSON line per run (Q38 decision)
|
|
38
|
-
- Identical fixtures: one clean ticket, one ambiguous ticket that must
|
|
39
|
-
block at `refine` with three numbered questions
|
|
40
|
-
|
|
41
|
-
Sources: Phase-0 spike (`spike/implement-ticket/{bash,python}/`) — deleted after Phase 1 shipped; the evidence inlined below is the only surviving record.
|
|
42
|
-
|
|
43
|
-
## Evidence (measured, not asserted)
|
|
44
|
-
|
|
45
|
-
### Wall-clock mean (20 runs, 3 warmup, macOS ARM)
|
|
46
|
-
|
|
47
|
-
| Scenario | Bash | Python | Winner |
|
|
48
|
-
|---|---|---|---|
|
|
49
|
-
| Clean, all 8 steps | 104 ms | 36 ms | **Python 2.9×** |
|
|
50
|
-
| Blocked at step 1 | 60 ms | 35 ms | **Python 1.7×** |
|
|
51
|
-
|
|
52
|
-
Harness was `spike/implement-ticket/bench.sh` (20 runs, 3 warmup, macOS ARM);
|
|
53
|
-
raw numbers preserved in this ADR after the spike directory was deleted.
|
|
54
|
-
|
|
55
|
-
Bash cost is dominated by per-step fork/exec (`yq`, `jq`, `perl`, step
|
|
56
|
-
script). Every step added extends the Bash gap. Python keeps the whole
|
|
57
|
-
dispatch in-process; step count is effectively free.
|
|
58
|
-
|
|
59
|
-
### Test-writability
|
|
60
|
-
|
|
61
|
-
| | pytest (Python) | shell asserts (Bash) |
|
|
62
|
-
|---|---|---|
|
|
63
|
-
| Lines to cover 3 scenarios | 59 | 72 |
|
|
64
|
-
| Assert target | typed `state.outcomes`, `state.questions` | stdout string-contains |
|
|
65
|
-
| Suite runtime | 0.01 s | ~2.5 s (15 subprocess launches) |
|
|
66
|
-
| Test isolation | in-process `dispatch(state)` | fork per assertion |
|
|
67
|
-
| IDE affordances | autocomplete, types, stack traces | grep only |
|
|
68
|
-
|
|
69
|
-
### Error-propagation ergonomics
|
|
70
|
-
|
|
71
|
-
- **Python:** outcomes flow through typed `StepResult`/`Outcome`
|
|
72
|
-
enums. One `dispatch()` return tuple covers success/blocked/partial.
|
|
73
|
-
Zero string parsing.
|
|
74
|
-
- **Bash:** outcomes are encoded in exit codes (0/10/20), propagated
|
|
75
|
-
through `set +e` dances per step, mirrored into a JSON file with
|
|
76
|
-
`jq --arg` round-trips. Every step handler re-reads/rewrites the
|
|
77
|
-
state file. Brittle.
|
|
78
|
-
|
|
79
|
-
### Source size
|
|
80
|
-
|
|
81
|
-
Roughly equal (Bash 203 / Python 207 lines), but the Bash total is spread
|
|
82
|
-
across 9 files with per-file shebang + `set -euo pipefail` boilerplate;
|
|
83
|
-
Python is 3 files with shared types.
|
|
84
|
-
|
|
85
|
-
## Tradeoffs we accept
|
|
86
|
-
|
|
87
|
-
- **New hard dependency on Python 3.10+ and `pyyaml`.** Mitigated: Python 3
|
|
88
|
-
is already a build/test dependency of this repo (linters, condensation,
|
|
89
|
-
`update_counts.py`). `pyyaml` is already pinned in `pyproject.toml` /
|
|
90
|
-
`requirements-*.txt`. Zero new install surface for contributors.
|
|
91
|
-
- **We lose the "just-shell" story.** The install script stays Bash. The
|
|
92
|
-
delivery runtime being Python is a deliberate split: install is
|
|
93
|
-
side-effecting system work, delivery is structured data transformation.
|
|
94
|
-
- **Python per-invocation boot is ~35 ms.** Accepted — it's flat, not
|
|
95
|
-
proportional to step count, and well below the user-perception floor.
|
|
96
|
-
|
|
97
|
-
## Non-goals of this decision
|
|
98
|
-
|
|
99
|
-
- Does not bless Python for every future spike — each flow decides
|
|
100
|
-
on its own evidence.
|
|
101
|
-
- Does not commit to a specific framework (click, typer, bare argparse);
|
|
102
|
-
that is chosen during Phase 1 and kept minimal.
|
|
103
|
-
- Does not move the condensation/install scripts off Bash.
|
|
104
|
-
|
|
105
|
-
## Consequences — unblocks
|
|
106
|
-
|
|
107
|
-
- Phase 1 of `road-to-implement-ticket.md` can start: wire real step
|
|
108
|
-
handlers onto the dispatcher shape spiked here.
|
|
109
|
-
- `implement-ticket-flow.md` will have its `Runtime: TBD` line replaced
|
|
110
|
-
with `Runtime: Python 3.10+` when Phase 1 lands.
|
|
111
|
-
- Metrics contract (Q38, JSON lines under `agents/runtime/logs/implement-ticket/`)
|
|
112
|
-
is already demonstrated by both prototypes.
|
|
113
|
-
|
|
114
|
-
## Follow-ups (not part of this ADR)
|
|
115
|
-
|
|
116
|
-
- If later optimisation is needed, port the numbers above into a
|
|
117
|
-
`task bench-implement-ticket` target against the real handlers — the
|
|
118
|
-
original `bench.sh` lives only in this repo's git history now (see
|
|
119
|
-
commit `79f30e7`).
|
|
120
|
-
- Decide CLI framework during Phase 1 (defer — argparse is enough for
|
|
121
|
-
the orchestrator skeleton).
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
stability: beta
|
|
3
|
-
keep-beta-until: 2026-08-13
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# ADR — Install-time user-type axis
|
|
7
|
-
|
|
8
|
-
> **Status:** Decided · 2026-05-15
|
|
9
|
-
> **Source:** AI Council session 2026-05-15-step12-closure-run2 (Reviewer-A, Reviewer-B, Reviewer-C) D1 verdict — ACCEPT with amendments: seed all 7 user-types, cap roadmap at ≤5 phases, cap deliverables per phase.
|
|
10
|
-
> **Sibling axis (distinct layer):** the runtime `personas/` ladder. The
|
|
11
|
-
> install-time `user_type` axis filters *which skills load*; personas filter
|
|
12
|
-
> *which voice reviews*. The two compose orthogonally.
|
|
13
|
-
|
|
14
|
-
## Decision
|
|
15
|
-
|
|
16
|
-
Install-time skill filtering uses a dedicated axis seeded under
|
|
17
|
-
`user-types/` (package root, not `.agent-src.uncondensed/`). The
|
|
18
|
-
selection lands in the consumer's `.agent-settings.yml` under
|
|
19
|
-
`personal.user_type: <id>` via `agent-config install --user-type=<id>`.
|
|
20
|
-
Runtime skill discovery intersects each skill's
|
|
21
|
-
`recommended_for_user_types` frontmatter against
|
|
22
|
-
`personal.user_type`; unset → "show all skills" (legacy behavior).
|
|
23
|
-
|
|
24
|
-
The `user-types/` directory holds **seven** YAML configs — `consultant`,
|
|
25
|
-
`creator`, `developer`, `finance`, `founder`, `gtm`, `ops` — matching
|
|
26
|
-
every value already in active use across 32 skills' frontmatter. Adding
|
|
27
|
-
an eighth value requires a new YAML plus a frontmatter audit (Phase 4).
|
|
28
|
-
Schema: [`scripts/schemas/user-type-axis.schema.json`](../../src/scripts/schemas/user-type-axis.schema.json).
|
|
29
|
-
|
|
30
|
-
## Why this is distinct from the review-lens axis
|
|
31
|
-
|
|
32
|
-
Same vocabulary, different layer:
|
|
33
|
-
|
|
34
|
-
| Axis | Layer | Owner roadmap | Where it bites |
|
|
35
|
-
|---|---|---|---|
|
|
36
|
-
| **Install filter** (this ADR) | onboarding / `.agent-settings.yml` | `step-9-user-types-axis.md` | Which skills surface first at discovery |
|
|
37
|
-
| **Review lens** | runtime / `refine-ticket` | `step-6-user-types-axis.md` | Whose viewpoint a review adopts |
|
|
38
|
-
|
|
39
|
-
The two never collide because they live in different files and
|
|
40
|
-
different config keys. Install filter narrows *which skills load by
|
|
41
|
-
default*; review lens narrows *whose voice a refine-ticket review
|
|
42
|
-
adopts*. Authors can use both, neither, or one — independently.
|
|
43
|
-
|
|
44
|
-
The naming overlap is preserved deliberately. Consumers think in terms
|
|
45
|
-
of "I am a consultant" once; both axes consume that fact in their own
|
|
46
|
-
layer. Renaming one would force consumers to learn a second vocabulary
|
|
47
|
-
for the same self-identification.
|
|
48
|
-
|
|
49
|
-
## Why install-time and not runtime-only
|
|
50
|
-
|
|
51
|
-
Three options were considered:
|
|
52
|
-
|
|
53
|
-
1. **Runtime-only filter** — read `personal.user_type` on every
|
|
54
|
-
session start, no install-time wiring. Rejected: needs the value
|
|
55
|
-
to exist before any skill loads; bootstrapping into an empty
|
|
56
|
-
`.agent-settings.yml` is fragile and undocumented.
|
|
57
|
-
2. **Install-time flag, no runtime filter** — `--user-type` writes the
|
|
58
|
-
key, but skill discovery ignores it. Rejected: the value is dead
|
|
59
|
-
metadata without the discovery hook (Phase 3). Already the state of
|
|
60
|
-
the codebase before this roadmap; the whole point of step-9 is to
|
|
61
|
-
wire it.
|
|
62
|
-
3. **Install-time flag + runtime filter** *(chosen)* — `--user-type`
|
|
63
|
-
writes the key; the discovery hook intersects frontmatter against
|
|
64
|
-
it. Legacy "no flag" path is preserved by treating an unset value
|
|
65
|
-
as "match all". Additive, opt-in, no breaking change.
|
|
66
|
-
|
|
67
|
-
## Consequences
|
|
68
|
-
|
|
69
|
-
- `scripts/install.sh`, `scripts/install.py`, `scripts/install` each
|
|
70
|
-
accept `--user-type=<id>`. Validation against `user-types/*.yml`
|
|
71
|
-
stems happens in one place (`install.py`) and the bash entry-point
|
|
72
|
-
delegates. Invalid values fail fast with a non-zero exit.
|
|
73
|
-
- `src/config/agent-settings.template.yml` keeps a commented
|
|
74
|
-
`personal.user_type:` stub documenting the seven valid values.
|
|
75
|
-
- The existing `--interactive` flag (legacy `.agent-config.local.json`
|
|
76
|
-
stub) is preserved for backward compat; the new flag is the
|
|
77
|
-
first-class path going forward. A future ADR can deprecate the JSON
|
|
78
|
-
stub once consumers migrate.
|
|
79
|
-
- Frontmatter audit (Phase 4) catches drift: every value used in
|
|
80
|
-
`recommended_for_user_types` MUST have a corresponding YAML, and
|
|
81
|
-
every YAML SHOULD be consumed by at least one skill. The audit ships
|
|
82
|
-
as a CI gate (`task lint-user-type-axis` →
|
|
83
|
-
[`scripts/audit_user_type_axis.py`](../../src/scripts/audit_user_type_axis.py)).
|
|
84
|
-
Initial sweep at Phase 4 close: 7 declared / 7 used / 0 orphans / 0
|
|
85
|
-
unused — coverage is clean, no rename or backfill needed. Report:
|
|
86
|
-
[`agents/runtime/reports/user-type-axis-audit.md`](../../agents/runtime/reports/user-type-axis-audit.md).
|
|
87
|
-
- Adding an 8th value is non-trivial by design — it requires a YAML, a
|
|
88
|
-
schema-compatible frontmatter rollout, and a roadmap entry. The
|
|
89
|
-
friction is the feature: a sprawling axis defeats the purpose of
|
|
90
|
-
filtering.
|
|
91
|
-
|
|
92
|
-
## Open questions deferred
|
|
93
|
-
|
|
94
|
-
- Skill-loader hook location is left to Phase 3 — likely
|
|
95
|
-
`scripts/skill_linter.py`'s discovery pass plus a runtime helper for
|
|
96
|
-
agent hosts that read the axis directly.
|
|
97
|
-
- Whether to surface a "show outside `<id>` filter" affordance in
|
|
98
|
-
agent hosts is left to host-side UX, not enforced by this ADR.
|
|
99
|
-
- The `default_skill_priority` field is informational in v1 (no
|
|
100
|
-
loader consumes it yet). Phase 3 may promote it to a sort key.
|
|
101
|
-
|
|
102
|
-
## See also
|
|
103
|
-
|
|
104
|
-
- [`user-types/README.md`](../../user-types/README.md) — schema + seed table
|
|
105
|
-
- [`docs/contracts/universal-skills.md`](universal-skills.md) — always-loaded floor
|
|
106
|
-
- [`docs/contracts/rule-router.md`](rule-router.md) — kernel + router
|
|
107
|
-
architecture (sibling but orthogonal axis)
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
stability: stable
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# ADR Layout — Per-area Directories
|
|
6
|
-
|
|
7
|
-
> Status: accepted · 2026-05-16 · Roadmap: an internal parity roadmap (local-only) Phase 4
|
|
8
|
-
|
|
9
|
-
## Scope
|
|
10
|
-
|
|
11
|
-
Two ADR surfaces coexist in this repo. **Both are canonical** — neither supersedes the other.
|
|
12
|
-
|
|
13
|
-
| Surface | Path | Use for |
|
|
14
|
-
|---|---|---|
|
|
15
|
-
| **Flat (legacy)** | `docs/decisions/ADR-NNN-<slug>.md` | Cross-cutting governance decisions: kernel composition, rule taxonomy, package-wide architecture. Numbering is global, sequential, gap-free. |
|
|
16
|
-
| **Per-area** | `docs/adrs/<area>/NNNN-<slug>.md` | Sub-area decisions whose blast radius is one plugin / one subsystem. Numbering is per-area, starts at `0001`, padded to 4 digits. |
|
|
17
|
-
|
|
18
|
-
Choice rule — does the decision constrain code **inside one area folder** (one runtime module, one contract group, one CLI surface)? → per-area. Does it constrain **the package's contract with consumers**? → flat. In doubt → per-area (cheaper to surface, easier to relocate).
|
|
19
|
-
|
|
20
|
-
## Per-area layout
|
|
21
|
-
|
|
22
|
-
```
|
|
23
|
-
docs/adrs/
|
|
24
|
-
<area>/
|
|
25
|
-
README.md # one-paragraph area scope + table of all ADRs in this area
|
|
26
|
-
0001-<slug>.md # first ADR, retrospective or prospective
|
|
27
|
-
0002-<slug>.md
|
|
28
|
-
...
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
`<area>` is a kebab-case stem matching one of:
|
|
32
|
-
|
|
33
|
-
- An entry in the canonical area inventory (see [`scripts/audit_adr_coverage.py`](../../src/scripts/audit_adr_coverage.py) `AREAS`).
|
|
34
|
-
- A new area added to that inventory in the same PR.
|
|
35
|
-
|
|
36
|
-
Reserved areas (bootstrap pass — step-11 Phase 4 Step 3):
|
|
37
|
-
|
|
38
|
-
| Area | Scope | Owner contract |
|
|
39
|
-
|---|---|---|
|
|
40
|
-
| `cost` | Budget ladder, hard-stop hook, cost reporting | [`cost-enforcement.md`](cost-enforcement.md) |
|
|
41
|
-
| `telegraph` | Telegraph-speak condensation, decondensation, reversibility | [`condensation-default-kill-criterion.md`](condensation-default-kill-criterion.md) |
|
|
42
|
-
| `schema` | Frontmatter schemas, v2 rigor, lint behaviour | [`schema-versioning.md`](schema-versioning.md) (when published) |
|
|
43
|
-
| `router` | `router.json` shape, tier semantics, dispatch precedence | [`rule-router.md`](rule-router.md) |
|
|
44
|
-
| `smoke` | Per-tier smoke contracts, baseline locks | [`smoke-contracts.md`](smoke-contracts.md) |
|
|
45
|
-
|
|
46
|
-
## Frontmatter
|
|
47
|
-
|
|
48
|
-
Identical across both surfaces:
|
|
49
|
-
|
|
50
|
-
```yaml
|
|
51
|
-
---
|
|
52
|
-
adr: NNN # zero-padded; per-area uses 4-digit (0001), flat uses 3-digit (010)
|
|
53
|
-
area: <area> | flat # 'flat' for docs/decisions/, otherwise the area slug
|
|
54
|
-
status: proposed | accepted | superseded | deprecated
|
|
55
|
-
date: YYYY-MM-DD
|
|
56
|
-
decision: <slug>
|
|
57
|
-
supersedes: — | ADR-<area>-NNNN | ADR-MMM
|
|
58
|
-
superseded_by: — | ADR-<area>-NNNN | ADR-MMM
|
|
59
|
-
phase: <roadmap-stem> · <phase-id> # optional but recommended
|
|
60
|
-
type: retrospective | prospective
|
|
61
|
-
---
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
Supersession links cross surfaces: a per-area ADR may supersede a flat ADR and vice versa. The numeric prefix in `supersedes:` makes the target unambiguous (`ADR-007` = flat, `ADR-cost-0001` = per-area).
|
|
65
|
-
|
|
66
|
-
## Per-area README contract
|
|
67
|
-
|
|
68
|
-
Every `<area>/` directory carries a `README.md` with:
|
|
69
|
-
|
|
70
|
-
1. One-paragraph area scope (≤ 4 sentences).
|
|
71
|
-
2. Single contract pointer — the `docs/contracts/<X>.md` this area implements (or "no published contract" if pre-Phase 5).
|
|
72
|
-
3. Numbered table of ADRs in the area: `| # | Title | Status | Date | Supersedes |`. Generated by `scripts/audit_adr_coverage.py --regen-area-readme <area>`.
|
|
73
|
-
|
|
74
|
-
## Coverage gate
|
|
75
|
-
|
|
76
|
-
`scripts/audit_adr_coverage.py --check` (wired to `task lint-adr-coverage`):
|
|
77
|
-
|
|
78
|
-
- Warns when a `docs/contracts/<X>.md` exists without a matching `docs/adrs/<X>/0001-*.md`.
|
|
79
|
-
- Hard-fails on number gaps within an area (e.g. `0001`, `0003` without `0002`).
|
|
80
|
-
- Hard-fails on missing `README.md` in any non-empty area directory.
|
|
81
|
-
- Warns on dangling `supersedes:` or `superseded_by:` references.
|
|
82
|
-
|
|
83
|
-
Default mode is **warn** at the consumer surface; **fail** under `task ci`. Rationale: a new contract dropped without an ADR is a documentation gap, not a bug. CI enforces it for this package; consumer projects opt in by adding the task to their own pipeline.
|
|
84
|
-
|
|
85
|
-
## Numbering & gaps
|
|
86
|
-
|
|
87
|
-
- Per-area: 4-digit, gap-free, starts at `0001`. Re-use of numbers is a hard failure in the index regenerator.
|
|
88
|
-
- Flat: 3-digit, gap-free, starts at `001`. Existing ADRs in `docs/decisions/` set the precedent.
|
|
89
|
-
- A deleted ADR is **never** removed from history — supersede it. The lint surfaces broken supersession chains.
|
|
90
|
-
|
|
91
|
-
## Relationship to `adr-create` skill
|
|
92
|
-
|
|
93
|
-
[`adr-create`](../../.agent-src.uncondensed/skills/adr-create/SKILL.md) accepts an optional `<area>` argument (added in step-11 Phase 4 Step 4):
|
|
94
|
-
|
|
95
|
-
- No `<area>` → flat surface, `docs/decisions/`.
|
|
96
|
-
- `<area>` matches inventory → per-area surface, `docs/adrs/<area>/`.
|
|
97
|
-
- `<area>` does **not** match inventory → skill refuses with a hint to update the inventory first.
|
|
98
|
-
|
|
99
|
-
The skill's template, numbering logic, and validation hooks are identical for both surfaces; only the target directory and number padding differ.
|
|
100
|
-
|
|
101
|
-
## References
|
|
102
|
-
|
|
103
|
-
- [`docs/adrs/cost/0001-hard-stop-hook.md`](../adrs/cost/0001-hard-stop-hook.md) — first per-area ADR (bootstrap).
|
|
104
|
-
- [`docs/decisions/INDEX.md`](../decisions/INDEX.md) — flat surface index.
|
|
105
|
-
- [`scripts/audit_adr_coverage.py`](../../src/scripts/audit_adr_coverage.py) — coverage gate.
|
|
106
|
-
- [`scripts/adr/regenerate_index.py`](../../src/scripts/adr/regenerate_index.py) — index regenerator (works on both surfaces; pass `--dir`).
|
|
107
|
-
- an internal parity roadmap (local-only) Phase 4 — origin.
|