@event4u/agent-config 14.11.0 → 14.13.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/.augment-plugin/marketplace.json +3 -3
- package/.augment-plugin/plugin.json +1 -1
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +368 -516
- package/CONTRIBUTING.md +38 -0
- package/CREDITS.md +135 -0
- package/NOTICE +13 -0
- package/README.md +8 -6
- package/dist/agent-src/commands/analyze/inbox.md +109 -2
- package/dist/agent-src/commands/feature/dev.md +7 -2
- package/dist/agent-src/commands/ghostwriter/write.md +5 -1
- package/dist/agent-src/commands/implement-ticket.md +1 -1
- package/dist/agent-src/commands/mission/upgrade.md +1 -1
- package/dist/agent-src/commands/orchestrate.md +2 -2
- package/dist/agent-src/commands/post-as/me.md +5 -1
- package/dist/agent-src/commands/pr/merge.md +19 -6
- package/dist/agent-src/commands/roadmap/process-full.md +19 -5
- package/dist/agent-src/commands/tdd/red.md +12 -2
- package/dist/agent-src/commands/work.md +1 -1
- package/dist/agent-src/contexts/communication/rules-auto/token-efficiency-mechanics.md +40 -0
- package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +5 -2
- package/dist/agent-src/contexts/execution/autonomy-mechanics.md +21 -0
- package/dist/agent-src/contexts/execution/evidence-discipline.md +26 -0
- package/dist/agent-src/contexts/execution/orchestration-telemetry.md +1 -0
- package/dist/agent-src/contexts/execution/subagent-response-contract.md +40 -0
- package/dist/agent-src/contexts/execution/subagent-steering.md +13 -1
- package/dist/agent-src/contexts/execution/terminal-states.md +96 -0
- package/dist/agent-src/rules/artifact-drafting-protocol.md +1 -1
- package/dist/agent-src/rules/broken-access-control.md +4 -0
- package/dist/agent-src/rules/code-provenance.md +4 -0
- package/dist/agent-src/rules/design-fidelity.md +1 -1
- package/dist/agent-src/rules/domain-safety-pii.md +4 -0
- package/dist/agent-src/rules/domain-safety-retention.md +4 -0
- package/dist/agent-src/rules/engineering-safety-floor.md +2 -0
- package/dist/agent-src/rules/external-code-graph-interop.md +14 -12
- package/dist/agent-src/rules/improve-before-implement.md +6 -8
- package/dist/agent-src/rules/laravel-routing.md +1 -1
- package/dist/agent-src/rules/lethal-trifecta-guard.md +4 -0
- package/dist/agent-src/rules/secret-vcs-guard.md +2 -0
- package/dist/agent-src/rules/security-sensitive-stop.md +2 -0
- package/dist/agent-src/rules/source-confidentiality.md +12 -34
- package/dist/agent-src/rules/symfony-routing.md +1 -1
- package/dist/agent-src/rules/token-efficiency.md +14 -0
- package/dist/agent-src/rules/tool-safety.md +4 -0
- package/dist/agent-src/rules/untrusted-input-defense.md +4 -0
- package/dist/agent-src/scripts/archive_completed_roadmaps.ts +247 -3
- package/dist/agent-src/scripts/guarded_baseline.ts +328 -0
- package/dist/agent-src/scripts/roadmap_set_step.ts +253 -0
- package/dist/agent-src/scripts/stub_queue.ts +82 -0
- package/dist/agent-src/scripts/stubs_due.ts +400 -0
- package/dist/agent-src/scripts/ticket_bundles.ts +84 -0
- package/dist/agent-src/scripts/update_roadmap_progress.ts +8 -4
- package/dist/agent-src/skills/brand-asset-generation/SKILL.md +17 -4
- package/dist/agent-src/skills/brand-audit/SKILL.md +33 -0
- package/dist/agent-src/skills/code-intelligence/SKILL.md +57 -0
- package/dist/agent-src/skills/code-refactoring/SKILL.md +45 -1
- package/dist/agent-src/skills/code-review/SKILL.md +65 -6
- package/dist/agent-src/skills/command-writing/SKILL.md +35 -0
- package/dist/agent-src/skills/database/SKILL.md +8 -0
- package/dist/agent-src/skills/dependency-upgrade/SKILL.md +27 -0
- package/dist/agent-src/skills/design-review/SKILL.md +1 -1
- package/dist/agent-src/skills/doc-coauthoring/SKILL.md +1 -1
- package/dist/agent-src/skills/existing-ui-audit/SKILL.md +25 -2
- package/dist/agent-src/skills/feature-planning/SKILL.md +9 -2
- package/dist/agent-src/skills/frontend-render-security/SKILL.md +44 -0
- package/dist/agent-src/skills/git-workflow/SKILL.md +1 -1
- package/dist/agent-src/skills/js-library-packaging/scripts/check_package_surface.ts +38 -4
- package/dist/agent-src/skills/judge-artifact-completeness/rubrics/ticket-quality-score.json +2 -2
- package/dist/agent-src/skills/laravel/SKILL.md +35 -0
- package/dist/agent-src/skills/laravel-migration/SKILL.md +57 -3
- package/dist/agent-src/skills/monorepo-workspace/SKILL.md +26 -0
- package/dist/agent-src/skills/playbook-authoring/SKILL.md +28 -1
- package/dist/agent-src/skills/project-analysis-core/SKILL.md +23 -0
- package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +30 -13
- package/dist/agent-src/skills/skill-writing/references/procedure.md +29 -7
- package/dist/agent-src/skills/sql-writing/SKILL.md +7 -1
- package/dist/agent-src/skills/standards-from-config/SKILL.md +27 -4
- package/dist/agent-src/skills/storybook-workshop/SKILL.md +9 -0
- package/dist/agent-src/skills/supply-chain-intake/SKILL.md +11 -4
- package/dist/agent-src/skills/symfony-workflow/SKILL.md +35 -0
- package/dist/agent-src/skills/test-case-discovery/SKILL.md +85 -0
- package/dist/agent-src/skills/test-driven-development/SKILL.md +33 -9
- package/dist/agent-src/skills/testing-anti-patterns/SKILL.md +1 -1
- package/dist/agent-src/skills/testing-anti-patterns/process-anti-patterns.md +37 -0
- package/dist/agent-src/skills/ui-component-architect/SKILL.md +53 -2
- package/dist/agent-src/skills/upstream-contribute/SKILL.md +38 -1
- package/dist/agent-src/skills/verify-repair-loop/SKILL.md +9 -4
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/agent-src/templates/roadmaps.md +97 -3
- package/dist/agent-src/templates/scripts/check_memory.ts +258 -17
- package/dist/agent-src/templates/scripts/check_memory_proposal.ts +9 -3
- package/dist/agent-src/templates/scripts/memory_lookup.ts +86 -0
- package/dist/agent-src/templates/scripts/memory_signal.ts +44 -0
- package/dist/agent-src/templates/scripts/work_engine/directives/backend/implement.ts +90 -0
- package/dist/agent-src/templates/scripts/work_engine/directives/backend/index.ts +11 -0
- package/dist/agent-src/templates/scripts/work_engine/directives/backend/test.ts +23 -1
- package/dist/agent-src/templates/scripts/work_engine/directives/backend/verify.ts +10 -1
- package/dist/agent-src/templates/scripts/work_engine/directives/mixed/stitch.ts +5 -1
- package/dist/agent-src/templates/scripts/work_engine/stack/runner.ts +102 -14
- package/dist/cli/commands/uiAudit.js +124 -5
- package/dist/cli/registry.js +2 -0
- package/dist/cli-delegate/{chunk-HYWSRNUX.js → chunk-2DK2VJWG.js} +3 -3
- package/dist/cli-delegate/{chunk-L43NCYPB.js → chunk-4FS4WRXP.js} +10 -0
- package/dist/cli-delegate/{chunk-OMIVVCG2.js → chunk-A4QJ6ENT.js} +24 -0
- package/dist/cli-delegate/{chunk-236PNQZK.js → chunk-AKJGUQNO.js} +466 -285
- package/dist/cli-delegate/{chunk-E46KPN6K.js → chunk-BTWUYDGN.js} +424 -363
- package/dist/cli-delegate/{chunk-K4FFODTS.js → chunk-ILMUPLGW.js} +1227 -316
- package/dist/cli-delegate/{chunk-FF7WAFMR.js → chunk-KPBWFOPZ.js} +5 -1
- package/dist/cli-delegate/cmd_adr_effective.js +102 -0
- package/dist/cli-delegate/cmd_conformance.js +42 -10
- package/dist/cli-delegate/cmd_doctor.js +3 -3
- package/dist/cli-delegate/cmd_export.js +3 -2
- package/dist/cli-delegate/cmd_fleet.js +2 -2
- package/dist/cli-delegate/cmd_handoff.js +1 -1
- package/dist/cli-delegate/cmd_preflight.js +2 -2
- package/dist/cli-delegate/cmd_prune.js +3 -2
- package/dist/cli-delegate/cmd_settings_get.js +1 -1
- package/dist/cli-delegate/cmd_settings_migrate.js +3 -2
- package/dist/cli-delegate/cmd_settings_set.js +2 -2
- package/dist/cli-delegate/cmd_sync.js +3 -2
- package/dist/cli-delegate/cmd_uninstall.js +3 -2
- package/dist/cli-delegate/cmd_validate.js +3 -2
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +62 -62
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +1 -1
- package/dist/discovery/dormancy-report.md +1 -1
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +2 -2
- package/dist/discovery/trust-report.md +1 -1
- package/dist/discovery/workspaces.json +2 -2
- package/dist/hooks/dispatch.js +2413 -1087
- package/dist/install/claudeRuleRewrite.js +254 -0
- package/dist/install/detect.js +29 -16
- package/dist/install/detect_php_shape.js +159 -0
- package/dist/install/install.mjs +639 -428
- 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 +3 -3
- package/dist/mcp/server.json +3 -3
- package/dist/mcp/server.mjs +4818 -2645
- package/dist/server/schemas/settings.js +6 -0
- package/dist/ui/assets/index-D0jaCRPM.js +29 -0
- package/dist/ui/index.html +1 -1
- package/docs/MIGRATION.md +1 -1
- package/docs/THIRD-PARTY-NOTICES.md +25 -0
- package/docs/contracts/provider-lifecycle.md +1 -1
- package/docs/contracts/settings-classes.md +30 -4
- package/docs/guidelines/agent-infra/5w2h-analysis.md +3 -3
- package/docs/guidelines/agent-infra/agent-interaction-and-decision-quality.md +1 -0
- package/docs/guidelines/agent-infra/artifact-drafting-protocol-mechanics.md +58 -3
- package/docs/guidelines/agent-infra/ask-when-uncertain-demos.md +2 -2
- package/docs/guidelines/agent-infra/asking-and-brevity-examples.md +3 -3
- package/docs/guidelines/agent-infra/break-glass-usage.md +7 -7
- package/docs/guidelines/agent-infra/carve-out-predicates.md +3 -3
- package/docs/guidelines/agent-infra/comparison-matrix.md +1 -1
- package/docs/guidelines/agent-infra/critical-thinking.md +4 -4
- package/docs/guidelines/agent-infra/direct-answers-demos.md +2 -2
- package/docs/guidelines/agent-infra/domain-eval-anti-pattern.md +1 -1
- package/docs/guidelines/agent-infra/downstream-changes-mechanics.md +91 -0
- package/docs/guidelines/agent-infra/engineering-memory-data-format.md +3 -3
- package/docs/guidelines/agent-infra/existence-question-verdicts.md +80 -0
- package/docs/guidelines/agent-infra/first-principles.md +2 -2
- package/docs/guidelines/agent-infra/framework-neutrality-patterns.md +2 -2
- package/docs/guidelines/agent-infra/guarded-baseline.md +39 -0
- package/docs/guidelines/agent-infra/inversion-thinking.md +5 -5
- package/docs/guidelines/agent-infra/language-and-tone-examples.md +1 -1
- package/docs/guidelines/agent-infra/layered-settings.md +10 -10
- package/docs/guidelines/agent-infra/memory-access.md +1 -1
- package/docs/guidelines/agent-infra/mental-models.md +3 -3
- package/docs/guidelines/agent-infra/reuse-verdict-mechanics.md +71 -0
- package/docs/guidelines/agent-infra/review-routing-data-format.md +7 -7
- package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +13 -7
- package/docs/guidelines/agent-infra/role-contracts.md +2 -2
- package/docs/guidelines/agent-infra/role-mode-router.md +3 -3
- package/docs/guidelines/agent-infra/rule-type-governance.md +2 -2
- package/docs/guidelines/agent-infra/scqa-framework.md +5 -5
- package/docs/guidelines/agent-infra/self-improvement-pipeline.md +6 -6
- package/docs/guidelines/agent-infra/simplicity-and-goal-demos.md +2 -2
- package/docs/guidelines/agent-infra/six-hats.md +3 -3
- package/docs/guidelines/agent-infra/skill-quality-checklist.md +6 -6
- package/docs/guidelines/agent-infra/source-confidentiality-mechanics.md +109 -0
- package/docs/guidelines/agent-infra/systems-thinking.md +1 -1
- package/docs/guidelines/agent-infra/verify-before-complete-demos.md +2 -2
- package/docs/guidelines/augment-portability-patterns.md +6 -4
- package/docs/guidelines/code-clarity.md +21 -0
- package/docs/guidelines/component-oriented-and-oop-development.md +3 -2
- package/docs/guidelines/cross-role-handoff.md +2 -2
- package/docs/guidelines/design-fidelity-mechanics.md +1 -1
- package/docs/guidelines/docs/readme-size-and-splitting.md +3 -3
- package/docs/guidelines/php/database.md +90 -7
- package/docs/guidelines/prompt-templates.md +7 -7
- package/docs/guidelines/redundancy-taxonomy.md +180 -0
- package/llms.txt +2 -2
- package/package.json +10 -3
- package/src/agent-src/scripts/archive_completed_roadmaps.ts +247 -3
- package/src/agent-src/scripts/guarded_baseline.ts +328 -0
- package/src/agent-src/scripts/roadmap_set_step.ts +253 -0
- package/src/agent-src/scripts/stub_queue.ts +82 -0
- package/src/agent-src/scripts/stubs_due.ts +400 -0
- package/src/agent-src/scripts/ticket_bundles.ts +84 -0
- package/src/agent-src/scripts/update_roadmap_progress.ts +8 -4
- package/src/agent-src/templates/scripts/check_memory.ts +258 -17
- package/src/agent-src/templates/scripts/check_memory_proposal.ts +9 -3
- package/src/agent-src/templates/scripts/memory_lookup.ts +86 -0
- package/src/agent-src/templates/scripts/memory_signal.ts +44 -0
- package/src/agent-src/templates/scripts/work_engine/directives/backend/implement.ts +90 -0
- package/src/agent-src/templates/scripts/work_engine/directives/backend/index.ts +11 -0
- package/src/agent-src/templates/scripts/work_engine/directives/backend/test.ts +23 -1
- package/src/agent-src/templates/scripts/work_engine/directives/backend/verify.ts +10 -1
- package/src/agent-src/templates/scripts/work_engine/directives/mixed/stitch.ts +5 -1
- package/src/agent-src/templates/scripts/work_engine/stack/runner.ts +102 -14
- package/src/config/agent-settings.template.yml +48 -3
- package/src/config/assurance-capability-registry.json +21 -9
- package/src/config/budgets.yml +19 -0
- package/src/config/canonical-terms.yml +119 -0
- package/src/config/capability-native-outcome-bars.json +81 -0
- package/src/config/ci-local-parity.yml +95 -0
- package/src/config/discovery/prompt-patterns.yml +56 -0
- package/src/config/drafting-channels.yml +43 -0
- package/src/config/estate-count-budget.json +38 -31
- package/src/config/evaluator-budgets.json +14 -14
- package/src/config/gate-coverage.yml +731 -30
- package/src/config/gate-reachability-exemptions.json +21 -0
- package/src/config/gate-violation-baselines.json +38 -20
- package/src/config/harness-evolution-budget.json +25 -0
- package/src/config/lapsed-beta-baseline.json +96 -0
- package/src/config/memory-twin-verdicts.yml +129 -0
- package/src/config/metric-registry.yml +124 -0
- package/src/config/pack-size-budget.json +35 -7
- package/src/config/preamble-payload-budget.json +97 -71
- package/src/config/profiles/balanced.ini +27 -0
- package/src/config/profiles/full.ini +27 -0
- package/src/config/profiles/minimal.ini +27 -0
- package/src/config/publish-surface.json +9 -2
- package/src/config/routing-coverage-seed.json +43 -0
- package/src/config/rule-stub-ceilings.json +126 -112
- package/src/config/suggestion-capture.json +28 -0
- package/src/config/surface-matrix.yml +21 -2
- package/src/config/turnaround-budget.json +66 -0
- package/src/config/web-launch-readiness.json +188 -0
- package/src/install/claudeRuleRewrite.ts +288 -0
- package/src/install/detect.ts +60 -17
- package/src/install/detect_php_shape.ts +191 -0
- package/src/scripts/_cli/cmd_doctor.ts +27 -112
- package/src/scripts/_dispatch.bash +27 -0
- package/src/scripts/_lib/activation_ladder.ts +211 -0
- package/src/scripts/_lib/activation_states.ts +88 -0
- package/src/scripts/_lib/adherence_detectors.ts +143 -0
- package/src/scripts/_lib/arith_claims.ts +181 -0
- package/src/scripts/_lib/arm_ranking.ts +62 -0
- package/src/scripts/_lib/asset_delivery_ledger.ts +303 -0
- package/src/scripts/_lib/audit_field_provenance.ts +54 -0
- package/src/scripts/_lib/auto_dispatch.ts +32 -3
- package/src/scripts/_lib/bench_ab_size_claim.ts +98 -4
- package/src/scripts/_lib/benchmark_cache_fields.ts +158 -0
- package/src/scripts/_lib/candidate_proposer.ts +402 -0
- package/src/scripts/_lib/candidate_record.ts +601 -0
- package/src/scripts/_lib/capture_rate.ts +319 -0
- package/src/scripts/_lib/collector_denominator.ts +771 -0
- package/src/scripts/_lib/collector_record.ts +340 -0
- package/src/scripts/_lib/collector_store.ts +664 -0
- package/src/scripts/_lib/collector_supervision.ts +827 -0
- package/src/scripts/_lib/concern_estate.ts +77 -0
- package/src/scripts/_lib/config_chain.ts +477 -0
- package/src/scripts/_lib/config_cost.ts +209 -0
- package/src/scripts/_lib/council_settings_block.ts +6 -0
- package/src/scripts/_lib/curator_ops.ts +172 -0
- package/src/scripts/_lib/delivery_arm_experiment.ts +266 -0
- package/src/scripts/_lib/delivery_criticality.ts +126 -0
- package/src/scripts/_lib/doctor_runtime_checks.ts +70 -0
- package/src/scripts/_lib/empty_cycles.ts +88 -0
- package/src/scripts/_lib/eval_publication.ts +354 -0
- package/src/scripts/_lib/evaluation_vector.ts +283 -0
- package/src/scripts/_lib/evaluator_promotion.ts +225 -0
- package/src/scripts/_lib/evidence_basis.ts +118 -0
- package/src/scripts/_lib/exec_evidence.ts +8 -0
- package/src/scripts/_lib/experience_card.ts +272 -0
- package/src/scripts/_lib/experience_report.ts +151 -0
- package/src/scripts/_lib/experiment_freeze.ts +112 -0
- package/src/scripts/_lib/gate_baseline.ts +150 -1
- package/src/scripts/_lib/generated_by.ts +66 -0
- package/src/scripts/_lib/harness_evolution_guards.ts +229 -0
- package/src/scripts/_lib/hook_effect_probe.ts +141 -0
- package/src/scripts/_lib/host_denominator.ts +687 -0
- package/src/scripts/_lib/host_projection_reach.ts +157 -0
- package/src/scripts/_lib/ignored_blocker.ts +148 -0
- package/src/scripts/_lib/install_reach_checks.ts +495 -0
- package/src/scripts/_lib/json_duplicate_keys.ts +150 -0
- package/src/scripts/_lib/judge_hygiene.ts +228 -0
- package/src/scripts/_lib/legacy_boundary_map.ts +228 -0
- package/src/scripts/_lib/loop_guards.ts +299 -0
- package/src/scripts/_lib/loss_class.ts +129 -0
- package/src/scripts/_lib/machine_wake.ts +51 -0
- package/src/scripts/_lib/md_prose_lines.ts +177 -0
- package/src/scripts/_lib/minimality_tiebreak.ts +168 -0
- package/src/scripts/_lib/one_resolver_invariant.ts +449 -0
- package/src/scripts/_lib/orchestration_record.ts +253 -5
- package/src/scripts/_lib/outcome_envelope.ts +227 -0
- package/src/scripts/_lib/outcome_vocabularies.ts +125 -0
- package/src/scripts/_lib/paired_stats.ts +245 -0
- package/src/scripts/_lib/paired_verdict.ts +226 -0
- package/src/scripts/_lib/prefix_stable_surfaces.ts +123 -0
- package/src/scripts/_lib/privacy_class.ts +47 -0
- package/src/scripts/_lib/regression_neighbourhood.ts +259 -0
- package/src/scripts/_lib/repeated_failure.ts +105 -0
- package/src/scripts/_lib/repo_root.ts +111 -0
- package/src/scripts/_lib/review_skipped_record.ts +37 -0
- package/src/scripts/_lib/role_split.ts +338 -0
- package/src/scripts/_lib/runtime_journal.ts +1499 -0
- package/src/scripts/_lib/runtime_wiring_checks.ts +430 -0
- package/src/scripts/_lib/skill_catalogue.ts +11 -1
- package/src/scripts/_lib/skill_estate.ts +115 -0
- package/src/scripts/_lib/source_digest.ts +200 -0
- package/src/scripts/_lib/source_redact.ts +260 -0
- package/src/scripts/_lib/source_shape.ts +502 -0
- package/src/scripts/_lib/source_snapshot_dedup.ts +199 -0
- package/src/scripts/_lib/strip_comments.d.mts +8 -0
- package/src/scripts/_lib/strip_comments.mjs +65 -0
- package/src/scripts/_lib/test_red_state.ts +154 -0
- package/src/scripts/_lib/trigger_shift.ts +144 -0
- package/src/scripts/_lib/untrusted_content.ts +82 -7
- package/src/scripts/adoption_report.ts +1 -1
- package/src/scripts/adr/evidence_census.ts +1 -1
- package/src/scripts/adr/regenerate_index.ts +26 -2
- package/src/scripts/adr_cite_check.ts +164 -1
- package/src/scripts/ai_council/argument_exhaustion.ts +130 -0
- package/src/scripts/ai_council/blind_review.ts +11 -1
- package/src/scripts/ai_council/clients.ts +4 -0
- package/src/scripts/ai_council/config.ts +3 -0
- package/src/scripts/ai_council/consensus.ts +28 -8
- package/src/scripts/ai_council/consensus_round.ts +226 -0
- package/src/scripts/ai_council/disagreement_signal.ts +338 -0
- package/src/scripts/ai_council/inline_findings.ts +340 -0
- package/src/scripts/ai_council/judge_position_bias.ts +197 -0
- package/src/scripts/ai_council/orchestrator.ts +16 -203
- package/src/scripts/ai_council/orchestrator_results.ts +23 -3
- package/src/scripts/ai_council/pricing.ts +106 -0
- package/src/scripts/ai_council/prompts.ts +74 -7
- package/src/scripts/ai_council/provider_leakage_bench.ts +327 -0
- package/src/scripts/ai_council/py_format.ts +14 -3
- package/src/scripts/ai_council/recouncil_guard.ts +293 -0
- package/src/scripts/ai_council/response_record.ts +50 -0
- package/src/scripts/ai_council/topology_bench_manifest.ts +860 -0
- package/src/scripts/ai_council/topology_vocabulary.ts +175 -0
- package/src/scripts/asset_delivery_ledger.ts +157 -0
- package/src/scripts/attest_artifact.ts +193 -0
- package/src/scripts/audit_auto_rules.ts +2 -1
- package/src/scripts/audit_command_surface.ts +1 -1
- package/src/scripts/audit_mcp_tools.ts +2 -2
- package/src/scripts/audit_skill_overlap_allowlist.json +6 -1
- package/src/scripts/audit_user_type_axis.ts +2 -1
- package/src/scripts/bench_ab_clone.ts +215 -10
- package/src/scripts/bench_ab_integrity.ts +119 -5
- package/src/scripts/bench_ab_v2_stats.ts +40 -213
- package/src/scripts/build_archive_index.ts +1 -1
- package/src/scripts/build_linear_digest.ts +1 -1
- package/src/scripts/build_proof.ts +11 -4
- package/src/scripts/build_rule_trigger_matrix.ts +1 -1
- package/src/scripts/build_source_digests.ts +157 -0
- package/src/scripts/cache_realization_report.ts +103 -0
- package/src/scripts/check_adr_frontmatter.ts +126 -0
- package/src/scripts/check_benchmark_report_fields.ts +207 -0
- package/src/scripts/check_beta_review_markers.ts +235 -6
- package/src/scripts/check_bundle_path_leakage.ts +195 -7
- package/src/scripts/check_claims.ts +576 -6
- package/src/scripts/check_command_examples.ts +557 -0
- package/src/scripts/check_composite_arming.ts +35 -0
- package/src/scripts/check_concern_admissions.ts +365 -0
- package/src/scripts/check_enforcement_coverage.ts +28 -0
- package/src/scripts/check_estate_count.ts +263 -3
- package/src/scripts/check_gate_reachability.ts +383 -0
- package/src/scripts/check_host_loadability.ts +104 -0
- package/src/scripts/check_loss_class_declared.ts +308 -0
- package/src/scripts/check_md_language.ts +15 -98
- package/src/scripts/check_memory_proposal.ts +18 -11
- package/src/scripts/check_no_currency_in_cost_surfaces.ts +225 -0
- package/src/scripts/check_no_external_sources.ts +281 -6
- package/src/scripts/check_pack_conformance_fixture.ts +11 -1
- package/src/scripts/check_pack_size.ts +59 -2
- package/src/scripts/check_preamble_payload_budget.ts +144 -6
- package/src/scripts/check_prefix_stable_mutation.ts +372 -0
- package/src/scripts/check_publish_surface.ts +10 -1
- package/src/scripts/check_references.ts +24 -1
- package/src/scripts/check_routing_coverage.ts +352 -0
- package/src/scripts/check_rule_evidence_declaration.ts +316 -0
- package/src/scripts/check_rule_projection_integrity.ts +14 -4
- package/src/scripts/check_score_contract.ts +528 -0
- package/src/scripts/check_skill_admissions.ts +514 -0
- package/src/scripts/check_static_parity.ts +285 -0
- package/src/scripts/check_supervision_claim_atomicity.ts +498 -0
- package/src/scripts/check_suppression_hygiene.ts +15 -0
- package/src/scripts/check_web_launch_readiness.ts +705 -0
- package/src/scripts/ci_settle.ts +39 -2
- package/src/scripts/code_graph/build.ts +60 -3
- package/src/scripts/code_graph/extract.ts +44 -0
- package/src/scripts/code_graph/types.ts +24 -0
- package/src/scripts/collector_daemon.ts +714 -0
- package/src/scripts/config_cost_report.ts +302 -0
- package/src/scripts/consumer_matrix.ts +74 -1
- package/src/scripts/cost/budget.mjs +10 -3
- package/src/scripts/cost/track.mjs +10 -3
- package/src/scripts/council_cli.ts +37 -54
- package/src/scripts/description_route_check.ts +494 -0
- package/src/scripts/dispatch_r2_reviewer.ts +46 -5
- package/src/scripts/evolution_lab.ts +980 -0
- package/src/scripts/external_sources_denylist.json +5 -18
- package/src/scripts/extract_audit_patterns.ts +21 -0
- package/src/scripts/fold_intake.ts +12 -1
- package/src/scripts/gen_discovery_baseline.ts +1 -1
- package/src/scripts/generate_capabilities_index.ts +12 -5
- package/src/scripts/generate_capability_matrix.ts +3 -3
- package/src/scripts/generate_command_flows.ts +2 -2
- package/src/scripts/generate_cookbook.ts +2 -2
- package/src/scripts/generate_index.ts +8 -1
- package/src/scripts/generate_knowledge_index.ts +2 -1
- package/src/scripts/generate_ownership_matrix.ts +2 -1
- package/src/scripts/generate_pack_manifests.ts +10 -2
- package/src/scripts/generate_role_experiences_catalog.ts +2 -2
- package/src/scripts/generate_settings_reference.ts +1 -1
- package/src/scripts/git_authorization_hook.ts +22 -1
- package/src/scripts/grade_target_readiness.ts +48 -5
- package/src/scripts/hook_effect_doctor.ts +261 -0
- package/src/scripts/hook_manifest.json +1 -1
- package/src/scripts/hook_manifest.yaml +125 -11
- package/src/scripts/hooks/block_speaking_inbox_dir.ts +271 -0
- package/src/scripts/hooks/block_unauthorized_git.ts +18 -0
- package/src/scripts/hooks/concern_registry.ts +6 -0
- package/src/scripts/hooks/dispatch_hook.ts +32 -0
- package/src/scripts/hooks/journal_record_hook.ts +345 -0
- package/src/scripts/hooks/prepush_metadata_sources.sh +110 -0
- package/src/scripts/hooks/run_continuation_hook.ts +44 -9
- package/src/scripts/hooks/shims/install.sh +61 -0
- package/src/scripts/hooks/shims/php +101 -0
- package/src/scripts/hooks/suggestion_capture_hook.ts +378 -0
- package/src/scripts/hot_context_hook.ts +16 -0
- package/src/scripts/install-hooks.sh +20 -5
- package/src/scripts/install.ts +17 -35
- package/src/scripts/inventory_frontmatter.ts +2 -1
- package/src/scripts/lint_adr_sweep_routing.ts +12 -0
- package/src/scripts/lint_budget_ownership.ts +54 -4
- package/src/scripts/lint_canonical_terms.ts +604 -0
- package/src/scripts/lint_composition_review.ts +619 -0
- package/src/scripts/lint_consolidation_lineage.ts +666 -0
- package/src/scripts/lint_eval_specs.ts +593 -0
- package/src/scripts/lint_hook_manifest.ts +19 -0
- package/src/scripts/lint_host_portability.ts +373 -0
- package/src/scripts/lint_judge_prompt_expectation.ts +27 -1
- package/src/scripts/lint_memory_twin_parity.ts +335 -0
- package/src/scripts/lint_metric_consumers.ts +355 -0
- package/src/scripts/lint_skill_descriptions.ts +18 -1
- package/src/scripts/lint_skill_frontmatter_safety.ts +58 -0
- package/src/scripts/lint_skill_link_reach.ts +252 -0
- package/src/scripts/lint_skill_trigger_corpus.ts +752 -0
- package/src/scripts/lint_ticket_buildable.ts +17 -1
- package/src/scripts/mcp_server/consumer_tool_catalog.json +1 -1
- package/src/scripts/mcp_server/tool_catalog_source.ts +1 -1
- package/src/scripts/measure_docs_dead_links.ts +348 -0
- package/src/scripts/measure_host_capture.ts +461 -0
- package/src/scripts/migration_status.ts +3 -3
- package/src/scripts/model_rule_injection.ts +60 -0
- package/src/scripts/orchestration_record.ts +14 -0
- package/src/scripts/pack_install_smoke.ts +363 -0
- package/src/scripts/pr_conflict_census.ts +187 -0
- package/src/scripts/preamble_byte_census.ts +139 -10
- package/src/scripts/prepack-check.mjs +4 -1
- package/src/scripts/probe_turnaround.ts +384 -0
- package/src/scripts/probe_unblocked_ask.ts +279 -0
- package/src/scripts/render_benchmark_md.ts +1 -1
- package/src/scripts/report_pack_delta.ts +204 -0
- package/src/scripts/rule_activation_census.ts +70 -9
- package/src/scripts/rule_backlinks.ts +1 -1
- package/src/scripts/run_lifecycle_suite.ts +208 -0
- package/src/scripts/run_skill_evals.ts +40 -0
- package/src/scripts/schemas/delivery-manifest.schema.json +43 -0
- package/src/scripts/schemas/drafting-channels.schema.json +43 -0
- package/src/scripts/schemas/evals.schema.json +24 -1
- package/src/scripts/schemas/rule.schema.json +52 -1
- package/src/scripts/schemas/skill.schema.json +17 -2
- package/src/scripts/select_analysis_mode.ts +112 -0
- package/src/scripts/skill_overlap.ts +7 -1
- package/src/scripts/skill_tools/run_block_d_eval.ts +8 -1
- package/src/scripts/skill_tools/score_skill_relevance.ts +84 -3
- package/src/scripts/skill_tools/suggest_skill_for_task.ts +8 -1
- package/src/scripts/skill_usage_report.ts +2 -1
- package/src/scripts/stubs_due.ts +211 -0
- package/src/scripts/sweep_source_surfaces.ts +678 -0
- package/src/scripts/sync_pr_branch.ts +40 -1
- package/src/scripts/trigger_eval_grandfather.json +202 -222
- package/src/scripts/utilization_report.ts +22 -2
- package/src/server/schemas/settings.ts +10 -0
- package/src/templates/marketing-copy.yml +1 -1
- package/dist/agent-src/skills/accessibility-auditor/evals/evals.json +0 -15
- package/dist/agent-src/skills/agent-security-review/evals/triggers.json +0 -52
- package/dist/agent-src/skills/ai-code-blindspots/evals/triggers.json +0 -52
- package/dist/agent-src/skills/alerting-doctrine/evals/triggers.json +0 -17
- package/dist/agent-src/skills/analysis-skill-router/evals/evals.json +0 -13
- package/dist/agent-src/skills/brand/evals/triggers.json +0 -17
- package/dist/agent-src/skills/brand-asset-generation/evals/triggers.json +0 -17
- package/dist/agent-src/skills/brand-audit/evals/triggers.json +0 -17
- package/dist/agent-src/skills/brand-identity/evals/triggers.json +0 -17
- package/dist/agent-src/skills/brand-strategy/evals/triggers.json +0 -17
- package/dist/agent-src/skills/brand-to-tokens/evals/triggers.json +0 -17
- package/dist/agent-src/skills/bug-analyzer/evals/evals.json +0 -13
- package/dist/agent-src/skills/canvas-design/evals/triggers.json +0 -17
- package/dist/agent-src/skills/character-consistency/evals/evals.json +0 -16
- package/dist/agent-src/skills/code-intelligence/evals/triggers.json +0 -52
- package/dist/agent-src/skills/code-review/evals/evals.json +0 -100
- package/dist/agent-src/skills/command-routing/evals/evals.json +0 -14
- package/dist/agent-src/skills/complexity-first-planning/evals/triggers.json +0 -17
- package/dist/agent-src/skills/contract-review/evals/triggers.json +0 -17
- package/dist/agent-src/skills/conventional-commits-writing/evals/evals.json +0 -15
- package/dist/agent-src/skills/corpus-grounding/evals/triggers.json +0 -17
- package/dist/agent-src/skills/dashboard-design/evals/evals.json +0 -16
- package/dist/agent-src/skills/dcf-modeling/evals/domain-truth.json +0 -29
- package/dist/agent-src/skills/dcf-modeling/evals/evals.json +0 -20
- package/dist/agent-src/skills/decision-record/evals/evals.json +0 -20
- package/dist/agent-src/skills/decision-record/evals/triggers.json +0 -87
- package/dist/agent-src/skills/design-intelligence/evals/evals.json +0 -14
- package/dist/agent-src/skills/design-intelligence/evals/triggers.json +0 -17
- package/dist/agent-src/skills/design-system-capture/evals/evals.json +0 -15
- package/dist/agent-src/skills/design-tokens/evals/triggers.json +0 -17
- package/dist/agent-src/skills/design-variations/evals/triggers.json +0 -17
- package/dist/agent-src/skills/developer-like-execution/evals/evals.json +0 -16
- package/dist/agent-src/skills/doc-coauthoring/evals/evals.json +0 -16
- package/dist/agent-src/skills/doc-coauthoring/evals/triggers.json +0 -17
- package/dist/agent-src/skills/docx-authoring/evals/triggers.json +0 -52
- package/dist/agent-src/skills/dpa-review/evals/triggers.json +0 -17
- package/dist/agent-src/skills/editorial-calendar/evals/domain-truth.json +0 -16
- package/dist/agent-src/skills/editorial-calendar/evals/evals.json +0 -16
- package/dist/agent-src/skills/eloquent/evals/triggers.json +0 -17
- package/dist/agent-src/skills/estimate-ticket/evals/evals.json +0 -16
- package/dist/agent-src/skills/estimate-ticket/evals/output-schema.yml +0 -20
- package/dist/agent-src/skills/estimate-ticket/evals/triggers.json +0 -19
- package/dist/agent-src/skills/evaluate-llm-feature/evals/triggers.json +0 -52
- package/dist/agent-src/skills/existing-ui-audit/evals/triggers.json +0 -47
- package/dist/agent-src/skills/experiment-loop/evals/output-schema.yml +0 -27
- package/dist/agent-src/skills/experiment-loop/evals/triggers.json +0 -17
- package/dist/agent-src/skills/fe-design/evals/triggers.json +0 -67
- package/dist/agent-src/skills/forecasting/evals/domain-truth.json +0 -29
- package/dist/agent-src/skills/forecasting/evals/evals.json +0 -20
- package/dist/agent-src/skills/forensics-report/evals/triggers.json +0 -17
- package/dist/agent-src/skills/frontend-render-security/evals/triggers.json +0 -52
- package/dist/agent-src/skills/fundraising-narrative/evals/domain-truth.json +0 -16
- package/dist/agent-src/skills/fundraising-narrative/evals/evals.json +0 -16
- package/dist/agent-src/skills/gated-reach/evals/triggers.json +0 -72
- package/dist/agent-src/skills/github-ci/evals/evals.json +0 -25
- package/dist/agent-src/skills/history-design/evals/triggers.json +0 -17
- package/dist/agent-src/skills/html-deck/evals/triggers.json +0 -17
- package/dist/agent-src/skills/humanizer/evals/strip_fixtures.json +0 -57
- package/dist/agent-src/skills/humanizer/evals/triggers.json +0 -17
- package/dist/agent-src/skills/iconography/evals/triggers.json +0 -17
- package/dist/agent-src/skills/image-analyser/evals/triggers.json +0 -17
- package/dist/agent-src/skills/image-creator/evals/triggers.json +0 -17
- package/dist/agent-src/skills/image-editing/evals/triggers.json +0 -17
- package/dist/agent-src/skills/image-generation/evals/triggers.json +0 -17
- package/dist/agent-src/skills/image-provider-routing/evals/triggers.json +0 -17
- package/dist/agent-src/skills/incident-commander/evals/domain-truth.json +0 -16
- package/dist/agent-src/skills/incident-commander/evals/evals.json +0 -20
- package/dist/agent-src/skills/js-library-packaging/evals/triggers.json +0 -17
- package/dist/agent-src/skills/judge-artifact-completeness/evals/triggers.json +0 -17
- package/dist/agent-src/skills/judge-injection-defense/evals/triggers.json +0 -17
- package/dist/agent-src/skills/judge-synthesis/evals/triggers.json +0 -17
- package/dist/agent-src/skills/launch-readiness/evals/evals.json +0 -21
- package/dist/agent-src/skills/learning-tutor/evals/triggers.json +0 -52
- package/dist/agent-src/skills/legal-intake-triage/evals/triggers.json +0 -17
- package/dist/agent-src/skills/legal-practice-profile/evals/triggers.json +0 -17
- package/dist/agent-src/skills/license-compliance-audit/evals/triggers.json +0 -52
- package/dist/agent-src/skills/license-compliance-borrow-check/evals/triggers.json +0 -52
- package/dist/agent-src/skills/license-compliance-credits/evals/triggers.json +0 -52
- package/dist/agent-src/skills/llm-provider-knowledge/evals/triggers.json +0 -20
- package/dist/agent-src/skills/logging-monitoring/evals/evals.json +0 -16
- package/dist/agent-src/skills/logo-generation/evals/triggers.json +0 -17
- package/dist/agent-src/skills/messaging-architecture/evals/domain-truth.json +0 -16
- package/dist/agent-src/skills/messaging-architecture/evals/evals.json +0 -16
- package/dist/agent-src/skills/monorepo-workspace/evals/triggers.json +0 -17
- package/dist/agent-src/skills/nda-triage/evals/triggers.json +0 -17
- package/dist/agent-src/skills/operational-readiness/evals/triggers.json +0 -17
- package/dist/agent-src/skills/pdf-tools/evals/triggers.json +0 -52
- package/dist/agent-src/skills/perf-feedback-craft/evals/evals.json +0 -16
- package/dist/agent-src/skills/persona-improvement/evals/triggers.json +0 -52
- package/dist/agent-src/skills/php-coder/evals/triggers.json +0 -17
- package/dist/agent-src/skills/prediction-pool-optimizer/evals/triggers.json +0 -21
- package/dist/agent-src/skills/prompt-engineering-image/evals/triggers.json +0 -17
- package/dist/agent-src/skills/prompt-engineering-patterns/evals/evals.json +0 -16
- package/dist/agent-src/skills/prompt-validator/evals/triggers.json +0 -17
- package/dist/agent-src/skills/quality-tools/evals/evals.json +0 -15
- package/dist/agent-src/skills/reasoning-orchestrator/evals/triggers.json +0 -17
- package/dist/agent-src/skills/refine-prompt/evals/evals.json +0 -16
- package/dist/agent-src/skills/refine-ticket/evals/evals.json +0 -16
- package/dist/agent-src/skills/refine-ticket/evals/output-schema.yml +0 -16
- package/dist/agent-src/skills/refine-ticket/evals/triggers.json +0 -17
- package/dist/agent-src/skills/release-comms/evals/evals.json +0 -16
- package/dist/agent-src/skills/rice-prioritization/evals/evals.json +0 -20
- package/dist/agent-src/skills/runway-cognition/evals/domain-truth.json +0 -29
- package/dist/agent-src/skills/runway-cognition/evals/evals.json +0 -20
- package/dist/agent-src/skills/scenario-modeling/evals/domain-truth.json +0 -29
- package/dist/agent-src/skills/scenario-modeling/evals/evals.json +0 -20
- package/dist/agent-src/skills/schema-review/evals/triggers.json +0 -17
- package/dist/agent-src/skills/screenshot-hygiene/evals/triggers.json +0 -52
- package/dist/agent-src/skills/security-maturity-assessment/evals/triggers.json +0 -52
- package/dist/agent-src/skills/server-hardening/evals/triggers.json +0 -17
- package/dist/agent-src/skills/skill-writing/evals/triggers.json +0 -17
- package/dist/agent-src/skills/spreadsheet-authoring/evals/triggers.json +0 -47
- package/dist/agent-src/skills/storybook-workshop/evals/triggers.json +0 -17
- package/dist/agent-src/skills/subagent-orchestration/evals/evals.json +0 -60
- package/dist/agent-src/skills/supply-chain-intake/evals/triggers.json +0 -52
- package/dist/agent-src/skills/systematic-debugging/evals/evals.json +0 -20
- package/dist/agent-src/skills/test-case-discovery/evals/triggers.json +0 -52
- package/dist/agent-src/skills/test-driven-development/evals/evals.json +0 -16
- package/dist/agent-src/skills/threat-modeling/evals/evals.json +0 -21
- package/dist/agent-src/skills/typography-system/evals/evals.json +0 -14
- package/dist/agent-src/skills/typography-system/evals/triggers.json +0 -17
- package/dist/agent-src/skills/unit-economics-modeling/evals/domain-truth.json +0 -40
- package/dist/agent-src/skills/unit-economics-modeling/evals/evals.json +0 -24
- package/dist/agent-src/skills/verify-completion-evidence/evals/evals.json +0 -16
- package/dist/agent-src/skills/verify-repair-loop/evals/output-schema.yml +0 -20
- package/dist/agent-src/skills/verify-repair-loop/evals/triggers.json +0 -17
- package/dist/agent-src/skills/vision-articulation/evals/evals.json +0 -16
- package/dist/agent-src/skills/voice-and-tone-design/evals/evals.json +0 -16
- package/dist/agent-src/skills/wireframe/evals/triggers.json +0 -17
- package/dist/agent-src/skills/workspace-link/evals/triggers.json +0 -17
- package/dist/agent-src/skills/worktree-lifecycle/evals/evals.json +0 -38
- package/dist/agent-src/skills/worktree-lifecycle/evals/triggers.json +0 -52
- package/dist/cli/agent-config.js.map +0 -1
- package/dist/cli/bash/runBash.js.map +0 -1
- package/dist/cli/commands/commands.js.map +0 -1
- package/dist/cli/commands/config.js.map +0 -1
- package/dist/cli/commands/doctorShell.js.map +0 -1
- package/dist/cli/commands/mcpServer.js.map +0 -1
- package/dist/cli/commands/packs.js.map +0 -1
- package/dist/cli/commands/profiles.js.map +0 -1
- package/dist/cli/commands/recordTriggerEval.js.map +0 -1
- package/dist/cli/commands/rtkDetect.js.map +0 -1
- package/dist/cli/commands/settings.js.map +0 -1
- package/dist/cli/commands/uiAudit.js.map +0 -1
- package/dist/cli/commands/uiRender.js.map +0 -1
- package/dist/cli/commands/uiServe.js.map +0 -1
- package/dist/cli/commands/versions.js.map +0 -1
- package/dist/cli/commands/workspaces.js.map +0 -1
- package/dist/cli/configRoot.js.map +0 -1
- package/dist/cli/discovery/loadManifest.js.map +0 -1
- package/dist/cli/firstRunNotice.js.map +0 -1
- package/dist/cli/help.js.map +0 -1
- package/dist/cli/initRouting.js.map +0 -1
- package/dist/cli/log/logger.js.map +0 -1
- package/dist/cli/main.js.map +0 -1
- package/dist/cli/mcp/content.js.map +0 -1
- package/dist/cli/mcp/dispatch.js.map +0 -1
- package/dist/cli/mcp/stdio.js.map +0 -1
- package/dist/cli/paths.js.map +0 -1
- package/dist/cli/python/knowledge_ingest.js.map +0 -1
- package/dist/cli/python/workspace_analytics.js.map +0 -1
- package/dist/cli/python/workspace_crypto.js.map +0 -1
- package/dist/cli/python/workspace_documents.js.map +0 -1
- package/dist/cli/python/workspace_drive.js.map +0 -1
- package/dist/cli/python/workspace_drive_health.js.map +0 -1
- package/dist/cli/python/workspace_explain.js.map +0 -1
- package/dist/cli/python/workspace_hosts.js.map +0 -1
- package/dist/cli/python/workspace_inbox.js.map +0 -1
- package/dist/cli/python/workspace_render.js.map +0 -1
- package/dist/cli/python/workspace_roles.js.map +0 -1
- package/dist/cli/python/workspace_secrets.js.map +0 -1
- package/dist/cli/python/workspace_sessions.js.map +0 -1
- package/dist/cli/python/workspace_skills.js.map +0 -1
- package/dist/cli/registry.js.map +0 -1
- package/dist/install/agentSwitchDetection.js.map +0 -1
- package/dist/install/agentSwitchProfile.js.map +0 -1
- package/dist/install/atomic.js.map +0 -1
- package/dist/install/claudePathsPlan.js.map +0 -1
- package/dist/install/conflict.js.map +0 -1
- package/dist/install/detect.js.map +0 -1
- package/dist/install/emit_host_rules_cli.js.map +0 -1
- package/dist/install/globalRuleLayers.js.map +0 -1
- package/dist/install/hostLayerFingerprint.js.map +0 -1
- package/dist/install/partitionEligibility.js.map +0 -1
- package/dist/install/paths.js.map +0 -1
- package/dist/install/plan.js.map +0 -1
- package/dist/install/preflight.js.map +0 -1
- package/dist/install/rtkDetection.js.map +0 -1
- package/dist/install/ruleInScope.js.map +0 -1
- package/dist/install/ruleLayerPartition.js.map +0 -1
- package/dist/install/rule_scope.js.map +0 -1
- package/dist/install/rule_scope_cli.js.map +0 -1
- package/dist/install/selectedTools.js.map +0 -1
- package/dist/install/toolDetection.js.map +0 -1
- package/dist/install/txlog.js.map +0 -1
- package/dist/install/types.js.map +0 -1
- package/dist/install/wizard-plan.js.map +0 -1
- package/dist/install/wizardDismissals.js.map +0 -1
- package/dist/scripts/_lib/agent_settings.js.map +0 -1
- package/dist/scripts/_lib/agent_src.js.map +0 -1
- package/dist/scripts/_lib/claude_builtin_names.js.map +0 -1
- package/dist/scripts/_lib/claude_plugin.js.map +0 -1
- package/dist/scripts/_lib/claude_settings_hooks.js.map +0 -1
- package/dist/scripts/_lib/compile_time_toggles.js.map +0 -1
- package/dist/scripts/_lib/environment_detector.js.map +0 -1
- package/dist/scripts/_lib/host_launch.js.map +0 -1
- package/dist/scripts/_lib/install_layout.js.map +0 -1
- package/dist/scripts/_lib/installed_lock.js.map +0 -1
- package/dist/scripts/_lib/lean_projection_mode.js.map +0 -1
- package/dist/scripts/_lib/model_tier.js.map +0 -1
- package/dist/scripts/_lib/prune_empty_dirs.js.map +0 -1
- package/dist/scripts/_lib/scoped_projection.js.map +0 -1
- package/dist/scripts/_lib/script_output.js.map +0 -1
- package/dist/scripts/_lib/spawn_env.js.map +0 -1
- package/dist/scripts/_lib/surface_tiers.js.map +0 -1
- package/dist/scripts/_lib/token_count.js.map +0 -1
- package/dist/scripts/_lib/trigger_eval_floors.js.map +0 -1
- package/dist/scripts/_lib/ui_surface.js.map +0 -1
- package/dist/scripts/_lib/user_global_paths.js.map +0 -1
- package/dist/scripts/ai_council/modes.js.map +0 -1
- package/dist/scripts/ai_council/transport_resolver.js.map +0 -1
- package/dist/scripts/condense.js.map +0 -1
- package/dist/scripts/project_thin_rules.js.map +0 -1
- package/dist/server/app.js.map +0 -1
- package/dist/server/io/atomicMultiWrite.js.map +0 -1
- package/dist/server/io/atomicWrite.js.map +0 -1
- package/dist/server/io/sharedWriteCheck.js.map +0 -1
- package/dist/server/io/substituteTemplate.js.map +0 -1
- package/dist/server/io/yamlIO.js.map +0 -1
- package/dist/server/nicknameResolver.js.map +0 -1
- package/dist/server/port.js.map +0 -1
- package/dist/server/routes/discovery.js.map +0 -1
- package/dist/server/routes/install.js.map +0 -1
- package/dist/server/routes/ping.js.map +0 -1
- package/dist/server/routes/schema.js.map +0 -1
- package/dist/server/routes/settings.js.map +0 -1
- package/dist/server/routes/settingsChanges.js.map +0 -1
- package/dist/server/routes/userMd.js.map +0 -1
- package/dist/server/routes/wizard.js.map +0 -1
- package/dist/server/routes/workspace.js.map +0 -1
- package/dist/server/schemas/settings.js.map +0 -1
- package/dist/server/serverInfo.js.map +0 -1
- package/dist/server/token.js.map +0 -1
- package/dist/server/writeRoot.js.map +0 -1
- package/dist/shared/capabilities.js.map +0 -1
- package/dist/shared/interactiveContext.js.map +0 -1
- package/dist/shared/nicknamePrefill.js.map +0 -1
- package/dist/shared/settingsAsks.js.map +0 -1
- package/dist/shared/settingsCarveOut.js.map +0 -1
- package/dist/shared/settingsClasses.js.map +0 -1
- package/dist/shared/settingsConsent.js.map +0 -1
- package/dist/shared/settingsSurface.js.map +0 -1
- package/dist/shared/skillRanking.js.map +0 -1
- package/dist/shared/userMd/formAdapter.js.map +0 -1
- package/dist/shared/userMd/schema.js.map +0 -1
- package/dist/shared/userMd/utils.js.map +0 -1
- package/dist/ui/assets/index-Cxgy63kz.js +0 -26
- package/dist/ui/assets/index-Cxgy63kz.js.map +0 -1
- package/src/scripts/_lib/adr_frontmatter.test.ts +0 -365
- package/src/scripts/_lib/adversarial_council_gate.test.ts +0 -112
- package/src/scripts/_lib/adversarial_reconcile.test.ts +0 -197
- package/src/scripts/_lib/auto_dispatch.corpus.test.ts +0 -150
- package/src/scripts/_lib/secret_detector.test.ts +0 -108
- package/src/scripts/_lib/secret_detector_adversarial.test.ts +0 -116
- package/src/scripts/_lib/ui_authority.test.ts +0 -251
- package/src/scripts/_lib/untrusted_content.test.ts +0 -175
- package/src/scripts/check_secret_leak.test.ts +0 -90
- package/src/scripts/design_slop_rules.test.ts +0 -246
- package/src/scripts/self_review_gate.test.ts +0 -296
- package/src/shared/capabilities.test.ts +0 -43
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
stability: beta
|
|
3
|
+
keep-beta-until: 2026-11-24
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# Settings classes — A / B / C
|
|
2
7
|
|
|
3
8
|
> Every leaf key in `src/config/agent-settings.template.yml` carries exactly one
|
|
@@ -242,8 +247,8 @@ dispatch runs, not WHETHER the layer exists, so they keep their own C rows.
|
|
|
242
247
|
|---|---|
|
|
243
248
|
| A — preference | 26 |
|
|
244
249
|
| B — consent | 3 |
|
|
245
|
-
| C — guarded |
|
|
246
|
-
| **Total** | **
|
|
250
|
+
| C — guarded | 110 |
|
|
251
|
+
| **Total** | **139** |
|
|
247
252
|
|
|
248
253
|
The total was 140 until 2026-08-12, when five of the six keys no code path read were
|
|
249
254
|
deleted, minus the one held open (§ The six unread keys, below): one A
|
|
@@ -257,6 +262,25 @@ It rose to 136 on 2026-08-20 when `road-to-gate-autonomy`'s
|
|
|
257
262
|
first keys added to this contract since the deletions above, and both are C on
|
|
258
263
|
test 1 (money).
|
|
259
264
|
|
|
265
|
+
It rose to 138 on 2026-08-24 when `road-to-suggestion-block-capture` Phase 2
|
|
266
|
+
added `hooks.suggestion_capture.enabled`. C on test 1 — it configures code that
|
|
267
|
+
runs at every turn end and every prompt — and the third `hooks.*` key here.
|
|
268
|
+
|
|
269
|
+
Its disposition is **`consent`**, and the first draft of this row said
|
|
270
|
+
`derivable`, which was wrong in the way the disposition axis exists to catch. The
|
|
271
|
+
`derivable` argument was that the sink's own line count answers whether the soak
|
|
272
|
+
window is running — true, and it answers the wrong question. What the key
|
|
273
|
+
authorises is *the package observing this operator's turns and writing a record
|
|
274
|
+
of them*, and no predicate computes whether someone consents to that. The
|
|
275
|
+
`derivable-surface` ratchet caught it immediately: it is shrink-only, so a new
|
|
276
|
+
`derivable` key reds by construction, and being unable to add one is the
|
|
277
|
+
mechanism working rather than an obstacle.
|
|
278
|
+
|
|
279
|
+
The distinction against its `design_pass` neighbour still holds and is the reason
|
|
280
|
+
this is not `policy` either: that concern can **block**, so arming it is a risk
|
|
281
|
+
preference. This one only observes and exits 0 on every path — the question is
|
|
282
|
+
not risk, it is permission.
|
|
283
|
+
|
|
260
284
|
It rose to 137 on 2026-08-23 when `road-to-frontend-power` E1.1–E1.3 added
|
|
261
285
|
`hooks.design_pass.enabled`. C on test 1 (it configures code that runs on every
|
|
262
286
|
tool call and at every turn end), and the only hook key in this contract whose
|
|
@@ -314,9 +338,9 @@ the template, which is the drift this contract exists to prevent.
|
|
|
314
338
|
|---|---|
|
|
315
339
|
| derivable | 83 |
|
|
316
340
|
| un-inferrable | 9 |
|
|
317
|
-
| consent |
|
|
341
|
+
| consent | 41 |
|
|
318
342
|
| policy | 6 |
|
|
319
|
-
| **Total** | **
|
|
343
|
+
| **Total** | **139** |
|
|
320
344
|
|
|
321
345
|
First measured 2026-08-12 at 140 leaves (derivable 88 · consent 38 ·
|
|
322
346
|
un-inferrable 9 · policy 5), from the table below rather than predicted — the
|
|
@@ -531,9 +555,11 @@ Rows follow template order, so a diff against the template reads straight down.
|
|
|
531
555
|
| `hooks.injection_scan.enabled` | C | `false` | the prompt-injection scanner | derivable — the scanner's own signature match on the tool envelope; warn-only and silent on no hit |
|
|
532
556
|
| `hooks.rtk_wrap.enabled` | C | `false` | configures code that runs on every tool call | derivable — the live PATH and identity probe the hook already runs; silent when rtk is absent |
|
|
533
557
|
| `hooks.design_slop.enabled` | C | `false` | configures code that runs on every tool call | derivable — the rule-registry match plus the hook's own per-signature silence cap |
|
|
558
|
+
| `hooks.runtime_journal.enabled` | C | `false` | configures code that runs on every dispatched hook event | consent |
|
|
534
559
|
| `hooks.ui_route_nudge.enabled` | C | `false` | configures code that runs on every tool call | derivable — the UI-surface predicate plus the hook's own two-nudges-per-session cap |
|
|
535
560
|
| `hooks.design_pass.enabled` | C | `false` | C-test 1 — it configures code that runs on every tool call and at every turn end, and unlike its two `hooks.*` neighbours its stop pass can BLOCK rather than warn | policy — whether an operator accepts a gate that can refuse a turn is a risk preference, not a fact the tree can compute. The two neighbours are `derivable` because they only ever warn; the block is the discriminator. `road-to-frontend-power` transfers the default flip to the owner for the same reason |
|
|
536
561
|
| `hooks.code_graph.enabled` | C | `false` | configures code that runs on every tool call | derivable — the index-detection probe the nudge already runs; no index means silence |
|
|
562
|
+
| `hooks.suggestion_capture.enabled` | C | `false` | configures code that runs at every turn end and every prompt | consent |
|
|
537
563
|
| `decision_engine.surface_traces` | C | `false` | the decision engine’s own black box; the agent must not be able to close it | derivable — the engine's own active-gate state; there is nothing to surface when no gate fired |
|
|
538
564
|
| `decision_engine.min_confidence` | C | `"off"` | the confidence gate | derivable — the confidence band the scoring engine already computes at the plan phase |
|
|
539
565
|
| `decision_engine.block_on_risk` | C | `"off"` | the risk-class gate | derivable — the risk class the engine already computes at the implement phase; the Hard Floor covers the irreversible end unconditionally |
|
|
@@ -6,11 +6,11 @@ comprehensive understanding of any topic, problem, or plan. Adopted under
|
|
|
6
6
|
the **Reference-Guideline Sunset Policy** (see frontmatter `upstream` /
|
|
7
7
|
`refresh_trigger` keys) and cross-referenced from:
|
|
8
8
|
|
|
9
|
-
- [`deep-reading-analyst`](
|
|
9
|
+
- [`deep-reading-analyst`](../../../src/skills/deep-reading-analyst/SKILL.md)
|
|
10
10
|
— L1 Quick analysis depth.
|
|
11
|
-
- [`refine-ticket`](
|
|
11
|
+
- [`refine-ticket`](../../../src/skills/refine-ticket/SKILL.md)
|
|
12
12
|
— completeness check on a Jira / Linear ticket before estimation.
|
|
13
|
-
- [`bug-investigate`](
|
|
13
|
+
- [`bug-investigate`](../../../src/domains/engineering-base/bug/investigate/command.md)
|
|
14
14
|
— gap analysis on an incident report before forming a hypothesis.
|
|
15
15
|
|
|
16
16
|
> **Core principle:** "Quality of decisions equals quality of questions
|
|
@@ -266,6 +266,7 @@ is a pairwise contract scoped to the always-on kernel rules — forking that
|
|
|
266
266
|
linted contract with a second prose ordering over a different kind of object is
|
|
267
267
|
the drift this ladder exists to avoid.
|
|
268
268
|
|
|
269
|
+
|
|
269
270
|
### 8c. Is the approach sound?
|
|
270
271
|
|
|
271
272
|
- Is there a simpler way to achieve the same result?
|
|
@@ -57,6 +57,61 @@ and let the user re-decide.
|
|
|
57
57
|
Carry the summary into the commit message (*"Reviewed before drafting:
|
|
58
58
|
X, Y"*).
|
|
59
59
|
|
|
60
|
+
### Where the answer is written — `composition_review:`
|
|
61
|
+
|
|
62
|
+
A commit message is not a tree artifact. Measured 2026-08-27 over the twenty most
|
|
63
|
+
recently added skills and rules
|
|
64
|
+
(`agents/evidence/analysis/authoring-search-record-sample-2026-08-27.md`), **1 of
|
|
65
|
+
20** carried a machine-readable record of the Phase-B verdict; 9 carried a strict
|
|
66
|
+
prose one, and the rest carried a `See also` gloss or a routing row. So an
|
|
67
|
+
artifact authored after a thorough scan and one authored after none were
|
|
68
|
+
indiscernible in the tree — which is why the overlap tools
|
|
69
|
+
(`audit_overlap`, `audit_skill_overlap`, `report_layer_overlap`) run over a
|
|
70
|
+
corpus rather than over a decision.
|
|
71
|
+
|
|
72
|
+
The record is a frontmatter block, defined in `skill.schema.json` and
|
|
73
|
+
`rule.schema.json`, and **optional on existing artifacts by design — nothing is
|
|
74
|
+
backfilled**:
|
|
75
|
+
|
|
76
|
+
```yaml
|
|
77
|
+
composition_review:
|
|
78
|
+
- candidate: skill:existing-ui-audit # skill: / rule: / command: / guideline: / none
|
|
79
|
+
disposition: create_separate # what happened to this candidate
|
|
80
|
+
rationale: audits what exists before a write; this governs the write itself
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Four dispositions, and the discriminator for each:
|
|
84
|
+
|
|
85
|
+
| Value | Means |
|
|
86
|
+
|---|---|
|
|
87
|
+
| `extend_incumbent` | the incumbent absorbed the change; no new artifact was created |
|
|
88
|
+
| `compose_with_incumbent` | the new artifact routes to the incumbent rather than restating it |
|
|
89
|
+
| `create_separate` | the incumbent exists, was evaluated, and a separate artifact was authored anyway |
|
|
90
|
+
| `none_found` | the search ran and found no credible incumbent — pairs only with `candidate: none` |
|
|
91
|
+
|
|
92
|
+
`none_found` exists so an author is never pushed to **invent** an incumbent to
|
|
93
|
+
satisfy the schema. That failure would manufacture the pro-forma record the
|
|
94
|
+
mechanism is supposed to measure, using the mechanism.
|
|
95
|
+
|
|
96
|
+
`create_separate` is the value no other disposition vocabulary in this tree can
|
|
97
|
+
express, and it is why this is a fifth enum rather than a reuse. The nearest
|
|
98
|
+
incumbent is the harvest ledger's `adopt | adapt`
|
|
99
|
+
(`lint_harvest_provenance.ts:76`), which deliberately **excludes** rejection
|
|
100
|
+
(`:222`) because a rejected harvest has no artifact to cite. This record is the
|
|
101
|
+
mirror image — it is written *on* the artifact being created — so rejection is
|
|
102
|
+
the value it most needs. The finding, review and archive vocabularies are about
|
|
103
|
+
defects, review rows and roadmap files respectively; none of them has a slot for
|
|
104
|
+
"an incumbent existed and I built anyway".
|
|
105
|
+
|
|
106
|
+
**What the lint does and does not do.** `lint_composition_review` fails a record
|
|
107
|
+
whose `candidate` resolves to no artifact, or whose `none` / `none_found` pair
|
|
108
|
+
disagrees — a record naming an incumbent that is not in the tree reads as
|
|
109
|
+
evidence of a search that cannot have happened. It *reports without failing* an
|
|
110
|
+
addition carrying no record at all. It cannot check that the search happened,
|
|
111
|
+
that the rationale is true, or that the named incumbent is the nearest one;
|
|
112
|
+
flipping the advisory half to a block needs a false-positive rate from at least
|
|
113
|
+
one release of advisory operation, which does not exist yet.
|
|
114
|
+
|
|
60
115
|
## Phase C — Draft
|
|
61
116
|
|
|
62
117
|
Propose **2-3 description variants** — Conservative / Pushy
|
|
@@ -135,7 +190,7 @@ that lives only in the roadmap that flipped the default becomes unreachable
|
|
|
135
190
|
the moment that roadmap is archived.
|
|
136
191
|
|
|
137
192
|
|
|
138
|
-
## Complexity budget — the six questions before a new
|
|
193
|
+
## Complexity budget — the six questions before a new artifact
|
|
139
194
|
|
|
140
195
|
Folded here from the 9.4.0 review (Prio 5), which named the failure mode:
|
|
141
196
|
"das Paket kann fast jede Kritik mit einem weiteren Mechanismus beantworten"
|
|
@@ -144,12 +199,12 @@ inflation). This REPLACES the ad-hoc "should this exist" prose — it is a
|
|
|
144
199
|
checklist, not a new gate/rule (adding a gate to enforce "add less" would be
|
|
145
200
|
the very inflation it guards against). Before drafting any new skill / rule /
|
|
146
201
|
command / hook / gate, answer all six; a "no" on **replaces** or **removable**
|
|
147
|
-
is a strong signal to fold into an existing
|
|
202
|
+
is a strong signal to fold into an existing artifact instead:
|
|
148
203
|
|
|
149
204
|
1. **Replaces?** — what existing mechanism does this retire or subsume? (If
|
|
150
205
|
nothing, justify why the surface must grow.)
|
|
151
206
|
2. **Overlaps?** — does it duplicate a trigger / responsibility another
|
|
152
|
-
|
|
207
|
+
artifact already owns?
|
|
153
208
|
3. **Discoverable?** — will a user actually find it, or does it just raise the
|
|
154
209
|
catalog count?
|
|
155
210
|
4. **Measurable?** — is there a signal that would show it earning its place
|
|
@@ -12,9 +12,9 @@ prose_delta:
|
|
|
12
12
|
|
|
13
13
|
> Wrong / right / why demos for the `ask-when-uncertain` Iron Law
|
|
14
14
|
> (one question per turn, vague-request must ask). Linked from
|
|
15
|
-
> [`ask-when-uncertain`](
|
|
15
|
+
> [`ask-when-uncertain`](../../../src/rules/ask-when-uncertain.md)
|
|
16
16
|
> § Examples. Outcome baseline at
|
|
17
|
-
> [`tests/golden/outcomes/ask_when_uncertain.json`](
|
|
17
|
+
> [`tests/golden/outcomes/ask_when_uncertain.json`](../../../tests/golden/outcomes/ask_when_uncertain.json).
|
|
18
18
|
|
|
19
19
|
## Demo 1 — Vague request, multi-question stack
|
|
20
20
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# asking-and-brevity-examples
|
|
2
2
|
|
|
3
3
|
Companion examples for three always-rules:
|
|
4
|
-
[`ask-when-uncertain`](
|
|
5
|
-
[`no-cheap-questions`](
|
|
6
|
-
[`direct-answers`](
|
|
4
|
+
[`ask-when-uncertain`](../../../src/rules/ask-when-uncertain.md),
|
|
5
|
+
[`no-cheap-questions`](../../../src/rules/no-cheap-questions.md),
|
|
6
|
+
[`direct-answers`](../../../src/rules/direct-answers.md).
|
|
7
7
|
|
|
8
8
|
The rules carry the Iron Laws and the obligation surface. This file
|
|
9
9
|
carries the illustrative material (example questions, rationale
|
|
@@ -56,14 +56,14 @@ reproducer to the follow-up ticket.
|
|
|
56
56
|
|
|
57
57
|
These rules stay fully in force, break-glass or not:
|
|
58
58
|
|
|
59
|
-
- [`minimal-safe-diff`](
|
|
59
|
+
- [`minimal-safe-diff`](../../../src/rules/minimal-safe-diff.md) — the hotfix is
|
|
60
60
|
still the **smallest** change that stops the bleeding. No drive-by
|
|
61
61
|
cleanups.
|
|
62
|
-
- [`security-sensitive-stop`](
|
|
62
|
+
- [`security-sensitive-stop`](../../../src/rules/security-sensitive-stop.md) — a
|
|
63
63
|
security-relevant change still needs the threat-model pass.
|
|
64
|
-
- [`scope-control`](
|
|
64
|
+
- [`scope-control`](../../../src/rules/scope-control.md) — never mix the
|
|
65
65
|
hotfix with unrelated refactors from another branch.
|
|
66
|
-
- [`ask-when-uncertain`](
|
|
66
|
+
- [`ask-when-uncertain`](../../../src/rules/ask-when-uncertain.md) — more
|
|
67
67
|
asking, not less, when the blast radius is live.
|
|
68
68
|
|
|
69
69
|
## Required artifacts
|
|
@@ -104,10 +104,10 @@ Within 24 hours:
|
|
|
104
104
|
|
|
105
105
|
## See also
|
|
106
106
|
|
|
107
|
-
- [`minimal-safe-diff`](
|
|
107
|
+
- [`minimal-safe-diff`](../../../src/rules/minimal-safe-diff.md) — break-glass
|
|
108
108
|
exception section.
|
|
109
|
-
- [`verify-before-complete`](
|
|
109
|
+
- [`verify-before-complete`](../../../src/rules/verify-before-complete.md) —
|
|
110
110
|
break-glass reduction section.
|
|
111
|
-
- [`security-sensitive-stop`](
|
|
111
|
+
- [`security-sensitive-stop`](../../../src/rules/security-sensitive-stop.md).
|
|
112
112
|
- [`review-routing-data-format`](review-routing-data-format.md) —
|
|
113
113
|
where to register newly-discovered failure modes.
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
# Decidable Carve-Out Predicates
|
|
2
2
|
|
|
3
|
-
Companion to [`frugality-charter`](
|
|
3
|
+
Companion to [`frugality-charter`](../../../src/agent-src/contexts/contracts/frugality-charter.md). Each carve-out below carries a one-sentence test. If the test cannot be answered yes/no from the artifact alone, the carve-out does not fire and default-terse rules apply.
|
|
4
4
|
|
|
5
5
|
## Predicates
|
|
6
6
|
|
|
7
7
|
- **Iron-Law literal** — the prose is an ALL-CAPS fenced block inside a rule whose title appears in [`docs/contracts/kernel-membership.md`](../../contracts/kernel-membership.md).
|
|
8
8
|
|
|
9
|
-
- **Numbered-options with genuine trade-off** — the options differ in consequence (a chosen path produces a measurably different artifact or state), not in sequencing or output format. Per [`no-cheap-questions § What counts as cheap`](
|
|
9
|
+
- **Numbered-options with genuine trade-off** — the options differ in consequence (a chosen path produces a measurably different artifact or state), not in sequencing or output format. Per [`no-cheap-questions § What counts as cheap`](../../../src/rules/no-cheap-questions.md#what-counts-as-cheap).
|
|
10
10
|
|
|
11
|
-
- **Security-sensitive prompt** — the prompt requires credential input OR modifies auth / tenant / secret state, matching a trigger in [`security-sensitive-stop`](
|
|
11
|
+
- **Security-sensitive prompt** — the prompt requires credential input OR modifies auth / tenant / secret state, matching a trigger in [`security-sensitive-stop`](../../../src/rules/security-sensitive-stop.md).
|
|
12
12
|
|
|
13
13
|
- **Structured CLI contract** — the script's stdout is consumed by another script (a downstream parser exists under `scripts/` or `.augment/scripts/`), so the format is part of an interface contract, not narration.
|
|
14
14
|
|
|
@@ -7,7 +7,7 @@ quality, and viewpoints to synthesize an integrated understanding rather
|
|
|
7
7
|
than a stack of independent summaries. Adopted under the
|
|
8
8
|
**Reference-Guideline Sunset Policy** and cross-referenced from:
|
|
9
9
|
|
|
10
|
-
- [`deep-reading-analyst`](
|
|
10
|
+
- [`deep-reading-analyst`](../../../src/skills/deep-reading-analyst/SKILL.md)
|
|
11
11
|
— L4 Research analysis depth (web-search 2–3 related sources, compare,
|
|
12
12
|
synthesize).
|
|
13
13
|
- [`critical-thinking`](critical-thinking.md) — per-source argument
|
|
@@ -8,13 +8,13 @@ rebuilds from primitives) and `inversion-thinking` (which negates the
|
|
|
8
8
|
goal). Adopted under the **Reference-Guideline Sunset Policy** and
|
|
9
9
|
cross-referenced from:
|
|
10
10
|
|
|
11
|
-
- [`deep-reading-analyst`](
|
|
11
|
+
- [`deep-reading-analyst`](../../../src/skills/deep-reading-analyst/SKILL.md)
|
|
12
12
|
— L2 Standard / L3 Deep evaluation depth.
|
|
13
|
-
- [`receiving-code-review`](
|
|
13
|
+
- [`receiving-code-review`](../../../src/skills/receiving-code-review/SKILL.md)
|
|
14
14
|
— steelman bot / human review feedback before changing code.
|
|
15
|
-
- [`improve-before-implement`](
|
|
15
|
+
- [`improve-before-implement`](../../../src/rules/improve-before-implement.md)
|
|
16
16
|
— challenge weak requirements with evidence-grade analysis.
|
|
17
|
-
- [`adversarial-review`](
|
|
17
|
+
- [`adversarial-review`](../../../src/skills/adversarial-review/SKILL.md)
|
|
18
18
|
— paired stress-test on a diff after critique.
|
|
19
19
|
|
|
20
20
|
> **Core principle:** "Steelman first, criticize second." — attacking
|
|
@@ -13,9 +13,9 @@ prose_delta:
|
|
|
13
13
|
> Wrong / right / why demos for the three Iron Laws of
|
|
14
14
|
> `direct-answers` (no flattery, no invented facts, brevity by
|
|
15
15
|
> default). Linked from
|
|
16
|
-
> [`direct-answers`](
|
|
16
|
+
> [`direct-answers`](../../../src/rules/direct-answers.md)
|
|
17
17
|
> § Examples. Outcome baseline at
|
|
18
|
-
> [`tests/golden/outcomes/direct_answers.json`](
|
|
18
|
+
> [`tests/golden/outcomes/direct_answers.json`](../../../tests/golden/outcomes/direct_answers.json).
|
|
19
19
|
|
|
20
20
|
## Demo 1 — Flattery opener (Iron Law 1)
|
|
21
21
|
|
|
@@ -50,4 +50,4 @@ A false structural blocker is as much an error as false objectivity.
|
|
|
50
50
|
|
|
51
51
|
- [ADR-107 — Legal domain-pack adoption](../../decisions/ADR-107-legal-domain-pack-adoption.md)
|
|
52
52
|
- `domain-pack-architecture.md` — the retrospective sequence this is part of.
|
|
53
|
-
- `src/domains/legal/evals/README.md` — the regression harness in practice.
|
|
53
|
+
- `src/domains/legal-review-prep/evals/README.md` — the regression harness in practice.
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Downstream-Changes Mechanics — closed-set evolution
|
|
2
|
+
|
|
3
|
+
> The procedure behind [`downstream-changes`](../../../src/rules/downstream-changes.md)
|
|
4
|
+
> for one change class its table does not reach: a **closed set** whose member
|
|
5
|
+
> list changed. Cited by `skill:code-review` (the propagation dimension) and
|
|
6
|
+
> `skill:code-refactoring` (the reference sweep).
|
|
7
|
+
>
|
|
8
|
+
> It lives here rather than in the rule for a measured reason. Project-scope
|
|
9
|
+
> rules are a gated bucket of the per-spawn standing payload, and that payload
|
|
10
|
+
> currently measures **at** its grace ceiling
|
|
11
|
+
> (`src/config/preamble-payload-budget.json`), so the rule cannot grow by a
|
|
12
|
+
> single line without reddening `check_preamble_payload_budget`. Guidelines are
|
|
13
|
+
> an excluded bucket — read on demand, not re-sent per spawn. The obligation is
|
|
14
|
+
> therefore carried by the two skills that fire at the moment it matters, and
|
|
15
|
+
> the rule keeps its current size until a reduction lands.
|
|
16
|
+
|
|
17
|
+
## The Iron Law
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
CHANGING A MEMBER OF A CLOSED SET IS NEVER DONE WHEN THE TYPE COMPILES.
|
|
21
|
+
EVERY CONSUMER IS CLASSIFIED: EXHAUSTIVE, DELIBERATE FALLBACK, OR MISSING CASE.
|
|
22
|
+
A `default` THAT SWALLOWS THE NEW MEMBER IS A MISSING CASE WEARING A BRANCH.
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Why the ordinary sweep misses it
|
|
26
|
+
|
|
27
|
+
`downstream-changes` enumerates callers, tests, imports, type definitions,
|
|
28
|
+
config bindings, routes and docs — all of which are found by searching for the
|
|
29
|
+
**identifier**. A closed set breaks that assumption: the member list changes,
|
|
30
|
+
the type still compiles, and a serializer, a badge variant, an OpenAPI schema or
|
|
31
|
+
a transition table silently keeps the old set. None of them names the type, so
|
|
32
|
+
no identifier search reaches them. This is the shotgun-surgery shape — one
|
|
33
|
+
conceptual change scattered across many small sites, where forgetting one is the
|
|
34
|
+
default outcome rather than the unlucky one.
|
|
35
|
+
|
|
36
|
+
## What counts as a closed set
|
|
37
|
+
|
|
38
|
+
PHP enums · TypeScript enums · discriminated unions · literal-union state types ·
|
|
39
|
+
Rust enums · sealed types · Python `enum` classes · DB enum and check
|
|
40
|
+
constraints · OpenAPI / JSON-Schema `enum` · state machines · role and permission
|
|
41
|
+
sets · finite component variants.
|
|
42
|
+
|
|
43
|
+
## Discover by shape, not by identifier
|
|
44
|
+
|
|
45
|
+
- the member name and its **backing value** (the wire value often differs);
|
|
46
|
+
- `match` / `switch` / if-chains over the type;
|
|
47
|
+
- `Record<Member, …>`, lookup tables and maps keyed by it;
|
|
48
|
+
- `cases()` / `values()` iteration;
|
|
49
|
+
- validators and serializers;
|
|
50
|
+
- DB constraints and migrations;
|
|
51
|
+
- API schemas;
|
|
52
|
+
- UI option sources and variant maps;
|
|
53
|
+
- translation keys;
|
|
54
|
+
- tests, factories and fixtures.
|
|
55
|
+
|
|
56
|
+
## Classify every hit — three outcomes, one defect
|
|
57
|
+
|
|
58
|
+
| Class | What it means | Action |
|
|
59
|
+
|---|---|---|
|
|
60
|
+
| Exhaustive | The compiler or the data structure forces completeness (a fully-typed `Record<Member, …>`, a `match` with no default) | nothing — this is the outcome to prefer |
|
|
61
|
+
| Deliberate fallback | The fallback is part of the contract: a forward-compatible external value, a protocol unknown, a defensive boundary parse | record why, leave it |
|
|
62
|
+
| Missing case | The new member reaches code written for the old set | fix it |
|
|
63
|
+
|
|
64
|
+
**There is deliberately no blanket rule that a `default` branch is wrong.** Such
|
|
65
|
+
a rule would be refuted by every protocol parser and boundary parse in the tree.
|
|
66
|
+
What is true is sharper and easier to miss: where an exhaustiveness check exists,
|
|
67
|
+
**a `default` clause suppresses its report entirely**, so adding one to quiet the
|
|
68
|
+
check removes exactly the signal it existed to give.
|
|
69
|
+
<!-- harvest:exhaustiveness-default-clause-masks-the-check -->
|
|
70
|
+
|
|
71
|
+
Prefer the language-native guarantee over a comment. In TypeScript a
|
|
72
|
+
`Record<Member, T>` where every member needs a value fails to compile on a new
|
|
73
|
+
member, while a partially-typed string-keyed map does not. In PHP an exhaustive
|
|
74
|
+
`match` without a masking `default` throws on an unhandled case.
|
|
75
|
+
|
|
76
|
+
## Prove the sweep, do not assert it
|
|
77
|
+
|
|
78
|
+
Add a **synthetic member** to the set, confirm the checks you are relying on go
|
|
79
|
+
red, then update the consumers and confirm they go green. A sweep never seen red
|
|
80
|
+
has unknown coverage — the same sensitivity argument
|
|
81
|
+
[`downstream-changes`](../../../src/rules/downstream-changes.md) § Verification
|
|
82
|
+
makes for tests, applied to the discovery step.
|
|
83
|
+
|
|
84
|
+
## See also
|
|
85
|
+
|
|
86
|
+
- [`downstream-changes`](../../../src/rules/downstream-changes.md) — the rule this
|
|
87
|
+
extends; its § Defect-pattern search is the sibling-occurrence half.
|
|
88
|
+
- [`redundancy-taxonomy`](../redundancy-taxonomy.md) — the naming half: one
|
|
89
|
+
concept, several terms.
|
|
90
|
+
- [`prefer-enums-over-literals`](../../../src/rules/prefer-enums-over-literals.md)
|
|
91
|
+
— how a closed set comes to exist in the first place.
|
|
@@ -123,12 +123,12 @@ is not a forensic record.
|
|
|
123
123
|
Each file also carries the template-specific body. See the example
|
|
124
124
|
templates for the full shape:
|
|
125
125
|
|
|
126
|
-
- [`domain-invariants.example.yml`](
|
|
126
|
+
- [`domain-invariants.example.yml`](../../../src/agent-src/templates/agents/memory/domain-invariants.example.yml)
|
|
127
127
|
adds `rule`, `boundary`, `scope.paths`, `violation_contract`.
|
|
128
|
-
- [`incident-learnings.example.yml`](
|
|
128
|
+
- [`incident-learnings.example.yml`](../../../src/agent-src/templates/agents/memory/incident-learnings.example.yml)
|
|
129
129
|
adds `pattern`, `trigger_conditions`, `consequence`, `guardrail`,
|
|
130
130
|
`enforcement`, `severity`.
|
|
131
|
-
- [`product-rules.example.yml`](
|
|
131
|
+
- [`product-rules.example.yml`](../../../src/agent-src/templates/agents/memory/product-rules.example.yml)
|
|
132
132
|
adds `rule`, `applies_to`, `enforcement`, `error_contract`, `version`.
|
|
133
133
|
|
|
134
134
|
## Ownership (who writes, who reads)
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# The existence question — its verdict set, its cost, and why it is not TDD
|
|
2
|
+
|
|
3
|
+
Depth for [`improve-before-implement`](../../../src/rules/improve-before-implement.md)
|
|
4
|
+
§ The solution-size ladder, migrated out of
|
|
5
|
+
[`agent-interaction-and-decision-quality`](agent-interaction-and-decision-quality.md)
|
|
6
|
+
§ 8b.
|
|
7
|
+
|
|
8
|
+
**Why it moved.** That guideline crossed `check_depth_budget`'s 16,000-character
|
|
9
|
+
ceiling when this depth landed in it, becoming a fifth over-ceiling file against
|
|
10
|
+
a baseline of four. The ratchet turns one way, so the fix is extraction rather
|
|
11
|
+
than a raised baseline — and these three sections are the natural unit: they
|
|
12
|
+
answer what the ladder RETURNS, what it costs, and which cluster it does not
|
|
13
|
+
belong to, none of which the surrounding interaction guideline needs in order to
|
|
14
|
+
be read.
|
|
15
|
+
|
|
16
|
+
The ladder itself — the rungs, the shape axis and their precedence — stays at
|
|
17
|
+
§ 8b-ladder / 8b-shape / 8b-precedence, because the rule routes there.
|
|
18
|
+
|
|
19
|
+
#### 8b-verdict. The verdict set, and what `new` owes
|
|
20
|
+
|
|
21
|
+
The ladder's answer is a **named verdict, never a yes/no**:
|
|
22
|
+
|
|
23
|
+
| verdict | meaning |
|
|
24
|
+
|---|---|
|
|
25
|
+
| `reuse` | the existing thing carries the requirement as-is |
|
|
26
|
+
| `extract` | it carries it once a shared part is pulled out |
|
|
27
|
+
| `refactor` | it carries it once reshaped, same responsibility |
|
|
28
|
+
| `extend` | it carries it with an added, non-distorting case |
|
|
29
|
+
| `migrate` | it should carry it, and the move is the work |
|
|
30
|
+
| `new` | nothing carries it, and the search that establishes that is the evidence |
|
|
31
|
+
|
|
32
|
+
**`new` owes negative evidence** — the closest existing candidate **by name and
|
|
33
|
+
path**, and why it does not carry the requirement. *"Nothing similar exists"*
|
|
34
|
+
naming no candidate is an unrun search, not an answer, and it is the shape this
|
|
35
|
+
verdict set exists to make visible.
|
|
36
|
+
|
|
37
|
+
Two clauses hold the set honest, and both cut against reading it as a ranking:
|
|
38
|
+
|
|
39
|
+
- **The order is a thinking preference, not a ranking.** A `new` after a real
|
|
40
|
+
search beats an `extend` that bends a helper out of shape. Preferring reuse is
|
|
41
|
+
not preferring reuse *at any cost*.
|
|
42
|
+
- **Textual similarity alone is never grounds for an abstraction.** Two blocks
|
|
43
|
+
that read alike and change for different reasons are two blocks — the
|
|
44
|
+
per-class bars are in [`abstraction-thresholds`](../abstraction-thresholds.md).
|
|
45
|
+
|
|
46
|
+
**Reach the verdict with the engine, not a fresh grep protocol.** `agent-config
|
|
47
|
+
code-graph query` and `code-graph affected`;
|
|
48
|
+
[`external-code-graph-interop`](../../../src/rules/external-code-graph-interop.md)
|
|
49
|
+
already mandates query-before-grep and names grep the fallback, so a second
|
|
50
|
+
search specification here would contradict it rather than add to it.
|
|
51
|
+
|
|
52
|
+
#### 8b-cheap. Why the exclusions buy the checks and never the question
|
|
53
|
+
|
|
54
|
+
The rule excludes bug fixes, config changes, user-fenced tasks and trivial
|
|
55
|
+
changes from the **three heavy checks**. The one cheap question — *does this
|
|
56
|
+
already exist in the tree* — fires on all four rows anyway.
|
|
57
|
+
|
|
58
|
+
The reason is empirical rather than tidy: **bug fixes and renames re-add an
|
|
59
|
+
existing helper more often than features do**, because the author is inside one
|
|
60
|
+
file and reaching for something small. Switching the reuse rung off there
|
|
61
|
+
switches it off where it pays most.
|
|
62
|
+
|
|
63
|
+
Cheap means cheap, on the [`ui-audit-gate`](../../../src/rules/ui-audit-gate.md)
|
|
64
|
+
precedent: one `code-graph query`, one named verdict, no interview.
|
|
65
|
+
|
|
66
|
+
**The skip is decidable from the diff alone** — ≤ 1 file, ≤ 5 changed lines, no
|
|
67
|
+
new symbol, no new dependency. A typo satisfies all four with no state to
|
|
68
|
+
consult; an added symbol never does.
|
|
69
|
+
|
|
70
|
+
#### 8b-routing. Why this is not routed through the TDD cluster
|
|
71
|
+
|
|
72
|
+
Two source proposals put the existence question in `/tdd`'s design mode, as the
|
|
73
|
+
one point every behaviour passes through. **It cannot live there, and the reason
|
|
74
|
+
is delivery rather than design:**
|
|
75
|
+
`src/domains/engineering-base/tdd/command.md` carries `visibility: internal` and
|
|
76
|
+
`disable-model-invocation: true`, so **a consumer cannot reach it.** The routing
|
|
77
|
+
is undeliverable, not merely unwanted.
|
|
78
|
+
|
|
79
|
+
Recorded here so the next author does not re-derive the proposal and re-propose
|
|
80
|
+
it.
|
|
@@ -8,11 +8,11 @@ verified primitives and reconstruct it without inherited convention.
|
|
|
8
8
|
Adopted under the **Reference-Guideline Sunset Policy** and
|
|
9
9
|
cross-referenced from:
|
|
10
10
|
|
|
11
|
-
- [`deep-reading-analyst`](
|
|
11
|
+
- [`deep-reading-analyst`](../../../src/skills/deep-reading-analyst/SKILL.md)
|
|
12
12
|
— L3 Deep analysis depth.
|
|
13
13
|
- [`mental-models`](mental-models.md) — Munger's lattice; first
|
|
14
14
|
principles is the foundational physics-style lens.
|
|
15
|
-
- [`improve-before-implement`](
|
|
15
|
+
- [`improve-before-implement`](../../../src/rules/improve-before-implement.md)
|
|
16
16
|
— challenge the framing of a request before coding it.
|
|
17
17
|
- [`inversion-thinking`](inversion-thinking.md) — pair: first
|
|
18
18
|
principles rebuilds; inversion stress-tests the rebuild.
|
|
@@ -41,8 +41,8 @@ A generic artifact may end a section with a one-line handoff to its
|
|
|
41
41
|
framework-specific peers. Canonical shape:
|
|
42
42
|
|
|
43
43
|
```
|
|
44
|
-
→ Laravel-specific: see [laravel-validation](
|
|
45
|
-
→ Next.js-specific: see [nextjs-patterns](
|
|
44
|
+
→ Laravel-specific: see [laravel-validation](../../../src/skills/laravel-validation/SKILL.md)
|
|
45
|
+
→ Next.js-specific: see [nextjs-patterns](../../../src/skills/nextjs-patterns/SKILL.md)
|
|
46
46
|
```
|
|
47
47
|
|
|
48
48
|
The pointer is a link, not a procedure — the generic artifact never
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# `guarded-baseline` — a sub-state of `[ ]`, never a fifth glyph
|
|
2
|
+
|
|
3
|
+
> Migrated out of [`roadmap-progress-mechanics`](roadmap-progress-mechanics.md)
|
|
4
|
+
> on 2026-08-31, on arrival: that file measured 15,873 of the 16,000-char
|
|
5
|
+
> depth ceiling, leaving 127 characters, so the section could not live there.
|
|
6
|
+
> The ceiling is a growth ratchet, and hitting it is the signal to split rather
|
|
7
|
+
> than to raise it. The glyph-semantics table there points here.
|
|
8
|
+
|
|
9
|
+
A step whose `verify:` asserts a property of a mechanism that **does not yet exist** may not close `[x]`: an executable guard proven to go RED under a named sabotage is evidence about the *guard*, not about the *absent mechanism*, and `[x]` would claim the acceptance criterion was satisfied. Such a step keeps its `[ ]` box and carries an annotation plus a structured evidence record (AI council 2026-08-31, 2/2 convergent — `anthropic/claude-sonnet-4-5` + `openai/codex-default`, option C):
|
|
10
|
+
|
|
11
|
+
~~~md
|
|
12
|
+
- [ ] <!-- roadmap-status: guarded-baseline -->
|
|
13
|
+
**12.1** …step text…
|
|
14
|
+
```yaml
|
|
15
|
+
guarded_baseline:
|
|
16
|
+
category: future-mechanism # or absence-assertion — no other value
|
|
17
|
+
scope: <surfaces examined>
|
|
18
|
+
command: <reproducible green command>
|
|
19
|
+
red_proof: <commit, fixture, or recorded sabotage run>
|
|
20
|
+
sabotage_model: <exact violation introduced>
|
|
21
|
+
recheck_when: <mechanism / symbol / path trigger>
|
|
22
|
+
discharged_ac: <clauses actually completed>
|
|
23
|
+
pending_ac: <clauses still unexercisable>
|
|
24
|
+
```
|
|
25
|
+
~~~
|
|
26
|
+
|
|
27
|
+
The two categories are the discriminator, not decoration. An **`absence-assertion`** step asserts something directly observable today ("the schema has no field capable of holding prompt text") and MAY close `[x]` once sabotage-verified. A **`future-mechanism`** step asserts a property of something that does not exist ("a probe-resolvable fixture never enters the selector") and is what this sub-state exists for. No third value is accepted, and an absent `category` is a rejection rather than a default.
|
|
28
|
+
|
|
29
|
+
Tooling, all of it in `guarded_baseline.ts` and enforced by both consumers:
|
|
30
|
+
|
|
31
|
+
| Behavior | Where |
|
|
32
|
+
|---|---|
|
|
33
|
+
| Counted as **open**, never as done — the canonical box stays `[ ]` | `count_checkboxes` |
|
|
34
|
+
| Reported **separately**: a `## 🛡️ Guarded baselines` dashboard section plus a per-step stderr line | `update_roadmap_progress` |
|
|
35
|
+
| **Rejected** — exit 1, on both `--check` and a plain regen — when `red_proof` is absent, when `category` is absent or illegal, when there is no evidence block, or when the annotation sits on anything but `- [ ]` | `update_roadmap_progress` |
|
|
36
|
+
| Treated as **incomplete**: archival refused and the reason named | `archive_completed_roadmaps` |
|
|
37
|
+
| Marked **stale** once a path-shaped `recheck_when` trigger resolves in the tree; a bare symbol trigger is reported as not machine-checkable rather than as not-stale | `guardedBaselineStaleness` |
|
|
38
|
+
|
|
39
|
+
Only verification against the real mechanism permits `[x]`. **A baseline that has not demonstrably gone RED is an ordinary open item** and must not carry the annotation at all — the sabotage-and-restore proof is the entry price, not a nice-to-have.
|
|
@@ -4,18 +4,18 @@ Reference guideline for Wing-1 deep-thinking work — Carl Jacobi's
|
|
|
4
4
|
"invert, always invert" applied to **decisions and arguments**, not
|
|
5
5
|
diffs. The pre-mortem on a strategy, an argument, or a written plan;
|
|
6
6
|
distinct from
|
|
7
|
-
[`adversarial-review`](
|
|
7
|
+
[`adversarial-review`](../../../src/skills/adversarial-review/SKILL.md)
|
|
8
8
|
which stress-tests **diffs**. Adopted under the **Reference-Guideline
|
|
9
9
|
Sunset Policy** (see frontmatter `upstream` / `refresh_trigger` keys)
|
|
10
10
|
and cross-referenced from:
|
|
11
11
|
|
|
12
|
-
- [`refine-prompt`](
|
|
12
|
+
- [`refine-prompt`](../../../src/skills/refine-prompt/SKILL.md)
|
|
13
13
|
— pre-mortem on a free-form prompt before planning.
|
|
14
|
-
- [`refine-ticket`](
|
|
14
|
+
- [`refine-ticket`](../../../src/skills/refine-ticket/SKILL.md)
|
|
15
15
|
— pre-mortem on a Jira / Linear ticket before estimation.
|
|
16
|
-
- [`threat-modeling`](
|
|
16
|
+
- [`threat-modeling`](../../../src/skills/threat-modeling/SKILL.md)
|
|
17
17
|
— abuse-case generation pairs with goal inversion.
|
|
18
|
-
- [`improve-before-implement`](
|
|
18
|
+
- [`improve-before-implement`](../../../src/rules/improve-before-implement.md)
|
|
19
19
|
— challenge weak requirements before writing code.
|
|
20
20
|
|
|
21
21
|
> **Core principle:** "Invert, always invert." — Carl Jacobi
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# language-and-tone — examples and failure modes
|
|
2
2
|
|
|
3
|
-
> Reference companion to [`dist/agent-src/rules/language-and-tone.md`](
|
|
3
|
+
> Reference companion to [`dist/agent-src/rules/language-and-tone.md`](../../../src/rules/language-and-tone.md).
|
|
4
4
|
> Pulled out so the always-active rule stays under its character budget.
|
|
5
5
|
> Linked from the rule via the **Examples** section; agents do not load this file
|
|
6
6
|
> automatically, only when they want concrete demonstrations or are debugging a
|