@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
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "auto"
|
|
3
|
+
tier: "2a"
|
|
4
|
+
description: "Screenshots for docs — anonymize sensitive data before shipping; data-bearing shots are human-gated (published egress); terminal/CLI/IDE screenshots forbidden"
|
|
5
|
+
triggers:
|
|
6
|
+
- keyword: "screenshot"
|
|
7
|
+
- keyword: "screenshots"
|
|
8
|
+
- keyword: "screen capture"
|
|
9
|
+
- keyword: "screen grab"
|
|
10
|
+
- keyword: "admin panel screenshot"
|
|
11
|
+
- keyword: "dashboard screenshot"
|
|
12
|
+
- keyword: "docs site"
|
|
13
|
+
- keyword: "Starlight"
|
|
14
|
+
- phrase: "add a screenshot"
|
|
15
|
+
- phrase: "screenshot for the docs"
|
|
16
|
+
- phrase: "screenshot in the readme"
|
|
17
|
+
- phrase: "embed an image in the docs"
|
|
18
|
+
- phrase: "put a screenshot"
|
|
19
|
+
- phrase: "generate a docs site"
|
|
20
|
+
- phrase: "capture the ui"
|
|
21
|
+
- path_prefix: "docs/media/"
|
|
22
|
+
routes_to:
|
|
23
|
+
- "skill:screenshot-hygiene"
|
|
24
|
+
applies_to_user_types:
|
|
25
|
+
- "all"
|
|
26
|
+
workspaces: [agent-config-maintainer, construction, engineering, finance, founder, gtm, legal-review-prep, ops, product, small-business]
|
|
27
|
+
packs: [meta]
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
# Doc-Screenshot Hygiene
|
|
31
|
+
|
|
32
|
+
Agents may create screenshots for documentation when genuinely useful (a docs
|
|
33
|
+
site, feature docs, a README visual) and embed them. But a screenshot is an
|
|
34
|
+
opaque artifact that can carry **real PII, secrets, or revealing local paths**
|
|
35
|
+
straight into shipped, hosted, committed docs — an irreversible published egress.
|
|
36
|
+
This rule governs the anonymization discipline before any screenshot ships. Full
|
|
37
|
+
workflow: [`screenshot-hygiene`](../skills/screenshot-hygiene/SKILL.md).
|
|
38
|
+
|
|
39
|
+
## The Iron Law
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
A SHIPPED SCREENSHOT WITH UNREDACTED SENSITIVE DATA IS AN
|
|
43
|
+
IRREVERSIBLE PUBLISHED EGRESS. NEVER SHIP ONE.
|
|
44
|
+
ANONYMIZE BEFORE IT SHIPS — REAL NAMES, ADDRESSES, BIRTHDATES, TOKENS,
|
|
45
|
+
SECRETS, REAL EMAILS, IDENTITY-REVEALING LOCAL PATHS.
|
|
46
|
+
DETECTION IS A HELPER, NEVER A CLEARANCE. THE GATE IS HUMAN CONFIRMATION.
|
|
47
|
+
A DATA-BEARING SCREENSHOT EMBED IS GATED PER non-destructive-by-default
|
|
48
|
+
(THIS-TURN CONFIRMATION). TERMINAL / CLI / IDE SCREENSHOTS ARE FORBIDDEN.
|
|
49
|
+
WHEN UNCERTAIN → REDACT OR REFUSE. NEVER SHIP-AND-HOPE.
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## The anonymization taxonomy
|
|
53
|
+
|
|
54
|
+
**Always redact / refuse (sensitive):** real person's name, postal address,
|
|
55
|
+
birthdate, phone; passwords, API tokens, secrets, cookies, bearer tokens,
|
|
56
|
+
private keys; real email addresses (anything not `@example.{com,org,net}` / a
|
|
57
|
+
fake-data domain); absolute local paths revealing a real identity
|
|
58
|
+
(`/Users/<realname>/…`); client / customer / project identifiers; internal
|
|
59
|
+
hostnames (`*.internal`); anything GDPR-sensitive; aggregate counts or data
|
|
60
|
+
tells that reveal real users.
|
|
61
|
+
|
|
62
|
+
**Allowed (no redaction):** well-known fake data (Max Mustermann, Musterstraße,
|
|
63
|
+
`@example.com`); the maintainer's OWN public handle shown as a username (e.g.
|
|
64
|
+
a handle in an admin panel — it is already public), and a path rooted at that
|
|
65
|
+
public handle. The maintainer's **real name is never allowed**, even co-located
|
|
66
|
+
with the handle. The safe set is `screenshots.identity_allowlist` (default
|
|
67
|
+
empty → every identity is human-decided).
|
|
68
|
+
|
|
69
|
+
## Risk tiers — symmetric friction
|
|
70
|
+
|
|
71
|
+
- **Illustrative / no data** (architecture diagrams, logos, icons, wireframes,
|
|
72
|
+
placeholder-only UI): embed with a one-line justification. Low friction.
|
|
73
|
+
- **Data-bearing** (dashboards, admin panels, forms/lists with content, anything
|
|
74
|
+
showing real-looking data): run the hygiene workflow, then **this-turn human
|
|
75
|
+
confirmation before embed** (per [`non-destructive-by-default`](non-destructive-by-default.md)).
|
|
76
|
+
- **Terminal / CLI / IDE output**: **forbidden** as screenshots (highest leak
|
|
77
|
+
vector — absolute paths, env tokens). Use a text code block with text
|
|
78
|
+
redaction. Set `screenshots.forbid_terminal_capture` (default `true`).
|
|
79
|
+
|
|
80
|
+
## When it fires — and when NOT
|
|
81
|
+
|
|
82
|
+
**Fires** when creating/embedding a screenshot into documentation (docs site,
|
|
83
|
+
README, feature docs) or when a screenshot lands under `docs/media/`.
|
|
84
|
+
|
|
85
|
+
**Does NOT fire** on: image *generation* (see `media-governance-routing`,
|
|
86
|
+
`image-likeness-and-rights`); a user-supplied screenshot used only as a design
|
|
87
|
+
spec to compare against (see `design-fidelity`, `cross-source-consistency`);
|
|
88
|
+
non-doc surfaces.
|
|
89
|
+
|
|
90
|
+
## See also
|
|
91
|
+
|
|
92
|
+
- [`screenshot-hygiene`](../skills/screenshot-hygiene/SKILL.md) — the decide → capture → detect → redact → audit → embed workflow + the human-gate checklist.
|
|
93
|
+
- [`non-destructive-by-default`](non-destructive-by-default.md) — the published-egress Hard Floor a data-bearing embed routes into.
|
|
94
|
+
- [`domain-safety-pii`](domain-safety-pii.md) — the sibling PII rule for text surfaces (drafts / logs / exports); screenshots are the visual surface.
|
|
95
|
+
- [`lethal-trifecta-guard`](lethal-trifecta-guard.md) — a screenshot is the private-data + egress legs; the human gate is the egress control.
|
|
96
|
+
- [`readme-writing`](../skills/readme-writing/SKILL.md) — flags unrequested data-bearing screenshots.
|
|
97
|
+
- [`image-analyser`](../skills/image-analyser/SKILL.md), [`image-editing`](../skills/image-editing/SKILL.md) — the OCR-detect / region-redact helpers.
|
|
@@ -164,3 +164,4 @@ PreToolUse hook — see `agents/settings/contexts/legal-privilege-probe.md`.
|
|
|
164
164
|
- `skill:logging-monitoring`, `skill:secrets-management` — technical surfaces.
|
|
165
165
|
- `domain-safety-disclaimer` — companion advisory rule.
|
|
166
166
|
- `domain-safety-retention` — companion retention rule.
|
|
167
|
+
- `doc-screenshot-hygiene` — the visual sibling: PII inside a **screenshot** shipped into docs (this rule covers text drafts / logs / exports, not images).
|
|
@@ -23,15 +23,20 @@ packs: [meta]
|
|
|
23
23
|
Some repos commit a pre-built code-intelligence index — a `graph.json`-shaped
|
|
24
24
|
artifact or a SCIP index (`index.scip`, `*.scip`). When one exists, it already
|
|
25
25
|
answers "who calls X", "where is Y used", "what does this import" far more
|
|
26
|
-
precisely than a fresh `grep`. This suite is an **orchestrator,
|
|
27
|
-
|
|
26
|
+
precisely than a fresh `grep`. This suite is an **orchestrator first, owner
|
|
27
|
+
where it wins** (ADR-124): query a consumer-shipped index when it is present
|
|
28
|
+
and fresh; where none is shipped or ours is measurably better, the suite's own
|
|
29
|
+
native code-graph engine (default-off, benchmark-gated) covers the gap. Either
|
|
30
|
+
way — query first, grep as fallback, and name which source answered.
|
|
28
31
|
|
|
29
32
|
## The rule
|
|
30
33
|
|
|
31
34
|
```
|
|
32
35
|
REPO SHIPS A CODE-GRAPH INDEX (graph.json-shaped OR a SCIP index)
|
|
33
36
|
→ QUERY IT FIRST FOR CODEBASE-STRUCTURE QUESTIONS. GREP IS THE FALLBACK,
|
|
34
|
-
NOT THE FIRST MOVE. NEVER REBUILD
|
|
37
|
+
NOT THE FIRST MOVE. NEVER REBUILD A FRESH CONSUMER-SHIPPED INDEX.
|
|
38
|
+
NO FRESH INDEX SHIPPED → THE NATIVE ENGINE MAY BUILD ONE (ADR-124); STILL
|
|
39
|
+
GREP-FALLBACK FOR WHAT THE GRAPH DOES NOT ANSWER, AND SAY WHICH SOURCE ANSWERED.
|
|
35
40
|
```
|
|
36
41
|
|
|
37
42
|
## When it fires
|
|
@@ -58,6 +63,11 @@ AND the repo contains a detectable index:
|
|
|
58
63
|
|
|
59
64
|
## See also
|
|
60
65
|
|
|
66
|
+
- [`code-intelligence`](../skills/code-intelligence/SKILL.md) — the executable
|
|
67
|
+
routing skill: `agent-config code-graph detect|query|affected|path` over the
|
|
68
|
+
native engine or a consumer-shipped index, grep as the stated fallback. On
|
|
69
|
+
hook-capable hosts the PreToolUse `code-graph` nudge surfaces this once per
|
|
70
|
+
session; on instruction-file hosts this rule is the surface.
|
|
61
71
|
- [`discovery_graph`](../scripts/discovery_graph.ts) — this suite's OWN artefact
|
|
62
72
|
relation-graph (`affected`/`explain`); the external code-graph is the
|
|
63
73
|
*source-code* analogue this rule defers to for code questions.
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "auto"
|
|
3
|
+
tier: "2a"
|
|
4
|
+
description: "Change history done right — audit coverage, cheapest-sufficient tier (default: row-level audit log; event sourcing only by waiver), audit hygiene + privacy interlocks."
|
|
5
|
+
triggers:
|
|
6
|
+
- keyword: "audit"
|
|
7
|
+
- keyword: "audit log"
|
|
8
|
+
- keyword: "activity log"
|
|
9
|
+
- keyword: "history"
|
|
10
|
+
- keyword: "event sourcing"
|
|
11
|
+
- keyword: "changelog"
|
|
12
|
+
- phrase: "who changed"
|
|
13
|
+
- phrase: "wer hat was"
|
|
14
|
+
- phrase: "track changes"
|
|
15
|
+
- phrase: "change history"
|
|
16
|
+
routes_to:
|
|
17
|
+
- "skill:history-design"
|
|
18
|
+
workspaces: [engineering]
|
|
19
|
+
packs: [history-discipline]
|
|
20
|
+
trust:
|
|
21
|
+
level: professional
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
# History Discipline
|
|
25
|
+
|
|
26
|
+
Pack floor for the `history-discipline` pack (default-off; auto-activates
|
|
27
|
+
when the pack is installed). Agents get history wrong in both directions:
|
|
28
|
+
missing entirely on data that needs it, or over-built as event sourcing
|
|
29
|
+
where a row-level log suffices — and audit tables that themselves grow
|
|
30
|
+
without bound.
|
|
31
|
+
|
|
32
|
+
## The Iron Law
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
MUTATIONS ON AUDIT-SCOPED DATA EMIT WHO / WHAT / WHEN. ALWAYS.
|
|
36
|
+
THE MECHANISM IS THE CHEAPEST SUFFICIENT TIER — DEFAULT: ROW-LEVEL
|
|
37
|
+
AUDIT LOG. EVENT SOURCING ONLY WITH AN EXPLICIT ARCHITECTURE WAIVER.
|
|
38
|
+
THE AUDIT TABLE OBEYS THE SAME GROWTH BUDGET AS EVERY OTHER TABLE.
|
|
39
|
+
AUDIT RECORDS INHERIT THE PRIVACY OBLIGATIONS OF THE DATA THEY DESCRIBE.
|
|
40
|
+
A LOSSY AUDIT TRAIL IS WORSE THAN NONE.
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Rule surface
|
|
44
|
+
|
|
45
|
+
- **R-B1 audit-coverage** — mutations on declared audit-scoped models
|
|
46
|
+
emit who/what/when (actor id, diff or event, timestamp, correlation
|
|
47
|
+
id) (F8; checked by `lint_persistence` against the declared scope).
|
|
48
|
+
- **R-B2 history-tier-selection** — the tier matrix is normative
|
|
49
|
+
(Tier 0 `updated_by` columns → Tier 1 row-level audit log → Tier 2
|
|
50
|
+
temporal tables → Tier 3 event sourcing). **Default: Tier 1.** Tier 3
|
|
51
|
+
requires an explicit architecture waiver — never upgrade unprompted.
|
|
52
|
+
The matrix and interlock walkthrough live in
|
|
53
|
+
[`history-design`](../skills/history-design/SKILL.md).
|
|
54
|
+
- **R-B3 audit-table-hygiene** — audit storage indexed on
|
|
55
|
+
`(auditable_type, auditable_id, created_at)`; JSON diffs, not full-row
|
|
56
|
+
copies, where a diff suffices.
|
|
57
|
+
- **R-B4 privacy-interlock** — a GDPR Art. 17 deletion/anonymization path
|
|
58
|
+
must exist for audit records before the mechanism ships.
|
|
59
|
+
- **R-B5 reliable-history-interlock** — audit capture is same-transaction
|
|
60
|
+
(Tier-1 default: observer + cheap single insert) OR outbox/afterCommit
|
|
61
|
+
with a durable queue when offloaded — per
|
|
62
|
+
[`scale-discipline`](scale-discipline.md) R-A10/R-A11.
|
|
63
|
+
|
|
64
|
+
## When NOT to fire
|
|
65
|
+
|
|
66
|
+
- Git/VCS history questions (that is `git-workflow` territory).
|
|
67
|
+
- Retention-duration policy questions ("how long may we keep X") — route
|
|
68
|
+
to `domain-safety-retention`; this rule owns the capture mechanism,
|
|
69
|
+
not the legal floor.
|
|
70
|
+
|
|
71
|
+
## See also
|
|
72
|
+
|
|
73
|
+
- [`history-design`](../skills/history-design/SKILL.md) — the tier
|
|
74
|
+
matrix walkthrough + decision artifact.
|
|
75
|
+
- [`scale-discipline`](scale-discipline.md) — R-A7 growth budget and
|
|
76
|
+
R-A10/R-A11 reliability primitives this pack builds on.
|
|
77
|
+
- [`domain-safety-retention`](domain-safety-retention.md) — jurisdiction
|
|
78
|
+
retention floors the R-A7 policy must respect.
|
|
79
|
+
- [`domain-safety-pii`](domain-safety-pii.md) — PII discipline for what
|
|
80
|
+
audit diffs may contain.
|
|
@@ -9,6 +9,8 @@ validator_ignore:
|
|
|
9
9
|
reason: "Rule scopes the .md-English mandate to the authoring tree."
|
|
10
10
|
workspaces: [agent-config-maintainer, construction, engineering, finance, founder, gtm, legal-review-prep, ops, product, small-business]
|
|
11
11
|
packs: [meta]
|
|
12
|
+
enforced_by:
|
|
13
|
+
- "validator:src/scripts/check_md_language.ts"
|
|
12
14
|
---
|
|
13
15
|
|
|
14
16
|
# Language and Tone
|
|
@@ -14,6 +14,8 @@ triggers:
|
|
|
14
14
|
- phrase: "read the file and post"
|
|
15
15
|
workspaces: [engineering]
|
|
16
16
|
packs: [engineering-base]
|
|
17
|
+
enforced_by:
|
|
18
|
+
- "validator:src/scripts/lint_skill_frontmatter_safety.ts"
|
|
17
19
|
---
|
|
18
20
|
|
|
19
21
|
# Lethal-Trifecta Guard
|
|
@@ -84,3 +86,4 @@ backstop.
|
|
|
84
86
|
- [`non-destructive-by-default`](non-destructive-by-default.md) — the human-in-the-loop egress floor.
|
|
85
87
|
- [`threat-modeling`](../skills/threat-modeling/SKILL.md) — abuse-case enumeration.
|
|
86
88
|
- [`domain-safety-pii`](domain-safety-pii.md) § Surface 4 — legal privilege markers extend this egress gate (legal pack); a privileged document on an outbound path is blocked pending explicit confirmation.
|
|
89
|
+
- [`doc-screenshot-hygiene`](doc-screenshot-hygiene.md) — a screenshot embedded into shipped docs is private-data + egress on one path; the human gate on a data-bearing embed is the egress control.
|
|
@@ -28,6 +28,8 @@ validator_ignore:
|
|
|
28
28
|
reason: "Rule contrasts project-local placement with the .agent-src.uncondensed/rules/ alternative — mentioning the path is the argument."
|
|
29
29
|
workspaces: [agent-config-maintainer, engineering, gtm]
|
|
30
30
|
packs: [ai-image, ai-video]
|
|
31
|
+
enforced_by:
|
|
32
|
+
- "validator:src/scripts/lint_media_policy_linkage.ts"
|
|
31
33
|
---
|
|
32
34
|
|
|
33
35
|
# Media Governance Routing
|
|
@@ -19,6 +19,9 @@ validator_ignore:
|
|
|
19
19
|
reason: "Rule contrasts the authoring tree with transient layers."
|
|
20
20
|
workspaces: [agent-config-maintainer]
|
|
21
21
|
packs: [meta]
|
|
22
|
+
enforced_by:
|
|
23
|
+
- "validator:src/scripts/check_no_roadmap_refs.ts"
|
|
24
|
+
- "validator:src/scripts/check_council_references.ts"
|
|
22
25
|
---
|
|
23
26
|
|
|
24
27
|
# No Transient References from Stable Artifacts
|
|
@@ -70,6 +73,6 @@ Trigger-set above activates this routing on demand, independent of the disciplin
|
|
|
70
73
|
- [`roadmap-progress-sync`](roadmap-progress-sync.md) — sync dashboard
|
|
71
74
|
on roadmap touch
|
|
72
75
|
- [`source-of-truth`](source-of-truth.md) — edit
|
|
73
|
-
|
|
76
|
+
`src/`
|
|
74
77
|
- [`ai-council`](../skills/ai-council/SKILL.md) — output path
|
|
75
78
|
convention and convergence-summary format
|
|
@@ -7,6 +7,8 @@ load_context:
|
|
|
7
7
|
- ../contexts/authority/destructive-mechanics.md
|
|
8
8
|
workspaces: [engineering]
|
|
9
9
|
packs: [engineering-base]
|
|
10
|
+
enforced_by:
|
|
11
|
+
- "none"
|
|
10
12
|
---
|
|
11
13
|
|
|
12
14
|
# Non-Destructive by Default
|
|
@@ -57,3 +59,21 @@ Applies on every surface — web, Skills API, any cloud agent. No "cloud overrid
|
|
|
57
59
|
## See also
|
|
58
60
|
|
|
59
61
|
[`autonomous-execution`](autonomous-execution.md) · [`commit-policy`](commit-policy.md) · [`scope-control`](scope-control.md) · [`user-interaction`](user-interaction.md).
|
|
62
|
+
|
|
63
|
+
## Enforcement — stated honestly (`enforced_by: none`)
|
|
64
|
+
|
|
65
|
+
This floor has **no mechanical backstop**, and pretending otherwise would be the
|
|
66
|
+
failure it exists to prevent. No script can enforce "ask before you deploy" — the
|
|
67
|
+
obligation is to pause and surface, and the only thing that observes it is the
|
|
68
|
+
human in the loop. Adjacent hooks (`block-no-verify`) guard hook-bypass, not
|
|
69
|
+
destructive intent; claiming them here would inflate coverage, so they are not
|
|
70
|
+
claimed.
|
|
71
|
+
|
|
72
|
+
So this rule is load-bearing **and** unenforced. It is carried by the model
|
|
73
|
+
honouring it — which is why it is a kernel rule, why it is short, and why it is
|
|
74
|
+
counted as uncovered in the enforcement-coverage report rather than excluded
|
|
75
|
+
from it.
|
|
76
|
+
|
|
77
|
+
## See also
|
|
78
|
+
|
|
79
|
+
[`autonomous-execution`](autonomous-execution.md) · [`commit-policy`](commit-policy.md) · [`scope-control`](scope-control.md) · [`user-interaction`](user-interaction.md).
|
|
@@ -8,6 +8,8 @@ triggers:
|
|
|
8
8
|
- path_prefix: ".agent-settings.yml"
|
|
9
9
|
workspaces: [agent-config-maintainer, construction, engineering, finance, founder, gtm, legal-review-prep, ops, product, small-business]
|
|
10
10
|
packs: [meta]
|
|
11
|
+
enforced_by:
|
|
12
|
+
- "hook:onboarding-gate"
|
|
11
13
|
---
|
|
12
14
|
|
|
13
15
|
# Onboarding Gate
|
|
@@ -25,6 +25,8 @@ validator_ignore:
|
|
|
25
25
|
reason: "Rule documents the persona authoring tree (.agent-src.uncondensed/personas/) as the deprecation-path operand."
|
|
26
26
|
workspaces: [agent-config-maintainer]
|
|
27
27
|
packs: [meta]
|
|
28
|
+
enforced_by:
|
|
29
|
+
- "validator:src/scripts/lint_persona_governance.ts"
|
|
28
30
|
---
|
|
29
31
|
|
|
30
32
|
# Persona Governance
|
|
@@ -14,6 +14,9 @@ validator_ignore:
|
|
|
14
14
|
reason: "Rule references the authoring tree as the operand of condensation/preservation."
|
|
15
15
|
workspaces: [agent-config-maintainer]
|
|
16
16
|
packs: [meta]
|
|
17
|
+
enforced_by:
|
|
18
|
+
- "validator:src/scripts/check_condensation.ts"
|
|
19
|
+
- "validator:src/scripts/skill_linter.ts"
|
|
17
20
|
---
|
|
18
21
|
|
|
19
22
|
# Preservation Guard
|
|
@@ -11,6 +11,9 @@ routes_to:
|
|
|
11
11
|
- "guideline:agent-infra/roadmap-progress-mechanics"
|
|
12
12
|
workspaces: [agent-config-maintainer, engineering]
|
|
13
13
|
packs: [meta]
|
|
14
|
+
roles: [planner]
|
|
15
|
+
enforced_by:
|
|
16
|
+
- "hook:roadmap-progress"
|
|
14
17
|
---
|
|
15
18
|
|
|
16
19
|
# Roadmap Progress Sync
|
|
@@ -73,6 +76,12 @@ Before sending any reply that landed roadmap work:
|
|
|
73
76
|
|
|
74
77
|
1. Did this reply land a step (code/doc saved + verification passed)?
|
|
75
78
|
2. Is its checkbox flipped to `[x]` / `[~]` / `[-]` in `agents/roadmaps/<file>.md`? If no → flip, then continue.
|
|
79
|
+
2b. Roadmap created/updated from an `agents/tmp/` inbox file this reply? If
|
|
80
|
+
yes → `mv` it to `agents/tmp.old/` NOW, same reply (per
|
|
81
|
+
`agents-layout § User Inbox Workflow`); point the Source line at
|
|
82
|
+
`agents/tmp.old/<name>`. Consumed inbox file left in `agents/tmp/` = rule
|
|
83
|
+
violation, not tidiness. Move ONLY the explicitly named input file(s) —
|
|
84
|
+
never sweep the rest of the inbox.
|
|
76
85
|
3. Is regen due now per `roadmap.dashboard_regen_cadence`?
|
|
77
86
|
- `per_step` → yes, always.
|
|
78
87
|
- `every_5_steps` → yes when this is the 5th, 10th, … closed step in the run, or the last step of the reply.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "auto"
|
|
3
|
+
tier: "2a"
|
|
4
|
+
description: "Scale-safe persistence — indexes with the queries, bounded reads, safe migrations, growth budgets, thin request path, durable async. Pattern lints gate; heuristics advise."
|
|
5
|
+
triggers:
|
|
6
|
+
- keyword: "migration"
|
|
7
|
+
- keyword: "index"
|
|
8
|
+
- keyword: "N+1"
|
|
9
|
+
- keyword: "eager load"
|
|
10
|
+
- keyword: "pagination"
|
|
11
|
+
- keyword: "queue"
|
|
12
|
+
- keyword: "job"
|
|
13
|
+
- keyword: "retention"
|
|
14
|
+
- keyword: "schema"
|
|
15
|
+
- keyword: "SELECT *"
|
|
16
|
+
- phrase: "will this scale"
|
|
17
|
+
- phrase: "review this migration"
|
|
18
|
+
- phrase: "add a table"
|
|
19
|
+
- phrase: "send an email on"
|
|
20
|
+
routes_to:
|
|
21
|
+
- "skill:schema-review"
|
|
22
|
+
workspaces: [engineering]
|
|
23
|
+
packs: [scale-discipline]
|
|
24
|
+
trust:
|
|
25
|
+
level: professional
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
# Scale Discipline
|
|
29
|
+
|
|
30
|
+
Pack floor for the `scale-discipline` pack (default-off; auto-activates
|
|
31
|
+
when the pack is installed). AI agents produce functionally correct but
|
|
32
|
+
scale-hostile persistence code — this rule binds the failure classes to
|
|
33
|
+
deterministic pattern lints where possible and to review advice where not.
|
|
34
|
+
|
|
35
|
+
## The Iron Law
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
INDEXES SHIP WITH THE QUERIES THAT NEED THEM. READS ARE BOUNDED.
|
|
39
|
+
MIGRATIONS ARE REVERSIBLE. APPEND-ONLY TABLES DECLARE RETENTION.
|
|
40
|
+
THE SYNC HANDLER DOES ONLY: VALIDATE → PERSIST → DISPATCH → RESPOND.
|
|
41
|
+
MUST-NOT-LOSE WORK GOES THROUGH A DURABLE QUEUE, AFTER COMMIT.
|
|
42
|
+
A HEURISTIC FINDING IS ADVICE, NEVER A CI FAILURE.
|
|
43
|
+
EVERY WAIVER CARRIES A NON-EMPTY REASON.
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Rule surface (tier per the spike-verdict record: `lint_persistence` gates where a spike PASSED; unspiked rules — R-A4, R-A9, R-A11 — are advice/normative only)
|
|
47
|
+
|
|
48
|
+
- **R-A1 query-shape** — no query calls inside iteration over query
|
|
49
|
+
results; batch/eager-load instead (F1).
|
|
50
|
+
- **R-A2 index-parity** — every FK and every WHERE/ORDER BY column has an
|
|
51
|
+
index or an explicit `// no-index: <reason>` waiver (F2).
|
|
52
|
+
- **R-A3 bounded-reads** — list endpoints paginate or declare a bound; no
|
|
53
|
+
`SELECT *` on production paths (F3).
|
|
54
|
+
- **R-A4 reference-over-copy** — new columns duplicating FK-reachable data
|
|
55
|
+
need a waiver (F4) — *advice tier*.
|
|
56
|
+
- **R-A6 migration-safety** — reversible; NOT NULL needs a default;
|
|
57
|
+
concurrent index creation where the driver supports it; no destructive
|
|
58
|
+
op without a waivered reason (F6).
|
|
59
|
+
- **R-A7 growth-budget** — append-only tables declare retention: TTL,
|
|
60
|
+
pruning job, partition rotation, or archive path (F7).
|
|
61
|
+
- **R-A8 thin-request-path** — offloadable-catalog calls (mail, PDF/media,
|
|
62
|
+
third-party HTTP, bulk mutations, ML inference, outbound webhooks)
|
|
63
|
+
inside a request handler fail lint unless waived
|
|
64
|
+
`// sync-required: <reason>` (F9). The catalog is a positive list of
|
|
65
|
+
expensive call classes — a single indexed insert never needs a job.
|
|
66
|
+
- **R-A9 event-decoupling** — side effects react to domain events or
|
|
67
|
+
observers via (queued) listeners; the mutating call site does not
|
|
68
|
+
enumerate its consumers (F10) — *advice tier*.
|
|
69
|
+
- **R-A10 durable-async** — must-not-lose work (promised emails, billing,
|
|
70
|
+
audit fan-out) goes through a durable queue with retry/backoff and a
|
|
71
|
+
dead-letter path — never in-process fire-and-forget. No broker? Use a
|
|
72
|
+
DB-backed queue driver or a documented `// accepted-loss: <reason>`
|
|
73
|
+
waiver — never a silent in-process fallback (F11).
|
|
74
|
+
- **R-A11 commit-ordering** — async dispatch that reads mutated state
|
|
75
|
+
fires after commit (Laravel `afterCommit` / `ShouldDispatchAfterCommit`;
|
|
76
|
+
generic: transactional outbox).
|
|
77
|
+
|
|
78
|
+
## When NOT to fire
|
|
79
|
+
|
|
80
|
+
- No persistence surface in the change (docs, UI-only, config).
|
|
81
|
+
- Runtime performance analysis of live traffic — that is APM territory,
|
|
82
|
+
not artifact linting.
|
|
83
|
+
|
|
84
|
+
## See also
|
|
85
|
+
|
|
86
|
+
- [`schema-review`](../skills/schema-review/SKILL.md) — runs the linter,
|
|
87
|
+
emits the gap table + neutral waiver-density report.
|
|
88
|
+
- [`history-discipline`](history-discipline.md) — sibling pack floor;
|
|
89
|
+
audit tables fall under R-A7 here.
|
|
90
|
+
- [`architecture`](architecture.md) — thin handlers; this rule is its
|
|
91
|
+
persistence-shaped enforcement.
|
|
92
|
+
- `src/scripts/lint_persistence.ts` — the deterministic backstop.
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "auto"
|
|
3
|
+
tier: "2a"
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
description: "About to write a credential into a tracked file or stage/commit one in any VCS (git/svn/hg) — STOP, show the match, ask, offer alternatives; never silently commit, never silently strip"
|
|
6
|
+
triggers:
|
|
7
|
+
- intent: "writing a credential or API key into a file"
|
|
8
|
+
- intent: "committing or staging changes that may contain a secret"
|
|
9
|
+
- keyword: "secret"
|
|
10
|
+
- keyword: "password"
|
|
11
|
+
- keyword: "credential"
|
|
12
|
+
- keyword: "api key"
|
|
13
|
+
- keyword: "token"
|
|
14
|
+
- keyword: ".env"
|
|
15
|
+
- keyword: "commit"
|
|
16
|
+
- keyword: "git add"
|
|
17
|
+
- keyword: "svn commit"
|
|
18
|
+
- keyword: "hg commit"
|
|
19
|
+
- keyword: "push"
|
|
20
|
+
routes_to:
|
|
21
|
+
- "skill:secrets-management"
|
|
22
|
+
validator_ignore:
|
|
23
|
+
- type: "substring"
|
|
24
|
+
pattern: "../../docs/"
|
|
25
|
+
reason: "See-also routes to docs/threat-model.md — the canonical attack-surface doc lives there by design."
|
|
26
|
+
workspaces: [engineering]
|
|
27
|
+
packs: [engineering-base]
|
|
28
|
+
enforced_by:
|
|
29
|
+
- "validator:src/scripts/check_secret_leak.ts"
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
# Secret-in-VCS Guard
|
|
33
|
+
|
|
34
|
+
A committed secret is a leaked secret. Once it reaches version control it is in
|
|
35
|
+
the history, in every clone and fork, and — on a public remote — scraped by bots
|
|
36
|
+
within minutes. `git rm` does not un-leak it; only rotation does. The cheapest
|
|
37
|
+
moment to stop it is **before** the write. The agent is upstream of the commit,
|
|
38
|
+
so the agent is the earliest gate.
|
|
39
|
+
|
|
40
|
+
## The Iron Law
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
NEVER WRITE A CREDENTIAL INTO A TRACKED (OR TO-BE-TRACKED) FILE, AND NEVER
|
|
44
|
+
STAGE / COMMIT CONTENT CONTAINING ONE — IN ANY VCS (git · svn · hg) —
|
|
45
|
+
WITHOUT STOPPING FIRST.
|
|
46
|
+
DETECT → SHOW THE MATCH (file:line · kind · why risky) → ASK → OFFER ALTERNATIVES.
|
|
47
|
+
NEVER SILENTLY COMMIT A SECRET. NEVER SILENTLY STRIP ONE.
|
|
48
|
+
ALREADY IN HISTORY → ROTATE FIRST. git rm DOES NOT UN-LEAK.
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## When it fires
|
|
52
|
+
|
|
53
|
+
The agent is about to (a) write/edit a value that looks like a live credential
|
|
54
|
+
into a tracked or soon-to-be-tracked file, or (b) `git add` / `git commit` /
|
|
55
|
+
`svn commit` / `hg commit` / push content containing one. Detection uses the
|
|
56
|
+
`secret_detector` library (regex rule pack + Shannon entropy + keyword context):
|
|
57
|
+
AWS/GitHub/Stripe/Google/Slack keys, PEM private keys, JWTs, DB connection URLs
|
|
58
|
+
with embedded credentials, and `password=` / `api_key=` style assignments.
|
|
59
|
+
|
|
60
|
+
## What to do on a `high`-confidence hit
|
|
61
|
+
|
|
62
|
+
1. **STOP** — do not write, stage, or commit.
|
|
63
|
+
2. **Show** the match: `file:line`, the kind, a masked preview, and why it is
|
|
64
|
+
risky. Never echo the full secret back.
|
|
65
|
+
3. **Ask** via numbered options (per [`non-destructive-by-default`](non-destructive-by-default.md) +
|
|
66
|
+
[`user-interaction`](user-interaction.md)) — e.g. *move it to a secret store
|
|
67
|
+
(recommended)* / *this is a false positive, add a narrow allow-marker* /
|
|
68
|
+
*commit anyway (I understand the risk)*. Never decide for the user; never
|
|
69
|
+
auto-strip.
|
|
70
|
+
4. **Offer the alternative**, tiered to context (full table in
|
|
71
|
+
[`secrets-management`](../skills/secrets-management/SKILL.md)): solo/local →
|
|
72
|
+
gitignored `.env` + committed `.env.example`; team/prod → cloud secret manager
|
|
73
|
+
or Vault/Doppler; k8s/GitOps → SOPS / Sealed Secrets; CI → OIDC over stored
|
|
74
|
+
creds.
|
|
75
|
+
|
|
76
|
+
## Already committed / pushed → rotate first
|
|
77
|
+
|
|
78
|
+
If the secret is already in history, lead with **rotate/revoke the credential
|
|
79
|
+
now** — that is the only action that actually stops the damage. State plainly
|
|
80
|
+
that `git rm` and even a history rewrite do **not** un-leak an already-pushed
|
|
81
|
+
secret; then, if the user wants, point to history purge (`git filter-repo` / BFG)
|
|
82
|
+
plus force-push and collaborator re-clone. See
|
|
83
|
+
[`secrets-management`](../skills/secrets-management/SKILL.md).
|
|
84
|
+
|
|
85
|
+
## Honesty — one layer, not the whole defense
|
|
86
|
+
|
|
87
|
+
The agent-side gate is one layer and only covers what the agent writes. Recommend
|
|
88
|
+
the user also enable the non-bypassable nets: the repo's CI secret-scan
|
|
89
|
+
(`check_secret_leak`) and, where available, the host's push-protection.
|
|
90
|
+
|
|
91
|
+
## When NOT to fire
|
|
92
|
+
|
|
93
|
+
- `.env.example` / `*.sample` / `*.example` files with placeholder values.
|
|
94
|
+
- A line carrying an audited allow-marker (`# secret-allow` / `// secret-allow` /
|
|
95
|
+
`<!-- secret-allow -->`) or listed in the repo `.secret-allow` file.
|
|
96
|
+
- Obvious placeholders (`xxxx`, `changeme`, `your-key-here`, `<...>`), test
|
|
97
|
+
fixtures explicitly marked as such, and non-credential high-entropy strings
|
|
98
|
+
(hashes, UUIDs, lockfile digests) with no credential keyword nearby.
|
|
99
|
+
|
|
100
|
+
## See also
|
|
101
|
+
|
|
102
|
+
- [`secrets-management`](../skills/secrets-management/SKILL.md) — store selection, tiered alternatives, rotation contract, remediation ordering.
|
|
103
|
+
- [`security-sensitive-stop`](security-sensitive-stop.md) — threat-model before editing a secrets surface (fires first, broader).
|
|
104
|
+
- [`tool-safety`](tool-safety.md) — "no hidden credentials" in shipped files.
|
|
105
|
+
- [`non-destructive-by-default`](non-destructive-by-default.md) — the commit/push confirmation floor this builds on.
|
|
106
|
+
- [`lethal-trifecta-guard`](lethal-trifecta-guard.md) — secrets are the private-data leg of the trifecta.
|
|
@@ -16,6 +16,8 @@ validator_ignore:
|
|
|
16
16
|
reason: "See-also routes to docs/threat-model.md — the canonical attack-surface doc lives there by design."
|
|
17
17
|
workspaces: [engineering]
|
|
18
18
|
packs: [engineering-base]
|
|
19
|
+
enforced_by:
|
|
20
|
+
- "none"
|
|
19
21
|
---
|
|
20
22
|
|
|
21
23
|
# Security-Sensitive Stop Rule
|
|
@@ -100,4 +102,12 @@ Authorization and tenancy bugs are often invisible in logs and fire silently
|
|
|
100
102
|
until an auditor or attacker finds them. The cheapest moment to catch them
|
|
101
103
|
is before the first edit — this rule makes that the default path.
|
|
102
104
|
|
|
103
|
-
|
|
105
|
+
## Enforcement — stated honestly (`enforced_by: none`)
|
|
106
|
+
|
|
107
|
+
No script can enforce "threat-model before you edit": obligation is a pre-edit
|
|
108
|
+
reasoning step only the model observes (ADR-135 classifies it HIGH —
|
|
109
|
+
model-carried, honestly uncovered). Adjacent validators (`check_secret_leak`,
|
|
110
|
+
`lint_agent_security`) cover neighbouring surfaces, not this stop — claiming
|
|
111
|
+
them here would inflate coverage, so not claimed.
|
|
112
|
+
|
|
113
|
+
See also: `threat-modeling` · `authz-review` · `data-flow-mapper` · `minimal-safe-diff` · `think-before-action` · [`untrusted-input-defense`](untrusted-input-defense.md) · [`lethal-trifecta-guard`](lethal-trifecta-guard.md) · [`secret-vcs-guard`](secret-vcs-guard.md) · [`docs/threat-model.md`](../../docs/threat-model.md).
|