@event4u/agent-config 14.12.0 → 14.14.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 +118 -155
- 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 +145 -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/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-comment-discipline.md +6 -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 +252 -8
- package/dist/agent-src/scripts/guarded_baseline.ts +343 -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 +516 -0
- package/dist/agent-src/scripts/ticket_bundles.ts +84 -0
- package/dist/agent-src/scripts/update_roadmap_progress.ts +16 -12
- 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/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 +17 -1
- 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/react-shadcn-ui/SKILL.md +1 -1
- package/dist/agent-src/skills/skill-writing/references/procedure.md +5 -5
- 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/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 +45 -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-JCW7ZLHK.js → chunk-4FS4WRXP.js} +5 -0
- package/dist/cli-delegate/{chunk-OMIVVCG2.js → chunk-A4QJ6ENT.js} +24 -0
- package/dist/cli-delegate/{chunk-JJA2QEWA.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 +80 -11
- 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 +58 -58
- 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 +2900 -1049
- 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 +634 -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 +4895 -2627
- package/dist/server/schemas/settings.js +3 -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 +10 -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/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 +18 -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/llms.txt +2 -2
- package/package.json +5 -2
- package/src/agent-src/scripts/archive_completed_roadmaps.ts +252 -8
- package/src/agent-src/scripts/guarded_baseline.ts +343 -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 +516 -0
- package/src/agent-src/scripts/ticket_bundles.ts +84 -0
- package/src/agent-src/scripts/update_roadmap_progress.ts +16 -12
- 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 +32 -3
- package/src/config/assurance-capability-registry.json +21 -9
- 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 +80 -0
- package/src/config/drafting-channels.yml +43 -0
- package/src/config/estate-count-budget.json +57 -36
- package/src/config/evaluator-budgets.json +14 -14
- package/src/config/gate-coverage.yml +729 -63
- package/src/config/gate-reachability-exemptions.json +21 -0
- package/src/config/gate-violation-baselines.json +42 -19
- 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 +16 -15
- package/src/config/preamble-payload-budget.json +12 -4
- 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 +16 -2
- package/src/config/rule-stub-ceilings.json +133 -112
- package/src/config/turnaround-budget.json +66 -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 +23 -0
- package/src/scripts/_lib/activation_ladder.ts +255 -0
- package/src/scripts/_lib/activation_receipt_producer.ts +341 -0
- package/src/scripts/_lib/activation_states.ts +88 -0
- package/src/scripts/_lib/adherence_detectors.ts +143 -0
- package/src/scripts/_lib/adr_frontmatter.ts +26 -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_pair_delta.ts +349 -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/carrier_status.ts +118 -0
- package/src/scripts/_lib/cascade_stage_enumeration.ts +92 -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/corpus_manifest.ts +726 -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 +282 -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/estate_carrier_cases.ts +72 -0
- package/src/scripts/_lib/eval_publication.ts +354 -0
- package/src/scripts/_lib/evaluation_cascade.ts +452 -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/evolution_roi.ts +562 -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/generated_by.ts +66 -0
- package/src/scripts/_lib/harness_evolution_guards.ts +239 -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/lexical_shortlist.ts +215 -0
- package/src/scripts/_lib/llm_candidate_proposer.ts +461 -0
- package/src/scripts/_lib/llm_proposer_transport.ts +153 -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/pathology_archive.ts +393 -0
- package/src/scripts/_lib/prefix_stable_surfaces.ts +123 -0
- package/src/scripts/_lib/privacy_class.ts +47 -0
- package/src/scripts/_lib/promotion_capability.ts +315 -0
- package/src/scripts/_lib/promotion_evidence.ts +414 -0
- package/src/scripts/_lib/promotion_review.ts +294 -0
- package/src/scripts/_lib/prompt_shape.ts +92 -0
- package/src/scripts/_lib/regression_neighbourhood.ts +259 -0
- package/src/scripts/_lib/release_highlights.ts +70 -1
- package/src/scripts/_lib/release_material.ts +125 -2
- 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/routing_corpus.ts +307 -0
- package/src/scripts/_lib/routing_index_input.ts +104 -0
- package/src/scripts/_lib/rule_injection.ts +22 -1
- package/src/scripts/_lib/runtime_journal.ts +1499 -0
- package/src/scripts/_lib/runtime_wiring_checks.ts +430 -0
- package/src/scripts/_lib/semantic_noop.ts +167 -0
- package/src/scripts/_lib/skill_catalogue.ts +11 -1
- 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/activation_receipt.ts +258 -0
- 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/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/cross_exam.ts +128 -0
- package/src/scripts/ai_council/disagreement_signal.ts +338 -0
- package/src/scripts/ai_council/explain_route.ts +157 -0
- package/src/scripts/ai_council/information_gain.ts +293 -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/leakage_corpus.ts +385 -0
- package/src/scripts/ai_council/leakage_patterns.ts +453 -0
- package/src/scripts/ai_council/minority_retention.ts +171 -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/recouncil_savings.ts +299 -0
- package/src/scripts/ai_council/replay_route.ts +223 -0
- package/src/scripts/ai_council/response_record.ts +50 -0
- package/src/scripts/ai_council/reviewer_assignment.ts +279 -0
- package/src/scripts/ai_council/routing_training_row.ts +197 -0
- package/src/scripts/ai_council/synthesis_strategy.ts +159 -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 +131 -10
- 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 +34 -1
- package/src/scripts/check_claims.ts +576 -6
- 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 +347 -25
- 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 +114 -3
- 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_release_highlights.ts +96 -13
- package/src/scripts/check_roadmap_trackable.ts +17 -2
- 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 +26 -3
- 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/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/corpus_manifest.ts +235 -0
- 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/dispatch_r2_reviewer.ts +46 -5
- package/src/scripts/evolution_lab.ts +1153 -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 -16
- 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/comment_discipline_hook.ts +146 -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 +10 -0
- package/src/scripts/hooks/turn_end_gate_hook.ts +9 -1
- 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/language_mirror_hook.ts +14 -2
- package/src/scripts/lint_adr_sweep_routing.ts +12 -0
- package/src/scripts/lint_canonical_terms.ts +604 -0
- package/src/scripts/lint_carrier_integrity.ts +820 -0
- package/src/scripts/lint_code_comments.ts +643 -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_plan_risk_register.ts +39 -19
- package/src/scripts/lint_promotion_paths.ts +779 -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 +426 -23
- package/src/scripts/lint_ticket_buildable.ts +17 -1
- package/src/scripts/llm_propose.ts +256 -0
- 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_delivery_sets.ts +361 -0
- package/src/scripts/measure_docs_dead_links.ts +348 -0
- package/src/scripts/measure_host_capture.ts +461 -0
- package/src/scripts/measure_routing_signal.ts +307 -0
- package/src/scripts/migration_status.ts +3 -3
- package/src/scripts/model_rule_injection.ts +76 -0
- package/src/scripts/orchestration_record.ts +14 -0
- package/src/scripts/preamble_byte_census.ts +139 -10
- package/src/scripts/prepack-check.mjs +4 -1
- package/src/scripts/probe_council_retention.ts +495 -0
- package/src/scripts/probe_turnaround.ts +384 -0
- package/src/scripts/probe_unblocked_ask.ts +279 -0
- package/src/scripts/release.ts +21 -37
- package/src/scripts/release_drill.ts +143 -0
- package/src/scripts/release_env.ts +35 -0
- package/src/scripts/release_publication.ts +84 -0
- package/src/scripts/render_benchmark_md.ts +1 -1
- 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/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 +3 -3
- package/src/scripts/trigger_eval_grandfather.json +202 -222
- package/src/scripts/utilization_report.ts +22 -2
- package/src/server/schemas/settings.ts +5 -0
- package/src/templates/marketing-copy.yml +1 -1
- package/dist/ui/assets/index-Cxgy63kz.js +0 -26
|
@@ -48,6 +48,7 @@ import { censusRuleDir, type RuleDirCensus } from './_lib/carrier_divergence.js'
|
|
|
48
48
|
import { DEFAULT_PROJECTS_ROOT, scanTranscripts } from './_lib/cc_transcript.js';
|
|
49
49
|
import { censusDuplicateScope } from './_lib/duplicate_scope_census.js';
|
|
50
50
|
import { computeColdStarts } from './cache_realization_report.js';
|
|
51
|
+
import type { EvidenceBasis } from './_lib/evidence_basis.js';
|
|
51
52
|
|
|
52
53
|
const _HERE = fileURLToPath(import.meta.url);
|
|
53
54
|
const REPO_ROOT = path.resolve(path.dirname(_HERE), '..', '..');
|
|
@@ -81,6 +82,72 @@ function readCharsIfExists(p: string): number {
|
|
|
81
82
|
// scope, and this file uses both below.
|
|
82
83
|
export { censusRuleDir, type RuleDirCensus };
|
|
83
84
|
|
|
85
|
+
/**
|
|
86
|
+
* The user-scope rule payload, DERIVED from the projection instead of read off
|
|
87
|
+
* the developer's machine.
|
|
88
|
+
*
|
|
89
|
+
* `road-to-agent-turnaround` 4.1. `src/config/preamble-payload-budget.json`
|
|
90
|
+
* excludes the user-scope bucket as *"machine-dependent, not CI-checkable"*.
|
|
91
|
+
* That reason is falsifiable and this function falsifies it: the layer is
|
|
92
|
+
* written by this package's own installer out of `dist/agent-src/rules/`, and
|
|
93
|
+
* which rules go to the GLOBAL layer rather than the project one is decided by
|
|
94
|
+
* frontmatter — `workspaces:` naming the package's own maintainer workspace —
|
|
95
|
+
* not by anything on the machine.
|
|
96
|
+
*
|
|
97
|
+
* Verified exactly on 2026-08-30, which is why this is a partition and not an
|
|
98
|
+
* estimate: 119 projected rules, 15 carrying `workspaces: [agent-config-maintainer]`,
|
|
99
|
+
* and 119 − 15 = 104 = the file count of the installed `~/.claude/rules/`. The
|
|
100
|
+
* 15 split further into 13 written to the project `.claude/rules/` and 2 that
|
|
101
|
+
* are `type: manual` and written nowhere — which is why `packageOnly` is
|
|
102
|
+
* reported rather than folded away.
|
|
103
|
+
*
|
|
104
|
+
* The predicate is deliberately narrow: a rule is package-only when its
|
|
105
|
+
* `workspaces:` list exists and contains ONLY the maintainer workspace. A rule
|
|
106
|
+
* with no `workspaces:` key ships everywhere, which is the common case.
|
|
107
|
+
*/
|
|
108
|
+
export interface DeliveredRuleCensus {
|
|
109
|
+
/** Rules the global layer receives — the machine-independent user-scope figure. */
|
|
110
|
+
delivered: RuleDirCensus;
|
|
111
|
+
/** Rules restricted to this package's own workspace. */
|
|
112
|
+
packageOnly: RuleDirCensus;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
const MAINTAINER_WORKSPACE = 'agent-config-maintainer';
|
|
116
|
+
|
|
117
|
+
export function censusDeliveredRulePayload(projectionDir: string): DeliveredRuleCensus {
|
|
118
|
+
const empty = (): RuleDirCensus => ({ files: 0, chars: 0 });
|
|
119
|
+
const delivered = empty();
|
|
120
|
+
const packageOnly = empty();
|
|
121
|
+
let names: string[];
|
|
122
|
+
try {
|
|
123
|
+
names = fs.readdirSync(projectionDir).filter((f) => f.endsWith('.md'));
|
|
124
|
+
} catch {
|
|
125
|
+
return { delivered, packageOnly };
|
|
126
|
+
}
|
|
127
|
+
for (const name of names) {
|
|
128
|
+
const abs = path.join(projectionDir, name);
|
|
129
|
+
let text: string;
|
|
130
|
+
try {
|
|
131
|
+
text = fs.readFileSync(abs, 'utf8');
|
|
132
|
+
} catch {
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
const m = /^workspaces:\s*\[([^\]]*)\]/m.exec(text);
|
|
136
|
+
const listed =
|
|
137
|
+
m === null
|
|
138
|
+
? []
|
|
139
|
+
: m[1]!
|
|
140
|
+
.split(',')
|
|
141
|
+
.map((x) => x.trim())
|
|
142
|
+
.filter((x) => x !== '');
|
|
143
|
+
const isPackageOnly = listed.length > 0 && listed.every((w) => w === MAINTAINER_WORKSPACE);
|
|
144
|
+
const bucket = isPackageOnly ? packageOnly : delivered;
|
|
145
|
+
bucket.files += 1;
|
|
146
|
+
bucket.chars += Buffer.byteLength(text, 'utf8');
|
|
147
|
+
}
|
|
148
|
+
return { delivered, packageOnly };
|
|
149
|
+
}
|
|
150
|
+
|
|
84
151
|
export interface PerRuleCost {
|
|
85
152
|
file: string;
|
|
86
153
|
chars: number;
|
|
@@ -187,12 +254,19 @@ export interface SkillsCatalogCensus {
|
|
|
187
254
|
chars: number;
|
|
188
255
|
}
|
|
189
256
|
|
|
190
|
-
interface RawSkillFrontmatter {
|
|
257
|
+
export interface RawSkillFrontmatter {
|
|
191
258
|
name?: unknown;
|
|
192
259
|
description?: unknown;
|
|
193
260
|
}
|
|
194
261
|
|
|
195
|
-
|
|
262
|
+
/**
|
|
263
|
+
* Exported since `road-to-delivered-cost-truth` 2.1: the per-asset ledger must
|
|
264
|
+
* build the catalogue line the SAME way this census does, or the two disagree
|
|
265
|
+
* about the same corpus. A second regex-based reader was tried and reconciled
|
|
266
|
+
* 17.1 % low, because a `[^\n]+` capture truncates every folded multi-line
|
|
267
|
+
* `description:` — the reconciliation caught it, which is what it is for.
|
|
268
|
+
*/
|
|
269
|
+
export function parseFrontmatter(text: string): RawSkillFrontmatter {
|
|
196
270
|
if (!text.startsWith('---')) return {};
|
|
197
271
|
const end = text.indexOf('\n---', 3);
|
|
198
272
|
if (end === -1) return {};
|
|
@@ -242,14 +316,40 @@ export interface ByteCensusSource {
|
|
|
242
316
|
files: number;
|
|
243
317
|
chars: number;
|
|
244
318
|
tokens_estimate: number;
|
|
245
|
-
/**
|
|
246
|
-
|
|
319
|
+
/**
|
|
320
|
+
* Migrated onto the shared evidence-basis vocabulary
|
|
321
|
+
* (`road-to-delivered-cost-truth` 4.1). `measured_local_file` was this
|
|
322
|
+
* file's private spelling of `measured`, and `residual` was its spelling of
|
|
323
|
+
* a figure derived by subtraction — which the contract calls `estimated`.
|
|
324
|
+
* Two names for one idea is how a vocabulary forks; the old literals are
|
|
325
|
+
* gone rather than aliased.
|
|
326
|
+
*/
|
|
327
|
+
provenance: Extract<EvidenceBasis, 'measured' | 'estimated'>;
|
|
247
328
|
/** How this figure was derived — mandatory for anything not a plain file-size sum. */
|
|
248
329
|
basis: string;
|
|
249
330
|
}
|
|
250
331
|
|
|
251
332
|
export interface ByteCensus {
|
|
252
333
|
sources: ByteCensusSource[];
|
|
334
|
+
/**
|
|
335
|
+
* The projection-derived view of the user-scope bucket — road-to-agent-turnaround 4.1.
|
|
336
|
+
*
|
|
337
|
+
* DELIBERATELY NOT IN `sources`, and the reason is a defect this change made
|
|
338
|
+
* and caught: `sources` is SUMMED into `measurable_tokens_total`, and this is
|
|
339
|
+
* a second VIEW of the user-scope row already in it, not additional payload.
|
|
340
|
+
* Putting it there added ~123k phantom tokens to the total and reddened
|
|
341
|
+
* `check_preamble_payload_budget` on the first run. A non-additive figure
|
|
342
|
+
* belongs beside the sum, never inside it.
|
|
343
|
+
*/
|
|
344
|
+
derived_user_scope: {
|
|
345
|
+
delivered_files: number;
|
|
346
|
+
delivered_chars: number;
|
|
347
|
+
delivered_tokens: number;
|
|
348
|
+
package_only_files: number;
|
|
349
|
+
package_only_chars: number;
|
|
350
|
+
package_only_tokens: number;
|
|
351
|
+
basis: string;
|
|
352
|
+
};
|
|
253
353
|
measurable_tokens_total: number;
|
|
254
354
|
/** Includes the residual bucket — always ≈ measured_cold_start_median by construction (see module doc comment). */
|
|
255
355
|
grand_total_tokens: number;
|
|
@@ -338,6 +438,7 @@ export function buildByteCensus(opts: {
|
|
|
338
438
|
skillsCatalog: SkillsCatalogCensus;
|
|
339
439
|
topRules: PerRuleCost[];
|
|
340
440
|
duplicateScope: ReturnType<typeof censusDuplicateScope>;
|
|
441
|
+
deliveredRules: DeliveredRuleCensus;
|
|
341
442
|
measuredColdStartMedian: number | null;
|
|
342
443
|
coldStartLegs: number;
|
|
343
444
|
}): ByteCensus {
|
|
@@ -358,7 +459,7 @@ export function buildByteCensus(opts: {
|
|
|
358
459
|
files: opts.userRules.files,
|
|
359
460
|
chars: opts.userRules.chars,
|
|
360
461
|
tokens_estimate: tokensFromChars(opts.userRules.chars),
|
|
361
|
-
provenance: '
|
|
462
|
+
provenance: 'measured',
|
|
362
463
|
basis: 'Σ byte size of every .md file in the user-scope rules directory, chars/4.',
|
|
363
464
|
},
|
|
364
465
|
{
|
|
@@ -366,7 +467,7 @@ export function buildByteCensus(opts: {
|
|
|
366
467
|
files: opts.projectRules.files,
|
|
367
468
|
chars: opts.projectRules.chars,
|
|
368
469
|
tokens_estimate: tokensFromChars(opts.projectRules.chars),
|
|
369
|
-
provenance: '
|
|
470
|
+
provenance: 'measured',
|
|
370
471
|
basis: 'Σ byte size of every .md file in the project-scope rules directory, chars/4.',
|
|
371
472
|
},
|
|
372
473
|
{
|
|
@@ -374,7 +475,7 @@ export function buildByteCensus(opts: {
|
|
|
374
475
|
files: claudeMdFiles,
|
|
375
476
|
chars: claudeMdChars,
|
|
376
477
|
tokens_estimate: tokensFromChars(claudeMdChars),
|
|
377
|
-
provenance: '
|
|
478
|
+
provenance: 'measured',
|
|
378
479
|
basis:
|
|
379
480
|
'Byte size of project CLAUDE.md + project CLAUDE.local.md (if present) + user ~/.claude/CLAUDE.md ' +
|
|
380
481
|
'+ every file pulled in by a top-level "@<path>" import line in the user CLAUDE.md, chars/4.',
|
|
@@ -384,7 +485,7 @@ export function buildByteCensus(opts: {
|
|
|
384
485
|
files: opts.globalProfile.present ? 1 : 0,
|
|
385
486
|
chars: opts.globalProfile.chars,
|
|
386
487
|
tokens_estimate: tokensFromChars(opts.globalProfile.chars),
|
|
387
|
-
provenance: '
|
|
488
|
+
provenance: 'measured',
|
|
388
489
|
basis: opts.globalProfile.present
|
|
389
490
|
? `Byte size of ${opts.globalProfile.path as string}, chars/4.`
|
|
390
491
|
: 'Layer not written yet on this machine (resolveGlobalProfilePath() returned null) — treated as 0, per the roadmap\'s own honesty caveat.',
|
|
@@ -394,7 +495,7 @@ export function buildByteCensus(opts: {
|
|
|
394
495
|
files: opts.skillsCatalog.skills,
|
|
395
496
|
chars: opts.skillsCatalog.chars,
|
|
396
497
|
tokens_estimate: tokensFromChars(opts.skillsCatalog.chars),
|
|
397
|
-
provenance: '
|
|
498
|
+
provenance: 'measured',
|
|
398
499
|
basis:
|
|
399
500
|
'Σ "- <name>: <description>\\n" over every SKILL.md frontmatter, chars/4 — the description-text ' +
|
|
400
501
|
'component only; the host\'s exact on-wire catalog format is not independently file-measurable.',
|
|
@@ -411,7 +512,7 @@ export function buildByteCensus(opts: {
|
|
|
411
512
|
files: 0,
|
|
412
513
|
chars: 0,
|
|
413
514
|
tokens_estimate: residualTokens,
|
|
414
|
-
provenance: '
|
|
515
|
+
provenance: 'estimated',
|
|
415
516
|
basis:
|
|
416
517
|
'measured_cold_start_median minus the sum of the file-measurable buckets above. No local transcript ' +
|
|
417
518
|
'or file carries the request\'s raw tool-definition JSON or the per-spawn dispatch-prompt text ' +
|
|
@@ -441,6 +542,21 @@ export function buildByteCensus(opts: {
|
|
|
441
542
|
|
|
442
543
|
return {
|
|
443
544
|
sources,
|
|
545
|
+
derived_user_scope: {
|
|
546
|
+
delivered_files: opts.deliveredRules.delivered.files,
|
|
547
|
+
delivered_chars: opts.deliveredRules.delivered.chars,
|
|
548
|
+
delivered_tokens: tokensFromChars(opts.deliveredRules.delivered.chars),
|
|
549
|
+
package_only_files: opts.deliveredRules.packageOnly.files,
|
|
550
|
+
package_only_chars: opts.deliveredRules.packageOnly.chars,
|
|
551
|
+
package_only_tokens: tokensFromChars(opts.deliveredRules.packageOnly.chars),
|
|
552
|
+
basis:
|
|
553
|
+
'Σ byte size of every dist/agent-src/rules/*.md whose `workspaces:` does not restrict it to ' +
|
|
554
|
+
`the ${MAINTAINER_WORKSPACE} workspace, chars/4 — computed without reading ~/.claude at all. ` +
|
|
555
|
+
'This is the bucket src/config/preamble-payload-budget.json excludes as "machine-dependent, ' +
|
|
556
|
+
'not CI-checkable", and computing it here is what falsifies that reason. A gap against the ' +
|
|
557
|
+
'measured user-scope row is INSTALL DRIFT (the machine carries an older release), never a ' +
|
|
558
|
+
'defect in either number.',
|
|
559
|
+
},
|
|
444
560
|
measurable_tokens_total: measurableTokensTotal,
|
|
445
561
|
grand_total_tokens: grandTotal,
|
|
446
562
|
measured_cold_start_median: median,
|
|
@@ -471,6 +587,7 @@ export function buildReport(opts: Options): ByteCensus {
|
|
|
471
587
|
const skillsCatalog = censusSkillsCatalog(opts.skillsDir);
|
|
472
588
|
const topRules = topRulesByCost(opts.projectRulesDir, 10);
|
|
473
589
|
const duplicateScope = censusDuplicateScope(opts.userRulesDir, opts.projectRulesDir);
|
|
590
|
+
const deliveredRules = censusDeliveredRulePayload(opts.projectRulesDir);
|
|
474
591
|
|
|
475
592
|
const scan = scanTranscripts({ root: opts.root, maxAgeDays: opts.maxAgeDays });
|
|
476
593
|
const coldStart = computeColdStarts(scan.records);
|
|
@@ -484,6 +601,7 @@ export function buildReport(opts: Options): ByteCensus {
|
|
|
484
601
|
skillsCatalog,
|
|
485
602
|
topRules,
|
|
486
603
|
duplicateScope,
|
|
604
|
+
deliveredRules,
|
|
487
605
|
measuredColdStartMedian,
|
|
488
606
|
coldStartLegs: coldStart.legs,
|
|
489
607
|
});
|
|
@@ -504,6 +622,17 @@ export function renderText(r: ByteCensus): string {
|
|
|
504
622
|
out.push(` basis: ${s.basis}`);
|
|
505
623
|
}
|
|
506
624
|
out.push('');
|
|
625
|
+
const d = r.derived_user_scope;
|
|
626
|
+
out.push('');
|
|
627
|
+
out.push('User-scope bucket, DERIVED from the projection (NOT summed — a second view of a row above):');
|
|
628
|
+
out.push(
|
|
629
|
+
` delivered to the global layer: files=${String(d.delivered_files)} chars=${String(d.delivered_chars)} tokens_estimate=${String(d.delivered_tokens)}`,
|
|
630
|
+
);
|
|
631
|
+
out.push(
|
|
632
|
+
` package-only (never delivered): files=${String(d.package_only_files)} chars=${String(d.package_only_chars)} tokens_estimate=${String(d.package_only_tokens)}`,
|
|
633
|
+
);
|
|
634
|
+
out.push(` basis: ${d.basis}`);
|
|
635
|
+
out.push('');
|
|
507
636
|
out.push(`measurable_tokens_total (excludes residual): ${Math.round(r.measurable_tokens_total)}`);
|
|
508
637
|
out.push(`grand_total_tokens (includes residual): ${Math.round(r.grand_total_tokens)}`);
|
|
509
638
|
if (r.measured_cold_start_median !== null) {
|
|
@@ -76,6 +76,8 @@ process.stderr.write(`prepack-check: ${BIN} OK\n`);
|
|
|
76
76
|
// the shipped set is derived from the package.json `files` whitelist.
|
|
77
77
|
// ---------------------------------------------------------------------------
|
|
78
78
|
import { readdirSync } from 'node:fs';
|
|
79
|
+
|
|
80
|
+
import { stripCommentsMjs } from './_lib/strip_comments.mjs';
|
|
79
81
|
import { dirname, join, relative, sep } from 'node:path';
|
|
80
82
|
|
|
81
83
|
const pkg = JSON.parse(readFileSync(resolve('package.json'), 'utf8'));
|
|
@@ -109,6 +111,7 @@ function* walk(dir) {
|
|
|
109
111
|
|
|
110
112
|
const IMPORT_RE = /(?:from\s+|import\s*\(\s*|require\s*\(\s*)['"](\.\.?\/[^'"]+)['"]/g;
|
|
111
113
|
|
|
114
|
+
|
|
112
115
|
function resolveCandidates(fromDir, spec) {
|
|
113
116
|
const base = join(fromDir, spec);
|
|
114
117
|
return [
|
|
@@ -126,7 +129,7 @@ const importErrors = [];
|
|
|
126
129
|
const scanRoots = shippedPrefixes.filter((p) => p.startsWith('src/'));
|
|
127
130
|
for (const root of scanRoots) {
|
|
128
131
|
for (const file of walk(resolve(root))) {
|
|
129
|
-
const text = readFileSync(file, 'utf8');
|
|
132
|
+
const text = stripCommentsMjs(readFileSync(file, 'utf8'));
|
|
130
133
|
for (const m of text.matchAll(IMPORT_RE)) {
|
|
131
134
|
const spec = m[1];
|
|
132
135
|
const candidates = resolveCandidates(dirname(file), spec);
|