@event4u/agent-config 16.3.0 → 16.4.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 +251 -0
- package/README.md +2 -2
- package/agents/templates/.ai-council.yml.example +26 -8
- package/dist/agent-src/commands/analyze/inbox.md +10 -7
- package/dist/agent-src/commands/bug/investigate.md +1 -1
- package/dist/agent-src/commands/commit/in-chunks.md +40 -31
- package/dist/agent-src/commands/commit.md +72 -33
- package/dist/agent-src/commands/condense.md +2 -8
- package/dist/agent-src/commands/council/debate.md +11 -7
- package/dist/agent-src/commands/council/default.md +10 -9
- package/dist/agent-src/commands/council.md +1 -1
- package/dist/agent-src/commands/estimate-ticket.md +1 -1
- package/dist/agent-src/commands/feature/explore.md +3 -3
- package/dist/agent-src/commands/feature/plan.md +1 -1
- package/dist/agent-src/commands/fix/ci.md +17 -3
- package/dist/agent-src/commands/fix/commit-messages.md +48 -23
- package/dist/agent-src/commands/fix/pr-comments.md +3 -6
- package/dist/agent-src/commands/implement-ticket.md +3 -3
- package/dist/agent-src/commands/memory/add.md +4 -16
- package/dist/agent-src/commands/memory/load.md +5 -6
- package/dist/agent-src/commands/memory/promote.md +3 -16
- package/dist/agent-src/commands/mission/upgrade.md +3 -2
- package/dist/agent-src/commands/optimize/agents-dir.md +2 -2
- package/dist/agent-src/commands/optimize/deep.md +4 -2
- package/dist/agent-src/commands/optimize/rtk.md +4 -26
- package/dist/agent-src/commands/pr/create/description-only.md +18 -15
- package/dist/agent-src/commands/pr/create.md +42 -34
- package/dist/agent-src/commands/pr/merge.md +136 -9
- package/dist/agent-src/commands/prepare-for-review.md +13 -11
- package/dist/agent-src/commands/project/analyze.md +7 -35
- package/dist/agent-src/commands/refine-ticket.md +1 -1
- package/dist/agent-src/commands/review/changes.md +14 -19
- package/dist/agent-src/commands/roadmap/next.md +10 -1
- package/dist/agent-src/commands/roadmap/process-full.md +52 -38
- package/dist/agent-src/commands/roadmap/resolve-blockers.md +64 -14
- package/dist/agent-src/commands/worktree/create.md +7 -3
- package/dist/agent-src/commands/worktree/verify.md +2 -1
- package/dist/agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +5 -3
- package/dist/agent-src/contexts/communication/rules-auto/token-efficiency-mechanics.md +7 -9
- package/dist/agent-src/contexts/contracts/command-suggestion-flow.md +8 -6
- package/dist/agent-src/contexts/contracts/frugality-charter.md +8 -5
- package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +1 -1
- package/dist/agent-src/contexts/execution/auto-orchestration-activation.md +0 -1
- package/dist/agent-src/contexts/execution/evidence-discipline.md +2 -2
- package/dist/agent-src/contexts/execution/non-interactive-contract.md +5 -8
- package/dist/agent-src/contexts/execution/rdp-gate.md +4 -4
- package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +9 -8
- package/dist/agent-src/contexts/execution/roadmap-process-loop.md +67 -52
- package/dist/agent-src/contexts/execution/subagent-routing.md +8 -8
- package/dist/agent-src/contexts/execution/subagent-steering.md +6 -4
- package/dist/agent-src/contexts/execution/terminal-states.md +2 -2
- package/dist/agent-src/contexts/execution/toolchain-resolver.md +4 -10
- package/dist/agent-src/contexts/subagent-configuration.md +1 -1
- package/dist/agent-src/guidelines/agent-infra/active-remediation-mechanics.md +39 -0
- package/dist/agent-src/guidelines/agent-infra/context-hygiene-mechanics.md +1 -1
- package/dist/agent-src/guidelines/agent-infra/cross-source-consistency-mechanics.md +8 -10
- package/dist/agent-src/guidelines/agent-infra/frontier-reasoning-operating-profile.md +3 -2
- package/dist/agent-src/guidelines/agent-infra/layered-settings.md +13 -1
- package/dist/agent-src/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
- package/dist/agent-src/guidelines/agent-infra/self-improvement-pipeline.md +10 -3
- package/dist/agent-src/guidelines/agent-infra/size-and-scope.md +36 -0
- package/dist/agent-src/guidelines/php/git.md +15 -2
- package/dist/agent-src/rules/active-remediation.md +0 -1
- package/dist/agent-src/rules/analysis-skill-routing.md +0 -1
- package/dist/agent-src/rules/architecture.md +0 -1
- package/dist/agent-src/rules/artifact-drafting-protocol.md +0 -1
- package/dist/agent-src/rules/artifact-engagement-recording.md +0 -1
- package/dist/agent-src/rules/augment-edit-discipline.md +0 -1
- package/dist/agent-src/rules/autonomous-execution.md +0 -1
- package/dist/agent-src/rules/brand-consistency.md +0 -1
- package/dist/agent-src/rules/brand-source-of-truth.md +0 -1
- package/dist/agent-src/rules/broken-access-control.md +0 -1
- package/dist/agent-src/rules/cli-output-handling.md +0 -1
- package/dist/agent-src/rules/code-comment-discipline.md +0 -1
- package/dist/agent-src/rules/code-provenance.md +0 -1
- package/dist/agent-src/rules/command-suggestion-policy.md +0 -1
- package/dist/agent-src/rules/commit-conventions.md +1 -2
- package/dist/agent-src/rules/communication-through-line.md +1 -2
- package/dist/agent-src/rules/content-quoting-floor.md +1 -2
- package/dist/agent-src/rules/context-hygiene.md +5 -5
- package/dist/agent-src/rules/copilot-routing.md +1 -2
- package/dist/agent-src/rules/council-availability.md +4 -4
- package/dist/agent-src/rules/cross-source-consistency.md +4 -6
- package/dist/agent-src/rules/decision-revisit-gate.md +2 -3
- package/dist/agent-src/rules/delegation-policy.md +2 -3
- package/dist/agent-src/rules/design-fidelity.md +0 -1
- package/dist/agent-src/rules/design-review-after-ui-write.md +3 -3
- package/dist/agent-src/rules/devcontainer-routing.md +1 -2
- package/dist/agent-src/rules/doc-screenshot-hygiene.md +0 -1
- package/dist/agent-src/rules/docker-commands.md +0 -1
- package/dist/agent-src/rules/domain-adoption-policy.md +0 -1
- package/dist/agent-src/rules/domain-safety-disclaimer.md +0 -1
- package/dist/agent-src/rules/domain-safety-pii.md +0 -1
- package/dist/agent-src/rules/domain-safety-retention.md +0 -1
- package/dist/agent-src/rules/downstream-changes.md +0 -1
- package/dist/agent-src/rules/engineering-safety-floor.md +0 -1
- package/dist/agent-src/rules/external-code-graph-interop.md +0 -1
- package/dist/agent-src/rules/external-reference-deep-dive.md +0 -1
- package/dist/agent-src/rules/fast-path-marker-visibility.md +1 -2
- package/dist/agent-src/rules/finance-safety-floor.md +0 -1
- package/dist/agent-src/rules/fix-what-you-see.md +6 -32
- package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +0 -1
- package/dist/agent-src/rules/git-history-discipline.md +1 -2
- package/dist/agent-src/rules/guidelines.md +0 -1
- package/dist/agent-src/rules/history-discipline.md +0 -1
- package/dist/agent-src/rules/icon-consistency.md +0 -1
- package/dist/agent-src/rules/image-likeness-and-rights.md +0 -1
- package/dist/agent-src/rules/improve-before-implement.md +0 -1
- package/dist/agent-src/rules/invite-challenge.md +0 -1
- package/dist/agent-src/rules/laravel-routing.md +1 -2
- package/dist/agent-src/rules/laravel-translations.md +0 -1
- package/dist/agent-src/rules/legal-safety-floor.md +0 -1
- package/dist/agent-src/rules/lethal-trifecta-guard.md +0 -1
- package/dist/agent-src/rules/linked-projects-onboarding-gate.md +0 -1
- package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +0 -1
- package/dist/agent-src/rules/markdown-safe-codeblocks.md +0 -1
- package/dist/agent-src/rules/media-governance-routing.md +1 -2
- package/dist/agent-src/rules/media-sync-ground-truth.md +0 -1
- package/dist/agent-src/rules/minimal-safe-diff.md +0 -1
- package/dist/agent-src/rules/missing-skill-recovery.md +0 -1
- package/dist/agent-src/rules/missing-tool-handling.md +0 -1
- package/dist/agent-src/rules/model-recommendation.md +0 -1
- package/dist/agent-src/rules/neighbour-precedence.md +64 -0
- package/dist/agent-src/rules/no-attribution-footers.md +0 -1
- package/dist/agent-src/rules/no-decorative-emojis-in-git-surfaces.md +0 -1
- package/dist/agent-src/rules/no-pr-progress-comments.md +0 -1
- package/dist/agent-src/rules/no-roadmap-references.md +0 -1
- package/dist/agent-src/rules/notes-first-reasoning.md +0 -1
- package/dist/agent-src/rules/onboarding-gate.md +0 -1
- package/dist/agent-src/rules/output-discipline.md +0 -1
- package/dist/agent-src/rules/package-ci-checks.md +0 -1
- package/dist/agent-src/rules/persona-governance.md +2 -3
- package/dist/agent-src/rules/php-coding.md +0 -1
- package/dist/agent-src/rules/prefer-enums-over-literals.md +0 -1
- package/dist/agent-src/rules/preservation-guard.md +0 -1
- package/dist/agent-src/rules/provider-lifecycle-discipline.md +2 -3
- package/dist/agent-src/rules/question-not-instruction.md +0 -1
- package/dist/agent-src/rules/reviewer-awareness.md +0 -1
- package/dist/agent-src/rules/roadmap-ci-steps-policy.md +0 -1
- package/dist/agent-src/rules/roadmap-progress-sync.md +3 -6
- package/dist/agent-src/rules/role-mode-adherence.md +0 -1
- package/dist/agent-src/rules/rule-type-governance.md +0 -1
- package/dist/agent-src/rules/runtime-safety.md +0 -1
- package/dist/agent-src/rules/scale-discipline.md +0 -1
- package/dist/agent-src/rules/secret-vcs-guard.md +0 -1
- package/dist/agent-src/rules/security-sensitive-stop.md +0 -1
- package/dist/agent-src/rules/self-repair-loop.md +0 -1
- package/dist/agent-src/rules/senior-engineering-discipline.md +0 -1
- package/dist/agent-src/rules/session-canary.md +0 -1
- package/dist/agent-src/rules/settings-ask-protocol.md +5 -6
- package/dist/agent-src/rules/size-enforcement.md +0 -1
- package/dist/agent-src/rules/skill-improvement-trigger.md +2 -3
- package/dist/agent-src/rules/skill-quality.md +0 -1
- package/dist/agent-src/rules/slash-command-routing-policy.md +0 -1
- package/dist/agent-src/rules/source-confidentiality.md +0 -1
- package/dist/agent-src/rules/source-discovery-gate.md +0 -1
- package/dist/agent-src/rules/source-of-truth.md +0 -1
- package/dist/agent-src/rules/spreadsheet-source-quality.md +1 -2
- package/dist/agent-src/rules/strategy-safety-floor.md +0 -1
- package/dist/agent-src/rules/symfony-routing.md +1 -2
- package/dist/agent-src/rules/think-before-action.md +0 -1
- package/dist/agent-src/rules/token-budget-discipline.md +12 -46
- package/dist/agent-src/rules/token-efficiency.md +0 -1
- package/dist/agent-src/rules/token-optimizer-maintenance.md +0 -1
- package/dist/agent-src/rules/tool-safety.md +0 -1
- package/dist/agent-src/rules/ui-audit-gate.md +1 -2
- package/dist/agent-src/rules/untrusted-input-defense.md +0 -1
- package/dist/agent-src/rules/upstream-proposal.md +0 -1
- package/dist/agent-src/rules/user-interaction.md +0 -1
- package/dist/agent-src/rules/user-interrupt-priority.md +0 -1
- package/dist/agent-src/scripts/gate_budget.ts +47 -23
- package/dist/agent-src/scripts/gate_execute.ts +12 -4
- package/dist/agent-src/skills/ai-council/SKILL.md +7 -4
- package/dist/agent-src/skills/ai-council/references/cost-and-redaction.md +21 -11
- package/dist/agent-src/skills/ai-council/references/procedure.md +12 -6
- package/dist/agent-src/skills/analysis-autonomous-mode/SKILL.md +1 -1
- package/dist/agent-src/skills/bug-analyzer/SKILL.md +1 -1
- package/dist/agent-src/skills/command-routing/SKILL.md +3 -4
- package/dist/agent-src/skills/conventional-commits-writing/SKILL.md +127 -139
- package/dist/agent-src/skills/corpus-grounding/ATTRIBUTION.md +39 -0
- package/dist/agent-src/skills/corpus-grounding/SKILL.md +8 -2
- package/dist/agent-src/skills/database/data/manifest.json +2 -2
- package/dist/agent-src/skills/database/data/query-tuning.csv +13 -13
- package/dist/agent-src/skills/design-system-capture/SKILL.md +0 -3
- package/dist/agent-src/skills/estimate-ticket/SKILL.md +1 -1
- package/dist/agent-src/skills/feature-planning/SKILL.md +1 -1
- package/dist/agent-src/skills/git-workflow/SKILL.md +44 -44
- package/dist/agent-src/skills/git-workflow/references/branch-update.md +312 -0
- package/dist/agent-src/skills/git-workflow/references/commit-subject.md +205 -0
- package/dist/agent-src/skills/jira-integration/SKILL.md +3 -3
- package/dist/agent-src/skills/merge-conflicts/SKILL.md +10 -4
- package/dist/agent-src/skills/po-discovery/SKILL.md +1 -1
- package/dist/agent-src/skills/refine-ticket/SKILL.md +4 -4
- package/dist/agent-src/skills/roadmap-writing/SKILL.md +2 -2
- package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +4 -2
- package/dist/agent-src/skills/source-discovery/SKILL.md +1 -1
- package/dist/agent-src/skills/tailwind-engineer/SKILL.md +3 -1
- package/dist/agent-src/skills/testing-anti-patterns/SKILL.md +1 -1
- package/dist/agent-src/skills/using-git-worktrees/SKILL.md +1 -1
- package/dist/agent-src/skills/verify-repair-loop/SKILL.md +2 -2
- package/dist/agent-src/templates/AGENTS.md +1 -1
- package/dist/agent-src/templates/agent-settings.md +46 -129
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +3 -3
- package/dist/agent-src/templates/command.md +2 -2
- package/dist/agent-src/templates/roadmaps.md +6 -1
- package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +0 -6
- package/dist/agent-src/templates/scripts/work_engine/directives/backend/_self_fix.ts +11 -7
- package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.ts +3 -2
- package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/memory_visibility.ts +2 -1
- package/dist/agent-src/templates/scripts/work_engine/hooks/settings.ts +0 -6
- package/dist/agent-src/templates/scripts/work_engine/scoring/decision_engine.ts +9 -12
- package/dist/agent-src/templates/scripts/work_engine/scoring/memory_visibility.ts +2 -1
- package/dist/agent-src/templates/skill.md +1 -1
- package/dist/cli/registry.js +1 -0
- package/dist/cli-delegate/check_update_banner.js +195 -119
- package/dist/cli-delegate/{chunk-TRI6DQZ6.js → chunk-5GPULQBE.js} +60 -42
- package/dist/cli-delegate/{chunk-JQVYKIZA.js → chunk-6SRJTYJS.js} +33 -177
- package/dist/cli-delegate/chunk-6V5FMA3P.js +186 -0
- package/dist/cli-delegate/chunk-6YQC2HLF.js +415 -0
- package/dist/cli-delegate/{chunk-E4XIZDIB.js → chunk-7HKRE54K.js} +1 -64
- package/dist/cli-delegate/{chunk-NQ7WT43P.js → chunk-AED2VQGM.js} +65 -11
- package/dist/cli-delegate/{chunk-7HQ52DHU.js → chunk-AL3RZ22D.js} +1 -1
- package/dist/cli-delegate/{chunk-DBH4AHDK.js → chunk-ED7KCMLB.js} +9 -11
- package/dist/cli-delegate/{chunk-NXEILF2K.js → chunk-F3QDG2GT.js} +481 -72
- package/dist/cli-delegate/{chunk-CQWX336L.js → chunk-G5VVIZRC.js} +3 -3
- package/dist/cli-delegate/{chunk-JY2I2DXV.js → chunk-H76PHZBI.js} +137 -60
- package/dist/cli-delegate/chunk-IAYTIIQW.js +67 -0
- package/dist/cli-delegate/{chunk-LIYTLH6O.js → chunk-KXXWJTDO.js} +5 -10
- package/dist/cli-delegate/{chunk-T7L2QK3K.js → chunk-LQOCRFWT.js} +1 -1
- package/dist/cli-delegate/{chunk-S4YWNRKO.js → chunk-MDPPKQCQ.js} +34 -1
- package/dist/cli-delegate/{chunk-S4UMZNES.js → chunk-MSUL5NYP.js} +5 -5
- package/dist/cli-delegate/chunk-OAFSJBHH.js +272 -0
- package/dist/cli-delegate/{chunk-GKE7ZVFA.js → chunk-PWX7CKMD.js} +1 -1
- package/dist/cli-delegate/{chunk-NDJLNC6Q.js → chunk-T6BP34WI.js} +1 -0
- package/dist/cli-delegate/{chunk-RQNNW7IF.js → chunk-T7XSJSUQ.js} +433 -632
- package/dist/cli-delegate/{chunk-EEHDXSYD.js → chunk-WQWXGIWB.js} +12 -273
- package/dist/cli-delegate/{chunk-QLDHIPWR.js → chunk-XQTPXKFA.js} +1 -1
- package/dist/cli-delegate/cmd_analyze_session.js +223 -43
- package/dist/cli-delegate/cmd_brand_status.js +3 -2
- package/dist/cli-delegate/cmd_conformance.js +105 -35
- package/dist/cli-delegate/cmd_converge.js +3 -3
- package/dist/cli-delegate/cmd_doctor.js +15 -12
- package/dist/cli-delegate/cmd_doctor_neighbours.js +11 -4
- package/dist/cli-delegate/cmd_explain.js +43 -19
- package/dist/cli-delegate/cmd_export.js +10 -10
- package/dist/cli-delegate/cmd_git_convention.js +1851 -0
- package/dist/cli-delegate/cmd_handoff.js +40 -21
- package/dist/cli-delegate/cmd_mcp_available.js +3 -2
- package/dist/cli-delegate/cmd_migrate.js +3 -3
- package/dist/cli-delegate/cmd_packs_active.js +4 -3
- package/dist/cli-delegate/cmd_prune.js +10 -10
- package/dist/cli-delegate/cmd_route_audit.js +7 -7
- package/dist/cli-delegate/cmd_route_explain.js +5 -5
- package/dist/cli-delegate/cmd_session_recycle.js +9 -7
- package/dist/cli-delegate/cmd_settings_check.js +54 -7
- package/dist/cli-delegate/cmd_settings_get.js +18 -8
- package/dist/cli-delegate/cmd_settings_migrate.js +10 -10
- package/dist/cli-delegate/cmd_settings_set.js +1 -1
- package/dist/cli-delegate/cmd_sync.js +10 -10
- package/dist/cli-delegate/cmd_uninstall.js +10 -10
- package/dist/cli-delegate/cmd_update.js +7 -7
- package/dist/cli-delegate/cmd_upgrade.js +7 -7
- package/dist/cli-delegate/cmd_validate.js +10 -10
- package/dist/cli-delegate/cmd_versions.js +5 -5
- package/dist/cli-delegate/gate_budget.js +1 -1
- package/dist/cli-delegate/gate_execute.js +2 -2
- package/dist/cli-delegate/roadmap_gates.js +2 -2
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +129 -90
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +3 -3
- package/dist/discovery/dormancy-report.md +1 -1
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +24 -9
- package/dist/discovery/trust-report.md +3 -3
- package/dist/discovery/workspaces.json +5 -4
- package/dist/hooks/dispatch.js +2151 -1820
- package/dist/hooks/dispatch.sha256 +1 -1
- package/dist/install/install.mjs +462 -431
- package/dist/install/installThinLayer.js +40 -12
- package/dist/install/installedRuleLinks.js +105 -19
- package/dist/mcp/awesome-mcp-servers.row.md +1 -1
- package/dist/mcp/mcp-cloudflare-catalogue.json +2 -2
- package/dist/mcp/registry-manifest.json +5 -5
- package/dist/mcp/server.json +2 -2
- package/dist/mcp/server.mjs +2702 -1995
- package/dist/router.json +1 -1
- package/dist/scripts/_lib/agent_settings.js +15 -120
- package/dist/scripts/_lib/compile_time_toggles.js +12 -21
- package/dist/scripts/_lib/git_convention.js +232 -0
- package/dist/scripts/_lib/global_deploy_inventory.js +730 -0
- package/dist/scripts/_lib/installed_layer.js +344 -18
- package/dist/scripts/_lib/package_root.js +68 -0
- package/dist/scripts/_lib/rule_law_section.js +1 -1
- package/dist/scripts/_lib/settings_removed_keys.js +168 -0
- package/dist/scripts/_lib/thin_rules.js +80 -3
- package/dist/server/app.js +2 -1
- package/dist/server/gitKeysGate.js +105 -0
- package/dist/server/routes/settings.js +67 -8
- package/dist/server/routes/wizard.js +4 -0
- package/dist/server/schemas/settings.js +23 -81
- package/dist/shared/skillRanking.js +30 -4
- package/dist/ui/assets/{index-Cwq4d0hX.js → index-C3djEJah.js} +2 -2
- package/dist/ui/index.html +1 -1
- package/docs/MIGRATION.md +72 -1
- package/docs/contracts/settings-classes.md +35 -65
- package/docs/guidelines/agent-infra/active-remediation-mechanics.md +39 -0
- package/docs/guidelines/agent-infra/context-hygiene-mechanics.md +1 -1
- package/docs/guidelines/agent-infra/cross-source-consistency-mechanics.md +8 -10
- package/docs/guidelines/agent-infra/frontier-reasoning-operating-profile.md +3 -2
- package/docs/guidelines/agent-infra/layered-settings.md +13 -1
- package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
- package/docs/guidelines/agent-infra/self-improvement-pipeline.md +10 -3
- package/docs/guidelines/agent-infra/size-and-scope.md +36 -0
- package/docs/guidelines/php/git.md +15 -2
- package/package.json +1 -1
- package/src/agent-src/scripts/gate_budget.ts +47 -23
- package/src/agent-src/scripts/gate_execute.ts +12 -4
- package/src/agent-src/templates/AGENTS.md +1 -1
- package/src/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +0 -6
- package/src/agent-src/templates/scripts/work_engine/directives/backend/_self_fix.ts +11 -7
- package/src/agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.ts +3 -2
- package/src/agent-src/templates/scripts/work_engine/hooks/builtin/memory_visibility.ts +2 -1
- package/src/agent-src/templates/scripts/work_engine/hooks/settings.ts +0 -6
- package/src/agent-src/templates/scripts/work_engine/scoring/decision_engine.ts +9 -12
- package/src/agent-src/templates/scripts/work_engine/scoring/memory_visibility.ts +2 -1
- package/src/config/agent-settings.template.yml +79 -312
- package/src/config/agents-paths.yml +16 -0
- package/src/config/assurance-capability-registry.json +7 -3
- package/src/config/ci-local-parity.yml +3 -0
- package/src/config/continuity-surface.json +3 -3
- package/src/config/discovery/packs.yml +17 -1
- package/src/config/evaluator-budgets.json +19 -6
- package/src/config/gate-coverage.yml +65 -23
- package/src/config/gate-violation-baselines.json +53 -13
- package/src/config/gitignore-block.txt +19 -0
- package/src/config/hook-bundle-budget.json +1 -1
- package/src/config/release-gate-locality.yml +2 -1
- package/src/config/routing-coverage-seed.json +48 -6
- package/src/config/rule-law-ceilings.json +12 -6
- package/src/config/rule-obligations.json +833 -0
- package/src/install/installThinLayer.ts +76 -10
- package/src/install/installedRuleLinks.ts +105 -17
- package/src/scripts/_cli/cmd_analyze_session.ts +9 -15
- package/src/scripts/_cli/cmd_conformance.ts +13 -2
- package/src/scripts/_cli/cmd_doctor.ts +10 -10
- package/src/scripts/_cli/cmd_doctor_neighbours.ts +133 -0
- package/src/scripts/_cli/cmd_explain.ts +72 -14
- package/src/scripts/_cli/cmd_git_convention.ts +637 -0
- package/src/scripts/_cli/cmd_settings_check.ts +66 -8
- package/src/scripts/_cli/cmd_settings_get.ts +18 -3
- package/src/scripts/_cli/doctor_execution.ts +72 -1
- package/src/scripts/_dispatch.bash +37 -2
- package/src/scripts/_lib/agent_settings.ts +15 -124
- package/src/scripts/_lib/blocked_by_marker.ts +1 -1
- package/src/scripts/_lib/compile_time_toggles.ts +12 -21
- package/src/scripts/_lib/dispatch_import_closure.ts +163 -0
- package/src/scripts/_lib/git_base_ref.ts +92 -0
- package/src/scripts/_lib/git_convention.ts +291 -0
- package/src/scripts/_lib/git_convention_carrier.ts +389 -0
- package/src/scripts/_lib/git_convention_grammar.ts +246 -0
- package/src/scripts/_lib/git_convention_measure.ts +344 -0
- package/src/scripts/_lib/global_deploy_inventory.ts +74 -0
- package/src/scripts/_lib/graph_feeder_record.ts +236 -13
- package/src/scripts/_lib/installed_layer.ts +448 -23
- package/src/scripts/_lib/knowledge_global.ts +14 -1
- package/src/scripts/_lib/module_reach.ts +456 -0
- package/src/scripts/_lib/neighbour_contradictions.ts +236 -0
- package/src/scripts/_lib/neighbour_tool_use.ts +8 -10
- package/src/scripts/_lib/ratification_artifact.ts +220 -1
- package/src/scripts/_lib/ratification_subject.ts +92 -0
- package/src/scripts/_lib/release_findings_ingest.ts +15 -7
- package/src/scripts/_lib/release_highlights.ts +5 -0
- package/src/scripts/_lib/rule_law_section.ts +1 -1
- package/src/scripts/_lib/rule_obligations.ts +205 -0
- package/src/scripts/_lib/self_repair.ts +1 -1
- package/src/scripts/_lib/settings_removed_keys.ts +173 -0
- package/src/scripts/_lib/test_red_state.ts +5 -0
- package/src/scripts/_lib/thin_rules.ts +83 -3
- package/src/scripts/_lib/touched_file_quality.ts +142 -6
- package/src/scripts/_lib/worker_budget.ts +1 -1
- package/src/scripts/adr/regenerate_index.ts +16 -1
- package/src/scripts/ai_council/config.ts +7 -7
- package/src/scripts/ai_council/modification_review.ts +100 -0
- package/src/scripts/ai_council/modification_review_questions.ts +90 -0
- package/src/scripts/ai_council/orchestrator.ts +5 -5
- package/src/scripts/ai_council/spend_gate.ts +18 -7
- package/src/scripts/ai_team/config.ts +11 -16
- package/src/scripts/audit_user_type_axis.ts +20 -8
- package/src/scripts/bench_ab_clone.ts +1 -2
- package/src/scripts/bench_concern_spawn_path.ts +129 -0
- package/src/scripts/bench_graph_feeder_latency.ts +584 -0
- package/src/scripts/check_agent_artifact_location.ts +36 -0
- package/src/scripts/check_branch_freshness.ts +147 -24
- package/src/scripts/check_enforcement_coverage.ts +130 -0
- package/src/scripts/check_evaluator_budgets.ts +4 -0
- package/src/scripts/check_finding_dispositions.ts +88 -25
- package/src/scripts/check_gate_coverage.ts +4 -3
- package/src/scripts/check_gate_reachability.ts +48 -1
- package/src/scripts/check_generator_sync.ts +48 -0
- package/src/scripts/check_hook_bundle_composition.ts +107 -0
- package/src/scripts/check_kernel_edit_ratified.ts +86 -6
- package/src/scripts/check_pack_size.ts +1 -1
- package/src/scripts/check_release_manifest_content.ts +189 -0
- package/src/scripts/check_standing_rule_delivery.ts +96 -0
- package/src/scripts/check_suppression_hygiene.ts +2 -5
- package/src/scripts/ci_settle.ts +42 -5
- package/src/scripts/classify_merge_risk.ts +320 -0
- package/src/scripts/closure_scan.ts +91 -1
- package/src/scripts/command_suggester/settings.ts +8 -108
- package/src/scripts/command_suggester/types.ts +4 -5
- package/src/scripts/consumer_matrix.ts +102 -0
- package/src/scripts/context_hygiene_hook.ts +13 -23
- package/src/scripts/cost/preflight.mjs +12 -1
- package/src/scripts/council_cli.ts +7 -7
- package/src/scripts/dispatch_r2_reviewer.ts +24 -11
- package/src/scripts/explain_run.ts +8 -13
- package/src/scripts/generate_git_convention_grammar.ts +127 -0
- package/src/scripts/generate_host_cost_table.ts +20 -3
- package/src/scripts/handoff_context_hook.ts +86 -37
- package/src/scripts/hook_manifest.json +1 -1
- package/src/scripts/hook_manifest.yaml +25 -6
- package/src/scripts/hooks/block_config_weakening.ts +48 -5
- package/src/scripts/hooks/block_plumbing_writes.ts +8 -4
- package/src/scripts/hooks/concern_registry.ts +2 -0
- package/src/scripts/hooks/delegation_nudge_hook.ts +2 -3
- package/src/scripts/hooks/evidence_independence.ts +12 -4
- package/src/scripts/hooks/mcp_usage_observation_hook.ts +121 -0
- package/src/scripts/hooks/push_settle_hook.ts +4 -3
- package/src/scripts/hooks/rule_inject_hook.ts +44 -3
- package/src/scripts/hooks/state_io.ts +8 -4
- package/src/scripts/hooks/telemetry_usage_hook.ts +7 -46
- package/src/scripts/hooks/turn_end_gate_hook.ts +1 -0
- package/src/scripts/install-hooks.sh +42 -14
- package/src/scripts/install.ts +7 -31
- package/src/scripts/lint_blocker_citations.ts +198 -0
- package/src/scripts/lint_evidence_artifacts.ts +9 -0
- package/src/scripts/lint_hook_concern_budget.ts +10 -21
- package/src/scripts/lint_pack_boundaries.ts +406 -28
- package/src/scripts/lint_roadmap_blockers.ts +282 -29
- package/src/scripts/lint_roadmap_complexity.ts +4 -2
- package/src/scripts/lint_rule_law_section.ts +151 -21
- package/src/scripts/lint_rule_skill_pack_reach.ts +17 -0
- package/src/scripts/lint_settings_classes.ts +1 -1
- package/src/scripts/lint_ticked_unmet_criteria.ts +165 -0
- package/src/scripts/lint_workflow_security.ts +12 -1
- package/src/scripts/measure_skill_ranker_baseline.ts +5 -0
- package/src/scripts/model_rule_injection.ts +3 -3
- package/src/scripts/onboarding_gate_hook.ts +7 -6
- package/src/scripts/print_required_checks.ts +15 -3
- package/src/scripts/probe_host_compliance.ts +33 -5
- package/src/scripts/probe_turnaround.ts +183 -3
- package/src/scripts/ratification_header.ts +77 -0
- package/src/scripts/refusal_envelope.ts +138 -0
- package/src/scripts/release_publication.ts +29 -3
- package/src/scripts/report_dispatch_import_closure.ts +76 -0
- package/src/scripts/report_installed_rule_links.ts +118 -1
- package/src/scripts/report_module_reach.ts +212 -0
- package/src/scripts/report_obligation_mechanism.ts +16 -18
- package/src/scripts/report_parked_blockers.ts +222 -0
- package/src/scripts/report_required_checks_drift.ts +196 -0
- package/src/scripts/report_skill_ranker_confusion.ts +103 -2
- package/src/scripts/report_standing_payload_by_host.ts +1 -1
- package/src/scripts/routing_doctor.ts +2 -2
- package/src/scripts/schemas/agent-settings.schema.json +17 -31
- package/src/scripts/schemas/command.schema.json +1 -1
- package/src/scripts/schemas/skill.schema.json +1 -1
- package/src/scripts/self_review_gate.ts +39 -2
- package/src/scripts/skill_tools/score_skill_relevance.ts +28 -19
- package/src/scripts/sync_pr_branch.ts +403 -132
- package/src/scripts/trigger_eval_grandfather.json +0 -16
- package/src/server/schemas/settings.ts +33 -177
- package/src/shared/skillRanking.ts +53 -4
- package/dist/cli-delegate/chunk-NYX3L2PZ.js +0 -99
- package/src/scripts/_lib/config_chain.ts +0 -477
- package/src/scripts/_lib/conformance_report.ts +0 -403
- package/src/scripts/_lib/eval_discrimination.ts +0 -95
- package/src/scripts/_lib/evaluator_promotion.ts +0 -225
- package/src/scripts/_lib/file_slicer.ts +0 -117
- package/src/scripts/_lib/legacy_boundary_map.ts +0 -228
- package/src/scripts/_lib/minimality_tiebreak.ts +0 -168
- package/src/scripts/_lib/overbuild_lens_contract.ts +0 -196
- package/src/scripts/_lib/role_split.ts +0 -338
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
resolve_with_fallback,
|
|
7
7
|
write_target
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-T6BP34WI.js";
|
|
9
9
|
import {
|
|
10
10
|
__export,
|
|
11
11
|
__toESM
|
|
@@ -875,7 +875,7 @@ function _build_debate(d) {
|
|
|
875
875
|
if (!_isDict(d)) {
|
|
876
876
|
throw new CouncilConfigError("`debate` must be a mapping.");
|
|
877
877
|
}
|
|
878
|
-
const cap = _pyFloat(_get(d, "max_cost_usd",
|
|
878
|
+
const cap = _pyFloat(_get(d, "max_cost_usd", 0));
|
|
879
879
|
if (cap < 0) {
|
|
880
880
|
throw new CouncilConfigError(
|
|
881
881
|
`debate.max_cost_usd must be >= 0 (got ${_pyRepr(_f(cap))}; use 0 to disable the cap).`
|
|
@@ -1400,10 +1400,14 @@ function _build_cost_budget(d) {
|
|
|
1400
1400
|
throw new CouncilConfigError("`cost_budget` must be a mapping.");
|
|
1401
1401
|
}
|
|
1402
1402
|
const cb = {
|
|
1403
|
-
max_input_tokens: _pyInt(_get(d, "max_input_tokens",
|
|
1404
|
-
|
|
1403
|
+
max_input_tokens: _pyInt(_get(d, "max_input_tokens", 0)),
|
|
1404
|
+
// 0 = unbounded (ADR-279)
|
|
1405
|
+
max_output_tokens: _pyInt(_get(d, "max_output_tokens", 0)),
|
|
1406
|
+
// 0 = unbounded (ADR-279)
|
|
1405
1407
|
max_calls: _pyInt(_get(d, "max_calls", 50)),
|
|
1406
|
-
|
|
1408
|
+
// fan-out, not money — kept
|
|
1409
|
+
max_total_usd: _pyFloat(_get(d, "max_total_usd", 0)),
|
|
1410
|
+
// 0 = unbounded (ADR-279)
|
|
1407
1411
|
daily_limit_usd: _pyFloat(_get(d, "daily_limit_usd", 0))
|
|
1408
1412
|
};
|
|
1409
1413
|
const fields = [
|
|
@@ -1749,275 +1753,7 @@ function _pyTruthy(value) {
|
|
|
1749
1753
|
return Object.keys(value).length > 0;
|
|
1750
1754
|
}
|
|
1751
1755
|
|
|
1752
|
-
// src/scripts/_lib/cc_transcript.ts
|
|
1753
|
-
import * as fs3 from "node:fs";
|
|
1754
|
-
import * as path3 from "node:path";
|
|
1755
|
-
import { homedir as homedir2 } from "node:os";
|
|
1756
|
-
var DEFAULT_PROJECTS_ROOT = path3.join(homedir2(), ".claude", "projects");
|
|
1757
|
-
function projectStoreSlug(cwd) {
|
|
1758
|
-
return cwd.replace(/[^A-Za-z0-9-]/g, "-");
|
|
1759
|
-
}
|
|
1760
|
-
function billableInputTokens(u) {
|
|
1761
|
-
return u.input_tokens + u.cache_read_input_tokens + u.cache_creation_input_tokens;
|
|
1762
|
-
}
|
|
1763
|
-
function weightedInputUnits(u) {
|
|
1764
|
-
const knownSplit = u.ephemeral_5m_input_tokens + u.ephemeral_1h_input_tokens;
|
|
1765
|
-
const unaccounted = Math.max(0, u.cache_creation_input_tokens - knownSplit);
|
|
1766
|
-
return u.input_tokens * 1 + u.cache_read_input_tokens * 0.1 + (u.ephemeral_5m_input_tokens + unaccounted) * 1.25 + u.ephemeral_1h_input_tokens * 2;
|
|
1767
|
-
}
|
|
1768
|
-
function numOr0(value) {
|
|
1769
|
-
return typeof value === "number" && Number.isFinite(value) ? value : 0;
|
|
1770
|
-
}
|
|
1771
|
-
function toTokenCounts(raw) {
|
|
1772
|
-
const cc = raw?.cache_creation ?? {};
|
|
1773
|
-
return {
|
|
1774
|
-
input_tokens: numOr0(raw?.input_tokens),
|
|
1775
|
-
cache_read_input_tokens: numOr0(raw?.cache_read_input_tokens),
|
|
1776
|
-
cache_creation_input_tokens: numOr0(raw?.cache_creation_input_tokens),
|
|
1777
|
-
output_tokens: numOr0(raw?.output_tokens),
|
|
1778
|
-
ephemeral_5m_input_tokens: numOr0(cc.ephemeral_5m_input_tokens),
|
|
1779
|
-
ephemeral_1h_input_tokens: numOr0(cc.ephemeral_1h_input_tokens)
|
|
1780
|
-
};
|
|
1781
|
-
}
|
|
1782
|
-
function measureContentBytes(raw) {
|
|
1783
|
-
const content = raw.message?.content;
|
|
1784
|
-
if (content === void 0 || content === null) return null;
|
|
1785
|
-
if (typeof content === "string") return Buffer.byteLength(content, "utf8");
|
|
1786
|
-
try {
|
|
1787
|
-
return Buffer.byteLength(JSON.stringify(content), "utf8");
|
|
1788
|
-
} catch {
|
|
1789
|
-
return null;
|
|
1790
|
-
}
|
|
1791
|
-
}
|
|
1792
|
-
function classifyBucket(raw) {
|
|
1793
|
-
const hasAgentId = typeof raw.agentId === "string" && raw.agentId.length > 0;
|
|
1794
|
-
return hasAgentId || raw.isSidechain === true ? "subagent" : "main";
|
|
1795
|
-
}
|
|
1796
|
-
function dedupKey(raw) {
|
|
1797
|
-
const id = typeof raw.message?.id === "string" ? raw.message.id : "";
|
|
1798
|
-
const reqId = typeof raw.requestId === "string" ? raw.requestId : "";
|
|
1799
|
-
return `${id}\0${reqId}`;
|
|
1800
|
-
}
|
|
1801
|
-
function parseLine(line) {
|
|
1802
|
-
if (line.trim().length === 0) return null;
|
|
1803
|
-
try {
|
|
1804
|
-
return JSON.parse(line);
|
|
1805
|
-
} catch {
|
|
1806
|
-
return null;
|
|
1807
|
-
}
|
|
1808
|
-
}
|
|
1809
|
-
function listTranscriptFiles(opts = {}) {
|
|
1810
|
-
const root = opts.root ?? DEFAULT_PROJECTS_ROOT;
|
|
1811
|
-
const base = opts.projectDir ? path3.isAbsolute(opts.projectDir) ? opts.projectDir : path3.join(root, opts.projectDir) : root;
|
|
1812
|
-
if (!fs3.existsSync(base)) return [];
|
|
1813
|
-
const cutoffMs = opts.maxAgeDays !== void 0 ? (opts.now ?? /* @__PURE__ */ new Date()).getTime() - opts.maxAgeDays * 24 * 60 * 60 * 1e3 : null;
|
|
1814
|
-
const out = [];
|
|
1815
|
-
const stack = [base];
|
|
1816
|
-
while (stack.length > 0) {
|
|
1817
|
-
const dir = stack.pop();
|
|
1818
|
-
let entries;
|
|
1819
|
-
try {
|
|
1820
|
-
entries = fs3.readdirSync(dir, { withFileTypes: true });
|
|
1821
|
-
} catch {
|
|
1822
|
-
continue;
|
|
1823
|
-
}
|
|
1824
|
-
for (const entry of entries) {
|
|
1825
|
-
const full = path3.join(dir, entry.name);
|
|
1826
|
-
if (entry.isDirectory()) {
|
|
1827
|
-
stack.push(full);
|
|
1828
|
-
continue;
|
|
1829
|
-
}
|
|
1830
|
-
if (!entry.isFile() || !entry.name.endsWith(".jsonl")) continue;
|
|
1831
|
-
if (cutoffMs !== null) {
|
|
1832
|
-
let mtimeMs;
|
|
1833
|
-
try {
|
|
1834
|
-
mtimeMs = fs3.statSync(full).mtimeMs;
|
|
1835
|
-
} catch {
|
|
1836
|
-
continue;
|
|
1837
|
-
}
|
|
1838
|
-
if (mtimeMs < cutoffMs) continue;
|
|
1839
|
-
}
|
|
1840
|
-
out.push(full);
|
|
1841
|
-
}
|
|
1842
|
-
}
|
|
1843
|
-
return out.sort();
|
|
1844
|
-
}
|
|
1845
|
-
function scanTranscripts(opts = {}) {
|
|
1846
|
-
const files = listTranscriptFiles(opts);
|
|
1847
|
-
const seen = /* @__PURE__ */ new Set();
|
|
1848
|
-
const records = [];
|
|
1849
|
-
let totalSeen = 0;
|
|
1850
|
-
for (const file of files) {
|
|
1851
|
-
let text;
|
|
1852
|
-
try {
|
|
1853
|
-
text = fs3.readFileSync(file, "utf-8");
|
|
1854
|
-
} catch {
|
|
1855
|
-
continue;
|
|
1856
|
-
}
|
|
1857
|
-
for (const line of text.split("\n")) {
|
|
1858
|
-
const raw = parseLine(line);
|
|
1859
|
-
if (!raw || raw.type !== "assistant" || !raw.message?.usage) continue;
|
|
1860
|
-
totalSeen += 1;
|
|
1861
|
-
const key = dedupKey(raw);
|
|
1862
|
-
if (seen.has(key)) continue;
|
|
1863
|
-
seen.add(key);
|
|
1864
|
-
records.push({
|
|
1865
|
-
bucket: classifyBucket(raw),
|
|
1866
|
-
agentId: typeof raw.agentId === "string" ? raw.agentId : null,
|
|
1867
|
-
model: typeof raw.message.model === "string" ? raw.message.model : "unknown",
|
|
1868
|
-
timestamp: typeof raw.timestamp === "string" ? raw.timestamp : null,
|
|
1869
|
-
usage: toTokenCounts(raw.message.usage),
|
|
1870
|
-
content_bytes: opts.measureBytes === true ? measureContentBytes(raw) : null
|
|
1871
|
-
});
|
|
1872
|
-
}
|
|
1873
|
-
}
|
|
1874
|
-
const dedupedCount = records.length;
|
|
1875
|
-
return {
|
|
1876
|
-
records,
|
|
1877
|
-
totalSeen,
|
|
1878
|
-
dedupedCount,
|
|
1879
|
-
dedup_ratio: totalSeen > 0 ? (totalSeen - dedupedCount) / totalSeen : 0
|
|
1880
|
-
};
|
|
1881
|
-
}
|
|
1882
|
-
function measureBytesPerToken(records) {
|
|
1883
|
-
let bytes = 0;
|
|
1884
|
-
let tokens = 0;
|
|
1885
|
-
let n = 0;
|
|
1886
|
-
for (const rec of records) {
|
|
1887
|
-
if (rec.content_bytes === null || rec.usage.output_tokens <= 0) continue;
|
|
1888
|
-
bytes += rec.content_bytes;
|
|
1889
|
-
tokens += rec.usage.output_tokens;
|
|
1890
|
-
n += 1;
|
|
1891
|
-
}
|
|
1892
|
-
if (n === 0 || tokens <= 0) return null;
|
|
1893
|
-
return {
|
|
1894
|
-
basis: "measured",
|
|
1895
|
-
content_bytes: bytes,
|
|
1896
|
-
output_tokens: tokens,
|
|
1897
|
-
bytes_per_token: bytes / tokens,
|
|
1898
|
-
records: n
|
|
1899
|
-
};
|
|
1900
|
-
}
|
|
1901
|
-
function derivedBytes(tokens, factor) {
|
|
1902
|
-
if (factor === null) return null;
|
|
1903
|
-
return {
|
|
1904
|
-
basis: "derived",
|
|
1905
|
-
tokens,
|
|
1906
|
-
factor,
|
|
1907
|
-
bytes: Math.round(tokens * factor.bytes_per_token)
|
|
1908
|
-
};
|
|
1909
|
-
}
|
|
1910
|
-
function emptyAggregate(bucket) {
|
|
1911
|
-
return {
|
|
1912
|
-
bucket,
|
|
1913
|
-
calls: 0,
|
|
1914
|
-
input_tokens: 0,
|
|
1915
|
-
cache_read_input_tokens: 0,
|
|
1916
|
-
cache_creation_input_tokens: 0,
|
|
1917
|
-
output_tokens: 0,
|
|
1918
|
-
ephemeral_5m_input_tokens: 0,
|
|
1919
|
-
ephemeral_1h_input_tokens: 0,
|
|
1920
|
-
read_share: 0,
|
|
1921
|
-
weighted_input_units: 0
|
|
1922
|
-
};
|
|
1923
|
-
}
|
|
1924
|
-
function aggregateByBucket(records) {
|
|
1925
|
-
const buckets = {
|
|
1926
|
-
main: emptyAggregate("main"),
|
|
1927
|
-
subagent: emptyAggregate("subagent")
|
|
1928
|
-
};
|
|
1929
|
-
for (const rec of records) {
|
|
1930
|
-
const agg = buckets[rec.bucket];
|
|
1931
|
-
agg.calls += 1;
|
|
1932
|
-
agg.input_tokens += rec.usage.input_tokens;
|
|
1933
|
-
agg.cache_read_input_tokens += rec.usage.cache_read_input_tokens;
|
|
1934
|
-
agg.cache_creation_input_tokens += rec.usage.cache_creation_input_tokens;
|
|
1935
|
-
agg.output_tokens += rec.usage.output_tokens;
|
|
1936
|
-
agg.ephemeral_5m_input_tokens += rec.usage.ephemeral_5m_input_tokens;
|
|
1937
|
-
agg.ephemeral_1h_input_tokens += rec.usage.ephemeral_1h_input_tokens;
|
|
1938
|
-
}
|
|
1939
|
-
for (const bucket of Object.values(buckets)) {
|
|
1940
|
-
const billable = billableInputTokens(bucket);
|
|
1941
|
-
bucket.read_share = billable > 0 ? bucket.cache_read_input_tokens / billable : 0;
|
|
1942
|
-
bucket.weighted_input_units = weightedInputUnits(bucket);
|
|
1943
|
-
}
|
|
1944
|
-
return buckets;
|
|
1945
|
-
}
|
|
1946
|
-
|
|
1947
|
-
// src/scripts/_lib/spawn_env.ts
|
|
1948
|
-
var DENY_EXACT = /* @__PURE__ */ new Set([
|
|
1949
|
-
// dynamic loader
|
|
1950
|
-
"LD_PRELOAD",
|
|
1951
|
-
"LD_LIBRARY_PATH",
|
|
1952
|
-
"LD_AUDIT",
|
|
1953
|
-
"DYLD_INSERT_LIBRARIES",
|
|
1954
|
-
"DYLD_LIBRARY_PATH",
|
|
1955
|
-
"DYLD_FRAMEWORK_PATH",
|
|
1956
|
-
"GCONV_PATH",
|
|
1957
|
-
// git command-injection
|
|
1958
|
-
"GIT_EXTERNAL_DIFF",
|
|
1959
|
-
"GIT_SSH",
|
|
1960
|
-
"GIT_SSH_COMMAND",
|
|
1961
|
-
"GIT_PROXY_COMMAND",
|
|
1962
|
-
"GIT_PAGER",
|
|
1963
|
-
"PAGER",
|
|
1964
|
-
// git config-injection: GIT_ALTERNATE_OBJECT_DIRECTORIES can point git at
|
|
1965
|
-
// attacker-controlled object stores; the GIT_CONFIG* family is handled by
|
|
1966
|
-
// prefix below (it is a general arbitrary-config-injection primitive).
|
|
1967
|
-
"GIT_ALTERNATE_OBJECT_DIRECTORIES",
|
|
1968
|
-
// git path-redirection: GIT_DIR / GIT_INDEX_FILE / GIT_NAMESPACE point a
|
|
1969
|
-
// child's git at an attacker-controlled repo, index file, or ref namespace
|
|
1970
|
-
// — ordinary git ops then read and write attacker state (low severity,
|
|
1971
|
-
// same family as GIT_ALTERNATE_OBJECT_DIRECTORIES above).
|
|
1972
|
-
"GIT_DIR",
|
|
1973
|
-
"GIT_INDEX_FILE",
|
|
1974
|
-
"GIT_NAMESPACE",
|
|
1975
|
-
// resolver hijack: HOSTALIASES remaps hostnames via an attacker file,
|
|
1976
|
-
// redirecting any network fetch the child performs (CWE-427-adjacent).
|
|
1977
|
-
"HOSTALIASES",
|
|
1978
|
-
// runtime auto-exec hooks
|
|
1979
|
-
"NODE_OPTIONS",
|
|
1980
|
-
"BASH_ENV",
|
|
1981
|
-
"ENV",
|
|
1982
|
-
"PYTHONPATH",
|
|
1983
|
-
"PYTHONSTARTUP",
|
|
1984
|
-
"PYTHONINSPECT",
|
|
1985
|
-
"PERL5OPT",
|
|
1986
|
-
"PERL5LIB",
|
|
1987
|
-
"RUBYOPT",
|
|
1988
|
-
// shell field-splitting
|
|
1989
|
-
"IFS"
|
|
1990
|
-
]);
|
|
1991
|
-
function isDeniedByFamily(name) {
|
|
1992
|
-
if (name.startsWith("LD_") || name.startsWith("DYLD_")) return true;
|
|
1993
|
-
if (name.startsWith("GIT_") && name.endsWith("_COMMAND")) return true;
|
|
1994
|
-
if (name === "GIT_CONFIG" || name.startsWith("GIT_CONFIG_")) return true;
|
|
1995
|
-
return false;
|
|
1996
|
-
}
|
|
1997
|
-
function hardenedSpawnEnv(overrides = {}) {
|
|
1998
|
-
const out = {};
|
|
1999
|
-
for (const [key, value] of Object.entries(process.env)) {
|
|
2000
|
-
if (value === void 0) continue;
|
|
2001
|
-
if (DENY_EXACT.has(key)) continue;
|
|
2002
|
-
if (isDeniedByFamily(key)) continue;
|
|
2003
|
-
out[key] = value;
|
|
2004
|
-
}
|
|
2005
|
-
for (const [key, value] of Object.entries(overrides)) {
|
|
2006
|
-
out[key] = value;
|
|
2007
|
-
}
|
|
2008
|
-
return out;
|
|
2009
|
-
}
|
|
2010
|
-
|
|
2011
1756
|
export {
|
|
2012
|
-
DEFAULT_PROJECTS_ROOT,
|
|
2013
|
-
projectStoreSlug,
|
|
2014
|
-
billableInputTokens,
|
|
2015
|
-
weightedInputUnits,
|
|
2016
|
-
scanTranscripts,
|
|
2017
|
-
measureBytesPerToken,
|
|
2018
|
-
derivedBytes,
|
|
2019
|
-
aggregateByBucket,
|
|
2020
|
-
hardenedSpawnEnv,
|
|
2021
1757
|
CLI_CALLS_ATTRIBUTION_SUFFIX,
|
|
2022
1758
|
CLI_CONSUMER_COUNCIL,
|
|
2023
1759
|
CLI_CONSUMER_TEAM,
|
|
@@ -2036,5 +1772,8 @@ export {
|
|
|
2036
1772
|
admitsContent,
|
|
2037
1773
|
policyExclusionReason,
|
|
2038
1774
|
_RAW_KEY_PREFIXES,
|
|
1775
|
+
COUNCIL_CONFIG_ENV,
|
|
1776
|
+
resolve_config_path,
|
|
1777
|
+
load_council_config,
|
|
2039
1778
|
config_exports
|
|
2040
1779
|
};
|