@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,124 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
adr: 019
|
|
3
|
-
status: accepted
|
|
4
|
-
date: 2026-05-23
|
|
5
|
-
decision: router-json-dist-location
|
|
6
|
-
supersedes: —
|
|
7
|
-
superseded_by: —
|
|
8
|
-
phase: v2.x · post-monorepo cleanup
|
|
9
|
-
type: retrospective
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# ADR-019 — `router.json` relocated to `dist/router.json`
|
|
13
|
-
|
|
14
|
-
## Status
|
|
15
|
-
|
|
16
|
-
**Accepted** · 2026-05-23. Moves the compiled router-kernel artefact
|
|
17
|
-
from the repo root to `dist/router.json`, aligning it with the
|
|
18
|
-
existing `dist/discovery/` build-artefact slot established by
|
|
19
|
-
ADR-015.
|
|
20
|
-
|
|
21
|
-
Companion artefacts:
|
|
22
|
-
- Contract: [`docs/contracts/rule-router.md`](../contracts/rule-router.md)
|
|
23
|
-
- Compiler: [`scripts/compile_router.py`](../../src/scripts/compile_router.py)
|
|
24
|
-
- ADR-rule-kernel-and-router: [`ADR-rule-kernel-and-router.md`](ADR-rule-kernel-and-router.md)
|
|
25
|
-
- Tier ADR: [`docs/adrs/router/0001-three-tier-routing.md`](../adrs/router/0001-three-tier-routing.md)
|
|
26
|
-
|
|
27
|
-
## Context
|
|
28
|
-
|
|
29
|
-
`router.json` was emitted at the repo root by the original
|
|
30
|
-
kernel-and-router shipping (ADR-rule-kernel-and-router, P3.2). The
|
|
31
|
-
root location pre-dated the `dist/` convention; once
|
|
32
|
-
ADR-015 codified `dist/discovery/` as the build-artefact slot and
|
|
33
|
-
ADR-012 introduced `dist/cli/` for the TS shell, the router
|
|
34
|
-
artefact's root location became the outlier — visually equivalent
|
|
35
|
-
to hand-edited project files like `AGENTS.md` or
|
|
36
|
-
`.agent-settings.yml`, even though it is regenerated from rule
|
|
37
|
-
frontmatter on every `task compile-router` / `task sync` run.
|
|
38
|
-
|
|
39
|
-
The artefact is still a **public contract**: external host agents
|
|
40
|
-
(Claude.ai bundle, Skills API per
|
|
41
|
-
[`package-self-orientation`](../contracts/package-self-orientation.md))
|
|
42
|
-
read it once per session to resolve the always-loaded kernel and the
|
|
43
|
-
tier-1/2 routing tables. Moving it is therefore a one-time breaking
|
|
44
|
-
change for consumers — they update the read path or fail to resolve
|
|
45
|
-
rules at session start.
|
|
46
|
-
|
|
47
|
-
## Decision
|
|
48
|
-
|
|
49
|
-
**Compile to `dist/router.json` and ship the file tracked in git
|
|
50
|
-
under a `!/dist/router.json` allowlist exception.** `dist/` remains
|
|
51
|
-
gitignored; only the router artefact is committed.
|
|
52
|
-
|
|
53
|
-
Rationale:
|
|
54
|
-
|
|
55
|
-
1. **Slot consistency.** Build outputs live under `dist/`. Two
|
|
56
|
-
pre-existing slots (`dist/discovery/`, `dist/cli/`) already
|
|
57
|
-
commit selected artefacts via `.gitignore` allowlists. The
|
|
58
|
-
router follows the same pattern.
|
|
59
|
-
2. **Thin-Root contract.** `AGENTS.md` and the repo root are
|
|
60
|
-
pointer-heavy and human-curated; generated artefacts at the root
|
|
61
|
-
create review noise on every regen.
|
|
62
|
-
3. **Single read path.** Host agents already read
|
|
63
|
-
`dist/discovery/discovery-manifest.json`; adding the router to
|
|
64
|
-
the same parent dir collapses the "where does the package emit
|
|
65
|
-
its public contracts" answer to a single directory.
|
|
66
|
-
|
|
67
|
-
## Trade-offs accepted
|
|
68
|
-
|
|
69
|
-
- **Breaking change for consumers.** Pinned external readers (the
|
|
70
|
-
Claude.ai bundle, any Skills API caller, third-party tooling
|
|
71
|
-
reading the kernel) must update their read path from
|
|
72
|
-
`<root>/router.json` to `<root>/dist/router.json`. No deprecation
|
|
73
|
-
shim — the path is in the artefact body for one
|
|
74
|
-
release window, surfaced via the changelog, and that is the
|
|
75
|
-
contract update.
|
|
76
|
-
- **Allowlist drift risk.** A future `dist/` purge that forgets the
|
|
77
|
-
`!/dist/router.json` line will silently regress the public
|
|
78
|
-
contract. The `task release-prepare` and `task ci` runs both call
|
|
79
|
-
`compile_router.py`, which re-creates the file before any
|
|
80
|
-
packaging step that would notice its absence.
|
|
81
|
-
|
|
82
|
-
## Implementation footprint
|
|
83
|
-
|
|
84
|
-
- **Compiler / CLI.** `scripts/compile_router.py`,
|
|
85
|
-
`scripts/lint_trust_coherence.py`, `scripts/_cli/cmd_explain.py`,
|
|
86
|
-
`scripts/_cli/explain_last/route.py` — output path constants
|
|
87
|
-
point at `dist/router.json`.
|
|
88
|
-
- **Smoke.** `scripts/smoke/kernel.sh`, `scripts/smoke/router.sh`
|
|
89
|
-
read from the new path; `.github/workflows/smoke.yml` path-trigger
|
|
90
|
-
globs updated via `docs/contracts/smoke-contracts.md`.
|
|
91
|
-
- **Tests.** `tests/test_lint_trust_coherence.py`,
|
|
92
|
-
`tests/test_cmd_explain.py`, `tests/cli/explain_last/conftest.py`
|
|
93
|
-
patch the new constants; `tests/test_one_liner_entrypoints.sh`
|
|
94
|
-
stages `dist/router.json` (not the whole `dist/`, to avoid pulling
|
|
95
|
-
in the TS-compiled CLI which needs `node_modules`).
|
|
96
|
-
- **`.gitignore`.** `/dist/` stays ignored; `!/dist/router.json`
|
|
97
|
-
allowlist exception added.
|
|
98
|
-
- **Docs.** `AGENTS.md`, `docs/architecture.md`,
|
|
99
|
-
`docs/customization.md`, `docs/contracts/{rule-router,
|
|
100
|
-
namespace, trust-and-safety, smoke-contracts, kernel-membership}.md`,
|
|
101
|
-
`docs/contracts/explain-trace.schema.json`,
|
|
102
|
-
`docs/adrs/router/0001-three-tier-routing.md`,
|
|
103
|
-
`docs/adrs/smoke/0001-per-tier-smoke-scripts.md`.
|
|
104
|
-
- **Source rules.** Uncondensed rule sources referencing the path
|
|
105
|
-
(`telegraph-speak.md`, `git-history-discipline.md`) updated and
|
|
106
|
-
re-projected.
|
|
107
|
-
|
|
108
|
-
## Reversal cost
|
|
109
|
-
|
|
110
|
-
Two-edit revert: move the file back, flip the constants, drop the
|
|
111
|
-
allowlist line. `git mv` history is preserved through the rename,
|
|
112
|
-
so a `git revert` of the commit suffices. The contract update would
|
|
113
|
-
be a second breaking change for any consumer that adopted the new
|
|
114
|
-
path — so reversal is **possible but expensive after first
|
|
115
|
-
external uptake**.
|
|
116
|
-
|
|
117
|
-
## References
|
|
118
|
-
|
|
119
|
-
- [`docs/contracts/rule-router.md`](../contracts/rule-router.md) — frontmatter + read-path contract.
|
|
120
|
-
- [`docs/contracts/kernel-membership.md`](../contracts/kernel-membership.md) — kernel cap.
|
|
121
|
-
- [`dist/router.json`](../../dist/router.json) — compiled output.
|
|
122
|
-
- [`scripts/compile_router.py`](../../src/scripts/compile_router.py) — compiler.
|
|
123
|
-
- [`ADR-015-discovery-manifest-contract.md`](ADR-015-discovery-manifest-contract.md) — precedent for `dist/` allowlist.
|
|
124
|
-
- [`ADR-rule-kernel-and-router.md`](ADR-rule-kernel-and-router.md) — original kernel-and-router decision.
|
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
adr: 020
|
|
3
|
-
status: accepted
|
|
4
|
-
date: 2026-05-23
|
|
5
|
-
decision: global-only-consumer-scope
|
|
6
|
-
supersedes: —
|
|
7
|
-
superseded_by: —
|
|
8
|
-
phase: v3.x · global-only install rollout
|
|
9
|
-
type: forward-looking
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# ADR-020 — Global-only consumer scope
|
|
13
|
-
|
|
14
|
-
## Status
|
|
15
|
-
|
|
16
|
-
**Accepted** · 2026-05-23. Phases 1-5 of
|
|
17
|
-
`road-to-global-only-install` shipped (Setup-Wizard, consumer scope
|
|
18
|
-
gate, surface + bridge, migration tooling). Phase 6 (docs sweep)
|
|
19
|
-
in progress. The ADR locks the decision; the roadmap locks the
|
|
20
|
-
mechanics.
|
|
21
|
-
|
|
22
|
-
Companion artefacts:
|
|
23
|
-
- Roadmap: [`agents/roadmaps/road-to-global-only-install.md`](../../agents/roadmaps/road-to-global-only-install.md)
|
|
24
|
-
- Bridge contract: [`docs/contracts/consumer-bridge.md`](../contracts/consumer-bridge.md)
|
|
25
|
-
- Wizard contract: [`docs/contracts/gui-wizard.md`](../contracts/gui-wizard.md)
|
|
26
|
-
- Predecessor ADR: [`ADR-007`](ADR-007-agent-discovery-scopes.md) — scope precedence, global-default amendment
|
|
27
|
-
- Perms entry-gate: [`scripts/lint_global_paths.py`](../../src/scripts/lint_global_paths.py)
|
|
28
|
-
- Payload schema: [`internal/schemas/wizard-apply-payload.schema.json`](../../internal/schemas/wizard-apply-payload.schema.json)
|
|
29
|
-
|
|
30
|
-
## Context
|
|
31
|
-
|
|
32
|
-
ADR-007 (2025-Q4) established that the agent-config consumer can run
|
|
33
|
-
in two scopes — **project** (`<repo>/.augment/`, `<repo>/.claude/`, …)
|
|
34
|
-
or **global** (`~/.claude/`, `~/.cursor/`, `~/.augment/`, …) — and
|
|
35
|
-
that newly-onboarded consumers default to **global**. Six months of
|
|
36
|
-
field use surfaced three structural problems:
|
|
37
|
-
|
|
38
|
-
1. **Settings drift.** Per-project `.agent-settings.yml` files
|
|
39
|
-
accumulate stale `personal.*` keys that disagree with the user's
|
|
40
|
-
real preferences. Multi-repo developers ship the wrong
|
|
41
|
-
`personal.autonomy` into PRs.
|
|
42
|
-
2. **Onboarding fragmentation.** New users land in `wizard.md` from
|
|
43
|
-
one tool, `getting-started-by-role.md` from another, and a
|
|
44
|
-
project-local `.agent-user.md` from a third. Three near-identical
|
|
45
|
-
surfaces, each subtly inconsistent.
|
|
46
|
-
3. **Update lag.** Consumer projects pin an installer version in
|
|
47
|
-
`package.json`. Skill / rule / command edits ship to the package
|
|
48
|
-
but never reach the consumer until someone manually bumps.
|
|
49
|
-
|
|
50
|
-
The amendment in ADR-007 (2026-05-13) flipped the **default** to
|
|
51
|
-
global for Augment. This ADR finishes the job: the consumer surface
|
|
52
|
-
becomes **global-only** end-to-end. The project tree retains exactly
|
|
53
|
-
one piece of agent state — `agents/overrides/` plus the bridge marker
|
|
54
|
-
documented in [`consumer-bridge`](../contracts/consumer-bridge.md).
|
|
55
|
-
|
|
56
|
-
## Decision
|
|
57
|
-
|
|
58
|
-
Consumer installations of `@event4u/agent-config` write **only** to
|
|
59
|
-
`~/.event4u/agent-config/` (global root) and `agents/.event4u-bridge.yml`
|
|
60
|
-
(in-repo marker). The Setup-Wizard and the legacy Installer-GUI
|
|
61
|
-
converge on a single `/api/apply` endpoint behind a `schema_version`
|
|
62
|
-
discriminator. Per-tool adapters resolve their rules / skills /
|
|
63
|
-
commands by reading the bridge marker, expanding `global_root`, and
|
|
64
|
-
fanning out from there.
|
|
65
|
-
|
|
66
|
-
The single project-local exception is `agents/overrides/`, which
|
|
67
|
-
remains the canonical place to override or extend a shared skill /
|
|
68
|
-
rule / command per [override-management](../../.agent-src.uncondensed/skills/override-management/SKILL.md).
|
|
69
|
-
|
|
70
|
-
The maintainer-side dev experience is preserved by the
|
|
71
|
-
`AGENT_CONFIG_DEV_MODE=1` environment gate documented in
|
|
72
|
-
[`docs/maintainers/dev-mode.md`](../maintainers/dev-mode.md). With the
|
|
73
|
-
flag set, `scripts/install.py` treats the package repo as both source
|
|
74
|
-
and project surface (Phase 3 contract).
|
|
75
|
-
|
|
76
|
-
## Amendment — 2026-05-30 · user-content exception
|
|
77
|
-
|
|
78
|
-
The original decision named `agents/overrides/` as "the single
|
|
79
|
-
project-local exception". Field work on the global-only hook path
|
|
80
|
-
(`road-to-self-update-and-global-hook-resolution`) clarified that a
|
|
81
|
-
consumer also legitimately carries two **metadata** artefacts the
|
|
82
|
-
tooling writes and maintains:
|
|
83
|
-
|
|
84
|
-
- `agents/.event4u-bridge.yml` — the bridge marker (already mandated by
|
|
85
|
-
this ADR's Decision; restated here for completeness).
|
|
86
|
-
- managed `agents/` entries in the project `.gitignore` — so runtime
|
|
87
|
-
artefacts under `agents/runtime/` stay untracked.
|
|
88
|
-
|
|
89
|
-
These, together with `agents/overrides/`, are **user content +
|
|
90
|
-
metadata pointers**, not distributed content. The global-only
|
|
91
|
-
constraint applies to **distributed content** — skills, rules,
|
|
92
|
-
commands, hooks, adapters, `.augment/`, `.claude/` — which is never
|
|
93
|
-
written into a consumer repo. Consumer tooling (`agent-config
|
|
94
|
-
refresh --project` and the wizard's apply step) may create and refresh
|
|
95
|
-
the user-content / metadata surface without violating global-only.
|
|
96
|
-
|
|
97
|
-
Forbidden, unchanged: writing any distributed content into the
|
|
98
|
-
consumer repo outside `AGENT_CONFIG_DEV_MODE=1`.
|
|
99
|
-
|
|
100
|
-
## Amendment — 2026-06-03 · settings-scope correction (ADR-049)
|
|
101
|
-
|
|
102
|
-
The original Consequences bullet "one source of truth for `personal.*`,
|
|
103
|
-
`agent_council.*`, and `personas:`" overstated the global surface and used a
|
|
104
|
-
key name that never existed in code. [`ADR-049`](ADR-049-configuration-trust-boundary.md)
|
|
105
|
-
(AI-council-converged, anthropic/claude-sonnet-4-5 + openai/gpt-4o, 2026-06-03)
|
|
106
|
-
corrects this:
|
|
107
|
-
|
|
108
|
-
- The global surface is **secrets** (provider keys, already global) plus the
|
|
109
|
-
curated identity **whitelist** (`MERGEABLE_KEYS`) — not all of `personal.*`,
|
|
110
|
-
not council config, not personas.
|
|
111
|
-
- **Council config is NOT on the `MERGEABLE_KEYS` whitelist.** _(Placement
|
|
112
|
-
amended: per [ADR-093](ADR-093-ai-council-config-user-global.md) →
|
|
113
|
-
[ADR-104](ADR-104-ai-council-config-global-only.md) the council config
|
|
114
|
-
is now **user-global** at `~/.event4u/agent-config/settings/.ai-council.yml`,
|
|
115
|
-
never project-local — but it is its own dedicated `.ai-council.yml`, not a
|
|
116
|
-
merged `.agent-settings.yml` key, so it stays off this whitelist.)_ Personas
|
|
117
|
-
stay project-local (version-controlled). The `MERGEABLE_KEYS` whitelist is a
|
|
118
|
-
**security trust boundary**: an untrusted project repo must not be able to
|
|
119
|
-
escalate arbitrary `personal.*` into user scope. Widening the whitelist now
|
|
120
|
-
requires a threat model.
|
|
121
|
-
- The council config key name is **`ai_council`** (canonical), never
|
|
122
|
-
`agent_council`. It lives in the user-global `.ai-council.yml` (ADR-104),
|
|
123
|
-
not under `.agent-settings.yml`.
|
|
124
|
-
|
|
125
|
-
This amendment narrows ADR-020's wording; the global-only **consumer install**
|
|
126
|
-
decision (distributed content writes only to `~/.event4u/agent-config/`) is
|
|
127
|
-
unchanged.
|
|
128
|
-
|
|
129
|
-
## Amendment — 2026-07-13 · bridge marker retired
|
|
130
|
-
|
|
131
|
-
The 2026-05-30 amendment restated `agents/.event4u-bridge.yml` as a mandated
|
|
132
|
-
consumer metadata artefact. Field use showed the marker was a design mistake:
|
|
133
|
-
it was **committed** to the shared project tree yet carried **no
|
|
134
|
-
project-specific data**. `global_root` is always the well-known
|
|
135
|
-
`~/.event4u/agent-config` (one global install per machine), and no code ever
|
|
136
|
-
read the field — the loader, doctor, and conformance checks resolve the global
|
|
137
|
-
root independently via `user_global_paths.event4u_root()`. Its only volatile
|
|
138
|
-
content (`installed_at`, `installer_version`) meant every developer's install
|
|
139
|
-
produced a diff and overwrote every other developer's committed copy. Scope
|
|
140
|
-
(global) did not match location (per-project, committed).
|
|
141
|
-
|
|
142
|
-
AI-council-converged (anthropic/claude-sonnet-4-5 + openai/gpt-4o, 2026-07-13,
|
|
143
|
-
2-round debate): **Option B — eliminate the project marker; resolve the global
|
|
144
|
-
root from the well-known path.** Changes:
|
|
145
|
-
|
|
146
|
-
- The installer and `agent-config refresh --project` no longer write
|
|
147
|
-
`agents/.event4u-bridge.yml`; they **delete** any legacy committed copy. The
|
|
148
|
-
managed `.gitignore` block ignores it so a stale copy is never re-committed.
|
|
149
|
-
- The global root is resolved from `~/.event4u/agent-config`
|
|
150
|
-
(`EVENT4U_CONFIG_HOME`-overridable), failing closed when absent.
|
|
151
|
-
- Migration idempotency moved from the marker's presence to
|
|
152
|
-
`agents/.agent-state/install-mode.txt` (written on every install);
|
|
153
|
-
project-anchor detection keys on `agents/overrides/`.
|
|
154
|
-
- The Windsurf / Cline / Gemini-CLI per-tool anchors stay (those tools cannot
|
|
155
|
-
read user scope) but now resolve the well-known path directly (no `bridge:`
|
|
156
|
-
back-pointer) and are **gitignored** — regenerated per-install, never shared.
|
|
157
|
-
|
|
158
|
-
The single project-local agent surface is now **`agents/overrides/`** alone.
|
|
159
|
-
This narrows the 2026-05-30 amendment; the global-only **consumer install**
|
|
160
|
-
decision is unchanged. See [`consumer-bridge`](../contracts/consumer-bridge.md)
|
|
161
|
-
(retired) for the reader/writer detail.
|
|
162
|
-
|
|
163
|
-
## Alternatives considered
|
|
164
|
-
|
|
165
|
-
- **Status quo (project default + global opt-in).** Keeps the drift
|
|
166
|
-
problem; multi-repo developers continue to ship stale
|
|
167
|
-
`personal.*` keys. Rejected.
|
|
168
|
-
- **Dual-endpoint `/api/apply` (one per payload shape).** Doubles
|
|
169
|
-
the CSRF + idle-timer surface with no observability gain. Rejected;
|
|
170
|
-
see `gui-wizard § D12`.
|
|
171
|
-
- **Per-project bridge YAML pointing to multiple global roots.**
|
|
172
|
-
Enables team-shared globals via NFS but introduces a tenancy model
|
|
173
|
-
the rest of the system is not designed for. Deferred to a future
|
|
174
|
-
ADR; v1 of the bridge marker is single-root.
|
|
175
|
-
|
|
176
|
-
## Consequences
|
|
177
|
-
|
|
178
|
-
**Positive.**
|
|
179
|
-
- One source of truth for the curated cross-project identity keys
|
|
180
|
-
(`MERGEABLE_KEYS`) and provider secrets. _(Amended 2026-06-03 — the original
|
|
181
|
-
wording named `personal.*`, `agent_council.*`, and `personas:` as global; see
|
|
182
|
-
the settings-scope correction below and [`ADR-049`](ADR-049-configuration-trust-boundary.md): council config + personas stay project-local; the key is `ai_council`.)_
|
|
183
|
-
- New skills / rules / commands reach every consumer the moment they
|
|
184
|
-
install or run `task dev:install-global` — no per-repo bump.
|
|
185
|
-
- The onboarding wizard becomes the only authoring surface for
|
|
186
|
-
`.agent-user.md`. Three duplicate flows collapse into one.
|
|
187
|
-
|
|
188
|
-
**Negative.**
|
|
189
|
-
- Phase 3 SCOPE_SUPPORT flip is breaking for any tool that still
|
|
190
|
-
hard-codes a project-local lookup. Migration order is locked in
|
|
191
|
-
the roadmap (Phase 5) — `agent-config migrate-to-global` runs the
|
|
192
|
-
perms entry-gate, copies, verifies, then deletes the project
|
|
193
|
-
shadow.
|
|
194
|
-
- The bridge marker is a new failure mode: a stale `global_root` on
|
|
195
|
-
disk yields a fail-closed error instead of a silent project-local
|
|
196
|
-
fallback. The trade-off is intentional; silent fallback is what
|
|
197
|
-
produced the drift in the first place.
|
|
198
|
-
|
|
199
|
-
**Operational.**
|
|
200
|
-
- `scripts/lint_global_paths.py` becomes a required precondition for
|
|
201
|
-
`migrate-to-global`. Wrong perms (e.g. `0755` on the global root
|
|
202
|
-
when `0700` is expected) abort the migration before any write.
|
|
203
|
-
- The Augment, Claude, and Cursor adapters get free-form-tested by
|
|
204
|
-
the maintainer dev install every CI run, so a regression in the
|
|
205
|
-
bridge-resolver surfaces immediately instead of at consumer time.
|
|
206
|
-
|
|
207
|
-
## References
|
|
208
|
-
|
|
209
|
-
- [`ADR-007`](ADR-007-agent-discovery-scopes.md) — discovery scope precedence and the 2026-05-13 global-default amendment.
|
|
210
|
-
- [`ADR-018`](ADR-018-trust-and-safety-layer.md) — trust levels and HRR banner; unchanged by this decision.
|
|
211
|
-
- [`road-to-global-only-install`](../../agents/roadmaps/road-to-global-only-install.md) — phased rollout, cross-phase gates A1-A7.
|
|
212
|
-
- [`consumer-bridge`](../contracts/consumer-bridge.md) — bridge marker schema and reader contract.
|
|
213
|
-
- [`gui-wizard § Apply payload`](../contracts/gui-wizard.md#apply-payload--versioning-handshake-road-to-global-only-install-phase-04--d12) — payload discriminator.
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
adr: 021
|
|
3
|
-
status: accepted
|
|
4
|
-
date: 2026-05-24
|
|
5
|
-
decision: deployment-shape
|
|
6
|
-
supersedes: —
|
|
7
|
-
superseded_by: —
|
|
8
|
-
phase: v3.x · internal-AI-OS deployment Phase 1
|
|
9
|
-
type: forward-looking
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# ADR-021 — Deployment shape (internal AI OS, Phase 1)
|
|
13
|
-
|
|
14
|
-
## Status
|
|
15
|
-
|
|
16
|
-
**Accepted** · 2026-05-24. Phase 1 of
|
|
17
|
-
[`road-to-internal-ai-os-deployment.md`](../../agents/roadmaps/road-to-internal-ai-os-deployment.md)
|
|
18
|
-
ships the container image + Compose topology + host binding +
|
|
19
|
-
healthcheck. Phases 2–5 (identity, central policy, team context,
|
|
20
|
-
connectors) are tracked but **not yet implemented**; their ADRs
|
|
21
|
-
(022–025) are reserved but unwritten.
|
|
22
|
-
|
|
23
|
-
Companion artefacts:
|
|
24
|
-
|
|
25
|
-
- Roadmap: [`agents/roadmaps/road-to-internal-ai-os-deployment.md`](../../agents/roadmaps/road-to-internal-ai-os-deployment.md)
|
|
26
|
-
- Artefacts: [`packages/core/deploy/`](../../packages/core/deploy/)
|
|
27
|
-
- Env contract: [`docs/deploy/env-vars.md`](../deploy/env-vars.md)
|
|
28
|
-
- Council question (drafted, not invoked — no keys): [`agents/tmp/council-question-deployment-shape.md`](../../agents/old/council-question-deployment-shape.md)
|
|
29
|
-
- Predecessor ADR: [`ADR-016`](ADR-016-installer-architecture.md) — installer architecture (agent-mode protocol the GUI server wraps).
|
|
30
|
-
|
|
31
|
-
## Context
|
|
32
|
-
|
|
33
|
-
For the first two years `@event4u/agent-config` shipped as a
|
|
34
|
-
developer-local tool: `npx @event4u/agent-config init` writes files
|
|
35
|
-
into the consumer repo, the wizard runs on `127.0.0.1`, no state
|
|
36
|
-
persists beyond the lockfile. Field signal (multiple companies asking
|
|
37
|
-
"can we host this for the team?") motivates a second shape: a
|
|
38
|
-
**single deployed instance per organization**, hosting wizard +
|
|
39
|
-
Council + memory for 5–50 engineers behind their SSO.
|
|
40
|
-
|
|
41
|
-
Three structural questions had to settle before code:
|
|
42
|
-
|
|
43
|
-
1. **Topology** — bare Compose vs Helm vs both.
|
|
44
|
-
2. **Process shape** — single Node container vs Node + Python sidecar.
|
|
45
|
-
3. **Boot-time safety** — what happens when the operator inevitably
|
|
46
|
-
flips `127.0.0.1:8787` to `0.0.0.0:8787` before authentication
|
|
47
|
-
lands in Phase 2.
|
|
48
|
-
|
|
49
|
-
## Decision
|
|
50
|
-
|
|
51
|
-
### 1. Topology — Compose-first, Helm deferred
|
|
52
|
-
|
|
53
|
-
A single `docker-compose.yml` under `packages/core/deploy/` is the
|
|
54
|
-
shipped artefact. Three services: `agent-config` (the Node image),
|
|
55
|
-
`redis`, `postgres`. Three named volumes for runtime state, Postgres
|
|
56
|
-
data, and the per-user `~/.event4u/agent-config/` mount.
|
|
57
|
-
|
|
58
|
-
Helm / k8s manifests are **deferred** to a future v2 deployment
|
|
59
|
-
roadmap. Compose covers the 5–50-person band; larger teams author
|
|
60
|
-
their own chart using this Compose as the reference until v2 ships.
|
|
61
|
-
|
|
62
|
-
### 2. Process shape — single-process Node
|
|
63
|
-
|
|
64
|
-
The GUI server (`packages/core/installer/src/gui/server.ts`) is the
|
|
65
|
-
only long-running process. The Python install supervisor is spawned
|
|
66
|
-
per-install, not a sidecar. The Compose image stays Node-only to keep
|
|
67
|
-
the budget under 600 MB condensed and the surface area minimal.
|
|
68
|
-
|
|
69
|
-
If Phase 2+ needs a separate identity-broker process, it lands in a
|
|
70
|
-
separate service in the same Compose; the agent-config container stays
|
|
71
|
-
single-process.
|
|
72
|
-
|
|
73
|
-
### 3. Host binding — `127.0.0.1` default, `0.0.0.0` opt-in with safety gate
|
|
74
|
-
|
|
75
|
-
`startGuiServer` accepts `host` + `allowedHosts` options. CLI
|
|
76
|
-
exposes `--host` and `--allowed-hosts`; container defaults
|
|
77
|
-
`BIND_HOST=0.0.0.0` + `ALLOWED_HOSTS=localhost:8787,127.0.0.1:8787`.
|
|
78
|
-
|
|
79
|
-
**Hard rule**: non-loopback bind without `allowedHosts` refuses to
|
|
80
|
-
boot. Enforced at the CLI surface (`commands/gui.ts`) and at the
|
|
81
|
-
server entry (`gui/server.ts`). This is the structural mitigation
|
|
82
|
-
against operators flipping the host port mapping before Phase 2 SSO
|
|
83
|
-
ships.
|
|
84
|
-
|
|
85
|
-
### 4. Health endpoint — `/api/v1/health`, read-only, rate-limited
|
|
86
|
-
|
|
87
|
-
CSRF-exempt, GET-only. Returns `status`, `version`, `pack_version`,
|
|
88
|
-
`uptime_seconds`, `storage_mode`, `session_backend`, and
|
|
89
|
-
`manifest_sha256`. No secrets, no auth state, no PII.
|
|
90
|
-
|
|
91
|
-
Rate-limited to 1 request per second per remote IP via an in-memory
|
|
92
|
-
token bucket. Wide margin over the docker-default 10 s healthcheck
|
|
93
|
-
cadence; resilient to spoofed probes (the bucket map is bounded at
|
|
94
|
-
1024 entries and self-prunes).
|
|
95
|
-
|
|
96
|
-
### 5. Redis + Postgres in compose but unwired in Phase 1
|
|
97
|
-
|
|
98
|
-
Both services ship in the Compose topology with healthchecks and named
|
|
99
|
-
volumes, but the agent-config code does **not** read them in Phase 1:
|
|
100
|
-
|
|
101
|
-
- `STORAGE_MODE=postgres` is documented but the implementation still
|
|
102
|
-
uses filesystem.
|
|
103
|
-
- `SESSION_BACKEND=redis` is documented but the implementation still
|
|
104
|
-
uses in-memory state.
|
|
105
|
-
|
|
106
|
-
Surfacing both connection strings in `/api/v1/health` lets operators
|
|
107
|
-
verify connectivity *before* Phase 2 wires Postgres and Phase 3 wires
|
|
108
|
-
Redis.
|
|
109
|
-
|
|
110
|
-
### 6. No TLS in the container
|
|
111
|
-
|
|
112
|
-
The reverse-proxy (nginx / Caddy / Traefik / ALB) owns TLS
|
|
113
|
-
termination. The container speaks plain HTTP on the bound interface.
|
|
114
|
-
Out-of-scope for this ADR; documented in `packages/core/deploy/README.md`.
|
|
115
|
-
|
|
116
|
-
## Consequences
|
|
117
|
-
|
|
118
|
-
**Positive**
|
|
119
|
-
|
|
120
|
-
- Operators can `docker compose up` and reach a working wizard
|
|
121
|
-
without writing infrastructure.
|
|
122
|
-
- The shape locks before Phases 2–5 add auth / policy / connectors —
|
|
123
|
-
those phases extend the topology without rewriting it.
|
|
124
|
-
- `ALLOWED_HOSTS` gate eliminates the DNS-rebinding class of
|
|
125
|
-
vulnerability at the boot layer.
|
|
126
|
-
|
|
127
|
-
**Negative**
|
|
128
|
-
|
|
129
|
-
- Teams already on k8s need to translate Compose to their own
|
|
130
|
-
charts. Mitigated by the README pointing at the Compose as the
|
|
131
|
-
reference.
|
|
132
|
-
- Postgres + Redis run unused in Phase 1, adding 60–80 MB RAM idle
|
|
133
|
-
to the deployment footprint. Mitigated by being able to remove
|
|
134
|
-
both services from the Compose if Phase 1 is the only phase the
|
|
135
|
-
operator wants.
|
|
136
|
-
|
|
137
|
-
**Reversal cost** — low. Compose → Helm migration is mechanical once
|
|
138
|
-
the v2 deployment roadmap kicks off; the agent-config image itself is
|
|
139
|
-
orchestrator-agnostic.
|
|
140
|
-
|
|
141
|
-
## Open questions (council-deferred)
|
|
142
|
-
|
|
143
|
-
The accompanying council question file
|
|
144
|
-
[`agents/tmp/council-question-deployment-shape.md`](../../agents/old/council-question-deployment-shape.md)
|
|
145
|
-
has not yet been run (no provider keys configured). A maintainer with
|
|
146
|
-
keys should run it and either ratify or supersede this ADR.
|
|
147
|
-
|
|
148
|
-
## Cross-references
|
|
149
|
-
|
|
150
|
-
- Phase 1 artefacts: [`packages/core/deploy/`](../../packages/core/deploy/)
|
|
151
|
-
- Env contract: [`docs/deploy/env-vars.md`](../deploy/env-vars.md)
|
|
152
|
-
- Installer architecture: [`ADR-016`](ADR-016-installer-architecture.md)
|
|
153
|
-
- Global-only consumer scope: [`ADR-020`](ADR-020-global-only-consumer-scope.md) (orthogonal — local install model)
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
adr: 022
|
|
3
|
-
status: accepted
|
|
4
|
-
date: 2026-05-24
|
|
5
|
-
decision: daily-workspace-decomposition
|
|
6
|
-
supersedes: —
|
|
7
|
-
superseded_by: —
|
|
8
|
-
phase: v3.x · employee-product-and-external-proof Phase 4
|
|
9
|
-
type: forward-looking
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# ADR-022 — Daily workspace — decomposition
|
|
13
|
-
|
|
14
|
-
## Status
|
|
15
|
-
|
|
16
|
-
**Accepted** · 2026-05-24. Phase 4 Step 1 of
|
|
17
|
-
[`road-to-employee-product-and-external-proof.md`](../../agents/roadmaps/archive/road-to-employee-product-and-external-proof.md).
|
|
18
|
-
Records the council's verdict on the original "workspace shape"
|
|
19
|
-
question — that the question was malformed — and replaces a single
|
|
20
|
-
chrome decision with three sequenced sub-decisions.
|
|
21
|
-
|
|
22
|
-
The numeric reservation note in
|
|
23
|
-
[`ADR-021`](ADR-021-deployment-shape.md) (ADRs 022–025 held for the
|
|
24
|
-
internal-AI-OS-deployment roadmap) is retired: that roadmap is
|
|
25
|
-
archived ([`agents/roadmaps/archive/road-to-internal-ai-os-deployment.md`](../../agents/roadmaps/archive/road-to-internal-ai-os-deployment.md))
|
|
26
|
-
and the active strategy after release `3.1.1` is the
|
|
27
|
-
employee-product / external-proof roadmap. ADR-022 claims the
|
|
28
|
-
number under the new strategy.
|
|
29
|
-
|
|
30
|
-
Companion artefacts:
|
|
31
|
-
|
|
32
|
-
- Roadmap: [`agents/roadmaps/archive/road-to-employee-product-and-external-proof.md`](../../agents/roadmaps/archive/road-to-employee-product-and-external-proof.md)
|
|
33
|
-
- Council question: [`agents/decisions/open-questions/daily-workspace-shape.md`](../../agents/decisions/open-questions/daily-workspace-shape.md)
|
|
34
|
-
- Council verdict: `agents/runtime/council/responses/daily-workspace-shape.json` (gitignored) <!-- council-ref-allowed: ADR decision trace -->
|
|
35
|
-
- Predecessor ADRs: [`ADR-014`](ADR-014-gui-framework-choice.md) (installer chrome), [`ADR-016`](ADR-016-installer-architecture.md) (installer architecture), [`ADR-020`](ADR-020-global-only-consumer-scope.md) (consumer scope).
|
|
36
|
-
|
|
37
|
-
## Context
|
|
38
|
-
|
|
39
|
-
Phase 4 of the post-`3.1.1` roadmap proposes a persistent daily
|
|
40
|
-
workspace — left rail (role + task launcher), centre pane (active
|
|
41
|
-
conversation with the host agent), right rail (knowledge sources +
|
|
42
|
-
explain-trace) — as the missing daily-use surface for non-developer
|
|
43
|
-
roles (galabau owner, content creator, consultant).
|
|
44
|
-
|
|
45
|
-
The original Step 1 framed the decision as a four-way chrome pick:
|
|
46
|
-
extend the GUI installer · separate Electron/Tauri app · browser tab
|
|
47
|
-
· TUI-first. The council was asked to choose one.
|
|
48
|
-
|
|
49
|
-
## What the council said
|
|
50
|
-
|
|
51
|
-
Both council members (claude-sonnet-4-5, gpt-4o) **rejected the
|
|
52
|
-
question as malformed** after a two-round debate. The convergent
|
|
53
|
-
verdict, in their own words:
|
|
54
|
-
|
|
55
|
-
> *"The ADR masquerades as a UI choice when it is actually three
|
|
56
|
-
> entangled, unsequenced decisions: (1) the protocol boundary to
|
|
57
|
-
> host agents, (2) the v0 feature scope that validates 'non-developers
|
|
58
|
-
> prefer this', (3) the chrome that wraps that scope."*
|
|
59
|
-
> — Anthropic
|
|
60
|
-
|
|
61
|
-
> *"Without a stable, documented protocol between the workspace and
|
|
62
|
-
> host agents, the ADR's proposition lacks substance and could be
|
|
63
|
-
> shelved until a reliable, documented, and tested protocol is
|
|
64
|
-
> defined."* — OpenAI
|
|
65
|
-
|
|
66
|
-
The load-bearing critique is that the workspace contract requires
|
|
67
|
-
two capabilities the host agents (Claude Code, Augment, Cursor,
|
|
68
|
-
Cline, Windsurf) have not been confirmed to expose:
|
|
69
|
-
|
|
70
|
-
1. A stable RPC / IPC surface for **launching a conversation with a
|
|
71
|
-
pre-filled prompt + pre-selected skill** (not just CLI flags that
|
|
72
|
-
drift per Hyrum's Law).
|
|
73
|
-
2. Structured **explain-trace emission** (not "parse stdout and hope").
|
|
74
|
-
|
|
75
|
-
Until both are proven for at least one host agent, no chrome option
|
|
76
|
-
can be implemented — each inherits the same fatal coupling risk.
|
|
77
|
-
|
|
78
|
-
## Decision
|
|
79
|
-
|
|
80
|
-
Split Phase 4 Step 1 into three sequential sub-decisions, each its
|
|
81
|
-
own ADR:
|
|
82
|
-
|
|
83
|
-
1. **ADR-023 — Host-agent protocol contract** *(blocking)*. Inventory
|
|
84
|
-
the surface each named host agent exposes today, name the
|
|
85
|
-
fallback for missing surfaces, write `docs/contracts/host-agent-protocol.md`.
|
|
86
|
-
Status today: **drafted, not started**.
|
|
87
|
-
2. **ADR-024 — Workspace v0 feature floor** *(depends on ADR-023)*.
|
|
88
|
-
Define the minimum viable shell that recruit-session participants
|
|
89
|
-
can evaluate. Pare back from "left rail + centre pane + right rail"
|
|
90
|
-
to whatever the protocol from ADR-023 can actually drive end-to-end.
|
|
91
|
-
3. **ADR-025 — Workspace chrome** *(depends on ADR-024)*. The original
|
|
92
|
-
four-way pick (installer-extension · Electron/Tauri · browser tab ·
|
|
93
|
-
TUI), narrowed by what ADR-024 needs and what ADR-023 makes
|
|
94
|
-
feasible.
|
|
95
|
-
|
|
96
|
-
The roadmap is updated accordingly: Phase 4 grows two new gating
|
|
97
|
-
steps (ADR-023 + ADR-024) ahead of the chrome decision. The
|
|
98
|
-
"≤ 6 weeks for one engineer" budget assumption from the original
|
|
99
|
-
roadmap is preserved as a working figure — both council members
|
|
100
|
-
flagged it as ambitious. ADR-024 will tighten it.
|
|
101
|
-
|
|
102
|
-
## Consequences
|
|
103
|
-
|
|
104
|
-
**Positive**
|
|
105
|
-
|
|
106
|
-
- The blocking risk (host-agent protocol feasibility) is surfaced
|
|
107
|
-
as its own ADR with its own go/no-go gate, not buried under a
|
|
108
|
-
chrome debate.
|
|
109
|
-
- Phase 4 cannot accidentally ship a chrome built on an unproven
|
|
110
|
-
integration substrate.
|
|
111
|
-
- Recruit sessions (Phase 1) get a clearer signal of *what* to
|
|
112
|
-
validate: "does the v0 feature floor solve the daily-use gap?"
|
|
113
|
-
rather than "do you prefer this UI?"
|
|
114
|
-
|
|
115
|
-
**Negative**
|
|
116
|
-
|
|
117
|
-
- Phase 4 ships two additional ADRs before any code lands. Adds
|
|
118
|
-
governance overhead; the autonomous-execution rule narrows the
|
|
119
|
-
ask-tax but doesn't remove it.
|
|
120
|
-
- The chrome decision (ADR-025) is deferred at least one council
|
|
121
|
-
round behind ADR-023 + ADR-024.
|
|
122
|
-
|
|
123
|
-
**Reversal cost** — low. If ADR-023 proves the protocol is trivially
|
|
124
|
-
stable, ADR-024 can collapse to a one-line "we re-adopt the
|
|
125
|
-
original v1 scope" decision and ADR-025 proceeds against the
|
|
126
|
-
original four-way pick.
|
|
127
|
-
|
|
128
|
-
## Open questions (next-ADR-deferred)
|
|
129
|
-
|
|
130
|
-
- Whether the host-agent protocol investigation should be
|
|
131
|
-
council-gated again or treated as a research artefact (ADR-023
|
|
132
|
-
will say).
|
|
133
|
-
- Whether "host agent" remains plural or narrows to one supported
|
|
134
|
-
host for v0 (ADR-024 will say).
|
|
135
|
-
|
|
136
|
-
## Cross-references
|
|
137
|
-
|
|
138
|
-
- Council question file: [`agents/decisions/open-questions/daily-workspace-shape.md`](../../agents/decisions/open-questions/daily-workspace-shape.md)
|
|
139
|
-
- Role identity scaffolds (Phase 3 output): [`agents/roles/`](../../agents/roles/)
|
|
140
|
-
- Knowledge-ingestion contract (Phase 2 input): [`docs/contracts/local-knowledge-ingestion.md`](../contracts/local-knowledge-ingestion.md)
|