ceo-orchestration 1.0.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.
Files changed (2356) hide show
  1. package/.claude/adr/ADR-001-runtime-state-directory.md +164 -0
  2. package/.claude/adr/ADR-002-hooks-package-layout.md +228 -0
  3. package/.claude/adr/ADR-003-branch-protection-replaces-skill-signing.md +266 -0
  4. package/.claude/adr/ADR-004-defer-bash-legacy-removal.md +171 -0
  5. package/.claude/adr/ADR-005-event-stream-v2.md +153 -0
  6. package/.claude/adr/ADR-006-registry-derived-manifests.md +145 -0
  7. package/.claude/adr/ADR-007-spec-v1-semver-rc-policy.md +159 -0
  8. package/.claude/adr/ADR-008-hook-adapter-layer.md +169 -0
  9. package/.claude/adr/ADR-009-squad-contract.md +167 -0
  10. package/.claude/adr/ADR-010-canonical-edit-sentinel.md +181 -0
  11. package/.claude/adr/ADR-011-event-stream-v2.1-injection-flag.md +150 -0
  12. package/.claude/adr/ADR-012-cross-adapter-golden-fixtures.md +182 -0
  13. package/.claude/adr/ADR-013-squad-trading-hft.md +135 -0
  14. package/.claude/adr/ADR-014-hook-migration-batch-policy.md +197 -0
  15. package/.claude/adr/ADR-015-reflexion-v2-outcome-loop.md +248 -0
  16. package/.claude/adr/ADR-016-spawn-token-tracking.md +179 -0
  17. package/.claude/adr/ADR-017-lesson-pruning-policy.md +193 -0
  18. package/.claude/adr/ADR-018-claim-grammar.md +302 -0
  19. package/.claude/adr/ADR-019-AMEND-1-confidence-gate-block-mode-lifecycle.md +128 -0
  20. package/.claude/adr/ADR-019-AMEND-2-CLASS-SHA_EXISTS-promote-to-high-confidence-block.md +67 -0
  21. package/.claude/adr/ADR-019-confidence-gate-enforcement-lifecycle.md +221 -0
  22. package/.claude/adr/ADR-020-lesson-pruning-policy-v2.md +171 -0
  23. package/.claude/adr/ADR-021-e2e-harness-contract.md +189 -0
  24. package/.claude/adr/ADR-022-reserved-slot.md +52 -0
  25. package/.claude/adr/ADR-023-docs-freshness-lifecycle.md +184 -0
  26. package/.claude/adr/ADR-024-perf-baseline-policy.md +222 -0
  27. package/.claude/adr/ADR-025-squad-edtech.md +236 -0
  28. package/.claude/adr/ADR-026-squad-government.md +263 -0
  29. package/.claude/adr/ADR-027-unified-agent-state-backend.md +266 -0
  30. package/.claude/adr/ADR-028-multi-llm-canonical-parity.md +244 -0
  31. package/.claude/adr/ADR-029-lexical-tfidf-retrieval.md +205 -0
  32. package/.claude/adr/ADR-030-llm-as-judge-methodology.md +336 -0
  33. package/.claude/adr/ADR-031-self-improving-skills.md +221 -0
  34. package/.claude/adr/ADR-032-interactive-debate-protocol.md +337 -0
  35. package/.claude/adr/ADR-033-cost-budget-enforcement.md +275 -0
  36. package/.claude/adr/ADR-034-shared-working-memory.md +233 -0
  37. package/.claude/adr/ADR-035-otel-export.md +242 -0
  38. package/.claude/adr/ADR-036-output-safety.md +263 -0
  39. package/.claude/adr/ADR-037-chaos-testing-methodology.md +289 -0
  40. package/.claude/adr/ADR-038-session-graph-continuity.md +243 -0
  41. package/.claude/adr/ADR-039-skill-marketplace-protocol.md +170 -0
  42. package/.claude/adr/ADR-040-AMEND-2-credential-blocking.md +390 -0
  43. package/.claude/adr/ADR-040-live-adapter-activation-contract.md +285 -0
  44. package/.claude/adr/ADR-041-transition-log-convention.md +272 -0
  45. package/.claude/adr/ADR-042-AMEND-1-read-only-mcp-tools-expansion.md +214 -0
  46. package/.claude/adr/ADR-042-mcp-server-contract.md +727 -0
  47. package/.claude/adr/ADR-043-soc2-audit-trail-mapping.md +503 -0
  48. package/.claude/adr/ADR-044-formal-verification-pilot.md +505 -0
  49. package/.claude/adr/ADR-045-policy-as-code-engine.md +705 -0
  50. package/.claude/adr/ADR-046-deterministic-replay.md +167 -0
  51. package/.claude/adr/ADR-047-predictive-budgeting.md +213 -0
  52. package/.claude/adr/ADR-048-cross-plan-memory.md +227 -0
  53. package/.claude/adr/ADR-049-policy-engine-dual-path-deprecation.md +96 -0
  54. package/.claude/adr/ADR-049a-worktree-orchestration-policy.md +414 -0
  55. package/.claude/adr/ADR-050-native-subagents-dual-rail.md +165 -0
  56. package/.claude/adr/ADR-051-skill-reference-expanded-trust-boundary.md +282 -0
  57. package/.claude/adr/ADR-052-multi-model-dispatch-by-role.md +444 -0
  58. package/.claude/adr/ADR-053-sentinel-hmac-deferred.md +227 -0
  59. package/.claude/adr/ADR-054-AMEND-1-anthropic-admin-key-tier.md +131 -0
  60. package/.claude/adr/ADR-054-github-token-rotation.md +111 -0
  61. package/.claude/adr/ADR-055-AMEND-1-spool-writer-async-drain.md +170 -0
  62. package/.claude/adr/ADR-055-AMEND-2-chain-reset-marker.md +126 -0
  63. package/.claude/adr/ADR-055-AMEND-3-opportunistic-drain-nonblocking.md +183 -0
  64. package/.claude/adr/ADR-055-audit-log-hmac-chain.md +264 -0
  65. package/.claude/adr/ADR-056-hook-lifecycle-expansion.md +261 -0
  66. package/.claude/adr/ADR-057-output-scan-redaction.md +268 -0
  67. package/.claude/adr/ADR-058-brainstorm-gate-and-two-pass-review.md +240 -0
  68. package/.claude/adr/ADR-059-skill-bootstrap-env-knob.md +204 -0
  69. package/.claude/adr/ADR-060-curated-skill-import-pipeline.md +464 -0
  70. package/.claude/adr/ADR-061-runtime-cost-streaming.md +171 -0
  71. package/.claude/adr/ADR-062-AMEND-1-rag-conditional-default-on-supersedes-opt-in.md +232 -0
  72. package/.claude/adr/ADR-062-rag-sidecar-mcp-opt-in.md +231 -0
  73. package/.claude/adr/ADR-063-agent-eval-empirical-dispatch-validation.md +609 -0
  74. package/.claude/adr/ADR-064-dynamic-tier-policy-learned-dispatch.md +288 -0
  75. package/.claude/adr/ADR-065-audit-event-naming-convention.md +185 -0
  76. package/.claude/adr/ADR-066-context-mode-orthogonal-to-manifest.md +92 -0
  77. package/.claude/adr/ADR-067-ceo-model-downshift-static-routing.md +219 -0
  78. package/.claude/adr/ADR-069-wondelai-skills-import-refused.md +183 -0
  79. package/.claude/adr/ADR-070-audit-emit-package-layout.md +228 -0
  80. package/.claude/adr/ADR-071-benchmark-comparison-methodology.md +209 -0
  81. package/.claude/adr/ADR-072-test-discovery-via-conftest.md +184 -0
  82. package/.claude/adr/ADR-073-semver-bump-criteria-sprint-32.md +209 -0
  83. package/.claude/adr/ADR-074-sprint-32-phase-3-b1-refused.md +320 -0
  84. package/.claude/adr/ADR-075-sprint-32-phase-5-b5-benchmark-refused.md +250 -0
  85. package/.claude/adr/ADR-076-sprint-32-final-closure.md +218 -0
  86. package/.claude/adr/ADR-077-2026-04-24-webfetch-injection-incident.md +203 -0
  87. package/.claude/adr/ADR-078-sentinel-cosign-clarification.md +295 -0
  88. package/.claude/adr/ADR-079-prompt-sha-salt-hmac-impact.md +221 -0
  89. package/.claude/adr/ADR-080-rail-anomaly-h4-defense-in-depth.md +1143 -0
  90. package/.claude/adr/ADR-081-token-as-time-unit.md +272 -0
  91. package/.claude/adr/ADR-082-l7c-mitigation-default-on.md +240 -0
  92. package/.claude/adr/ADR-083-mcp-injection-scanner.md +225 -0
  93. package/.claude/adr/ADR-084-multi-adapter-refused-claude-only.md +152 -0
  94. package/.claude/adr/ADR-085-framework-landscape-claude-only.md +183 -0
  95. package/.claude/adr/ADR-086-checkpointing-refused.md +124 -0
  96. package/.claude/adr/ADR-087-AMEND-1-otel-consume-native-opt-in.md +217 -0
  97. package/.claude/adr/ADR-087-otel-emit-refused.md +136 -0
  98. package/.claude/adr/ADR-088-guardrails-library-refused.md +128 -0
  99. package/.claude/adr/ADR-089-sec-cluster-disposition.md +182 -0
  100. package/.claude/adr/ADR-090-framework-activation-defaults.md +217 -0
  101. package/.claude/adr/ADR-091-dogfood-validation-deferred.md +128 -0
  102. package/.claude/adr/ADR-092-plan-closure-honest-deferral.md +165 -0
  103. package/.claude/adr/ADR-093-refused-adr-moratorium.md +181 -0
  104. package/.claude/adr/ADR-094-claude-sdk-compat-version-pinning.md +160 -0
  105. package/.claude/adr/ADR-095-calendar-gate-retraction.md +202 -0
  106. package/.claude/adr/ADR-096-vibecoder-only-by-design.md +215 -0
  107. package/.claude/adr/ADR-097-function-length-advisory-permanent.md +186 -0
  108. package/.claude/adr/ADR-098-ceo-boot-audit-emit-register.md +251 -0
  109. package/.claude/adr/ADR-099-changesets-adoption.md +245 -0
  110. package/.claude/adr/ADR-100-trusted-dependencies-re-affirm.md +208 -0
  111. package/.claude/adr/ADR-101-replay-redact-helper.md +106 -0
  112. package/.claude/adr/ADR-102-mcp-introspection-extends-042.md +165 -0
  113. package/.claude/adr/ADR-103-calendar-gate-final-purge.md +121 -0
  114. package/.claude/adr/ADR-104-AMEND-1-aek-dated-promotion-criteria.md +338 -0
  115. package/.claude/adr/ADR-104-adaptive-execution-kernel-advisory.md +210 -0
  116. package/.claude/adr/ADR-105-multi-llm-coordinated-supersede.md +126 -0
  117. package/.claude/adr/ADR-106-codex-mcp-adapter-contract.md +153 -0
  118. package/.claude/adr/ADR-107-pair-rail-mandatory-l2-plus.md +189 -0
  119. package/.claude/adr/ADR-108-cross-llm-veto-floor.md +129 -0
  120. package/.claude/adr/ADR-109-codex-skill-rehash-protocol.md +104 -0
  121. package/.claude/adr/ADR-110-codex-pretool-enforcement.md +94 -0
  122. package/.claude/adr/ADR-111-locked-corpus-governance.md +191 -0
  123. package/.claude/adr/ADR-112-grandfather-cap-scope-clarification.md +192 -0
  124. package/.claude/adr/ADR-113-plan-084-canonical-guard-extension.md +59 -0
  125. package/.claude/adr/ADR-114-codex-egress-redaction-symmetry.md +72 -0
  126. package/.claude/adr/ADR-115-post-sota-maintenance-mode.md +152 -0
  127. package/.claude/adr/ADR-116-AMEND-1-kernel-extension-v2.md +640 -0
  128. package/.claude/adr/ADR-116-kernel-hard-deny-tier-0-extension.md +465 -0
  129. package/.claude/adr/ADR-117-adr-id-collision-rename-policy.md +279 -0
  130. package/.claude/adr/ADR-118-AMEND-1-phase-c-enforcing-flip.md +191 -0
  131. package/.claude/adr/ADR-118-god-mode-auto-usable-state.md +338 -0
  132. package/.claude/adr/ADR-119-sentinel-unlock-contract.md +133 -0
  133. package/.claude/adr/ADR-120-pii-core-promotion.md +280 -0
  134. package/.claude/adr/ADR-121-sentinel-signers-rotation-policy.md +434 -0
  135. package/.claude/adr/ADR-122-dpop-mcp-bearer-replay-defense.md +232 -0
  136. package/.claude/adr/ADR-123-streaming-adapter-canonical-source.md +130 -0
  137. package/.claude/adr/ADR-124-post-audit-sota-execution-mode.md +362 -0
  138. package/.claude/adr/ADR-125-risk-tiered-defaulting-doctrine.md +355 -0
  139. package/.claude/adr/ADR-126-governed-sidecar-capability-model.md +509 -0
  140. package/.claude/adr/ADR-127-pair-rail-advisory-promotion.md +218 -0
  141. package/.claude/adr/ADR-128-c2-vector-memory-capability-class.md +380 -0
  142. package/.claude/adr/ADR-129-AMEND-1-key-floor-waiver-lift.md +249 -0
  143. package/.claude/adr/ADR-129-c1-crypto-capability-class.md +289 -0
  144. package/.claude/adr/ADR-131-c5-dev-tools-capability-class.md +215 -0
  145. package/.claude/adr/ADR-132-goap-advisory-planning-doctrine.md +333 -0
  146. package/.claude/adr/ADR-133-autonomous-loop-opt-in-capability-doctrine.md +440 -0
  147. package/.claude/adr/ADR-135-AMEND-1-write-mode-trust-boundary.md +457 -0
  148. package/.claude/adr/ADR-135-AMEND-2-write-mode-activation.md +175 -0
  149. package/.claude/adr/ADR-135-federation-contract-mvp.md +253 -0
  150. package/.claude/adr/ADR-136-AMEND-1-workflow-primitive-adoption.md +139 -0
  151. package/.claude/adr/ADR-136-workflow-engine-doctrine.md +155 -0
  152. package/.claude/adr/ADR-137-skill-priority-stack-decision.md +162 -0
  153. package/.claude/adr/ADR-138-ac-format-priority-and-story-anchor.md +149 -0
  154. package/.claude/adr/ADR-139-coverage-doctrine-tiered.md +133 -0
  155. package/.claude/adr/ADR-140-receiving-review-doctrine.md +136 -0
  156. package/.claude/adr/ADR-141-reduce-protocol.md +124 -0
  157. package/.claude/adr/ADR-142-opus-4-8-model-bump.md +116 -0
  158. package/.claude/adr/ADR-143-git-hook-bypass-guard.md +166 -0
  159. package/.claude/adr/ADR-144-subagent-model-tiering-frontmatter.md +111 -0
  160. package/.claude/adr/ADR-145-cross-model-review-persona-demand-modality.md +103 -0
  161. package/.claude/adr/ADR-146-adversary-review-hook.md +122 -0
  162. package/.claude/adr/ADR-147-eval-harness-doctrine.md +109 -0
  163. package/.claude/adr/ADR-148-canonical-pricing-source.md +123 -0
  164. package/.claude/adr/ADR-149-model-id-allowlist.md +196 -0
  165. package/.claude/adr/ADR-150-commit-signing-policy.md +12 -0
  166. package/.claude/adr/ADR-151-fan-plan-advisory-bridge.md +178 -0
  167. package/.claude/adr/ADR-152-claude-md-decomposition.md +262 -0
  168. package/.claude/adr/ADR-153-compaction-continuity.md +141 -0
  169. package/.claude/adr/ADR-154-updatedinput-single-rewriter.md +68 -0
  170. package/.claude/adr/ADR-155-install-baseline-manifest.md +66 -0
  171. package/.claude/adr/ADR-156-constitution-sync-cascade.md +122 -0
  172. package/.claude/adr/README.md +392 -0
  173. package/.claude/adversary.md +116 -0
  174. package/.claude/agent-metrics.md +101 -0
  175. package/.claude/agents/_dispatch.md +30 -0
  176. package/.claude/agents/_probe_architect.md +45 -0
  177. package/.claude/agents/_probe_canonical_edit.md +46 -0
  178. package/.claude/agents/_probe_missing_skill.md +42 -0
  179. package/.claude/agents/code-reviewer.md +166 -0
  180. package/.claude/agents/devops.md +114 -0
  181. package/.claude/agents/identity-trust-architect.md +234 -0
  182. package/.claude/agents/incident-commander.md +285 -0
  183. package/.claude/agents/llm-finops-architect.md +265 -0
  184. package/.claude/agents/performance-engineer.md +148 -0
  185. package/.claude/agents/qa-architect.md +167 -0
  186. package/.claude/agents/security-engineer.md +192 -0
  187. package/.claude/agents/threat-detection-engineer.md +238 -0
  188. package/.claude/benchmarks/_schemas/judge-prompt.md +26 -0
  189. package/.claude/benchmarks/_schemas/judge-rubric-example.json +11 -0
  190. package/.claude/benchmarks/_schemas/judge-rubric.yaml +39 -0
  191. package/.claude/benchmarks/calibration-grades.jsonl +6 -0
  192. package/.claude/benchmarks/human-sample-calibration.md +232 -0
  193. package/.claude/benchmarks/judge-rotation-schedule.md +61 -0
  194. package/.claude/benchmarks/retrieval-judgment-set.yaml +194 -0
  195. package/.claude/benchmarks/tests/test_retrieval_recall_gate.py +330 -0
  196. package/.claude/commands/agent-budget.md +105 -0
  197. package/.claude/commands/architect.md +130 -0
  198. package/.claude/commands/audit-page.md +149 -0
  199. package/.claude/commands/audit-tokens.md +89 -0
  200. package/.claude/commands/ceo-boot.md +118 -0
  201. package/.claude/commands/ceo-info.md +71 -0
  202. package/.claude/commands/debate.md +258 -0
  203. package/.claude/commands/effort.md +99 -0
  204. package/.claude/commands/fan-plan.md +129 -0
  205. package/.claude/commands/goap.md +163 -0
  206. package/.claude/commands/lesson-review.md +66 -0
  207. package/.claude/commands/memory-scratchpad.md +100 -0
  208. package/.claude/commands/onboard.md +204 -0
  209. package/.claude/commands/pitfall.md +54 -0
  210. package/.claude/commands/resume.md +90 -0
  211. package/.claude/commands/self-test.md +83 -0
  212. package/.claude/commands/skill-review.md +102 -0
  213. package/.claude/commands/spawn.md +212 -0
  214. package/.claude/commands/squad-install.md +94 -0
  215. package/.claude/commands/status.md +177 -0
  216. package/.claude/commands/terse.md +81 -0
  217. package/.claude/commands/veto-check.md +63 -0
  218. package/.claude/data/audit-registry.golden.txt +306 -0
  219. package/.claude/data/canonical_models.json +1030 -0
  220. package/.claude/data/confidence-gate-class-tiers.json +24 -0
  221. package/.claude/data/cookbook_patterns.json +139 -0
  222. package/.claude/data/federation/enabled.md +34 -0
  223. package/.claude/data/federation/lan-enabled.md +38 -0
  224. package/.claude/data/federation/peers.example.yaml +89 -0
  225. package/.claude/data/goap/action-cost-baseline.json +29 -0
  226. package/.claude/dispatcher/disable_predicate_eval.py +630 -0
  227. package/.claude/dispatcher/routing-matrix-loader.py +874 -0
  228. package/.claude/dispatcher/routing-matrix.yaml +343 -0
  229. package/.claude/dispatcher/tests/conftest.py +11 -0
  230. package/.claude/dispatcher/tests/test_disable_predicate_eval.py +424 -0
  231. package/.claude/dispatcher/tests/test_routing_matrix_loader.py +461 -0
  232. package/.claude/docs/dpop-scope.md +79 -0
  233. package/.claude/docs/sentinel-signers-rotation-DRAFT.md +117 -0
  234. package/.claude/eval/README.md +73 -0
  235. package/.claude/eval/reporter.py +109 -0
  236. package/.claude/eval/runner.py +532 -0
  237. package/.claude/eval/self_test.yaml +57 -0
  238. package/.claude/eval/tasks/__init__.py +185 -0
  239. package/.claude/eval/tasks/t01_fix_off_by_one.py +52 -0
  240. package/.claude/eval/tasks/t02_implement_fizzbuzz.py +65 -0
  241. package/.claude/eval/tasks/t03_json_config_parse.py +80 -0
  242. package/.claude/eval/tasks/t04_refactor_dedupe.py +71 -0
  243. package/.claude/eval/tasks/t05_add_unit_test.py +77 -0
  244. package/.claude/eval/tasks/t06_palindrome.py +58 -0
  245. package/.claude/eval/tasks/t07_sql_param_fix.py +69 -0
  246. package/.claude/eval/tasks/t08_word_count.py +53 -0
  247. package/.claude/eval/tasks/t09_readme_doc.py +64 -0
  248. package/.claude/eval/tasks/t10_binary_search.py +58 -0
  249. package/.claude/frontend-team.md +202 -0
  250. package/.claude/governance/README.md +37 -0
  251. package/.claude/governance/audit_tokens_allowlist.json +37 -0
  252. package/.claude/governance/codex-cli-binary-sha256.txt +32 -0
  253. package/.claude/governance/codex-cli-pin.txt +26 -0
  254. package/.claude/governance/function-length-grandfather.yaml +2095 -0
  255. package/.claude/governance/governance-waivers.yaml +28 -0
  256. package/.claude/governance/pair-rail-inputs-hash-manifest.txt +32 -0
  257. package/.claude/governance/pair-rail-verdict-template.md +58 -0
  258. package/.claude/governance/pair-rail-verdict-v1.16.0-rc.1.md +120 -0
  259. package/.claude/governance/pair-rail-verdict-v1.16.0.md +64 -0
  260. package/.claude/gpg-revocations.jsonl +1 -0
  261. package/.claude/hooks/SessionEnd.py +353 -0
  262. package/.claude/hooks/SessionStart.py +345 -0
  263. package/.claude/hooks/Stop.py +195 -0
  264. package/.claude/hooks/UserPromptSubmit.py +329 -0
  265. package/.claude/hooks/_lib/EXECUTION-CONTEXT-DEFERRED.md +82 -0
  266. package/.claude/hooks/_lib/__init__.py +26 -0
  267. package/.claude/hooks/_lib/action_required.py +592 -0
  268. package/.claude/hooks/_lib/adapters/__init__.py +87 -0
  269. package/.claude/hooks/_lib/adapters/_constants.py +127 -0
  270. package/.claude/hooks/_lib/adapters/claude.py +167 -0
  271. package/.claude/hooks/_lib/adapters/codex.py +754 -0
  272. package/.claude/hooks/_lib/adapters/live/__init__.py +378 -0
  273. package/.claude/hooks/_lib/adapters/live/_breaker.py +309 -0
  274. package/.claude/hooks/_lib/adapters/live/_cost.py +389 -0
  275. package/.claude/hooks/_lib/adapters/live/_policy.py +319 -0
  276. package/.claude/hooks/_lib/adapters/live/_result.py +206 -0
  277. package/.claude/hooks/_lib/adapters/live/_transport.py +681 -0
  278. package/.claude/hooks/_lib/adapters/live/claude.py +1027 -0
  279. package/.claude/hooks/_lib/adapters/live/claude_batch.py +652 -0
  280. package/.claude/hooks/_lib/adapters/live/gemini.py +270 -0
  281. package/.claude/hooks/_lib/adapters/live/local.py +195 -0
  282. package/.claude/hooks/_lib/adapters/live/openai.py +371 -0
  283. package/.claude/hooks/_lib/adversary_rules.py +196 -0
  284. package/.claude/hooks/_lib/agent_frontmatter.py +288 -0
  285. package/.claude/hooks/_lib/audit_emit.py +11746 -0
  286. package/.claude/hooks/_lib/audit_emit_dispatch.py +179 -0
  287. package/.claude/hooks/_lib/audit_hmac.py +1146 -0
  288. package/.claude/hooks/_lib/audit_rotation.py +101 -0
  289. package/.claude/hooks/_lib/canonical_json.py +145 -0
  290. package/.claude/hooks/_lib/codex_cli_shape.py +502 -0
  291. package/.claude/hooks/_lib/codex_egress_redact.py +185 -0
  292. package/.claude/hooks/_lib/confidence_labels.py +338 -0
  293. package/.claude/hooks/_lib/contract.py +254 -0
  294. package/.claude/hooks/_lib/cookbook_patterns.py +136 -0
  295. package/.claude/hooks/_lib/cost_envelope.py +719 -0
  296. package/.claude/hooks/_lib/credentials.py +188 -0
  297. package/.claude/hooks/_lib/effective_config.py +767 -0
  298. package/.claude/hooks/_lib/egress_taxonomy.py +448 -0
  299. package/.claude/hooks/_lib/embeddings.py +322 -0
  300. package/.claude/hooks/_lib/env_guard.py +353 -0
  301. package/.claude/hooks/_lib/env_persist_allowlist.py +147 -0
  302. package/.claude/hooks/_lib/escalation_signals.py +335 -0
  303. package/.claude/hooks/_lib/estimation/__init__.py +12 -0
  304. package/.claude/hooks/_lib/estimation/bayesian.py +147 -0
  305. package/.claude/hooks/_lib/estimation/pipeline.py +209 -0
  306. package/.claude/hooks/_lib/exceptions.py +101 -0
  307. package/.claude/hooks/_lib/execution_context.py +208 -0
  308. package/.claude/hooks/_lib/federation/__init__.py +104 -0
  309. package/.claude/hooks/_lib/federation/audit_chain.py +118 -0
  310. package/.claude/hooks/_lib/federation/audit_chain_ext.py +408 -0
  311. package/.claude/hooks/_lib/federation/cert_inspector.py +573 -0
  312. package/.claude/hooks/_lib/federation/client.py +327 -0
  313. package/.claude/hooks/_lib/federation/handlers/__init__.py +30 -0
  314. package/.claude/hooks/_lib/federation/handlers/audit_event_batch.py +346 -0
  315. package/.claude/hooks/_lib/federation/handlers/audit_event_push.py +395 -0
  316. package/.claude/hooks/_lib/federation/handlers/peer_register.py +484 -0
  317. package/.claude/hooks/_lib/federation/handlers/peer_revoke.py +356 -0
  318. package/.claude/hooks/_lib/federation/identity.py +1056 -0
  319. package/.claude/hooks/_lib/federation/rate_limit.py +476 -0
  320. package/.claude/hooks/_lib/federation/replay.py +284 -0
  321. package/.claude/hooks/_lib/federation/scopes.py +168 -0
  322. package/.claude/hooks/_lib/federation/server.py +2218 -0
  323. package/.claude/hooks/_lib/file_walker.py +145 -0
  324. package/.claude/hooks/_lib/filelock.py +191 -0
  325. package/.claude/hooks/_lib/frontmatter.py +124 -0
  326. package/.claude/hooks/_lib/git_bypass.py +971 -0
  327. package/.claude/hooks/_lib/gpg_verify.py +356 -0
  328. package/.claude/hooks/_lib/guardrail_validator.py +478 -0
  329. package/.claude/hooks/_lib/injection_patterns.py +252 -0
  330. package/.claude/hooks/_lib/injection_salt.py +160 -0
  331. package/.claude/hooks/_lib/mcp/__init__.py +5 -0
  332. package/.claude/hooks/_lib/mcp/bearer_replay.py +279 -0
  333. package/.claude/hooks/_lib/mcp/canonical_guard.py +1140 -0
  334. package/.claude/hooks/_lib/mcp_bearer_friction.py +475 -0
  335. package/.claude/hooks/_lib/mcp_injection_scan.py +250 -0
  336. package/.claude/hooks/_lib/mcp_routing.py +151 -0
  337. package/.claude/hooks/_lib/memory_shared.py +592 -0
  338. package/.claude/hooks/_lib/metrics.py +241 -0
  339. package/.claude/hooks/_lib/model_routing.py +227 -0
  340. package/.claude/hooks/_lib/otel/__init__.py +34 -0
  341. package/.claude/hooks/_lib/otel/bounded_exporter.py +373 -0
  342. package/.claude/hooks/_lib/otel/hook_bridge.py +53 -0
  343. package/.claude/hooks/_lib/otel/queue.py +229 -0
  344. package/.claude/hooks/_lib/otel_emit.py +604 -0
  345. package/.claude/hooks/_lib/output_scan.py +1062 -0
  346. package/.claude/hooks/_lib/output_scan_dedup.py +379 -0
  347. package/.claude/hooks/_lib/pair_rail_decide.py +244 -0
  348. package/.claude/hooks/_lib/payload.py +195 -0
  349. package/.claude/hooks/_lib/persona_routing.py +244 -0
  350. package/.claude/hooks/_lib/pii_patterns.py +851 -0
  351. package/.claude/hooks/_lib/plan_frontmatter.py +166 -0
  352. package/.claude/hooks/_lib/policy.py +1527 -0
  353. package/.claude/hooks/_lib/policy_preprocessors.py +462 -0
  354. package/.claude/hooks/_lib/rag_bridge.py +624 -0
  355. package/.claude/hooks/_lib/rag_events.py +171 -0
  356. package/.claude/hooks/_lib/rag_router.py +253 -0
  357. package/.claude/hooks/_lib/redact.py +228 -0
  358. package/.claude/hooks/_lib/replay_redact.py +511 -0
  359. package/.claude/hooks/_lib/scratchpad_lib.py +225 -0
  360. package/.claude/hooks/_lib/secret_patterns.py +905 -0
  361. package/.claude/hooks/_lib/sentinel_signers.py +740 -0
  362. package/.claude/hooks/_lib/spec_context_sanitizer.py +258 -0
  363. package/.claude/hooks/_lib/spool_writer.py +2613 -0
  364. package/.claude/hooks/_lib/state_store.py +476 -0
  365. package/.claude/hooks/_lib/subagent_dispatch.py +244 -0
  366. package/.claude/hooks/_lib/swarm_circuit_breaker.py +203 -0
  367. package/.claude/hooks/_lib/swarm_enable_gate.py +152 -0
  368. package/.claude/hooks/_lib/team.py +128 -0
  369. package/.claude/hooks/_lib/test_isolation.py +352 -0
  370. package/.claude/hooks/_lib/testing.py +351 -0
  371. package/.claude/hooks/_lib/tests/federation/test_federation_attack_surface.py +251 -0
  372. package/.claude/hooks/_lib/tests/federation/test_federation_audit_stitching.py +135 -0
  373. package/.claude/hooks/_lib/tests/federation/test_federation_identity.py +234 -0
  374. package/.claude/hooks/_lib/tests/federation/test_federation_replay.py +204 -0
  375. package/.claude/hooks/_lib/tests/federation/test_federation_sentinel_stage2.py +214 -0
  376. package/.claude/hooks/_lib/tests/federation/test_federation_server.py +385 -0
  377. package/.claude/hooks/_lib/tests/test_confidence_gate_class_block.py +313 -0
  378. package/.claude/hooks/_lib/tests/test_cost_envelope.py +759 -0
  379. package/.claude/hooks/_lib/tests/test_execution_context.py +254 -0
  380. package/.claude/hooks/_lib/tests/test_goap_advisory_invariant.py +134 -0
  381. package/.claude/hooks/_lib/tests/test_goap_planner.py +368 -0
  382. package/.claude/hooks/_lib/tests/test_plan104_audit_emit.py +324 -0
  383. package/.claude/hooks/_lib/tests/test_plan104_demand_resolver.py +584 -0
  384. package/.claude/hooks/_lib/tests/test_plan104_demand_scan.py +164 -0
  385. package/.claude/hooks/_lib/tests/test_plan104_microbench.py +109 -0
  386. package/.claude/hooks/_lib/tests/test_plan104_waive_parser.py +113 -0
  387. package/.claude/hooks/_lib/tests/test_plan105_audit_emit.py +259 -0
  388. package/.claude/hooks/_lib/tests/test_plan105_check_roadmap_binding.py +68 -0
  389. package/.claude/hooks/_lib/tests/test_plan105_goap_planner.py +158 -0
  390. package/.claude/hooks/_lib/tests/test_plan105_spawn_outcome.py +234 -0
  391. package/.claude/hooks/_lib/tests/test_rag_dead_code_disposition.py +262 -0
  392. package/.claude/hooks/_lib/tests/test_rag_router.py +209 -0
  393. package/.claude/hooks/_lib/tests/test_swarm_circuit_breaker.py +278 -0
  394. package/.claude/hooks/_lib/tests/test_swarm_kill_switch_chain.py +360 -0
  395. package/.claude/hooks/_lib/tier_policy/__init__.py +123 -0
  396. package/.claude/hooks/_lib/tier_policy/_agent_frontmatter.py +509 -0
  397. package/.claude/hooks/_lib/tier_policy/_constants.py +376 -0
  398. package/.claude/hooks/_lib/tier_policy/_types.py +355 -0
  399. package/.claude/hooks/_lib/tier_policy/fixtures/baseline.json +17 -0
  400. package/.claude/hooks/_lib/tier_policy/fixtures/oversize_64kib.json +1 -0
  401. package/.claude/hooks/_lib/tier_policy/fixtures/prototype_pollution_attack.yaml +14 -0
  402. package/.claude/hooks/_lib/tier_policy/fixtures/schema_v1_sample.json +5 -0
  403. package/.claude/hooks/_lib/tier_policy/fixtures/schema_v2_sample.json +17 -0
  404. package/.claude/hooks/_lib/tier_policy/fixtures/yaml_bomb_attack.yaml +20 -0
  405. package/.claude/hooks/_lib/tier_policy/loader.py +476 -0
  406. package/.claude/hooks/_lib/tokens.py +136 -0
  407. package/.claude/hooks/_lib/tool_lifecycle.py +488 -0
  408. package/.claude/hooks/_lib/trusted_env.py +77 -0
  409. package/.claude/hooks/_python-hook.sh +242 -0
  410. package/.claude/hooks/accel_dispatch.py +172 -0
  411. package/.claude/hooks/adequacy_gate.py +424 -0
  412. package/.claude/hooks/audit_log.py +1352 -0
  413. package/.claude/hooks/auto_boot.py +518 -0
  414. package/.claude/hooks/check_adversary.py +273 -0
  415. package/.claude/hooks/check_agent_spawn.py +2696 -0
  416. package/.claude/hooks/check_anti_ceo_overhead.py +786 -0
  417. package/.claude/hooks/check_arbitration_kernel.py +544 -0
  418. package/.claude/hooks/check_bash_canonical_forensic.py +180 -0
  419. package/.claude/hooks/check_bash_safety.py +1483 -0
  420. package/.claude/hooks/check_budget.py +916 -0
  421. package/.claude/hooks/check_canonical_edit.py +1197 -0
  422. package/.claude/hooks/check_closeout_guard.py +154 -0
  423. package/.claude/hooks/check_codex_filewrite.py +366 -0
  424. package/.claude/hooks/check_codex_response.py +403 -0
  425. package/.claude/hooks/check_confidence_gate.py +545 -0
  426. package/.claude/hooks/check_config_change.py +346 -0
  427. package/.claude/hooks/check_config_protection.py +381 -0
  428. package/.claude/hooks/check_cost_envelope.py +286 -0
  429. package/.claude/hooks/check_fluency_nudge.py +747 -0
  430. package/.claude/hooks/check_mcp_response.py +234 -0
  431. package/.claude/hooks/check_output_safety.py +237 -0
  432. package/.claude/hooks/check_output_secrets.py +518 -0
  433. package/.claude/hooks/check_pair_rail.py +1700 -0
  434. package/.claude/hooks/check_plan_edit.py +905 -0
  435. package/.claude/hooks/check_postcompact_reinject.py +265 -0
  436. package/.claude/hooks/check_precompact_continuity.py +379 -0
  437. package/.claude/hooks/check_protocol_semver_cascade.py +401 -0
  438. package/.claude/hooks/check_read_injection.py +366 -0
  439. package/.claude/hooks/check_scratchpad_access.py +228 -0
  440. package/.claude/hooks/check_setup_verification.py +297 -0
  441. package/.claude/hooks/check_skill_bootstrap_post.py +339 -0
  442. package/.claude/hooks/check_skill_patch_sentinel.py +413 -0
  443. package/.claude/hooks/check_skill_reference_read.py +518 -0
  444. package/.claude/hooks/check_subagent_fabrication.py +45 -0
  445. package/.claude/hooks/check_subagent_start.py +232 -0
  446. package/.claude/hooks/check_tier_policy.py +211 -0
  447. package/.claude/hooks/check_tier_policy_misrouting_24h.py +187 -0
  448. package/.claude/hooks/check_webfetch_injection.py +277 -0
  449. package/.claude/hooks/check_worktree_writer.py +773 -0
  450. package/.claude/hooks/codex_review_user_code.py +304 -0
  451. package/.claude/hooks/emit_architect_outcome.py +232 -0
  452. package/.claude/hooks/latency_report.py +343 -0
  453. package/.claude/hooks/policy_dispatch.py +168 -0
  454. package/.claude/hooks/review_loop.py +560 -0
  455. package/.claude/hooks/route.py +115 -0
  456. package/.claude/hooks/tests/_agent_fixture.py +153 -0
  457. package/.claude/hooks/tests/adapters/__init__.py +0 -0
  458. package/.claude/hooks/tests/adapters/live/__init__.py +0 -0
  459. package/.claude/hooks/tests/adapters/live/test_adapters.py +488 -0
  460. package/.claude/hooks/tests/adapters/live/test_audit_wiring.py +81 -0
  461. package/.claude/hooks/tests/adapters/live/test_breaker.py +272 -0
  462. package/.claude/hooks/tests/adapters/live/test_cost.py +191 -0
  463. package/.claude/hooks/tests/adapters/live/test_o7_modernization.py +670 -0
  464. package/.claude/hooks/tests/adapters/live/test_policy.py +168 -0
  465. package/.claude/hooks/tests/conftest.py +139 -0
  466. package/.claude/hooks/tests/fixtures/adapters/claude/in/agent_spawn_compliant.json +9 -0
  467. package/.claude/hooks/tests/fixtures/adapters/claude/in/bash_safe_command.json +8 -0
  468. package/.claude/hooks/tests/fixtures/adapters/claude/in/post_audit_event.json +1 -0
  469. package/.claude/hooks/tests/fixtures/adapters/claude/out/allow.json +1 -0
  470. package/.claude/hooks/tests/fixtures/adapters/claude/out/block_with_reason.json +1 -0
  471. package/.claude/hooks/tests/fixtures/adapters/codex/in/.gitkeep +1 -0
  472. package/.claude/hooks/tests/fixtures/adapters/codex/out/.gitkeep +1 -0
  473. package/.claude/hooks/tests/fixtures/adapters/gemini/GAPS.md +46 -0
  474. package/.claude/hooks/tests/fixtures/adapters/gemini/in/agent_spawn_minimal.json +1 -0
  475. package/.claude/hooks/tests/fixtures/adapters/gemini/in/bash_minimal.json +1 -0
  476. package/.claude/hooks/tests/fixtures/adapters/gemini/out/allow.json +1 -0
  477. package/.claude/hooks/tests/fixtures/adapters/local/in/agent_spawn_ollama.json +19 -0
  478. package/.claude/hooks/tests/fixtures/adapters/local/in/bash_minimal.json +8 -0
  479. package/.claude/hooks/tests/fixtures/adapters/local/out/allow.json +1 -0
  480. package/.claude/hooks/tests/fixtures/adapters/openai/in/agent_spawn_chat_completions.json +13 -0
  481. package/.claude/hooks/tests/fixtures/adapters/openai/in/bash_responses_api.json +9 -0
  482. package/.claude/hooks/tests/fixtures/adapters/openai/out/allow.json +1 -0
  483. package/.claude/hooks/tests/fixtures/anti_ceo_overhead/should-NOT-block-on-Y.ndjson +13 -0
  484. package/.claude/hooks/tests/fixtures/anti_ceo_overhead/should-block-on-X.ndjson +9 -0
  485. package/.claude/hooks/tests/fixtures/byte_identity/__init__.py +5 -0
  486. package/.claude/hooks/tests/fixtures/byte_identity/bash_safety_fuzzer.py +287 -0
  487. package/.claude/hooks/tests/fixtures/byte_identity/plan_edit_fuzzer.py +364 -0
  488. package/.claude/hooks/tests/fixtures/exchange_keys/negative/aws-iam-policy-arn-id-25.txt +2 -0
  489. package/.claude/hooks/tests/fixtures/exchange_keys/negative/blog-paragraph-18.txt +1 -0
  490. package/.claude/hooks/tests/fixtures/exchange_keys/negative/boilerplate-26.txt +4 -0
  491. package/.claude/hooks/tests/fixtures/exchange_keys/negative/cdn-cache-key-12.txt +2 -0
  492. package/.claude/hooks/tests/fixtures/exchange_keys/negative/certificate-fingerprint-10.txt +2 -0
  493. package/.claude/hooks/tests/fixtures/exchange_keys/negative/changelog-19.txt +1 -0
  494. package/.claude/hooks/tests/fixtures/exchange_keys/negative/commit-sha-01.txt +4 -0
  495. package/.claude/hooks/tests/fixtures/exchange_keys/negative/django-csrf-token-24.txt +3 -0
  496. package/.claude/hooks/tests/fixtures/exchange_keys/negative/docker-image-04.txt +2 -0
  497. package/.claude/hooks/tests/fixtures/exchange_keys/negative/docs-example-22.txt +3 -0
  498. package/.claude/hooks/tests/fixtures/exchange_keys/negative/haiku-20.txt +1 -0
  499. package/.claude/hooks/tests/fixtures/exchange_keys/negative/hex-placeholder-15.txt +3 -0
  500. package/.claude/hooks/tests/fixtures/exchange_keys/negative/hex-short-23.txt +5 -0
  501. package/.claude/hooks/tests/fixtures/exchange_keys/negative/image-thumbnail-09.txt +3 -0
  502. package/.claude/hooks/tests/fixtures/exchange_keys/negative/jwt-payload-decoded-08.txt +3 -0
  503. package/.claude/hooks/tests/fixtures/exchange_keys/negative/kubernetes-uid-06.txt +3 -0
  504. package/.claude/hooks/tests/fixtures/exchange_keys/negative/md5-hash-02.txt +2 -0
  505. package/.claude/hooks/tests/fixtures/exchange_keys/negative/phone-number-16.txt +3 -0
  506. package/.claude/hooks/tests/fixtures/exchange_keys/negative/postgres-uuid-05.txt +2 -0
  507. package/.claude/hooks/tests/fixtures/exchange_keys/negative/redis-cluster-node-13.txt +3 -0
  508. package/.claude/hooks/tests/fixtures/exchange_keys/negative/session-token-11.txt +3 -0
  509. package/.claude/hooks/tests/fixtures/exchange_keys/negative/sha256-checksum-03.txt +3 -0
  510. package/.claude/hooks/tests/fixtures/exchange_keys/negative/short-token-21.txt +2 -0
  511. package/.claude/hooks/tests/fixtures/exchange_keys/negative/software-license-14.txt +4 -0
  512. package/.claude/hooks/tests/fixtures/exchange_keys/negative/telemetry-trace-07.txt +3 -0
  513. package/.claude/hooks/tests/fixtures/exchange_keys/negative/zip-postal-17.txt +4 -0
  514. package/.claude/hooks/tests/fixtures/exchange_keys/positive/binance-api-key-alnum-03.txt +1 -0
  515. package/.claude/hooks/tests/fixtures/exchange_keys/positive/binance-api-key-hex-01.txt +3 -0
  516. package/.claude/hooks/tests/fixtures/exchange_keys/positive/binance-api-key-hex-02.txt +2 -0
  517. package/.claude/hooks/tests/fixtures/exchange_keys/positive/bip39-mnemonic-12-31.txt +2 -0
  518. package/.claude/hooks/tests/fixtures/exchange_keys/positive/bip39-mnemonic-12-33.txt +2 -0
  519. package/.claude/hooks/tests/fixtures/exchange_keys/positive/bip39-mnemonic-24-32.txt +2 -0
  520. package/.claude/hooks/tests/fixtures/exchange_keys/positive/bitfinex-api-key-11.txt +1 -0
  521. package/.claude/hooks/tests/fixtures/exchange_keys/positive/bitfinex-api-key-12.txt +1 -0
  522. package/.claude/hooks/tests/fixtures/exchange_keys/positive/bitfinex-api-key-13.txt +2 -0
  523. package/.claude/hooks/tests/fixtures/exchange_keys/positive/bitstamp-api-key-30.txt +3 -0
  524. package/.claude/hooks/tests/fixtures/exchange_keys/positive/bitstamp-customer-id-29.txt +2 -0
  525. package/.claude/hooks/tests/fixtures/exchange_keys/positive/bybit-api-key-18.txt +2 -0
  526. package/.claude/hooks/tests/fixtures/exchange_keys/positive/bybit-api-key-19.txt +1 -0
  527. package/.claude/hooks/tests/fixtures/exchange_keys/positive/bybit-api-secret-20.txt +1 -0
  528. package/.claude/hooks/tests/fixtures/exchange_keys/positive/bybit-combined-21.txt +3 -0
  529. package/.claude/hooks/tests/fixtures/exchange_keys/positive/coinbase-api-key-uuid-04.txt +2 -0
  530. package/.claude/hooks/tests/fixtures/exchange_keys/positive/coinbase-api-secret-b64-05.txt +1 -0
  531. package/.claude/hooks/tests/fixtures/exchange_keys/positive/coinbase-combined-07.txt +4 -0
  532. package/.claude/hooks/tests/fixtures/exchange_keys/positive/coinbase-passphrase-06.txt +1 -0
  533. package/.claude/hooks/tests/fixtures/exchange_keys/positive/evm-private-key-34.txt +2 -0
  534. package/.claude/hooks/tests/fixtures/exchange_keys/positive/evm-private-key-35.txt +1 -0
  535. package/.claude/hooks/tests/fixtures/exchange_keys/positive/evm-private-key-36.txt +2 -0
  536. package/.claude/hooks/tests/fixtures/exchange_keys/positive/generic-api-key-37.txt +2 -0
  537. package/.claude/hooks/tests/fixtures/exchange_keys/positive/generic-api-key-38.txt +3 -0
  538. package/.claude/hooks/tests/fixtures/exchange_keys/positive/generic-api-key-39.txt +2 -0
  539. package/.claude/hooks/tests/fixtures/exchange_keys/positive/kraken-api-key-08.txt +1 -0
  540. package/.claude/hooks/tests/fixtures/exchange_keys/positive/kraken-api-secret-09.txt +1 -0
  541. package/.claude/hooks/tests/fixtures/exchange_keys/positive/kraken-combined-10.txt +4 -0
  542. package/.claude/hooks/tests/fixtures/exchange_keys/positive/kucoin-api-key-uuid-26.txt +2 -0
  543. package/.claude/hooks/tests/fixtures/exchange_keys/positive/kucoin-api-secret-uuid-27.txt +1 -0
  544. package/.claude/hooks/tests/fixtures/exchange_keys/positive/kucoin-passphrase-28.txt +1 -0
  545. package/.claude/hooks/tests/fixtures/exchange_keys/positive/okx-api-key-uuid-22.txt +1 -0
  546. package/.claude/hooks/tests/fixtures/exchange_keys/positive/okx-api-secret-23.txt +2 -0
  547. package/.claude/hooks/tests/fixtures/exchange_keys/positive/okx-combined-25.txt +4 -0
  548. package/.claude/hooks/tests/fixtures/exchange_keys/positive/okx-passphrase-24.txt +1 -0
  549. package/.claude/hooks/tests/fixtures/hooks/audit_log/in.json +1 -0
  550. package/.claude/hooks/tests/fixtures/hooks/audit_log/out.json +0 -0
  551. package/.claude/hooks/tests/fixtures/hooks/check_agent_spawn/in.json +1 -0
  552. package/.claude/hooks/tests/fixtures/hooks/check_agent_spawn/out.json +1 -0
  553. package/.claude/hooks/tests/fixtures/hooks/check_bash_safety/in.json +1 -0
  554. package/.claude/hooks/tests/fixtures/hooks/check_bash_safety/out.json +1 -0
  555. package/.claude/hooks/tests/fixtures/hooks/check_canonical_edit/in.json +1 -0
  556. package/.claude/hooks/tests/fixtures/hooks/check_canonical_edit/out.json +1 -0
  557. package/.claude/hooks/tests/fixtures/hooks/check_confidence_gate/in.json +1 -0
  558. package/.claude/hooks/tests/fixtures/hooks/check_confidence_gate/out.json +1 -0
  559. package/.claude/hooks/tests/fixtures/hooks/check_plan_edit/in.json +1 -0
  560. package/.claude/hooks/tests/fixtures/hooks/check_plan_edit/out.json +1 -0
  561. package/.claude/hooks/tests/fixtures/hooks/check_read_injection/in.json +1 -0
  562. package/.claude/hooks/tests/fixtures/hooks/check_read_injection/out.json +1 -0
  563. package/.claude/hooks/tests/fixtures/lifecycle/concurrent_interleaved.json +36 -0
  564. package/.claude/hooks/tests/fixtures/lifecycle/orphaned_pre.json +8 -0
  565. package/.claude/hooks/tests/fixtures/lifecycle/paired_bash_post.json +8 -0
  566. package/.claude/hooks/tests/fixtures/lifecycle/paired_bash_pre.json +9 -0
  567. package/.claude/hooks/tests/fixtures/normalized/agent_spawn_chat_completions.json +36 -0
  568. package/.claude/hooks/tests/fixtures/normalized/agent_spawn_compliant.json +24 -0
  569. package/.claude/hooks/tests/fixtures/normalized/agent_spawn_minimal.json +24 -0
  570. package/.claude/hooks/tests/fixtures/normalized/agent_spawn_ollama.json +42 -0
  571. package/.claude/hooks/tests/fixtures/normalized/bash_minimal.json +23 -0
  572. package/.claude/hooks/tests/fixtures/normalized/bash_responses_api.json +32 -0
  573. package/.claude/hooks/tests/fixtures/normalized/bash_safe_command.json +23 -0
  574. package/.claude/hooks/tests/fixtures/normalized/post_audit_event.json +31 -0
  575. package/.claude/hooks/tests/fixtures/output_safety/control/01_random_hash_log.txt +1 -0
  576. package/.claude/hooks/tests/fixtures/output_safety/control/02_docs_mention_email_no_address.txt +1 -0
  577. package/.claude/hooks/tests/fixtures/output_safety/control/03_partial_jwt_two_segments.txt +1 -0
  578. package/.claude/hooks/tests/fixtures/output_safety/control/04_random_11_digits_no_cpf_context.txt +1 -0
  579. package/.claude/hooks/tests/fixtures/output_safety/control/05_credit_card_shape_invalid_luhn.txt +1 -0
  580. package/.claude/hooks/tests/fixtures/output_safety/positive/01_api_key_anthropic.txt +1 -0
  581. package/.claude/hooks/tests/fixtures/output_safety/positive/02_api_key_github_pat_classic.txt +1 -0
  582. package/.claude/hooks/tests/fixtures/output_safety/positive/03_api_key_github_fine_grained.txt +1 -0
  583. package/.claude/hooks/tests/fixtures/output_safety/positive/04_api_key_aws_access_key.txt +1 -0
  584. package/.claude/hooks/tests/fixtures/output_safety/positive/05_api_key_aws_secret_assignment.txt +1 -0
  585. package/.claude/hooks/tests/fixtures/output_safety/positive/06_jwt.txt +1 -0
  586. package/.claude/hooks/tests/fixtures/output_safety/positive/07_bearer.txt +1 -0
  587. package/.claude/hooks/tests/fixtures/output_safety/positive/08_cpf_with_context.txt +1 -0
  588. package/.claude/hooks/tests/fixtures/output_safety/positive/09_cnpj_with_context.txt +1 -0
  589. package/.claude/hooks/tests/fixtures/output_safety/positive/10_credit_card_luhn_valid.txt +1 -0
  590. package/.claude/hooks/tests/fixtures/output_safety/positive/11_email_in_login_context.txt +1 -0
  591. package/.claude/hooks/tests/fixtures/output_safety/positive/12_nfkc_full_width.txt +1 -0
  592. package/.claude/hooks/tests/fixtures/output_safety/positive/13_zero_width_evasion.txt +1 -0
  593. package/.claude/hooks/tests/fixtures/output_safety/positive/14_bidi_evasion.txt +1 -0
  594. package/.claude/hooks/tests/fixtures/output_safety/positive/15_base64_encoded_secret.txt +1 -0
  595. package/.claude/hooks/tests/fixtures/output_scan/scenarios.jsonl +45 -0
  596. package/.claude/hooks/tests/fixtures/sample_payload_clean.json +13 -0
  597. package/.claude/hooks/tests/fixtures/sample_payload_with_secrets.json +12 -0
  598. package/.claude/hooks/tests/mutations/README.md +86 -0
  599. package/.claude/hooks/tests/mutations/__init__.py +14 -0
  600. package/.claude/hooks/tests/mutations/engine_mutations/__init__.py +15 -0
  601. package/.claude/hooks/tests/mutations/engine_mutations/mutation_01_parser_accepts_anchor.py +51 -0
  602. package/.claude/hooks/tests/mutations/engine_mutations/mutation_02_parser_skip_depth_limit.py +38 -0
  603. package/.claude/hooks/tests/mutations/engine_mutations/mutation_03_parser_accept_multi_doc.py +47 -0
  604. package/.claude/hooks/tests/mutations/engine_mutations/mutation_04_parser_accepts_bom.py +41 -0
  605. package/.claude/hooks/tests/mutations/engine_mutations/mutation_05_parser_scalar_len_off_by_one.py +61 -0
  606. package/.claude/hooks/tests/mutations/engine_mutations/mutation_06_parser_accepts_python_tag.py +50 -0
  607. package/.claude/hooks/tests/mutations/engine_mutations/mutation_07_parser_accepts_tab_indent.py +56 -0
  608. package/.claude/hooks/tests/mutations/engine_mutations/mutation_08_compiler_skip_regex_compile.py +45 -0
  609. package/.claude/hooks/tests/mutations/engine_mutations/mutation_09_compiler_regex_pattern_cap_off.py +31 -0
  610. package/.claude/hooks/tests/mutations/engine_mutations/mutation_10_compiler_accept_unknown_form.py +42 -0
  611. package/.claude/hooks/tests/mutations/engine_mutations/mutation_11_compiler_missing_predicate_tolerated.py +79 -0
  612. package/.claude/hooks/tests/mutations/engine_mutations/mutation_12_compiler_duplicate_rule_id_tolerated.py +66 -0
  613. package/.claude/hooks/tests/mutations/engine_mutations/mutation_13_compiler_missing_top_level_key_tolerated.py +46 -0
  614. package/.claude/hooks/tests/mutations/engine_mutations/mutation_14_compiler_schema_version_passthrough.py +43 -0
  615. package/.claude/hooks/tests/mutations/engine_mutations/mutation_15_evaluator_any_empty_returns_true.py +41 -0
  616. package/.claude/hooks/tests/mutations/engine_mutations/mutation_16_evaluator_all_empty_returns_true.py +37 -0
  617. package/.claude/hooks/tests/mutations/engine_mutations/mutation_17_evaluator_not_passthrough.py +37 -0
  618. package/.claude/hooks/tests/mutations/engine_mutations/mutation_18_evaluator_eq_true_on_type_mismatch.py +51 -0
  619. package/.claude/hooks/tests/mutations/engine_mutations/mutation_19_evaluator_regex_match_only.py +43 -0
  620. package/.claude/hooks/tests/mutations/engine_mutations/mutation_20_evaluator_path_under_no_realpath.py +48 -0
  621. package/.claude/hooks/tests/mutations/engine_mutations/mutation_21_evaluator_in_accepts_any.py +37 -0
  622. package/.claude/hooks/tests/mutations/engine_mutations/mutation_22_evaluator_length_off_by_one.py +45 -0
  623. package/.claude/hooks/tests/mutations/engine_mutations/mutation_23_evaluator_first_match_becomes_last.py +66 -0
  624. package/.claude/hooks/tests/mutations/engine_mutations/mutation_24_error_model_wrong_kind_on_parse.py +39 -0
  625. package/.claude/hooks/tests/mutations/engine_mutations/mutation_25_error_model_fail_open_on_load.py +42 -0
  626. package/.claude/hooks/tests/mutations/policy_mutations/__init__.py +16 -0
  627. package/.claude/hooks/tests/mutations/policy_mutations/mutation_bash_01_remove_credential_leak.py +49 -0
  628. package/.claude/hooks/tests/mutations/policy_mutations/mutation_bash_02_remove_rm_rf.py +44 -0
  629. package/.claude/hooks/tests/mutations/policy_mutations/mutation_bash_03_remove_git_reset_hard.py +44 -0
  630. package/.claude/hooks/tests/mutations/policy_mutations/mutation_bash_04_remove_git_push_force.py +44 -0
  631. package/.claude/hooks/tests/mutations/policy_mutations/mutation_bash_05_reorder_rules.py +59 -0
  632. package/.claude/hooks/tests/mutations/policy_mutations/mutation_bash_06_change_reason_enum.py +54 -0
  633. package/.claude/hooks/tests/mutations/policy_mutations/mutation_bash_07_default_flipped_to_block.py +56 -0
  634. package/.claude/hooks/tests/mutations/policy_mutations/mutation_bash_08_flip_rm_rf_to_allow.py +49 -0
  635. package/.claude/hooks/tests/mutations/policy_mutations/mutation_plan_01_remove_illegal_transition.py +79 -0
  636. package/.claude/hooks/tests/mutations/policy_mutations/mutation_plan_02_remove_illegal_status.py +80 -0
  637. package/.claude/hooks/tests/mutations/policy_mutations/mutation_plan_03_remove_missing_reviewed_at.py +80 -0
  638. package/.claude/hooks/tests/mutations/policy_mutations/mutation_plan_04_remove_missing_completed_at.py +80 -0
  639. package/.claude/hooks/tests/mutations/policy_mutations/mutation_plan_05_remove_missing_related_commits.py +79 -0
  640. package/.claude/hooks/tests/mutations/policy_mutations/mutation_plan_06_remove_missing_abandonment_reason.py +80 -0
  641. package/.claude/hooks/tests/mutations/policy_mutations/mutation_plan_07_scope_guard_inverted.py +93 -0
  642. package/.claude/hooks/tests/mutations/policy_mutations/mutation_plan_08_default_block.py +90 -0
  643. package/.claude/hooks/tests/probes/test_architect_probe.py +286 -0
  644. package/.claude/hooks/tests/probes/test_canonical_edit_probe.py +190 -0
  645. package/.claude/hooks/tests/probes/test_skill_content_probe.py +219 -0
  646. package/.claude/hooks/tests/test_SessionEnd.py +59 -0
  647. package/.claude/hooks/tests/test_SessionStart.py +42 -0
  648. package/.claude/hooks/tests/test_UserPromptSubmit.py +47 -0
  649. package/.claude/hooks/tests/test_accel_dispatch.py +96 -0
  650. package/.claude/hooks/tests/test_action_required_invariants.py +274 -0
  651. package/.claude/hooks/tests/test_adapter_drift_detector.py +254 -0
  652. package/.claude/hooks/tests/test_adapter_golden.py +198 -0
  653. package/.claude/hooks/tests/test_adequacy_gate.py +86 -0
  654. package/.claude/hooks/tests/test_adr_052_role_to_model_coverage.py +112 -0
  655. package/.claude/hooks/tests/test_adr_058_brainstorm_structure.py +280 -0
  656. package/.claude/hooks/tests/test_adversary_rules_live.py +400 -0
  657. package/.claude/hooks/tests/test_agent_frontmatter.py +377 -0
  658. package/.claude/hooks/tests/test_anti_ceo_overhead.py +591 -0
  659. package/.claude/hooks/tests/test_audit_emit.py +1707 -0
  660. package/.claude/hooks/tests/test_audit_emit_api_contract.py +693 -0
  661. package/.claude/hooks/tests/test_audit_emit_async_flush.py +563 -0
  662. package/.claude/hooks/tests/test_audit_emit_backpressure.py +138 -0
  663. package/.claude/hooks/tests/test_audit_emit_callsite_coverage_matrix.py +101 -0
  664. package/.claude/hooks/tests/test_audit_emit_chain_length.py +357 -0
  665. package/.claude/hooks/tests/test_audit_emit_coverage.py +2679 -0
  666. package/.claude/hooks/tests/test_audit_emit_ghost_action_guard.py +447 -0
  667. package/.claude/hooks/tests/test_audit_emit_plan088_canonical13.py +323 -0
  668. package/.claude/hooks/tests/test_audit_emit_rotation.py +218 -0
  669. package/.claude/hooks/tests/test_audit_emit_veto_v214.py +202 -0
  670. package/.claude/hooks/tests/test_audit_emit_wire_audit.py +699 -0
  671. package/.claude/hooks/tests/test_audit_hmac.py +334 -0
  672. package/.claude/hooks/tests/test_audit_hmac_branch_coverage.py +212 -0
  673. package/.claude/hooks/tests/test_audit_hmac_chain_monotonicity_property.py +136 -0
  674. package/.claude/hooks/tests/test_audit_hmac_coverage_v214.py +358 -0
  675. package/.claude/hooks/tests/test_audit_hmac_hardening.py +302 -0
  676. package/.claude/hooks/tests/test_audit_hmac_rotation_scenarios.py +231 -0
  677. package/.claude/hooks/tests/test_audit_hmac_verify_chain.py +443 -0
  678. package/.claude/hooks/tests/test_audit_log.py +280 -0
  679. package/.claude/hooks/tests/test_audit_log_coverage.py +173 -0
  680. package/.claude/hooks/tests/test_audit_log_path_d.py +516 -0
  681. package/.claude/hooks/tests/test_audit_log_phase1.py +358 -0
  682. package/.claude/hooks/tests/test_audit_log_schema_consistency.py +97 -0
  683. package/.claude/hooks/tests/test_audit_log_security.py +289 -0
  684. package/.claude/hooks/tests/test_audit_log_tokens.py +92 -0
  685. package/.claude/hooks/tests/test_audit_log_v2_7.py +378 -0
  686. package/.claude/hooks/tests/test_audit_log_v2_8_model.py +201 -0
  687. package/.claude/hooks/tests/test_audit_rotation.py +158 -0
  688. package/.claude/hooks/tests/test_audit_stream_verbose_protection.py +86 -0
  689. package/.claude/hooks/tests/test_audit_tokens_content_ban.py +512 -0
  690. package/.claude/hooks/tests/test_auto_boot.py +28 -0
  691. package/.claude/hooks/tests/test_available_models_mirror.py +226 -0
  692. package/.claude/hooks/tests/test_bash_canonical_forensic.py +74 -0
  693. package/.claude/hooks/tests/test_bash_canonical_interceptor.py +79 -0
  694. package/.claude/hooks/tests/test_brotli_passthrough.py +145 -0
  695. package/.claude/hooks/tests/test_byte_identity_fuzzer.py +185 -0
  696. package/.claude/hooks/tests/test_byte_identity_harness.py +953 -0
  697. package/.claude/hooks/tests/test_canonical_guard_typed_exceptions.py +117 -0
  698. package/.claude/hooks/tests/test_canonical_json.py +153 -0
  699. package/.claude/hooks/tests/test_chain_invariants_property.py +132 -0
  700. package/.claude/hooks/tests/test_check_adversary_live.py +149 -0
  701. package/.claude/hooks/tests/test_check_agent_spawn.py +1084 -0
  702. package/.claude/hooks/tests/test_check_agent_spawn_coverage.py +277 -0
  703. package/.claude/hooks/tests/test_check_agent_spawn_effort_token.py +74 -0
  704. package/.claude/hooks/tests/test_check_agent_spawn_import_isolation.py +82 -0
  705. package/.claude/hooks/tests/test_check_agent_spawn_model_routing_mode.py +245 -0
  706. package/.claude/hooks/tests/test_check_agent_spawn_reference_bypass.py +385 -0
  707. package/.claude/hooks/tests/test_check_agent_spawn_routing_promotion.py +302 -0
  708. package/.claude/hooks/tests/test_check_agent_spawn_skill_reference.py +336 -0
  709. package/.claude/hooks/tests/test_check_arbitration_kernel.py +472 -0
  710. package/.claude/hooks/tests/test_check_arbitration_kernel_v214.py +157 -0
  711. package/.claude/hooks/tests/test_check_bash_safety.py +546 -0
  712. package/.claude/hooks/tests/test_check_bash_safety_canonical_matrix.py +336 -0
  713. package/.claude/hooks/tests/test_check_bash_safety_cp_chaining.py +120 -0
  714. package/.claude/hooks/tests/test_check_bash_safety_h5_rewrite.py +462 -0
  715. package/.claude/hooks/tests/test_check_budget.py +580 -0
  716. package/.claude/hooks/tests/test_check_budget_max_tokens.py +397 -0
  717. package/.claude/hooks/tests/test_check_budget_quota_hint.py +115 -0
  718. package/.claude/hooks/tests/test_check_canonical_edit.py +302 -0
  719. package/.claude/hooks/tests/test_check_canonical_edit_coverage.py +370 -0
  720. package/.claude/hooks/tests/test_check_canonical_edit_kernel_v2.py +401 -0
  721. package/.claude/hooks/tests/test_check_canonical_edit_markers.py +473 -0
  722. package/.claude/hooks/tests/test_check_canonical_edit_mcp.py +401 -0
  723. package/.claude/hooks/tests/test_check_canonical_edit_session67_format.py +245 -0
  724. package/.claude/hooks/tests/test_check_codex_filewrite.py +964 -0
  725. package/.claude/hooks/tests/test_check_codex_response.py +419 -0
  726. package/.claude/hooks/tests/test_check_compaction_continuity.py +450 -0
  727. package/.claude/hooks/tests/test_check_confidence_gate.py +326 -0
  728. package/.claude/hooks/tests/test_check_config_change.py +369 -0
  729. package/.claude/hooks/tests/test_check_config_protection.py +364 -0
  730. package/.claude/hooks/tests/test_check_fluency_nudge.py +321 -0
  731. package/.claude/hooks/tests/test_check_mcp_response.py +261 -0
  732. package/.claude/hooks/tests/test_check_output_safety.py +314 -0
  733. package/.claude/hooks/tests/test_check_output_secrets.py +488 -0
  734. package/.claude/hooks/tests/test_check_output_secrets_coverage.py +321 -0
  735. package/.claude/hooks/tests/test_check_pair_rail.py +897 -0
  736. package/.claude/hooks/tests/test_check_pair_rail_decide_canonical.py +297 -0
  737. package/.claude/hooks/tests/test_check_pair_rail_golden.py +362 -0
  738. package/.claude/hooks/tests/test_check_pair_rail_hook_integration.py +120 -0
  739. package/.claude/hooks/tests/test_check_pair_rail_matrix.py +1077 -0
  740. package/.claude/hooks/tests/test_check_plan_edit.py +679 -0
  741. package/.claude/hooks/tests/test_check_plan_edit_stranded.py +310 -0
  742. package/.claude/hooks/tests/test_check_protocol_semver_cascade.py +141 -0
  743. package/.claude/hooks/tests/test_check_protocol_semver_cascade_settings_wired.py +297 -0
  744. package/.claude/hooks/tests/test_check_protocol_semver_cascade_synccascade.py +365 -0
  745. package/.claude/hooks/tests/test_check_read_injection.py +143 -0
  746. package/.claude/hooks/tests/test_check_read_injection_coverage.py +237 -0
  747. package/.claude/hooks/tests/test_check_read_injection_pathbound.py +153 -0
  748. package/.claude/hooks/tests/test_check_scratchpad_access.py +244 -0
  749. package/.claude/hooks/tests/test_check_skill_bootstrap_post.py +256 -0
  750. package/.claude/hooks/tests/test_check_skill_patch_sentinel.py +439 -0
  751. package/.claude/hooks/tests/test_check_skill_reference_read.py +170 -0
  752. package/.claude/hooks/tests/test_check_skill_reference_read_v2.py +388 -0
  753. package/.claude/hooks/tests/test_check_subagent_fabrication.py +54 -0
  754. package/.claude/hooks/tests/test_check_subagent_start.py +505 -0
  755. package/.claude/hooks/tests/test_check_tier_policy.py +48 -0
  756. package/.claude/hooks/tests/test_check_tier_policy_misrouting_24h.py +294 -0
  757. package/.claude/hooks/tests/test_check_webfetch_injection.py +49 -0
  758. package/.claude/hooks/tests/test_claim_producer_pair_end_to_end_loop_perf.py +227 -0
  759. package/.claude/hooks/tests/test_claude_adapter_thinking.py +731 -0
  760. package/.claude/hooks/tests/test_claude_batch_adapter.py +672 -0
  761. package/.claude/hooks/tests/test_closeout_guard.py +184 -0
  762. package/.claude/hooks/tests/test_codex_adapter.py +777 -0
  763. package/.claude/hooks/tests/test_codex_cli_shape.py +217 -0
  764. package/.claude/hooks/tests/test_codex_egress_proof_telemetry.py +214 -0
  765. package/.claude/hooks/tests/test_codex_egress_redact.py +342 -0
  766. package/.claude/hooks/tests/test_codex_egress_redact_outgoing.py +236 -0
  767. package/.claude/hooks/tests/test_codex_reply_multi_turn.py +72 -0
  768. package/.claude/hooks/tests/test_codex_review_user_code.py +44 -0
  769. package/.claude/hooks/tests/test_codex_strict_json.py +123 -0
  770. package/.claude/hooks/tests/test_confidence_gate_producer_pair.py +522 -0
  771. package/.claude/hooks/tests/test_confidence_labels.py +362 -0
  772. package/.claude/hooks/tests/test_contract.py +237 -0
  773. package/.claude/hooks/tests/test_cookbook_advisor_hook.py +208 -0
  774. package/.claude/hooks/tests/test_credentials.py +195 -0
  775. package/.claude/hooks/tests/test_detect_repo_profile_branches.py +116 -0
  776. package/.claude/hooks/tests/test_e2e_hook_chain.py +184 -0
  777. package/.claude/hooks/tests/test_effective_config.py +648 -0
  778. package/.claude/hooks/tests/test_emit_architect_outcome.py +175 -0
  779. package/.claude/hooks/tests/test_env_persist_allowlist.py +365 -0
  780. package/.claude/hooks/tests/test_escalation_signals.py +357 -0
  781. package/.claude/hooks/tests/test_estimation_bayesian_pipeline.py +140 -0
  782. package/.claude/hooks/tests/test_execution_context_deferral.py +222 -0
  783. package/.claude/hooks/tests/test_fail_open_contract.py +118 -0
  784. package/.claude/hooks/tests/test_file_walker.py +332 -0
  785. package/.claude/hooks/tests/test_filelock.py +131 -0
  786. package/.claude/hooks/tests/test_filelock_contract.py +172 -0
  787. package/.claude/hooks/tests/test_find_sentinels_pattern_matrix.py +114 -0
  788. package/.claude/hooks/tests/test_flip_closures.py +219 -0
  789. package/.claude/hooks/tests/test_frontmatter.py +139 -0
  790. package/.claude/hooks/tests/test_git_bypass_guard.py +1095 -0
  791. package/.claude/hooks/tests/test_gpg_verify.py +578 -0
  792. package/.claude/hooks/tests/test_hook_byte_fidelity.py +113 -0
  793. package/.claude/hooks/tests/test_hook_latency.py +245 -0
  794. package/.claude/hooks/tests/test_hook_latency_import.py +178 -0
  795. package/.claude/hooks/tests/test_injection_patterns.py +276 -0
  796. package/.claude/hooks/tests/test_injection_patterns_bypass.py +276 -0
  797. package/.claude/hooks/tests/test_injection_salt.py +191 -0
  798. package/.claude/hooks/tests/test_kernel_subsumes_security_critical_lib.py +88 -0
  799. package/.claude/hooks/tests/test_kill_switch_godmode_enforcing.py +101 -0
  800. package/.claude/hooks/tests/test_latency_report.py +28 -0
  801. package/.claude/hooks/tests/test_lib_canonical_import.py +355 -0
  802. package/.claude/hooks/tests/test_lifecycle_edge_cases.py +565 -0
  803. package/.claude/hooks/tests/test_live_adapters.py +463 -0
  804. package/.claude/hooks/tests/test_live_audit_isolation.py +357 -0
  805. package/.claude/hooks/tests/test_mcp_bearer_friction_buffer.py +276 -0
  806. package/.claude/hooks/tests/test_mcp_bearer_friction_emit.py +117 -0
  807. package/.claude/hooks/tests/test_mcp_canonical_guard.py +1989 -0
  808. package/.claude/hooks/tests/test_mcp_injection_repro_harness.py +437 -0
  809. package/.claude/hooks/tests/test_mcp_injection_scan.py +228 -0
  810. package/.claude/hooks/tests/test_mcp_routing_resolve.py +246 -0
  811. package/.claude/hooks/tests/test_memory_shared.py +412 -0
  812. package/.claude/hooks/tests/test_metrics.py +115 -0
  813. package/.claude/hooks/tests/test_migrated_hooks_fixtures.py +121 -0
  814. package/.claude/hooks/tests/test_model_routing.py +175 -0
  815. package/.claude/hooks/tests/test_model_routing_resolve.py +97 -0
  816. package/.claude/hooks/tests/test_model_routing_resolve_full.py +318 -0
  817. package/.claude/hooks/tests/test_otel_bounded_exporter.py +521 -0
  818. package/.claude/hooks/tests/test_otel_emit.py +243 -0
  819. package/.claude/hooks/tests/test_otel_queue.py +334 -0
  820. package/.claude/hooks/tests/test_otel_wire_defaultoff.py +392 -0
  821. package/.claude/hooks/tests/test_output_scan.py +1119 -0
  822. package/.claude/hooks/tests/test_output_scan_dedup.py +329 -0
  823. package/.claude/hooks/tests/test_output_scan_fixtures.py +136 -0
  824. package/.claude/hooks/tests/test_pair_rail_decide.py +141 -0
  825. package/.claude/hooks/tests/test_payload.py +89 -0
  826. package/.claude/hooks/tests/test_persona_coverage_wire.py +376 -0
  827. package/.claude/hooks/tests/test_persona_routing_enforcing.py +119 -0
  828. package/.claude/hooks/tests/test_phase_c_advisory_audit.py +75 -0
  829. package/.claude/hooks/tests/test_pii_patterns.py +558 -0
  830. package/.claude/hooks/tests/test_plan114_wires.py +468 -0
  831. package/.claude/hooks/tests/test_plan128_emit_wiring.py +74 -0
  832. package/.claude/hooks/tests/test_plan132_codex_review_observe.py +99 -0
  833. package/.claude/hooks/tests/test_plan133_a1_env_guard.py +221 -0
  834. package/.claude/hooks/tests/test_plan133_a2_canonical_skill_unicode.py +359 -0
  835. package/.claude/hooks/tests/test_plan133_a2_invisible_unicode.py +239 -0
  836. package/.claude/hooks/tests/test_plan133_a3_egress_taxonomy.py +221 -0
  837. package/.claude/hooks/tests/test_plan133_e1_adversary.py +360 -0
  838. package/.claude/hooks/tests/test_plan_085_wave_c_callsites_preserved.py +147 -0
  839. package/.claude/hooks/tests/test_plan_091_expected_callsites.py +206 -0
  840. package/.claude/hooks/tests/test_plan_frontmatter.py +217 -0
  841. package/.claude/hooks/tests/test_policy_coverage_residual_session73.py +597 -0
  842. package/.claude/hooks/tests/test_policy_coverage_v214.py +1099 -0
  843. package/.claude/hooks/tests/test_policy_dispatch.py +454 -0
  844. package/.claude/hooks/tests/test_policy_engine.py +791 -0
  845. package/.claude/hooks/tests/test_policy_fuzz_bomb.py +356 -0
  846. package/.claude/hooks/tests/test_policy_golden_error_kinds.py +287 -0
  847. package/.claude/hooks/tests/test_policy_mutations.py +359 -0
  848. package/.claude/hooks/tests/test_policy_preprocessors.py +514 -0
  849. package/.claude/hooks/tests/test_policy_redos_guards.py +393 -0
  850. package/.claude/hooks/tests/test_rag_bridge.py +675 -0
  851. package/.claude/hooks/tests/test_rag_events.py +202 -0
  852. package/.claude/hooks/tests/test_red_team_fixtures.py +427 -0
  853. package/.claude/hooks/tests/test_redact.py +506 -0
  854. package/.claude/hooks/tests/test_redact_redos.py +254 -0
  855. package/.claude/hooks/tests/test_redact_secrets_parity.py +334 -0
  856. package/.claude/hooks/tests/test_replay_determinism.py +263 -0
  857. package/.claude/hooks/tests/test_review_loop.py +28 -0
  858. package/.claude/hooks/tests/test_review_loop_wiring.py +206 -0
  859. package/.claude/hooks/tests/test_route.py +36 -0
  860. package/.claude/hooks/tests/test_rubric_catalogue.py +359 -0
  861. package/.claude/hooks/tests/test_scratchpad_lib.py +259 -0
  862. package/.claude/hooks/tests/test_secret_patterns.py +680 -0
  863. package/.claude/hooks/tests/test_secret_patterns_provenance.py +82 -0
  864. package/.claude/hooks/tests/test_sentinel_session_cache.py +324 -0
  865. package/.claude/hooks/tests/test_sentinel_session_cache_tier1.py +205 -0
  866. package/.claude/hooks/tests/test_sentinel_signers.py +641 -0
  867. package/.claude/hooks/tests/test_session_75_kernel_findings.py +180 -0
  868. package/.claude/hooks/tests/test_session_76_audit_v3_findings.py +493 -0
  869. package/.claude/hooks/tests/test_session_77_audit_v3_backlog_findings.py +644 -0
  870. package/.claude/hooks/tests/test_session_77_round_2_findings.py +135 -0
  871. package/.claude/hooks/tests/test_session_77_round_3_findings.py +159 -0
  872. package/.claude/hooks/tests/test_session_77_round_4_findings.py +120 -0
  873. package/.claude/hooks/tests/test_session_end.py +113 -0
  874. package/.claude/hooks/tests/test_session_start.py +293 -0
  875. package/.claude/hooks/tests/test_skill_unknown_ratio_path_d.py +249 -0
  876. package/.claude/hooks/tests/test_smart_loading_resolver_caching.py +140 -0
  877. package/.claude/hooks/tests/test_spec_context_sanitizer.py +179 -0
  878. package/.claude/hooks/tests/test_spool_drain_contended_skip.py +249 -0
  879. package/.claude/hooks/tests/test_spool_drain_rotation_property_b.py +227 -0
  880. package/.claude/hooks/tests/test_spool_drain_rotation_race.py +395 -0
  881. package/.claude/hooks/tests/test_spool_writer_cache.py +463 -0
  882. package/.claude/hooks/tests/test_state_store.py +302 -0
  883. package/.claude/hooks/tests/test_stop.py +133 -0
  884. package/.claude/hooks/tests/test_streaming_rate_cap.py +108 -0
  885. package/.claude/hooks/tests/test_subagent_dispatch.py +248 -0
  886. package/.claude/hooks/tests/test_subagent_model_override_removed.py +108 -0
  887. package/.claude/hooks/tests/test_team.py +95 -0
  888. package/.claude/hooks/tests/test_template_dogfood_parity.py +106 -0
  889. package/.claude/hooks/tests/test_terminal_compress.py +135 -0
  890. package/.claude/hooks/tests/test_test_env_context_agent_binding.py +140 -0
  891. package/.claude/hooks/tests/test_testing_helper.py +53 -0
  892. package/.claude/hooks/tests/test_thinking_budget_command.py +229 -0
  893. package/.claude/hooks/tests/test_tier_policy_agent_frontmatter.py +421 -0
  894. package/.claude/hooks/tests/test_tier_policy_agent_frontmatter_disposition.py +175 -0
  895. package/.claude/hooks/tests/test_tier_policy_constants.py +336 -0
  896. package/.claude/hooks/tests/test_tier_policy_loader.py +544 -0
  897. package/.claude/hooks/tests/test_tier_policy_loader_fallback_observed.py +169 -0
  898. package/.claude/hooks/tests/test_tier_policy_types.py +270 -0
  899. package/.claude/hooks/tests/test_tokens_lib.py +118 -0
  900. package/.claude/hooks/tests/test_tool_lifecycle.py +598 -0
  901. package/.claude/hooks/tests/test_tool_lifecycle_perf.py +110 -0
  902. package/.claude/hooks/tests/test_turbo_profile.py +28 -0
  903. package/.claude/hooks/tests/test_turbo_sessionstart.py +79 -0
  904. package/.claude/hooks/tests/test_two_writer_chain.py +175 -0
  905. package/.claude/hooks/tests/test_upgrade_retry.py +346 -0
  906. package/.claude/hooks/tests/test_user_prompt_submit.py +254 -0
  907. package/.claude/hooks/tests/test_user_prompt_submit_salt.py +204 -0
  908. package/.claude/hooks/tests/test_verify_after_edit.py +100 -0
  909. package/.claude/hooks/tests/test_veto_floor_bijection.py +174 -0
  910. package/.claude/hooks/tests/test_w5_cookbook_remediation.py +712 -0
  911. package/.claude/hooks/tests/test_w5_scrub_enforcement.py +371 -0
  912. package/.claude/hooks/tests/test_webfetch_injection.py +280 -0
  913. package/.claude/hooks/tests/test_wiredeadmod_estimation_wiring.py +283 -0
  914. package/.claude/hooks/tests/test_wiredeadmod_spawn_wiring.py +303 -0
  915. package/.claude/hooks/tests/test_worktree_writer.py +509 -0
  916. package/.claude/hooks/turbo_profile.py +554 -0
  917. package/.claude/hooks/turbo_sessionstart.py +472 -0
  918. package/.claude/hooks/verify_after_edit.py +281 -0
  919. package/.claude/pitfalls-catalog.yaml +150 -0
  920. package/.claude/plans/AUDIT-LOG-SCHEMA.md +548 -0
  921. package/.claude/plans/DEBATE-SCHEMA.md +539 -0
  922. package/.claude/plans/PLAN-128/AB-PROTOCOL.md +121 -0
  923. package/.claude/plans/PLAN-128/measure-state.sh +101 -0
  924. package/.claude/plans/PLAN-139-canonical-invariants-and-debt-ledger.md +253 -0
  925. package/.claude/plans/PLAN-140/architect/round-1/approved.md +40 -0
  926. package/.claude/plans/PLAN-140-compaction-hook-origin-dropfix.md +95 -0
  927. package/.claude/plans/PLAN-141/architect/round-1/approved.md +28 -0
  928. package/.claude/plans/PLAN-141-mcp-smoke-staging-ruff-tolerance.md +72 -0
  929. package/.claude/plans/PLAN-142/architect/round-1/anonymization-map.md +11 -0
  930. package/.claude/plans/PLAN-142/architect/round-1/consensus.md +95 -0
  931. package/.claude/plans/PLAN-142/architect/round-1/devops-engineer.md +57 -0
  932. package/.claude/plans/PLAN-142/architect/round-1/proposal.md +57 -0
  933. package/.claude/plans/PLAN-142/architect/round-1/security-engineer.md +55 -0
  934. package/.claude/plans/PLAN-142/architect/round-1/vp-engineering.md +58 -0
  935. package/.claude/plans/PLAN-142/architect/round-2/anonymization-map.md +11 -0
  936. package/.claude/plans/PLAN-142/architect/round-2/approved.md +65 -0
  937. package/.claude/plans/PLAN-142/architect/round-2/consensus.md +78 -0
  938. package/.claude/plans/PLAN-142/architect/round-2/devops-engineer.md +58 -0
  939. package/.claude/plans/PLAN-142/architect/round-2/security-engineer.md +56 -0
  940. package/.claude/plans/PLAN-142/architect/round-2/vp-engineering.md +54 -0
  941. package/.claude/plans/PLAN-142/staging/EXECUTION-RUNBOOK.md +74 -0
  942. package/.claude/plans/PLAN-142/staging/STAGING-NOTES.md +63 -0
  943. package/.claude/plans/PLAN-142/staging/check_pair_rail__invoke_and_consume.py.txt +644 -0
  944. package/.claude/plans/PLAN-142/staging/codex_adapter_parsers.py.txt +677 -0
  945. package/.claude/plans/PLAN-142/staging/codex_cli_shape.py +433 -0
  946. package/.claude/plans/PLAN-142-codex-cli-0139-adapter-migration.md +224 -0
  947. package/.claude/plans/PLAN-143/architect/round-1/anonymization-map.md +22 -0
  948. package/.claude/plans/PLAN-143/architect/round-1/consensus.md +108 -0
  949. package/.claude/plans/PLAN-143/architect/round-1/devops-engineer.md +228 -0
  950. package/.claude/plans/PLAN-143/architect/round-1/proposal.md +48 -0
  951. package/.claude/plans/PLAN-143/architect/round-1/security-engineer.md +224 -0
  952. package/.claude/plans/PLAN-143/architect/round-1/vp-engineering.md +166 -0
  953. package/.claude/plans/PLAN-143/patches/PLAN143-item1-env-inventory.NOTE.md +106 -0
  954. package/.claude/plans/PLAN-143/patches/PLAN143-item2-spool-writer-rotate-guard.patch +41 -0
  955. package/.claude/plans/PLAN-143/patches/PLAN143-item3-audit-emit-exit-code.patch +32 -0
  956. package/.claude/plans/PLAN-143-repo-hygiene-debt.md +201 -0
  957. package/.claude/plans/PLAN-SCHEMA.md +870 -0
  958. package/.claude/plans/README.md +208 -0
  959. package/.claude/plans/examples/debate-round-1/consensus.md +166 -0
  960. package/.claude/plans/examples/debate-round-1/devops-engineer.md +133 -0
  961. package/.claude/plans/examples/debate-round-1/proposal.md +66 -0
  962. package/.claude/plans/examples/debate-round-1/security-engineer.md +109 -0
  963. package/.claude/plans/examples/debate-round-1/vp-engineering.md +110 -0
  964. package/.claude/policies/.drift-manifest.json +16 -0
  965. package/.claude/policies/bash-safety.policy.yaml +37 -0
  966. package/.claude/policies/fixtures/.gitkeep +0 -0
  967. package/.claude/policies/fixtures/bash-safety.fixtures.jsonl +46 -0
  968. package/.claude/policies/fixtures/plan-edit.fixtures.jsonl +36 -0
  969. package/.claude/policies/grandfather-cap.policy.yaml +85 -0
  970. package/.claude/policies/plan-edit.policy.yaml +152 -0
  971. package/.claude/policies/rubric-violation-catalogue.yaml +187 -0
  972. package/.claude/policies/schemas/repo-profile-skill-binding.schema.json +126 -0
  973. package/.claude/policies/schemas/repo-profile.schema.json +83 -0
  974. package/.claude/policies/schemas/squad-bundle-frontmatter.schema.json +152 -0
  975. package/.claude/policies/secret-patterns-exchange.yaml +368 -0
  976. package/.claude/policies/smart-loading-cap-table.yaml +34 -0
  977. package/.claude/proposals/.gitkeep +0 -0
  978. package/.claude/proposals/README.md +42 -0
  979. package/.claude/proposals/SP-001-code-review-checklist-2026-04-20.md +65 -0
  980. package/.claude/proposals/SP-001-code-review-checklist-2026-04-20.md.asc +8 -0
  981. package/.claude/proposals/SP-002-security-and-auth-2026-04-20.md +74 -0
  982. package/.claude/proposals/SP-002-security-and-auth-2026-04-20.md.asc +8 -0
  983. package/.claude/proposals/SP-003-design-system-and-components-2026-04-20.md +67 -0
  984. package/.claude/proposals/SP-003-design-system-and-components-2026-04-20.md.asc +8 -0
  985. package/.claude/proposals/SP-004-accessibility-and-wcag-2026-04-20.md +68 -0
  986. package/.claude/proposals/SP-004-accessibility-and-wcag-2026-04-20.md.asc +8 -0
  987. package/.claude/proposals/SP-005-ux-and-user-journeys-2026-04-20.md +63 -0
  988. package/.claude/proposals/SP-005-ux-and-user-journeys-2026-04-20.md.asc +8 -0
  989. package/.claude/proposals/SP-006-chaos-and-resilience-2026-04-20.md +79 -0
  990. package/.claude/proposals/SP-006-chaos-and-resilience-2026-04-20.md.asc +8 -0
  991. package/.claude/proposals/SP-007-ai-llm-orchestration-2026-04-20.md +76 -0
  992. package/.claude/proposals/SP-007-ai-llm-orchestration-2026-04-20.md.asc +8 -0
  993. package/.claude/proposals/SP-008-performance-engineering-2026-04-20.md +82 -0
  994. package/.claude/proposals/SP-008-performance-engineering-2026-04-20.md.asc +8 -0
  995. package/.claude/proposals/SP-009-code-review-checklist-2026-04-20.md +76 -0
  996. package/.claude/proposals/SP-009-code-review-checklist-2026-04-20.md.asc +8 -0
  997. package/.claude/proposals/SP-010-accessibility-and-wcag-adopter-note-2026-04-20.md +77 -0
  998. package/.claude/proposals/SP-010-accessibility-and-wcag-adopter-note-2026-04-20.md.asc +8 -0
  999. package/.claude/proposals/SP-011-design-system-and-components-adopter-note-2026-04-20.md +79 -0
  1000. package/.claude/proposals/SP-011-design-system-and-components-adopter-note-2026-04-20.md.asc +8 -0
  1001. package/.claude/proposals/SP-012-ux-and-user-journeys-adopter-note-2026-04-20.md +83 -0
  1002. package/.claude/proposals/SP-012-ux-and-user-journeys-adopter-note-2026-04-20.md.asc +8 -0
  1003. package/.claude/proposals/SP-013-frontend-performance-optimization-2026-04-20.md +82 -0
  1004. package/.claude/proposals/SP-013-frontend-performance-optimization-2026-04-20.md.asc +8 -0
  1005. package/.claude/proposals/SP-014-observability-and-ops-2026-04-20.md +80 -0
  1006. package/.claude/proposals/SP-014-observability-and-ops-2026-04-20.md.asc +8 -0
  1007. package/.claude/proposals/SP-015-testing-strategy-2026-04-20.md +87 -0
  1008. package/.claude/proposals/SP-015-testing-strategy-2026-04-20.md.asc +8 -0
  1009. package/.claude/proposals/SP-016-code-review-checklist-fluency-rubric-2026-04-28.md +111 -0
  1010. package/.claude/proposals/SP-016-code-review-checklist-fluency-rubric-2026-04-28.md.asc +8 -0
  1011. package/.claude/proposals/SP-017-chaos-and-resilience-adopter-note-2026-04-28.md +87 -0
  1012. package/.claude/proposals/SP-017-chaos-and-resilience-adopter-note-2026-04-28.md.asc +8 -0
  1013. package/.claude/proposals/SP-018-ceo-orchestration-inventory-regen-2026-04-21.md +64 -0
  1014. package/.claude/proposals/SP-018-ceo-orchestration-inventory-regen-2026-04-21.md.asc +8 -0
  1015. package/.claude/proposals/SP-019-terse-mode-2026-04-21.md +107 -0
  1016. package/.claude/proposals/SP-019-terse-mode-2026-04-21.md.asc +8 -0
  1017. package/.claude/proposals/SP-020-ceo-orchestration-audit-tokens-2026-04-21.md +74 -0
  1018. package/.claude/proposals/SP-020-ceo-orchestration-audit-tokens-2026-04-21.md.asc +8 -0
  1019. package/.claude/proposals/SP-021-ceo-orchestration-autonomous-loop-2026-04-21.md +71 -0
  1020. package/.claude/proposals/SP-021-ceo-orchestration-autonomous-loop-2026-04-21.md.asc +8 -0
  1021. package/.claude/rag/_index_core.py +344 -0
  1022. package/.claude/rag/indexignore +101 -0
  1023. package/.claude/rag/install-sidecar.sh +275 -0
  1024. package/.claude/rag/models.manifest.json +19 -0
  1025. package/.claude/rag/requirements.lock +40 -0
  1026. package/.claude/rag/sidecar-config.template.json +53 -0
  1027. package/.claude/rag/tests/test_index_core.py +262 -0
  1028. package/.claude/rag/tests/test_install_sidecar.sh +132 -0
  1029. package/.claude/scripts/.known_actions_floor.lock +0 -0
  1030. package/.claude/scripts/admin-invite.py +199 -0
  1031. package/.claude/scripts/adopter-metrics.py +712 -0
  1032. package/.claude/scripts/aek-calibration-c2.py +253 -0
  1033. package/.claude/scripts/aek-calibration-c3.py +382 -0
  1034. package/.claude/scripts/aggregate-changesets.py +350 -0
  1035. package/.claude/scripts/architect-bundle-validate.py +227 -0
  1036. package/.claude/scripts/audit-dashboard.py +1320 -0
  1037. package/.claude/scripts/audit-log-labels.jsonl +0 -0
  1038. package/.claude/scripts/audit-log-retain.py +404 -0
  1039. package/.claude/scripts/audit-query.py +3333 -0
  1040. package/.claude/scripts/audit-telemetry.py +337 -0
  1041. package/.claude/scripts/audit-tokens.py +502 -0
  1042. package/.claude/scripts/audit-verify-chain.py +537 -0
  1043. package/.claude/scripts/backup-audit.py +247 -0
  1044. package/.claude/scripts/benchmark/plan-071-import-floor/README.md +194 -0
  1045. package/.claude/scripts/benchmark/plan-071-import-floor/fixtures/baseline.json +1 -0
  1046. package/.claude/scripts/benchmark/plan-071-import-floor/fixtures/expected_quantiles.json +11 -0
  1047. package/.claude/scripts/benchmark/plan-071-import-floor/import_floor_bench.py +791 -0
  1048. package/.claude/scripts/benchmark/plan-071-import-floor/run_bench.sh +180 -0
  1049. package/.claude/scripts/benchmark-fallback-scorer.py +254 -0
  1050. package/.claude/scripts/benchmark-judge.py +621 -0
  1051. package/.claude/scripts/budget-summary.py +946 -0
  1052. package/.claude/scripts/build-canonical-models.py +645 -0
  1053. package/.claude/scripts/calibration-kappa.py +262 -0
  1054. package/.claude/scripts/cc-analytics-pull.py +393 -0
  1055. package/.claude/scripts/ceo-backup.sh +307 -0
  1056. package/.claude/scripts/ceo-boot.py +3017 -0
  1057. package/.claude/scripts/ceo-cost.py +1116 -0
  1058. package/.claude/scripts/ceo-diagnose.py +486 -0
  1059. package/.claude/scripts/ceo-escalation-detector.py +743 -0
  1060. package/.claude/scripts/ceo-health.py +584 -0
  1061. package/.claude/scripts/ceo-info.py +1001 -0
  1062. package/.claude/scripts/ceo-restore.sh +215 -0
  1063. package/.claude/scripts/chaos-inject.py +439 -0
  1064. package/.claude/scripts/check-action-sha-drift.py +275 -0
  1065. package/.claude/scripts/check-active-hooks-executable.py +119 -0
  1066. package/.claude/scripts/check-adr-chain.py +617 -0
  1067. package/.claude/scripts/check-audit-action-name-convention.py +221 -0
  1068. package/.claude/scripts/check-audit-hmac-null.py +253 -0
  1069. package/.claude/scripts/check-audit-read-api-stable.py +239 -0
  1070. package/.claude/scripts/check-audit-registry-coverage.py +999 -0
  1071. package/.claude/scripts/check-auto-activation-flags.py +180 -0
  1072. package/.claude/scripts/check-canonical-doc-freshness.py +222 -0
  1073. package/.claude/scripts/check-claude-md-claims.py +346 -0
  1074. package/.claude/scripts/check-confidence-gate-drift.py +295 -0
  1075. package/.claude/scripts/check-conformance-harness-mapping.py +503 -0
  1076. package/.claude/scripts/check-contamination.sh +25 -0
  1077. package/.claude/scripts/check-creative-rewrite.py +596 -0
  1078. package/.claude/scripts/check-debate-round-lifecycle.py +185 -0
  1079. package/.claude/scripts/check-debt-ledger.py +305 -0
  1080. package/.claude/scripts/check-docs-drift.py +259 -0
  1081. package/.claude/scripts/check-docs-freshness.py +487 -0
  1082. package/.claude/scripts/check-flip-criteria-drift.py +426 -0
  1083. package/.claude/scripts/check-flip-release-gate-consistency.py +134 -0
  1084. package/.claude/scripts/check-framework-updates.sh +239 -0
  1085. package/.claude/scripts/check-function-length.py +426 -0
  1086. package/.claude/scripts/check-model-deprecations.py +377 -0
  1087. package/.claude/scripts/check-originator-residue.py +248 -0
  1088. package/.claude/scripts/check-pitfall-regression.sh +153 -0
  1089. package/.claude/scripts/check-policy-drift.py +74 -0
  1090. package/.claude/scripts/check-roadmap-binding.py +170 -0
  1091. package/.claude/scripts/check-rule-invariants.py +385 -0
  1092. package/.claude/scripts/check-sdk-compat.sh +76 -0
  1093. package/.claude/scripts/check-secret-pattern-coverage.py +175 -0
  1094. package/.claude/scripts/check-sidecar-manifest.py +493 -0
  1095. package/.claude/scripts/check-skill-activation-mode.py +41 -0
  1096. package/.claude/scripts/check-skill-health.sh +179 -0
  1097. package/.claude/scripts/check-spec-drift.py +147 -0
  1098. package/.claude/scripts/check-staleness.py +506 -0
  1099. package/.claude/scripts/check-stdlib-only.py +373 -0
  1100. package/.claude/scripts/check-substrate-watch.py +285 -0
  1101. package/.claude/scripts/check-swarm-harness-mapping.py +380 -0
  1102. package/.claude/scripts/check-test-audit-isolation.py +622 -0
  1103. package/.claude/scripts/check-test-env-hygiene.py +509 -0
  1104. package/.claude/scripts/check-threat-model-freshness.py +313 -0
  1105. package/.claude/scripts/check-tier-boundaries.py +233 -0
  1106. package/.claude/scripts/check-tla-schema-drift.py +272 -0
  1107. package/.claude/scripts/check_atlas_fpr.py +595 -0
  1108. package/.claude/scripts/check_contamination.py +337 -0
  1109. package/.claude/scripts/check_known_actions_floor.py +155 -0
  1110. package/.claude/scripts/check_threat_model_coverage.py +214 -0
  1111. package/.claude/scripts/check_translations_drift.py +199 -0
  1112. package/.claude/scripts/codex_invoke.py +436 -0
  1113. package/.claude/scripts/compare-adopters.py +549 -0
  1114. package/.claude/scripts/confidence-gate-backfill.py +261 -0
  1115. package/.claude/scripts/confidence_gate.py +736 -0
  1116. package/.claude/scripts/context-budget.py +1887 -0
  1117. package/.claude/scripts/contextual-recommender.py +815 -0
  1118. package/.claude/scripts/cost-table.yaml +99 -0
  1119. package/.claude/scripts/debate-converge.py +335 -0
  1120. package/.claude/scripts/debate-emit.py +132 -0
  1121. package/.claude/scripts/debate-orchestrate.py +972 -0
  1122. package/.claude/scripts/detect-repo-profile.py +1280 -0
  1123. package/.claude/scripts/detectors/__init__.py +19 -0
  1124. package/.claude/scripts/detectors/looping.py +127 -0
  1125. package/.claude/scripts/detectors/overpowered.py +96 -0
  1126. package/.claude/scripts/detectors/retry_churn.py +119 -0
  1127. package/.claude/scripts/detectors/schema.py +94 -0
  1128. package/.claude/scripts/detectors/tests/__init__.py +0 -0
  1129. package/.claude/scripts/detectors/tests/fixtures.py +420 -0
  1130. package/.claude/scripts/detectors/tests/test_looping.py +124 -0
  1131. package/.claude/scripts/detectors/tests/test_overpowered.py +114 -0
  1132. package/.claude/scripts/detectors/tests/test_retry_churn.py +101 -0
  1133. package/.claude/scripts/detectors/tests/test_schema.py +109 -0
  1134. package/.claude/scripts/detectors/tests/test_tool_cascade.py +131 -0
  1135. package/.claude/scripts/detectors/tests/test_wasteful_thinking.py +112 -0
  1136. package/.claude/scripts/detectors/tests/test_weak_model.py +104 -0
  1137. package/.claude/scripts/detectors/tool_cascade.py +127 -0
  1138. package/.claude/scripts/detectors/wasteful_thinking.py +99 -0
  1139. package/.claude/scripts/detectors/weak_model.py +92 -0
  1140. package/.claude/scripts/env-inventory-check.py +268 -0
  1141. package/.claude/scripts/env-inventory.json +3305 -0
  1142. package/.claude/scripts/extract-skill.py +456 -0
  1143. package/.claude/scripts/fan-plan-parser.py +370 -0
  1144. package/.claude/scripts/find-orphan-sentinels.py +89 -0
  1145. package/.claude/scripts/first-run-wizard.py +1151 -0
  1146. package/.claude/scripts/fixtures/cloned-trading-repo/.env.example +1 -0
  1147. package/.claude/scripts/fixtures/cloned-trading-repo/exchanges/binance.py +3 -0
  1148. package/.claude/scripts/fixtures/cloned-trading-repo/exchanges/coinbase.py +3 -0
  1149. package/.claude/scripts/fixtures/cloned-trading-repo/package.json +5 -0
  1150. package/.claude/scripts/fixtures/cloned-trading-repo/strategies/grid.py +3 -0
  1151. package/.claude/scripts/fixtures/cloned-trading-repo/strategies/pairs.py +3 -0
  1152. package/.claude/scripts/fixtures/missing-package-manifest/README.md +3 -0
  1153. package/.claude/scripts/fixtures/missing-package-manifest/src/main.py +1 -0
  1154. package/.claude/scripts/fixtures/mixed-frontend-backend/package.json +9 -0
  1155. package/.claude/scripts/fixtures/mixed-frontend-backend/requirements.txt +2 -0
  1156. package/.claude/scripts/fixtures/mixed-frontend-backend/src/api/handler.py +2 -0
  1157. package/.claude/scripts/fixtures/mixed-frontend-backend/src/pages/index.tsx +1 -0
  1158. package/.claude/scripts/fixtures/monorepo/apps/app-a/README.md +1 -0
  1159. package/.claude/scripts/fixtures/monorepo/apps/app-b/index.ts +1 -0
  1160. package/.claude/scripts/fixtures/monorepo/package.json +5 -0
  1161. package/.claude/scripts/fixtures/monorepo/packages/lib-a/index.js +1 -0
  1162. package/.claude/scripts/fixtures/monorepo/packages/lib-b/index.js +1 -0
  1163. package/.claude/scripts/fixtures/monorepo/pnpm-workspace.yaml +3 -0
  1164. package/.claude/scripts/fixtures/persona-coverage-expected-thresholds.yaml +20 -0
  1165. package/.claude/scripts/flip-criteria-drift-allowlist.txt +31 -0
  1166. package/.claude/scripts/generate-adr-index.py +339 -0
  1167. package/.claude/scripts/generate-available-models.py +280 -0
  1168. package/.claude/scripts/generate-dispatch.py +430 -0
  1169. package/.claude/scripts/generate-sbom.py +287 -0
  1170. package/.claude/scripts/generate-skill-inventory.sh +193 -0
  1171. package/.claude/scripts/github-api-client.py +297 -0
  1172. package/.claude/scripts/goap-planner.py +742 -0
  1173. package/.claude/scripts/hook-profiler.py +671 -0
  1174. package/.claude/scripts/import-skill.py +569 -0
  1175. package/.claude/scripts/import_ui_ux_pro_max.py +137 -0
  1176. package/.claude/scripts/inject-agent-context.sh +948 -0
  1177. package/.claude/scripts/k-calibration.py +456 -0
  1178. package/.claude/scripts/key-hygiene.py +511 -0
  1179. package/.claude/scripts/lesson-restore.py +171 -0
  1180. package/.claude/scripts/lesson_ranker.py +100 -0
  1181. package/.claude/scripts/lessons.py +883 -0
  1182. package/.claude/scripts/lint-skills.py +555 -0
  1183. package/.claude/scripts/local/README.md +280 -0
  1184. package/.claude/scripts/local/check-doc-skill-paths.sh +124 -0
  1185. package/.claude/scripts/local/dependency-graph.py +684 -0
  1186. package/.claude/scripts/local/estimate-calibrator.py +240 -0
  1187. package/.claude/scripts/local/findings-pretty-print.py +78 -0
  1188. package/.claude/scripts/local/generate-ceremony.sh +558 -0
  1189. package/.claude/scripts/local/pair-rail-gate.sh +156 -0
  1190. package/.claude/scripts/local/release-dry-run.py +853 -0
  1191. package/.claude/scripts/local/tests/test_dependency_graph.py +364 -0
  1192. package/.claude/scripts/local/tests/test_generate_ceremony.sh +144 -0
  1193. package/.claude/scripts/local/tests/test_release_dry_run.py +743 -0
  1194. package/.claude/scripts/local/validate-findings.py +168 -0
  1195. package/.claude/scripts/local/validate-saved-workflows.js +69 -0
  1196. package/.claude/scripts/local/verify-counts.sh +420 -0
  1197. package/.claude/scripts/local/verify-scope-coverage.py +205 -0
  1198. package/.claude/scripts/local/verify-staging-manifest.py +188 -0
  1199. package/.claude/scripts/local/wave-readonly-monitor.py +271 -0
  1200. package/.claude/scripts/log-friction.sh +290 -0
  1201. package/.claude/scripts/mcp/code_nav_bridge.py +259 -0
  1202. package/.claude/scripts/mcp-server/__init__.py +16 -0
  1203. package/.claude/scripts/mcp-server/auth.py +333 -0
  1204. package/.claude/scripts/mcp-server/cost.py +108 -0
  1205. package/.claude/scripts/mcp-server/dispatch.py +853 -0
  1206. package/.claude/scripts/mcp-server/handlers/__init__.py +16 -0
  1207. package/.claude/scripts/mcp-server/handlers/audit_query.py +384 -0
  1208. package/.claude/scripts/mcp-server/handlers/get_audit_log.py +163 -0
  1209. package/.claude/scripts/mcp-server/handlers/get_cost_budget.py +130 -0
  1210. package/.claude/scripts/mcp-server/handlers/get_debate_state.py +207 -0
  1211. package/.claude/scripts/mcp-server/handlers/get_skill.py +199 -0
  1212. package/.claude/scripts/mcp-server/handlers/list_agents.py +236 -0
  1213. package/.claude/scripts/mcp-server/handlers/list_pitfalls.py +192 -0
  1214. package/.claude/scripts/mcp-server/handlers/list_skills.py +197 -0
  1215. package/.claude/scripts/mcp-server/handlers/plan_status.py +489 -0
  1216. package/.claude/scripts/mcp-server/handlers/server_capabilities.py +127 -0
  1217. package/.claude/scripts/mcp-server/handlers/spawn_agent.py +274 -0
  1218. package/.claude/scripts/mcp-server/http_transport.py +373 -0
  1219. package/.claude/scripts/mcp-server/rate_limit.py +345 -0
  1220. package/.claude/scripts/mcp-server/server.py +212 -0
  1221. package/.claude/scripts/mcp-server/start-mcp-server.sh +111 -0
  1222. package/.claude/scripts/mcp-server/stdio_transport.py +150 -0
  1223. package/.claude/scripts/mcp-server/tests/__init__.py +1 -0
  1224. package/.claude/scripts/mcp-server/tests/test_auth.py +454 -0
  1225. package/.claude/scripts/mcp-server/tests/test_cost.py +122 -0
  1226. package/.claude/scripts/mcp-server/tests/test_dispatch.py +448 -0
  1227. package/.claude/scripts/mcp-server/tests/test_dispatch_bearer_replay_wire.py +358 -0
  1228. package/.claude/scripts/mcp-server/tests/test_handlers_get_audit_log.py +107 -0
  1229. package/.claude/scripts/mcp-server/tests/test_handlers_get_skill.py +108 -0
  1230. package/.claude/scripts/mcp-server/tests/test_handlers_list_agents.py +92 -0
  1231. package/.claude/scripts/mcp-server/tests/test_handlers_list_pitfalls.py +103 -0
  1232. package/.claude/scripts/mcp-server/tests/test_handlers_list_skills.py +121 -0
  1233. package/.claude/scripts/mcp-server/tests/test_handlers_server_capabilities.py +128 -0
  1234. package/.claude/scripts/mcp-server/tests/test_handlers_spawn_agent.py +275 -0
  1235. package/.claude/scripts/mcp-server/tests/test_http_transport.py +418 -0
  1236. package/.claude/scripts/mcp-server/tests/test_rate_limit.py +239 -0
  1237. package/.claude/scripts/mcp-server/tests/test_server.py +125 -0
  1238. package/.claude/scripts/mcp-server/tests/test_stdio_transport.py +196 -0
  1239. package/.claude/scripts/mcp-soak-monitor.py +224 -0
  1240. package/.claude/scripts/memory-prioritize.py +516 -0
  1241. package/.claude/scripts/migrate-grandfather-to-sha256.py +384 -0
  1242. package/.claude/scripts/model-deprecations.json +165 -0
  1243. package/.claude/scripts/morning-ceremony.py +266 -0
  1244. package/.claude/scripts/morning_ledger.py +446 -0
  1245. package/.claude/scripts/mutation-floors.yaml +51 -0
  1246. package/.claude/scripts/mutation-test.py +506 -0
  1247. package/.claude/scripts/nightly-proposals.py +210 -0
  1248. package/.claude/scripts/optimizer/__init__.py +46 -0
  1249. package/.claude/scripts/optimizer/_codex_redaction.py +101 -0
  1250. package/.claude/scripts/optimizer/_skeleton.py +137 -0
  1251. package/.claude/scripts/optimizer/codex_phase_gate.py +257 -0
  1252. package/.claude/scripts/optimizer/complexity_gate.py +208 -0
  1253. package/.claude/scripts/optimizer/fanout.py +249 -0
  1254. package/.claude/scripts/optimizer/model_choice.py +151 -0
  1255. package/.claude/scripts/optimizer/model_normalize.py +118 -0
  1256. package/.claude/scripts/optimizer/rag_recommender.py +110 -0
  1257. package/.claude/scripts/optimizer/recommender.py +213 -0
  1258. package/.claude/scripts/optimizer/tests/__init__.py +0 -0
  1259. package/.claude/scripts/optimizer/tests/test_codex_phase_gate.py +314 -0
  1260. package/.claude/scripts/optimizer/tests/test_codex_review_invoked_emission.py +225 -0
  1261. package/.claude/scripts/optimizer/tests/test_optimizer_complexity_gate.py +122 -0
  1262. package/.claude/scripts/optimizer/tests/test_optimizer_fanout.py +134 -0
  1263. package/.claude/scripts/optimizer/tests/test_optimizer_model_choice.py +124 -0
  1264. package/.claude/scripts/optimizer/tests/test_optimizer_model_normalize.py +155 -0
  1265. package/.claude/scripts/optimizer/tests/test_optimizer_rag_recommender.py +190 -0
  1266. package/.claude/scripts/optimizer/tests/test_optimizer_recommender.py +131 -0
  1267. package/.claude/scripts/optimizer/tests/test_optimizer_skeleton.py +117 -0
  1268. package/.claude/scripts/optimizer/tests/test_optimizer_types.py +53 -0
  1269. package/.claude/scripts/optimizer/types.py +122 -0
  1270. package/.claude/scripts/osv_check.py +559 -0
  1271. package/.claude/scripts/otel-export.py +329 -0
  1272. package/.claude/scripts/otel-local-sink.py +470 -0
  1273. package/.claude/scripts/persona_demand_resolver.py +658 -0
  1274. package/.claude/scripts/persona_demand_scan.py +382 -0
  1275. package/.claude/scripts/persona_waive_parser.py +127 -0
  1276. package/.claude/scripts/pitfall-query.py +218 -0
  1277. package/.claude/scripts/plan-tokens.py +843 -0
  1278. package/.claude/scripts/policy-shadow-runner.py +445 -0
  1279. package/.claude/scripts/predict-budget/predict-plan-cost.py +581 -0
  1280. package/.claude/scripts/predict-budget/tests/test_predict_plan_cost.py +375 -0
  1281. package/.claude/scripts/profile-opus-4-7.py +557 -0
  1282. package/.claude/scripts/prune-lessons.py +453 -0
  1283. package/.claude/scripts/rate-card-calibrate.py +283 -0
  1284. package/.claude/scripts/rate-card-fixtures.json +18 -0
  1285. package/.claude/scripts/reality-ledger.py +2175 -0
  1286. package/.claude/scripts/red-team-corpus/.byte-identity-check.txt +86 -0
  1287. package/.claude/scripts/red-team-corpus/README.md +132 -0
  1288. package/.claude/scripts/red-team-corpus/external/EXT-001-prompt-inject.md +24 -0
  1289. package/.claude/scripts/red-team-corpus/external/EXT-002-hackaprompt.md +25 -0
  1290. package/.claude/scripts/red-team-corpus/external/EXT-003-gcg.md +31 -0
  1291. package/.claude/scripts/red-team-corpus/external/EXT-004-tap.md +23 -0
  1292. package/.claude/scripts/red-team-corpus/external/EXT-005-cybersecurity-eval.md +30 -0
  1293. package/.claude/scripts/red-team-corpus/external/EXT-006-anthropic-samples.md +26 -0
  1294. package/.claude/scripts/red-team-corpus/external/EXT-007-trojan-source.md +26 -0
  1295. package/.claude/scripts/red-team-corpus/external/EXT-008-owasp-llm-top10.md +33 -0
  1296. package/.claude/scripts/red-team-corpus/external/EXT-009-jailbreak-bench.md +24 -0
  1297. package/.claude/scripts/red-team-corpus/external/EXT-010-advbench.md +22 -0
  1298. package/.claude/scripts/red-team-corpus/external/EXT-011-mitre-atlas.md +25 -0
  1299. package/.claude/scripts/red-team-corpus/external/EXT-012-npm-typosquat.md +23 -0
  1300. package/.claude/scripts/red-team-corpus/external/EXT-013-log-tamper-poc.md +25 -0
  1301. package/.claude/scripts/red-team-corpus/external/EXT-014-cwe-798-credentials.md +24 -0
  1302. package/.claude/scripts/red-team-corpus/external/EXT-015-garak.md +28 -0
  1303. package/.claude/scripts/red-team-corpus/external/EXT-016-skill-content-injection-via-markdown.jsonl +1 -0
  1304. package/.claude/scripts/red-team-corpus/external/EXT-017-persona-impersonation-ceo.jsonl +1 -0
  1305. package/.claude/scripts/red-team-corpus/external/EXT-018-file-assignment-wildcard-escape.jsonl +1 -0
  1306. package/.claude/scripts/red-team-corpus/external/EXT-019-veto-bypass-force-proceed.jsonl +1 -0
  1307. package/.claude/scripts/red-team-corpus/external/EXT-020-canonical-edit-circumvent-settings.jsonl +1 -0
  1308. package/.claude/scripts/red-team-corpus/external/EXT-021-spawn-without-agent-profile.jsonl +1 -0
  1309. package/.claude/scripts/red-team-corpus/external/EXT-022-hidden-unicode-in-skill-name.jsonl +1 -0
  1310. package/.claude/scripts/red-team-corpus/external/EXT-023-mcp-spawn-governance-bypass.jsonl +1 -0
  1311. package/.claude/scripts/red-team-corpus/external/EXT-024-adapter-credential-in-error-trace.jsonl +1 -0
  1312. package/.claude/scripts/red-team-corpus/external/EXT-025-sandbox-escape-nested-subshell.jsonl +1 -0
  1313. package/.claude/scripts/red-team-corpus/external/EXT-026-plan-edit-without-debate.jsonl +1 -0
  1314. package/.claude/scripts/red-team-corpus/external/EXT-027-audit-log-rotation-race.jsonl +1 -0
  1315. package/.claude/scripts/red-team-corpus/external/EXT-028-npm-dependency-confusion.jsonl +1 -0
  1316. package/.claude/scripts/red-team-corpus/external/EXT-029-output-safety-unicode-confusable.jsonl +1 -0
  1317. package/.claude/scripts/red-team-corpus/external/EXT-030-adapter-retry-storm-dos.jsonl +1 -0
  1318. package/.claude/scripts/red-team-corpus/external/EXT-031-team-md-direct-edit.jsonl +1 -0
  1319. package/.claude/scripts/red-team-corpus/external/EXT-032-sandbox-env-var-exfil.jsonl +1 -0
  1320. package/.claude/scripts/red-team-corpus/external/EXT-033-mcp-rate-limit-bypass-headers.jsonl +1 -0
  1321. package/.claude/scripts/red-team-corpus/external/EXT-034-otel-span-attribute-leak.jsonl +1 -0
  1322. package/.claude/scripts/red-team-corpus/external/EXT-035-skill-patch-polyglot-payload.jsonl +1 -0
  1323. package/.claude/scripts/red-team-corpus/external/EXT-036-output-safety-base64-triple-wrap.jsonl +1 -0
  1324. package/.claude/scripts/red-team-corpus/external/EXT-037-plan-id-cross-plan-memory-read.jsonl +1 -0
  1325. package/.claude/scripts/red-team-corpus/external/EXT-038-npm-slsa-provenance-strip.jsonl +1 -0
  1326. package/.claude/scripts/red-team-corpus/external/EXT-039-adapter-exfil-streaming-chunk.jsonl +1 -0
  1327. package/.claude/scripts/red-team-corpus/external/EXT-040-sandbox-symlink-to-secrets.jsonl +1 -0
  1328. package/.claude/scripts/red-team-corpus/external/README.md +63 -0
  1329. package/.claude/scripts/red-team-corpus/flake-budget.yaml +244 -0
  1330. package/.claude/scripts/red-team-corpus/provenance.md +74 -0
  1331. package/.claude/scripts/red-team-corpus/regression/REG-001-s3-audit-emission-gap.jsonl +1 -0
  1332. package/.claude/scripts/red-team-corpus/regression/REG-002-audit-registry-miss.jsonl +1 -0
  1333. package/.claude/scripts/red-team-corpus/regression/REG-003-breaker-provider-kwarg-missing.jsonl +1 -0
  1334. package/.claude/scripts/red-team-corpus/regression/REG-004-canonical-edit-conftest-block.jsonl +1 -0
  1335. package/.claude/scripts/red-team-corpus/regression/REG-005-mcp-dispatch-oversized-handler.jsonl +1 -0
  1336. package/.claude/scripts/red-team-corpus/regression/REG-006-audit-registry-false-orphan.jsonl +1 -0
  1337. package/.claude/scripts/red-team-corpus/regression/REG-007-spec-count-undercount.jsonl +1 -0
  1338. package/.claude/scripts/red-team-corpus/regression/REG-008-adr-reserved-slot-phantom.jsonl +1 -0
  1339. package/.claude/scripts/red-team-corpus/regression/REG-009-tlc-pending-placeholder.jsonl +1 -0
  1340. package/.claude/scripts/red-team-corpus/regression/REG-010-mutation-kill-rate-fake.jsonl +1 -0
  1341. package/.claude/scripts/red-team-corpus/regression/REG-011-byte-identity-governance-persona.jsonl +1 -0
  1342. package/.claude/scripts/red-team-corpus/regression/REG-012-conformance-mapping-partial-path.jsonl +1 -0
  1343. package/.claude/scripts/red-team-corpus/regression/REG-013-l1-fairness-lazy-fire.jsonl +1 -0
  1344. package/.claude/scripts/red-team-corpus/regression/REG-014-mcp-path-traversal-skill.jsonl +1 -0
  1345. package/.claude/scripts/red-team-corpus/regression/REG-015-mcp-hmac-timestamp-skew.jsonl +1 -0
  1346. package/.claude/scripts/red-team-corpus/synthetic/SYN-001-skill-patch-bidi-trojan.jsonl +1 -0
  1347. package/.claude/scripts/red-team-corpus/synthetic/SYN-002-skill-patch-zero-width-smuggle.jsonl +1 -0
  1348. package/.claude/scripts/red-team-corpus/synthetic/SYN-003-skill-patch-exec-smuggled-fence.jsonl +1 -0
  1349. package/.claude/scripts/red-team-corpus/synthetic/SYN-004-skill-patch-oversized-diff.jsonl +1 -0
  1350. package/.claude/scripts/red-team-corpus/synthetic/SYN-005-audit-log-byte-rewrite.jsonl +1 -0
  1351. package/.claude/scripts/red-team-corpus/synthetic/SYN-006-audit-log-truncation.jsonl +1 -0
  1352. package/.claude/scripts/red-team-corpus/synthetic/SYN-007-audit-log-lock-race.jsonl +1 -0
  1353. package/.claude/scripts/red-team-corpus/synthetic/SYN-008-plan-id-env-spoof.jsonl +1 -0
  1354. package/.claude/scripts/red-team-corpus/synthetic/SYN-009-plan-id-frontmatter-hijack.jsonl +1 -0
  1355. package/.claude/scripts/red-team-corpus/synthetic/SYN-010-plan-id-cross-plan-read.jsonl +1 -0
  1356. package/.claude/scripts/red-team-corpus/synthetic/SYN-011-sandbox-escape-curl-exfil.jsonl +1 -0
  1357. package/.claude/scripts/red-team-corpus/synthetic/SYN-012-sandbox-escape-env-dump.jsonl +1 -0
  1358. package/.claude/scripts/red-team-corpus/synthetic/SYN-013-sandbox-escape-symlink-plant.jsonl +1 -0
  1359. package/.claude/scripts/red-team-corpus/synthetic/SYN-014-mcp-handler-governance-bypass.jsonl +1 -0
  1360. package/.claude/scripts/red-team-corpus/synthetic/SYN-015-mcp-handler-acl-enumeration.jsonl +1 -0
  1361. package/.claude/scripts/red-team-corpus/synthetic/SYN-016-mcp-handler-rate-limit-evasion.jsonl +1 -0
  1362. package/.claude/scripts/red-team-corpus/synthetic/SYN-017-adapter-exfil-via-error-message.jsonl +1 -0
  1363. package/.claude/scripts/red-team-corpus/synthetic/SYN-018-adapter-exfil-otel-attr.jsonl +1 -0
  1364. package/.claude/scripts/red-team-corpus/synthetic/SYN-019-adapter-exfil-retry-replay.jsonl +1 -0
  1365. package/.claude/scripts/red-team-corpus/synthetic/SYN-020-output-safety-nfkc-bypass.jsonl +1 -0
  1366. package/.claude/scripts/red-team-corpus/synthetic/SYN-021-output-safety-base64-double-wrap.jsonl +1 -0
  1367. package/.claude/scripts/red-team-corpus/synthetic/SYN-022-output-safety-entropy-below-threshold.jsonl +1 -0
  1368. package/.claude/scripts/red-team-corpus/synthetic/SYN-023-output-safety-regex-obfuscation.jsonl +1 -0
  1369. package/.claude/scripts/red-team-corpus/synthetic/SYN-024-output-safety-luhn-partial.jsonl +1 -0
  1370. package/.claude/scripts/red-team-corpus/synthetic/SYN-025-npm-tamper-supply-chain.jsonl +1 -0
  1371. package/.claude/scripts/red-team-corpus/synthetic/SYN-026-npm-tamper-typo-squat.jsonl +1 -0
  1372. package/.claude/scripts/red-team-corpus/synthetic/SYN-027-npm-tamper-unsigned-slsa.jsonl +1 -0
  1373. package/.claude/scripts/red-team-corpus/v1/fixtures.jsonl +67 -0
  1374. package/.claude/scripts/red-team-corpus/v1/fixtures.jsonl.sha256 +1 -0
  1375. package/.claude/scripts/red-team-corpus/v1/labels.json +88 -0
  1376. package/.claude/scripts/red-team-eval.py +1099 -0
  1377. package/.claude/scripts/registry.py +438 -0
  1378. package/.claude/scripts/replay/__init__.py +0 -0
  1379. package/.claude/scripts/replay/replay-session.py +1232 -0
  1380. package/.claude/scripts/replay/tests/__init__.py +0 -0
  1381. package/.claude/scripts/replay/tests/fixtures/api-key-01-positive.jsonl +1 -0
  1382. package/.claude/scripts/replay/tests/fixtures/api-key-02-positive.jsonl +1 -0
  1383. package/.claude/scripts/replay/tests/fixtures/api-key-03-positive.jsonl +1 -0
  1384. package/.claude/scripts/replay/tests/fixtures/api-key-04-positive.jsonl +1 -0
  1385. package/.claude/scripts/replay/tests/fixtures/api-key-05-negative.jsonl +1 -0
  1386. package/.claude/scripts/replay/tests/fixtures/api-key-06-negative.jsonl +1 -0
  1387. package/.claude/scripts/replay/tests/fixtures/api-key-07-negative.jsonl +1 -0
  1388. package/.claude/scripts/replay/tests/fixtures/api-key-08-negative.jsonl +1 -0
  1389. package/.claude/scripts/replay/tests/fixtures/cpf-cnpj-01-positive.jsonl +1 -0
  1390. package/.claude/scripts/replay/tests/fixtures/cpf-cnpj-02-positive.jsonl +1 -0
  1391. package/.claude/scripts/replay/tests/fixtures/cpf-cnpj-03-positive.jsonl +1 -0
  1392. package/.claude/scripts/replay/tests/fixtures/cpf-cnpj-04-positive.jsonl +1 -0
  1393. package/.claude/scripts/replay/tests/fixtures/cpf-cnpj-05-negative.jsonl +1 -0
  1394. package/.claude/scripts/replay/tests/fixtures/cpf-cnpj-06-negative.jsonl +1 -0
  1395. package/.claude/scripts/replay/tests/fixtures/cpf-cnpj-07-negative.jsonl +1 -0
  1396. package/.claude/scripts/replay/tests/fixtures/cpf-cnpj-08-negative.jsonl +1 -0
  1397. package/.claude/scripts/replay/tests/fixtures/email-in-log-01-positive.jsonl +1 -0
  1398. package/.claude/scripts/replay/tests/fixtures/email-in-log-02-positive.jsonl +1 -0
  1399. package/.claude/scripts/replay/tests/fixtures/email-in-log-03-positive.jsonl +1 -0
  1400. package/.claude/scripts/replay/tests/fixtures/email-in-log-04-positive.jsonl +1 -0
  1401. package/.claude/scripts/replay/tests/fixtures/email-in-log-05-negative.jsonl +1 -0
  1402. package/.claude/scripts/replay/tests/fixtures/email-in-log-06-negative.jsonl +1 -0
  1403. package/.claude/scripts/replay/tests/fixtures/email-in-log-07-negative.jsonl +1 -0
  1404. package/.claude/scripts/replay/tests/fixtures/email-in-log-08-negative.jsonl +1 -0
  1405. package/.claude/scripts/replay/tests/fixtures/homoglyph-01-positive.jsonl +1 -0
  1406. package/.claude/scripts/replay/tests/fixtures/homoglyph-02-positive.jsonl +1 -0
  1407. package/.claude/scripts/replay/tests/fixtures/homoglyph-03-positive.jsonl +1 -0
  1408. package/.claude/scripts/replay/tests/fixtures/homoglyph-04-positive.jsonl +1 -0
  1409. package/.claude/scripts/replay/tests/fixtures/homoglyph-05-negative.jsonl +1 -0
  1410. package/.claude/scripts/replay/tests/fixtures/homoglyph-06-negative.jsonl +1 -0
  1411. package/.claude/scripts/replay/tests/fixtures/homoglyph-07-negative.jsonl +1 -0
  1412. package/.claude/scripts/replay/tests/fixtures/homoglyph-08-negative.jsonl +1 -0
  1413. package/.claude/scripts/replay/tests/fixtures/jwt-01-positive.jsonl +1 -0
  1414. package/.claude/scripts/replay/tests/fixtures/jwt-02-positive.jsonl +1 -0
  1415. package/.claude/scripts/replay/tests/fixtures/jwt-03-positive.jsonl +1 -0
  1416. package/.claude/scripts/replay/tests/fixtures/jwt-04-positive.jsonl +1 -0
  1417. package/.claude/scripts/replay/tests/fixtures/jwt-05-negative.jsonl +1 -0
  1418. package/.claude/scripts/replay/tests/fixtures/jwt-06-negative.jsonl +1 -0
  1419. package/.claude/scripts/replay/tests/fixtures/jwt-07-negative.jsonl +1 -0
  1420. package/.claude/scripts/replay/tests/fixtures/jwt-08-negative.jsonl +1 -0
  1421. package/.claude/scripts/replay/tests/fixtures/os-path-01-positive.jsonl +1 -0
  1422. package/.claude/scripts/replay/tests/fixtures/os-path-02-positive.jsonl +1 -0
  1423. package/.claude/scripts/replay/tests/fixtures/os-path-03-positive.jsonl +1 -0
  1424. package/.claude/scripts/replay/tests/fixtures/os-path-04-positive.jsonl +1 -0
  1425. package/.claude/scripts/replay/tests/fixtures/os-path-05-negative.jsonl +1 -0
  1426. package/.claude/scripts/replay/tests/fixtures/os-path-06-negative.jsonl +1 -0
  1427. package/.claude/scripts/replay/tests/fixtures/os-path-07-negative.jsonl +1 -0
  1428. package/.claude/scripts/replay/tests/fixtures/os-path-08-negative.jsonl +1 -0
  1429. package/.claude/scripts/replay/tests/fixtures/pan-01-positive.jsonl +1 -0
  1430. package/.claude/scripts/replay/tests/fixtures/pan-02-positive.jsonl +1 -0
  1431. package/.claude/scripts/replay/tests/fixtures/pan-03-positive.jsonl +1 -0
  1432. package/.claude/scripts/replay/tests/fixtures/pan-04-positive.jsonl +1 -0
  1433. package/.claude/scripts/replay/tests/fixtures/pan-05-negative.jsonl +1 -0
  1434. package/.claude/scripts/replay/tests/fixtures/pan-06-negative.jsonl +1 -0
  1435. package/.claude/scripts/replay/tests/fixtures/pan-07-negative.jsonl +1 -0
  1436. package/.claude/scripts/replay/tests/fixtures/pan-08-negative.jsonl +1 -0
  1437. package/.claude/scripts/replay/tests/test_replay_redact_lib.py +971 -0
  1438. package/.claude/scripts/replay/tests/test_replay_session.py +396 -0
  1439. package/.claude/scripts/replay/tests/test_replay_session_capture.py +522 -0
  1440. package/.claude/scripts/repo-profile.schema.json +83 -0
  1441. package/.claude/scripts/run-promotion-gate.py +631 -0
  1442. package/.claude/scripts/run-skill-benchmark.py +1276 -0
  1443. package/.claude/scripts/scan-injection-strict.sh +162 -0
  1444. package/.claude/scripts/scan-injection.py +305 -0
  1445. package/.claude/scripts/scan-upstream-injection.py +663 -0
  1446. package/.claude/scripts/scratchpad.py +427 -0
  1447. package/.claude/scripts/self_test.py +602 -0
  1448. package/.claude/scripts/session-graph-build.py +728 -0
  1449. package/.claude/scripts/session-resume.py +363 -0
  1450. package/.claude/scripts/set-quality-profile.sh +229 -0
  1451. package/.claude/scripts/skill-budget-generator.py +599 -0
  1452. package/.claude/scripts/skill-import-rubric.py +368 -0
  1453. package/.claude/scripts/skill-index-build.py +534 -0
  1454. package/.claude/scripts/skill-patch-apply.py +1088 -0
  1455. package/.claude/scripts/skill-patch-propose.py +690 -0
  1456. package/.claude/scripts/skill-retrieve.py +522 -0
  1457. package/.claude/scripts/skill_grandfather_parser.py +295 -0
  1458. package/.claude/scripts/smart-loading-resolver.py +994 -0
  1459. package/.claude/scripts/spot-check-findings.py +211 -0
  1460. package/.claude/scripts/squad-export.py +437 -0
  1461. package/.claude/scripts/squad-import.py +741 -0
  1462. package/.claude/scripts/status.py +315 -0
  1463. package/.claude/scripts/statusline-ceo.py +597 -0
  1464. package/.claude/scripts/substrate-watch.json +54 -0
  1465. package/.claude/scripts/success-receipt.py +1038 -0
  1466. package/.claude/scripts/swarm/__init__.py +42 -0
  1467. package/.claude/scripts/swarm/_benchmark_replay.py +259 -0
  1468. package/.claude/scripts/swarm/_child_isolation.py +113 -0
  1469. package/.claude/scripts/swarm/_coordinator_sim.py +293 -0
  1470. package/.claude/scripts/swarm/_governors.py +277 -0
  1471. package/.claude/scripts/swarm/_integration.py +547 -0
  1472. package/.claude/scripts/swarm/_parent_death.py +176 -0
  1473. package/.claude/scripts/swarm/_process_group.py +250 -0
  1474. package/.claude/scripts/swarm/_replay_tournament.py +214 -0
  1475. package/.claude/scripts/swarm/_spawn_gate.py +292 -0
  1476. package/.claude/scripts/swarm/_subagent_fabrication.py +444 -0
  1477. package/.claude/scripts/swarm/_worktree_pool.py +276 -0
  1478. package/.claude/scripts/swarm/coordinator.py +543 -0
  1479. package/.claude/scripts/swarm/file_assignment.py +111 -0
  1480. package/.claude/scripts/swarm/fixtures/mcp_corpus.json +111 -0
  1481. package/.claude/scripts/swarm/kill_switch.py +260 -0
  1482. package/.claude/scripts/swarm/loop_runner.py +486 -0
  1483. package/.claude/scripts/swarm/recovery.py +178 -0
  1484. package/.claude/scripts/swarm/test_mcp_injection_repro.py +518 -0
  1485. package/.claude/scripts/swarm/test_rail_anomaly_repro.py +586 -0
  1486. package/.claude/scripts/swarm/tests/__init__.py +1 -0
  1487. package/.claude/scripts/swarm/tests/test_benchmark_manifest_schema.py +227 -0
  1488. package/.claude/scripts/swarm/tests/test_benchmark_replay.py +248 -0
  1489. package/.claude/scripts/swarm/tests/test_child_isolation.py +138 -0
  1490. package/.claude/scripts/swarm/tests/test_coordinator.py +289 -0
  1491. package/.claude/scripts/swarm/tests/test_coordinator_production_integration.py +434 -0
  1492. package/.claude/scripts/swarm/tests/test_coordinator_sim.py +192 -0
  1493. package/.claude/scripts/swarm/tests/test_coordinator_tick.py +165 -0
  1494. package/.claude/scripts/swarm/tests/test_file_assignment.py +100 -0
  1495. package/.claude/scripts/swarm/tests/test_governors.py +269 -0
  1496. package/.claude/scripts/swarm/tests/test_integration.py +344 -0
  1497. package/.claude/scripts/swarm/tests/test_kill_switch.py +307 -0
  1498. package/.claude/scripts/swarm/tests/test_loop_runner.py +168 -0
  1499. package/.claude/scripts/swarm/tests/test_loop_runner_circuit_breaker.py +555 -0
  1500. package/.claude/scripts/swarm/tests/test_loop_runner_gate_enforcement.py +304 -0
  1501. package/.claude/scripts/swarm/tests/test_loop_runner_gate_kill_switch.py +147 -0
  1502. package/.claude/scripts/swarm/tests/test_loop_runner_sentinel_revocation_slo.py +112 -0
  1503. package/.claude/scripts/swarm/tests/test_optimizer_killswitch.py +205 -0
  1504. package/.claude/scripts/swarm/tests/test_parent_death.py +128 -0
  1505. package/.claude/scripts/swarm/tests/test_parent_death_integration.py +305 -0
  1506. package/.claude/scripts/swarm/tests/test_process_group.py +132 -0
  1507. package/.claude/scripts/swarm/tests/test_process_group_reap.py +212 -0
  1508. package/.claude/scripts/swarm/tests/test_rail_anomaly_repro.py +516 -0
  1509. package/.claude/scripts/swarm/tests/test_recovery.py +165 -0
  1510. package/.claude/scripts/swarm/tests/test_replay_tournament.py +284 -0
  1511. package/.claude/scripts/swarm/tests/test_spawn_gate.py +265 -0
  1512. package/.claude/scripts/swarm/tests/test_subagent_fabrication.py +824 -0
  1513. package/.claude/scripts/swarm/tests/test_swarm_activation_smoke.py +112 -0
  1514. package/.claude/scripts/swarm/tests/test_tournament.py +195 -0
  1515. package/.claude/scripts/swarm/tests/test_worktree_pool.py +252 -0
  1516. package/.claude/scripts/swarm/tournament.py +261 -0
  1517. package/.claude/scripts/task-route.py +807 -0
  1518. package/.claude/scripts/test-env-hygiene-allowlist.yaml +1093 -0
  1519. package/.claude/scripts/tests/DEFERRED.md +99 -0
  1520. package/.claude/scripts/tests/conftest.py +42 -0
  1521. package/.claude/scripts/tests/fixtures/aggregate-changesets/bad-type.md +4 -0
  1522. package/.claude/scripts/tests/fixtures/aggregate-changesets/missing-frontmatter.md +1 -0
  1523. package/.claude/scripts/tests/fixtures/aggregate-changesets/multidoc.md +6 -0
  1524. package/.claude/scripts/tests/fixtures/aggregate-changesets/sample-CHANGELOG.md +29 -0
  1525. package/.claude/scripts/tests/fixtures/aggregate-changesets/second-minor.md +4 -0
  1526. package/.claude/scripts/tests/fixtures/aggregate-changesets/single-patch.md +4 -0
  1527. package/.claude/scripts/tests/fixtures/aggregate-changesets/third-major.md +4 -0
  1528. package/.claude/scripts/tests/fixtures/aggregate-changesets/unknown-key.md +6 -0
  1529. package/.claude/scripts/tests/fixtures/bad_lessons/bidi_override.md +12 -0
  1530. package/.claude/scripts/tests/fixtures/bad_lessons/fenced_python.md +19 -0
  1531. package/.claude/scripts/tests/fixtures/bad_lessons/homoglyph.md +11 -0
  1532. package/.claude/scripts/tests/fixtures/bad_lessons/injection.md +11 -0
  1533. package/.claude/scripts/tests/fixtures/bad_lessons/long_line.md +9 -0
  1534. package/.claude/scripts/tests/fixtures/bad_lessons/oversized.md +261 -0
  1535. package/.claude/scripts/tests/fixtures/bad_lessons/zero_width.md +11 -0
  1536. package/.claude/scripts/tests/fixtures/budget_summary/generate_fixtures.py +368 -0
  1537. package/.claude/scripts/tests/fixtures/claims/README.md +21 -0
  1538. package/.claude/scripts/tests/fixtures/claims/function_exists/neg-missing.txt +1 -0
  1539. package/.claude/scripts/tests/fixtures/claims/function_exists/neg-no-file.txt +1 -0
  1540. package/.claude/scripts/tests/fixtures/claims/function_exists/pos-extract.txt +1 -0
  1541. package/.claude/scripts/tests/fixtures/claims/function_exists/pos-main.txt +1 -0
  1542. package/.claude/scripts/tests/fixtures/claims/function_exists/pos-verify.txt +1 -0
  1543. package/.claude/scripts/tests/fixtures/claims/function_exists/quoted-colon-path.txt +1 -0
  1544. package/.claude/scripts/tests/fixtures/claims/import_resolves/codeblock-skipped.txt +8 -0
  1545. package/.claude/scripts/tests/fixtures/claims/import_resolves/neg-blocked-os.txt +6 -0
  1546. package/.claude/scripts/tests/fixtures/claims/import_resolves/neg-relative.txt +5 -0
  1547. package/.claude/scripts/tests/fixtures/claims/import_resolves/pos-dotted.txt +6 -0
  1548. package/.claude/scripts/tests/fixtures/claims/import_resolves/pos-stdlib-like.txt +5 -0
  1549. package/.claude/scripts/tests/fixtures/claims/line_range/neg-missing-file.txt +1 -0
  1550. package/.claude/scripts/tests/fixtures/claims/line_range/neg-too-long.txt +1 -0
  1551. package/.claude/scripts/tests/fixtures/claims/line_range/pos-large.txt +1 -0
  1552. package/.claude/scripts/tests/fixtures/claims/line_range/pos-small.txt +1 -0
  1553. package/.claude/scripts/tests/fixtures/claims/line_range/quoted-path.txt +1 -0
  1554. package/.claude/scripts/tests/fixtures/claims/path_exists/codeblock-skipped.txt +7 -0
  1555. package/.claude/scripts/tests/fixtures/claims/path_exists/neg-absolute-outside.txt +6 -0
  1556. package/.claude/scripts/tests/fixtures/claims/path_exists/neg-dotdot-escape.txt +7 -0
  1557. package/.claude/scripts/tests/fixtures/claims/path_exists/neg-imaginary.txt +1 -0
  1558. package/.claude/scripts/tests/fixtures/claims/path_exists/neg-proc-self.txt +6 -0
  1559. package/.claude/scripts/tests/fixtures/claims/path_exists/neg-symlink-escape.txt +8 -0
  1560. package/.claude/scripts/tests/fixtures/claims/path_exists/neg-typo.txt +1 -0
  1561. package/.claude/scripts/tests/fixtures/claims/path_exists/pos-claude.txt +1 -0
  1562. package/.claude/scripts/tests/fixtures/claims/path_exists/pos-readme.txt +1 -0
  1563. package/.claude/scripts/tests/fixtures/claims/path_exists/pos-self.txt +1 -0
  1564. package/.claude/scripts/tests/fixtures/claims/sha_exists/neg-fake.txt +1 -0
  1565. package/.claude/scripts/tests/fixtures/claims/sha_exists/neg-not-sha.txt +1 -0
  1566. package/.claude/scripts/tests/fixtures/claims/sha_exists/pos-head.txt +4 -0
  1567. package/.claude/scripts/tests/fixtures/claims/sha_exists/pos-root.txt +1 -0
  1568. package/.claude/scripts/tests/fixtures/claims/sha_exists/pos-short.txt +1 -0
  1569. package/.claude/scripts/tests/fixtures/claims/test_passes/neg-missing-file.txt +1 -0
  1570. package/.claude/scripts/tests/fixtures/claims/test_passes/neg-wrong-test.txt +1 -0
  1571. package/.claude/scripts/tests/fixtures/claims/test_passes/pos-audit-emit.txt +1 -0
  1572. package/.claude/scripts/tests/fixtures/claims/test_passes/pos-extra.txt +1 -0
  1573. package/.claude/scripts/tests/fixtures/claims/test_passes/pos-file.txt +1 -0
  1574. package/.claude/scripts/tests/fixtures/claims/test_passes/quoted-pytest-selector.txt +1 -0
  1575. package/.claude/scripts/tests/fixtures/debate_convergence/converged-pair-1/round-1/a.md +39 -0
  1576. package/.claude/scripts/tests/fixtures/debate_convergence/converged-pair-1/round-1/b.md +36 -0
  1577. package/.claude/scripts/tests/fixtures/debate_convergence/converged-pair-1/round-2/a.md +36 -0
  1578. package/.claude/scripts/tests/fixtures/debate_convergence/converged-pair-1/round-2/b.md +36 -0
  1579. package/.claude/scripts/tests/fixtures/debate_convergence/not-converged-pair-1/round-1/a.md +35 -0
  1580. package/.claude/scripts/tests/fixtures/debate_convergence/not-converged-pair-1/round-1/b.md +34 -0
  1581. package/.claude/scripts/tests/fixtures/debate_convergence/not-converged-pair-1/round-2/a.md +35 -0
  1582. package/.claude/scripts/tests/fixtures/debate_convergence/not-converged-pair-1/round-2/b.md +34 -0
  1583. package/.claude/scripts/tests/fixtures/debate_convergence/partial-overlap/round-1/a.md +35 -0
  1584. package/.claude/scripts/tests/fixtures/debate_convergence/partial-overlap/round-2/a.md +36 -0
  1585. package/.claude/scripts/tests/fixtures/debate_convergence/with-secret/round-1/a.md +36 -0
  1586. package/.claude/scripts/tests/fixtures/debate_convergence/with-secret/round-1/b.md +33 -0
  1587. package/.claude/scripts/tests/fixtures/debate_convergence/with-secret/round-2/a.md +34 -0
  1588. package/.claude/scripts/tests/fixtures/docs_freshness/link_anchor_only.md +10 -0
  1589. package/.claude/scripts/tests/fixtures/docs_freshness/link_broken.md +5 -0
  1590. package/.claude/scripts/tests/fixtures/docs_freshness/link_external_url.md +9 -0
  1591. package/.claude/scripts/tests/fixtures/docs_freshness/link_in_fenced_code.md +18 -0
  1592. package/.claude/scripts/tests/fixtures/docs_freshness/link_in_frontmatter.md +10 -0
  1593. package/.claude/scripts/tests/fixtures/docs_freshness/link_in_html_comment.md +10 -0
  1594. package/.claude/scripts/tests/fixtures/docs_freshness/link_in_inline_code.md +7 -0
  1595. package/.claude/scripts/tests/fixtures/docs_freshness/link_in_table.md +6 -0
  1596. package/.claude/scripts/tests/fixtures/docs_freshness/link_relative_parent.md +7 -0
  1597. package/.claude/scripts/tests/fixtures/docs_freshness/link_url_encoded.md +5 -0
  1598. package/.claude/scripts/tests/fixtures/docs_freshness/real_target.md +3 -0
  1599. package/.claude/scripts/tests/fixtures/docs_freshness/sub/dir.md +3 -0
  1600. package/.claude/scripts/tests/fixtures/docs_freshness/with%20space.md +3 -0
  1601. package/.claude/scripts/tests/fixtures/good_lessons/clean_auth.md +11 -0
  1602. package/.claude/scripts/tests/fixtures/good_lessons/clean_logging.md +11 -0
  1603. package/.claude/scripts/tests/fixtures/good_lessons/clean_retry.md +11 -0
  1604. package/.claude/scripts/tests/fixtures/gpg-keyring-fixture.py +209 -0
  1605. package/.claude/scripts/tests/fixtures/injection/benign-01.txt +8 -0
  1606. package/.claude/scripts/tests/fixtures/injection/benign-02.txt +5 -0
  1607. package/.claude/scripts/tests/fixtures/injection/benign-03.txt +7 -0
  1608. package/.claude/scripts/tests/fixtures/injection/benign-04.txt +9 -0
  1609. package/.claude/scripts/tests/fixtures/injection/benign-05.txt +7 -0
  1610. package/.claude/scripts/tests/fixtures/injection/benign-06.txt +7 -0
  1611. package/.claude/scripts/tests/fixtures/injection/benign-07.txt +11 -0
  1612. package/.claude/scripts/tests/fixtures/injection/benign-08.txt +4 -0
  1613. package/.claude/scripts/tests/fixtures/injection/malicious-01.txt +4 -0
  1614. package/.claude/scripts/tests/fixtures/injection/malicious-02.txt +2 -0
  1615. package/.claude/scripts/tests/fixtures/injection/malicious-03.txt +4 -0
  1616. package/.claude/scripts/tests/fixtures/injection/malicious-04.txt +2 -0
  1617. package/.claude/scripts/tests/fixtures/injection/malicious-05.txt +2 -0
  1618. package/.claude/scripts/tests/fixtures/injection/malicious-06.txt +5 -0
  1619. package/.claude/scripts/tests/fixtures/injection/malicious-07.txt +5 -0
  1620. package/.claude/scripts/tests/fixtures/injection/malicious-08.txt +2 -0
  1621. package/.claude/scripts/tests/fixtures/injection/malicious-09.txt +3 -0
  1622. package/.claude/scripts/tests/fixtures/injection/malicious-10.txt +2 -0
  1623. package/.claude/scripts/tests/fixtures/injection/malicious-11.txt +3 -0
  1624. package/.claude/scripts/tests/fixtures/injection/malicious-12.txt +5 -0
  1625. package/.claude/scripts/tests/fixtures/plan-tokens-calibration/manifest.json +49 -0
  1626. package/.claude/scripts/tests/fixtures/plan-tokens-calibration/plan-051.md +36 -0
  1627. package/.claude/scripts/tests/fixtures/plan-tokens-calibration/plan-052.md +32 -0
  1628. package/.claude/scripts/tests/fixtures/plan-tokens-calibration/plan-058.md +31 -0
  1629. package/.claude/scripts/tests/fixtures/reality-ledger/detector-1-boundary/docs/SAMPLE.md +8 -0
  1630. package/.claude/scripts/tests/fixtures/reality-ledger/detector-1-negative/.claude/scripts/sample.py +12 -0
  1631. package/.claude/scripts/tests/fixtures/reality-ledger/detector-1-negative/docs/SAMPLE.md +4 -0
  1632. package/.claude/scripts/tests/fixtures/reality-ledger/detector-1-positive/.claude/scripts/sample.py +12 -0
  1633. package/.claude/scripts/tests/fixtures/reality-ledger/detector-1-positive/docs/SAMPLE.md +9 -0
  1634. package/.claude/scripts/tests/fixtures/reality-ledger/detector-2-boundary/README.md +4 -0
  1635. package/.claude/scripts/tests/fixtures/reality-ledger/detector-2-negative/.claude/rag/requirements.lock +4 -0
  1636. package/.claude/scripts/tests/fixtures/reality-ledger/detector-2-positive/.claude/rag/requirements.lock +2 -0
  1637. package/.claude/scripts/tests/fixtures/reality-ledger/detector-3-boundary/.claude/agents/devops.md +8 -0
  1638. package/.claude/scripts/tests/fixtures/reality-ledger/detector-3-negative/.claude/agents/devops.md +5 -0
  1639. package/.claude/scripts/tests/fixtures/reality-ledger/detector-3-negative/audit-log.jsonl +2 -0
  1640. package/.claude/scripts/tests/fixtures/reality-ledger/detector-3-positive/.claude/agents/devops.md +7 -0
  1641. package/.claude/scripts/tests/fixtures/reality-ledger/detector-3-positive/audit-log.jsonl +4 -0
  1642. package/.claude/scripts/tests/fixtures/reality-ledger/detector-4-boundary/.claude/adr/ADR-997-fixture-superseded.md +8 -0
  1643. package/.claude/scripts/tests/fixtures/reality-ledger/detector-4-negative/.claude/adr/ADR-998-fixture-negative.md +16 -0
  1644. package/.claude/scripts/tests/fixtures/reality-ledger/detector-4-positive/.claude/adr/ADR-999-fixture-positive.md +15 -0
  1645. package/.claude/scripts/tests/fixtures/reality-ledger/detector-6-boundary/.claude/hooks/_lib/.do-not-import-from-here +15 -0
  1646. package/.claude/scripts/tests/fixtures/reality-ledger/detector-6-boundary/.claude/hooks/_lib/audit_emit.py +8 -0
  1647. package/.claude/scripts/tests/fixtures/reality-ledger/detector-6-boundary/.claude/scripts/dynamic_action.py +12 -0
  1648. package/.claude/scripts/tests/fixtures/reality-ledger/detector-6-negative/.claude/hooks/_lib/.do-not-import-from-here +15 -0
  1649. package/.claude/scripts/tests/fixtures/reality-ledger/detector-6-negative/.claude/hooks/_lib/audit_emit.py +11 -0
  1650. package/.claude/scripts/tests/fixtures/reality-ledger/detector-6-negative/.claude/scripts/registered_emitter.py +8 -0
  1651. package/.claude/scripts/tests/fixtures/reality-ledger/detector-6-positive/.claude/hooks/_lib/.do-not-import-from-here +15 -0
  1652. package/.claude/scripts/tests/fixtures/reality-ledger/detector-6-positive/.claude/hooks/_lib/audit_emit.py +12 -0
  1653. package/.claude/scripts/tests/fixtures/reality-ledger/detector-6-positive/.claude/scripts/phantom_emitter.py +13 -0
  1654. package/.claude/scripts/tests/fixtures/reality-ledger/issue-body-template.md +47 -0
  1655. package/.claude/scripts/tests/fixtures/reality-ledger/redaction/_test_corpus.py +7 -0
  1656. package/.claude/scripts/tests/fixtures/repo_profile/cloned-trading-repo/.env.example +5 -0
  1657. package/.claude/scripts/tests/fixtures/repo_profile/cloned-trading-repo/Cargo.toml +9 -0
  1658. package/.claude/scripts/tests/fixtures/repo_profile/cloned-trading-repo/README.md +6 -0
  1659. package/.claude/scripts/tests/fixtures/repo_profile/cloned-trading-repo/exchanges/binance.py +6 -0
  1660. package/.claude/scripts/tests/fixtures/repo_profile/cloned-trading-repo/strategies/triangular.py +4 -0
  1661. package/.claude/scripts/tests/fixtures/repo_profile/missing-package-manifest/README.md +7 -0
  1662. package/.claude/scripts/tests/fixtures/repo_profile/missing-package-manifest/notes.md +1 -0
  1663. package/.claude/scripts/tests/fixtures/repo_profile/mixed-frontend-backend/README.md +6 -0
  1664. package/.claude/scripts/tests/fixtures/repo_profile/mixed-frontend-backend/api/server.js +4 -0
  1665. package/.claude/scripts/tests/fixtures/repo_profile/mixed-frontend-backend/package.json +15 -0
  1666. package/.claude/scripts/tests/fixtures/repo_profile/mixed-frontend-backend/pages/index.tsx +3 -0
  1667. package/.claude/scripts/tests/fixtures/repo_profile/monorepo/README.md +6 -0
  1668. package/.claude/scripts/tests/fixtures/repo_profile/monorepo/apps/backend/.gitkeep +0 -0
  1669. package/.claude/scripts/tests/fixtures/repo_profile/monorepo/apps/frontend/.gitkeep +0 -0
  1670. package/.claude/scripts/tests/fixtures/repo_profile/monorepo/package.json +5 -0
  1671. package/.claude/scripts/tests/fixtures/repo_profile/monorepo/packages/shared/.gitkeep +0 -0
  1672. package/.claude/scripts/tests/fixtures/sample_audit_log.jsonl +50 -0
  1673. package/.claude/scripts/tests/fixtures/siem/.gitkeep +0 -0
  1674. package/.claude/scripts/tests/fixtures/smart_loading/profile-engine.yaml +8 -0
  1675. package/.claude/scripts/tests/fixtures/smart_loading/profile-fail-closed.yaml +7 -0
  1676. package/.claude/scripts/tests/fixtures/smart_loading/profile-fintech.yaml +9 -0
  1677. package/.claude/scripts/tests/fixtures/smart_loading/profile-frontend.yaml +9 -0
  1678. package/.claude/scripts/tests/fixtures/smart_loading/profile-generic.yaml +8 -0
  1679. package/.claude/scripts/tests/fixtures/smart_loading/profile-trading-readonly.yaml +9 -0
  1680. package/.claude/scripts/tests/fixtures/smart_loading/synthetic-skill-catalog.yaml +186 -0
  1681. package/.claude/scripts/tests/fixtures/squad_marketplace/.gitkeep +4 -0
  1682. package/.claude/scripts/tests/fixtures/task-route/calibration-holdout.json +49 -0
  1683. package/.claude/scripts/tests/fixtures/task-route/calibration-train.json +174 -0
  1684. package/.claude/scripts/tests/perf/__init__.py +3 -0
  1685. package/.claude/scripts/tests/perf/perf_utils.py +134 -0
  1686. package/.claude/scripts/tests/perf/test_kernel_hard_deny_microbench.py +149 -0
  1687. package/.claude/scripts/tests/perf/test_optimizer_complexity_gate_p99.py +145 -0
  1688. package/.claude/scripts/tests/perf/test_wave_c_canonical_json.py +132 -0
  1689. package/.claude/scripts/tests/perf/test_wave_c_filelock_mkdir.py +71 -0
  1690. package/.claude/scripts/tests/perf/test_wave_c_plan_glob_cache.py +84 -0
  1691. package/.claude/scripts/tests/perf/test_wave_c_preview_collapse.py +98 -0
  1692. package/.claude/scripts/tests/perf/test_wave_c_sys_modules.py +104 -0
  1693. package/.claude/scripts/tests/test_a4_pricing_doctrine.py +127 -0
  1694. package/.claude/scripts/tests/test_admin_invite.py +173 -0
  1695. package/.claude/scripts/tests/test_adopter_metrics.py +723 -0
  1696. package/.claude/scripts/tests/test_aek_calibration_c2.py +107 -0
  1697. package/.claude/scripts/tests/test_aek_calibration_c3.py +192 -0
  1698. package/.claude/scripts/tests/test_aek_state_machine.py +385 -0
  1699. package/.claude/scripts/tests/test_aggregate_changesets.py +646 -0
  1700. package/.claude/scripts/tests/test_architect_bundle_validate.py +159 -0
  1701. package/.claude/scripts/tests/test_audit_dashboard.py +822 -0
  1702. package/.claude/scripts/tests/test_audit_log_dispatch_hint.py +91 -0
  1703. package/.claude/scripts/tests/test_audit_log_retain.py +394 -0
  1704. package/.claude/scripts/tests/test_audit_query.py +1177 -0
  1705. package/.claude/scripts/tests/test_audit_query_by_domain.py +576 -0
  1706. package/.claude/scripts/tests/test_audit_query_claims.py +92 -0
  1707. package/.claude/scripts/tests/test_audit_query_critical.py +267 -0
  1708. package/.claude/scripts/tests/test_audit_query_tokens.py +106 -0
  1709. package/.claude/scripts/tests/test_audit_telemetry.py +214 -0
  1710. package/.claude/scripts/tests/test_audit_tokens.py +255 -0
  1711. package/.claude/scripts/tests/test_audit_verify_chain.py +189 -0
  1712. package/.claude/scripts/tests/test_backup_audit.py +295 -0
  1713. package/.claude/scripts/tests/test_benchmark_fallback_scorer.py +299 -0
  1714. package/.claude/scripts/tests/test_benchmark_judge.py +569 -0
  1715. package/.claude/scripts/tests/test_benchmarks_replay.py +313 -0
  1716. package/.claude/scripts/tests/test_budget_summary.py +628 -0
  1717. package/.claude/scripts/tests/test_build_canonical_models.py +349 -0
  1718. package/.claude/scripts/tests/test_calibration_kappa.py +234 -0
  1719. package/.claude/scripts/tests/test_cc_analytics_pull.py +296 -0
  1720. package/.claude/scripts/tests/test_ceo_backup.py +318 -0
  1721. package/.claude/scripts/tests/test_ceo_boot.py +643 -0
  1722. package/.claude/scripts/tests/test_ceo_boot_audit_emit.py +484 -0
  1723. package/.claude/scripts/tests/test_ceo_boot_enhanced.py +706 -0
  1724. package/.claude/scripts/tests/test_ceo_boot_persona_cadence.py +392 -0
  1725. package/.claude/scripts/tests/test_ceo_boot_plan_082.py +365 -0
  1726. package/.claude/scripts/tests/test_ceo_boot_tamper_tripwires.py +556 -0
  1727. package/.claude/scripts/tests/test_ceo_boot_task_candidate.py +868 -0
  1728. package/.claude/scripts/tests/test_ceo_cost.py +221 -0
  1729. package/.claude/scripts/tests/test_ceo_cost_stream.py +1076 -0
  1730. package/.claude/scripts/tests/test_ceo_diagnose.py +314 -0
  1731. package/.claude/scripts/tests/test_ceo_escalation_detector.py +591 -0
  1732. package/.claude/scripts/tests/test_ceo_health.py +202 -0
  1733. package/.claude/scripts/tests/test_ceo_info.py +542 -0
  1734. package/.claude/scripts/tests/test_chaos_inject_lockdown.py +384 -0
  1735. package/.claude/scripts/tests/test_check_action_sha_drift.py +174 -0
  1736. package/.claude/scripts/tests/test_check_active_hooks_executable.py +79 -0
  1737. package/.claude/scripts/tests/test_check_adr_chain.py +665 -0
  1738. package/.claude/scripts/tests/test_check_audit_hmac_null.py +178 -0
  1739. package/.claude/scripts/tests/test_check_audit_read_api_stable.py +176 -0
  1740. package/.claude/scripts/tests/test_check_audit_registry_coverage.py +744 -0
  1741. package/.claude/scripts/tests/test_check_auto_activation_flags.py +140 -0
  1742. package/.claude/scripts/tests/test_check_canonical_doc_freshness.py +149 -0
  1743. package/.claude/scripts/tests/test_check_claude_md_claims.py +223 -0
  1744. package/.claude/scripts/tests/test_check_conformance_harness_mapping.py +243 -0
  1745. package/.claude/scripts/tests/test_check_contamination.py +161 -0
  1746. package/.claude/scripts/tests/test_check_creative_rewrite.py +183 -0
  1747. package/.claude/scripts/tests/test_check_debate_round_lifecycle.py +162 -0
  1748. package/.claude/scripts/tests/test_check_debt_ledger.py +227 -0
  1749. package/.claude/scripts/tests/test_check_doc_skill_paths.py +99 -0
  1750. package/.claude/scripts/tests/test_check_docs_freshness.py +224 -0
  1751. package/.claude/scripts/tests/test_check_flip_criteria_drift.py +343 -0
  1752. package/.claude/scripts/tests/test_check_flip_release_gate_consistency.py +195 -0
  1753. package/.claude/scripts/tests/test_check_function_length.py +519 -0
  1754. package/.claude/scripts/tests/test_check_model_deprecations.py +368 -0
  1755. package/.claude/scripts/tests/test_check_originator_residue.py +165 -0
  1756. package/.claude/scripts/tests/test_check_rule_invariants.py +327 -0
  1757. package/.claude/scripts/tests/test_check_sdk_compat.py +88 -0
  1758. package/.claude/scripts/tests/test_check_sidecar_manifest_sbom_sync.py +177 -0
  1759. package/.claude/scripts/tests/test_check_spec_drift.py +358 -0
  1760. package/.claude/scripts/tests/test_check_staleness.py +128 -0
  1761. package/.claude/scripts/tests/test_check_stdlib_only_exceptions.py +91 -0
  1762. package/.claude/scripts/tests/test_check_substrate_watch.py +234 -0
  1763. package/.claude/scripts/tests/test_check_test_audit_isolation.py +322 -0
  1764. package/.claude/scripts/tests/test_check_test_env_hygiene.py +432 -0
  1765. package/.claude/scripts/tests/test_check_threat_model_coverage.py +251 -0
  1766. package/.claude/scripts/tests/test_check_threat_model_freshness.py +235 -0
  1767. package/.claude/scripts/tests/test_check_tier_boundaries.py +225 -0
  1768. package/.claude/scripts/tests/test_check_tla_schema_drift.py +246 -0
  1769. package/.claude/scripts/tests/test_check_translations_drift.py +262 -0
  1770. package/.claude/scripts/tests/test_code_nav_bridge.py +192 -0
  1771. package/.claude/scripts/tests/test_compaction_template.py +163 -0
  1772. package/.claude/scripts/tests/test_compare_adopters.py +646 -0
  1773. package/.claude/scripts/tests/test_confidence_gate.py +611 -0
  1774. package/.claude/scripts/tests/test_confidence_gate_backfill.py +212 -0
  1775. package/.claude/scripts/tests/test_context_budget.py +1400 -0
  1776. package/.claude/scripts/tests/test_contextual_recommender.py +723 -0
  1777. package/.claude/scripts/tests/test_coverage_audit_marker.py +109 -0
  1778. package/.claude/scripts/tests/test_debate_converge.py +399 -0
  1779. package/.claude/scripts/tests/test_debate_emit_cli.py +153 -0
  1780. package/.claude/scripts/tests/test_debate_orchestrate.py +575 -0
  1781. package/.claude/scripts/tests/test_detect_repo_profile.py +434 -0
  1782. package/.claude/scripts/tests/test_discover_foreign_context.py +208 -0
  1783. package/.claude/scripts/tests/test_dispatch_archetype_hint.py +429 -0
  1784. package/.claude/scripts/tests/test_dispatch_frontmatter_validation.py +274 -0
  1785. package/.claude/scripts/tests/test_drift_wire.py +259 -0
  1786. package/.claude/scripts/tests/test_embeddings.py +249 -0
  1787. package/.claude/scripts/tests/test_env_inventory_check.py +197 -0
  1788. package/.claude/scripts/tests/test_eval_c3.py +474 -0
  1789. package/.claude/scripts/tests/test_extract_skill.py +572 -0
  1790. package/.claude/scripts/tests/test_fan_plan_parser.py +213 -0
  1791. package/.claude/scripts/tests/test_find_orphan_sentinels.py +62 -0
  1792. package/.claude/scripts/tests/test_first_run_wizard.py +634 -0
  1793. package/.claude/scripts/tests/test_generate_adr_index.py +146 -0
  1794. package/.claude/scripts/tests/test_generate_available_models.py +209 -0
  1795. package/.claude/scripts/tests/test_generate_dispatch.py +90 -0
  1796. package/.claude/scripts/tests/test_generate_skill_inventory.py +76 -0
  1797. package/.claude/scripts/tests/test_github_api_client.py +146 -0
  1798. package/.claude/scripts/tests/test_governance_waivers_gate.py +176 -0
  1799. package/.claude/scripts/tests/test_hook_profiler.py +426 -0
  1800. package/.claude/scripts/tests/test_import_skill.py +927 -0
  1801. package/.claude/scripts/tests/test_import_skill_skip_rubric_auth.py +198 -0
  1802. package/.claude/scripts/tests/test_inject_agent_context_mitigated_dispatch.py +266 -0
  1803. package/.claude/scripts/tests/test_inject_agent_context_reference_mode.py +105 -0
  1804. package/.claude/scripts/tests/test_inspired_by_validator.py +307 -0
  1805. package/.claude/scripts/tests/test_install_dispatcher_present_maintainer.py +76 -0
  1806. package/.claude/scripts/tests/test_install_maintainer_unchanged.py +86 -0
  1807. package/.claude/scripts/tests/test_install_npm_sha256.py +113 -0
  1808. package/.claude/scripts/tests/test_install_sh_placeholders.py +268 -0
  1809. package/.claude/scripts/tests/test_install_sh_self_sha.py +244 -0
  1810. package/.claude/scripts/tests/test_install_sh_session_75_flags.py +147 -0
  1811. package/.claude/scripts/tests/test_install_user_dispatcher_present.py +75 -0
  1812. package/.claude/scripts/tests/test_install_user_no_writes_outside_claude.py +75 -0
  1813. package/.claude/scripts/tests/test_install_user_passes_validate_governance.py +73 -0
  1814. package/.claude/scripts/tests/test_install_user_preserves_existing_repo.py +135 -0
  1815. package/.claude/scripts/tests/test_install_user_skips_governance_hooks.py +102 -0
  1816. package/.claude/scripts/tests/test_k_calibration.py +415 -0
  1817. package/.claude/scripts/tests/test_key_hygiene.py +372 -0
  1818. package/.claude/scripts/tests/test_lesson_ranker.py +82 -0
  1819. package/.claude/scripts/tests/test_lesson_restore.py +91 -0
  1820. package/.claude/scripts/tests/test_lessons.py +278 -0
  1821. package/.claude/scripts/tests/test_lessons_concurrency.py +118 -0
  1822. package/.claude/scripts/tests/test_lessons_emit.py +114 -0
  1823. package/.claude/scripts/tests/test_lessons_inject.py +144 -0
  1824. package/.claude/scripts/tests/test_lessons_v2.py +264 -0
  1825. package/.claude/scripts/tests/test_lint_skills.py +525 -0
  1826. package/.claude/scripts/tests/test_log_friction.py +436 -0
  1827. package/.claude/scripts/tests/test_memory_prioritize.py +315 -0
  1828. package/.claude/scripts/tests/test_morning_ledger.py +415 -0
  1829. package/.claude/scripts/tests/test_mutation_test.py +144 -0
  1830. package/.claude/scripts/tests/test_npm_rebuild.py +154 -0
  1831. package/.claude/scripts/tests/test_osv_check.py +411 -0
  1832. package/.claude/scripts/tests/test_otel_export.py +613 -0
  1833. package/.claude/scripts/tests/test_otel_local_sink.py +262 -0
  1834. package/.claude/scripts/tests/test_owasp_llm_top_10_benchmark.py +235 -0
  1835. package/.claude/scripts/tests/test_parse_coverage_tier1.py +107 -0
  1836. package/.claude/scripts/tests/test_pitfall_query.py +148 -0
  1837. package/.claude/scripts/tests/test_plan_frontmatter_status.py +217 -0
  1838. package/.claude/scripts/tests/test_plan_id_uniqueness.py +133 -0
  1839. package/.claude/scripts/tests/test_plan_schema_enforcement.py +251 -0
  1840. package/.claude/scripts/tests/test_plan_tokens.py +513 -0
  1841. package/.claude/scripts/tests/test_plan_vcheck_gate.py +257 -0
  1842. package/.claude/scripts/tests/test_policy_shadow_runner.py +312 -0
  1843. package/.claude/scripts/tests/test_prune_lessons.py +341 -0
  1844. package/.claude/scripts/tests/test_quality_profile.py +392 -0
  1845. package/.claude/scripts/tests/test_rate_card_calibrate.py +185 -0
  1846. package/.claude/scripts/tests/test_reality_ledger.py +1723 -0
  1847. package/.claude/scripts/tests/test_red_team_eval.py +566 -0
  1848. package/.claude/scripts/tests/test_red_team_eval_sha.py +260 -0
  1849. package/.claude/scripts/tests/test_registry.py +290 -0
  1850. package/.claude/scripts/tests/test_run_benchmark.py +639 -0
  1851. package/.claude/scripts/tests/test_run_skill_benchmark_emit.py +195 -0
  1852. package/.claude/scripts/tests/test_run_skill_benchmark_judge_mode.py +306 -0
  1853. package/.claude/scripts/tests/test_scan_injection.py +191 -0
  1854. package/.claude/scripts/tests/test_scan_injection_strict.sh +201 -0
  1855. package/.claude/scripts/tests/test_scratchpad_cli.py +317 -0
  1856. package/.claude/scripts/tests/test_self_test.py +369 -0
  1857. package/.claude/scripts/tests/test_session_graph.py +511 -0
  1858. package/.claude/scripts/tests/test_session_resume.py +306 -0
  1859. package/.claude/scripts/tests/test_siem_rule_fixtures_have_paired_positive_negative.py +112 -0
  1860. package/.claude/scripts/tests/test_skill_budget_generator.py +329 -0
  1861. package/.claude/scripts/tests/test_skill_grandfather_parser.py +314 -0
  1862. package/.claude/scripts/tests/test_skill_import_rubric.py +497 -0
  1863. package/.claude/scripts/tests/test_skill_patch_apply_create_new_skill.py +459 -0
  1864. package/.claude/scripts/tests/test_skill_patch_propose.py +294 -0
  1865. package/.claude/scripts/tests/test_skill_patch_shadow_race.py +271 -0
  1866. package/.claude/scripts/tests/test_skill_retrieval.py +486 -0
  1867. package/.claude/scripts/tests/test_skill_retrieve_rag_wire.py +747 -0
  1868. package/.claude/scripts/tests/test_smart_loading_resolver.py +808 -0
  1869. package/.claude/scripts/tests/test_squad_export.py +265 -0
  1870. package/.claude/scripts/tests/test_squad_grandfather_cap.py +434 -0
  1871. package/.claude/scripts/tests/test_squad_import.py +905 -0
  1872. package/.claude/scripts/tests/test_statusline_ceo.py +543 -0
  1873. package/.claude/scripts/tests/test_success_receipt.py +448 -0
  1874. package/.claude/scripts/tests/test_task_route.py +456 -0
  1875. package/.claude/scripts/tests/test_token_budget_guard.py +418 -0
  1876. package/.claude/scripts/tests/test_token_estimator.py +395 -0
  1877. package/.claude/scripts/tests/test_trading_readonly.py +705 -0
  1878. package/.claude/scripts/tests/test_ui_ux_imports.py +223 -0
  1879. package/.claude/scripts/tests/test_validate_skill_frontmatter_pii_core.py +630 -0
  1880. package/.claude/scripts/tests/test_validate_spec_context.py +128 -0
  1881. package/.claude/scripts/tests/test_validate_squad_contract.py +221 -0
  1882. package/.claude/scripts/tests/test_value_dashboard.py +593 -0
  1883. package/.claude/scripts/tests/test_verify_adr_118_rationale.py +183 -0
  1884. package/.claude/scripts/tests/test_verify_atlas_binding.py +159 -0
  1885. package/.claude/scripts/tests/test_verify_counts.py +138 -0
  1886. package/.claude/scripts/tests/test_verify_counts_remediation.py +258 -0
  1887. package/.claude/scripts/tests/test_verify_persona_coverage.py +576 -0
  1888. package/.claude/scripts/tests/test_veto_check.py +171 -0
  1889. package/.claude/scripts/tests/test_workflow_devops_p2.py +229 -0
  1890. package/.claude/scripts/tier_policy_cli/__init__.py +43 -0
  1891. package/.claude/scripts/tier_policy_cli/_agent_frontmatter.py +196 -0
  1892. package/.claude/scripts/tier_policy_cli/_constants.py +92 -0
  1893. package/.claude/scripts/tier_policy_cli/_types.py +228 -0
  1894. package/.claude/scripts/tier_policy_cli/apply.py +1139 -0
  1895. package/.claude/scripts/tier_policy_cli/cli.py +795 -0
  1896. package/.claude/scripts/tier_policy_cli/learn.py +846 -0
  1897. package/.claude/scripts/tier_policy_cli/loader.py +535 -0
  1898. package/.claude/scripts/tier_policy_cli/setup.py +33 -0
  1899. package/.claude/scripts/tier_policy_cli/tests/__init__.py +0 -0
  1900. package/.claude/scripts/tier_policy_cli/tests/test_adversarial.py +605 -0
  1901. package/.claude/scripts/tier_policy_cli/tests/test_agent_frontmatter.py +231 -0
  1902. package/.claude/scripts/tier_policy_cli/tests/test_apply.py +698 -0
  1903. package/.claude/scripts/tier_policy_cli/tests/test_check_tier_policy_hook.py +187 -0
  1904. package/.claude/scripts/tier_policy_cli/tests/test_cli.py +434 -0
  1905. package/.claude/scripts/tier_policy_cli/tests/test_constants.py +113 -0
  1906. package/.claude/scripts/tier_policy_cli/tests/test_learn.py +1380 -0
  1907. package/.claude/scripts/tier_policy_cli/tests/test_learn_mutation.py +549 -0
  1908. package/.claude/scripts/tier_policy_cli/tests/test_loader.py +368 -0
  1909. package/.claude/scripts/tier_policy_cli/tests/test_types.py +152 -0
  1910. package/.claude/scripts/token-budget-guard.py +657 -0
  1911. package/.claude/scripts/token-estimator.py +957 -0
  1912. package/.claude/scripts/tournament/__init__.py +22 -0
  1913. package/.claude/scripts/tournament/check_fixture.py +271 -0
  1914. package/.claude/scripts/tournament/fixtures/CORPUS_SHA256.txt +10 -0
  1915. package/.claude/scripts/tournament/fixtures/code-review.jsonl +10 -0
  1916. package/.claude/scripts/tournament/fixtures/docs-writing.jsonl +10 -0
  1917. package/.claude/scripts/tournament/fixtures/performance-triage.jsonl +10 -0
  1918. package/.claude/scripts/tournament/fixtures/security-review.jsonl +10 -0
  1919. package/.claude/scripts/tournament/fixtures/test-design.jsonl +10 -0
  1920. package/.claude/scripts/tournament/judge.py +269 -0
  1921. package/.claude/scripts/tournament/loader.py +262 -0
  1922. package/.claude/scripts/tournament/regen_corpus_sha.py +93 -0
  1923. package/.claude/scripts/tournament/reporter.py +328 -0
  1924. package/.claude/scripts/tournament/runner.py +707 -0
  1925. package/.claude/scripts/tournament/scorer.py +118 -0
  1926. package/.claude/scripts/tournament/tests/__init__.py +0 -0
  1927. package/.claude/scripts/tournament/tests/_fake_dispatcher.py +233 -0
  1928. package/.claude/scripts/tournament/tests/golden/strict_report_seed42.jsonl +6 -0
  1929. package/.claude/scripts/tournament/tests/test_fixture_envelope.py +106 -0
  1930. package/.claude/scripts/tournament/tests/test_fixture_security.py +227 -0
  1931. package/.claude/scripts/tournament/tests/test_judge.py +299 -0
  1932. package/.claude/scripts/tournament/tests/test_loader.py +223 -0
  1933. package/.claude/scripts/tournament/tests/test_model_id_parity.py +136 -0
  1934. package/.claude/scripts/tournament/tests/test_reporter.py +450 -0
  1935. package/.claude/scripts/tournament/tests/test_reporter_golden.py +182 -0
  1936. package/.claude/scripts/tournament/tests/test_runner.py +313 -0
  1937. package/.claude/scripts/tournament/tests/test_runner_fail_open.py +204 -0
  1938. package/.claude/scripts/tournament/tests/test_scorer.py +138 -0
  1939. package/.claude/scripts/tournament/tests/test_tournament_e2e_smoke.py +147 -0
  1940. package/.claude/scripts/tournament/tests/test_tournament_properties.py +181 -0
  1941. package/.claude/scripts/trading-readonly-escape-hatch.sh +244 -0
  1942. package/.claude/scripts/trading-readonly-guardrails.py +1136 -0
  1943. package/.claude/scripts/translations-pairs.yaml +60 -0
  1944. package/.claude/scripts/validate-findings.py +243 -0
  1945. package/.claude/scripts/validate-governance.sh +1238 -0
  1946. package/.claude/scripts/validate-skill-frontmatter.py +679 -0
  1947. package/.claude/scripts/validate-spec-context.py +146 -0
  1948. package/.claude/scripts/validate-squad-contract.py +318 -0
  1949. package/.claude/scripts/validate_governance_fast.py +555 -0
  1950. package/.claude/scripts/value-dashboard.py +851 -0
  1951. package/.claude/scripts/verify-adr-118-rationale.py +285 -0
  1952. package/.claude/scripts/verify-atlas-binding.py +331 -0
  1953. package/.claude/scripts/verify-persona-coverage.py +531 -0
  1954. package/.claude/scripts/verify-sprint3-invariants.sh +133 -0
  1955. package/.claude/scripts/veto-check.py +218 -0
  1956. package/.claude/security/README.md +200 -0
  1957. package/.claude/security/sentinel-signers-registry.yaml +60 -0
  1958. package/.claude/sentinel-signers.txt +24 -0
  1959. package/.claude/settings.json +786 -0
  1960. package/.claude/sidecars/c1-crypto/cryptography-mvp/README.md +89 -0
  1961. package/.claude/sidecars/c1-crypto/cryptography-mvp/boundary_test.py +114 -0
  1962. package/.claude/sidecars/c1-crypto/cryptography-mvp/install.sh +45 -0
  1963. package/.claude/sidecars/c1-crypto/cryptography-mvp/manifest.json +52 -0
  1964. package/.claude/sidecars/c1-crypto/cryptography-mvp/sidecar_code/cert_inspector.py +775 -0
  1965. package/.claude/sidecars/c1-crypto/stdlib-ssl-mvp/boundary_test.py +318 -0
  1966. package/.claude/sidecars/c1-crypto/stdlib-ssl-mvp/install.sh +57 -0
  1967. package/.claude/sidecars/c1-crypto/stdlib-ssl-mvp/manifest.json +48 -0
  1968. package/.claude/sidecars/c2-vector-memory/lightrag-mvp/README.md +88 -0
  1969. package/.claude/sidecars/c2-vector-memory/lightrag-mvp/boundary_test.py +221 -0
  1970. package/.claude/sidecars/c2-vector-memory/lightrag-mvp/install.sh +33 -0
  1971. package/.claude/sidecars/c2-vector-memory/lightrag-mvp/manifest.json +59 -0
  1972. package/.claude/sidecars/c5-dev-tools/hypothesis/boundary_test.py +142 -0
  1973. package/.claude/sidecars/c5-dev-tools/hypothesis/install.sh +46 -0
  1974. package/.claude/sidecars/c5-dev-tools/hypothesis/manifest.json +52 -0
  1975. package/.claude/sidecars/c5-dev-tools/hypothesis/tests/__init__.py +0 -0
  1976. package/.claude/sidecars/c5-dev-tools/hypothesis/tests/test_audit_emit_known_actions_property.py +123 -0
  1977. package/.claude/sidecars/c5-dev-tools/hypothesis/tests/test_canonical_guard_symmetry_property.py +67 -0
  1978. package/.claude/sidecars/c5-dev-tools/hypothesis/tests/test_payload_roundtrip_property.py +73 -0
  1979. package/.claude/sidecars/c5-dev-tools/hypothesis/tests/test_redact_idempotence_property.py +68 -0
  1980. package/.claude/skill-governance-grandfather.yaml +39 -0
  1981. package/.claude/skill-patch-signers.txt +19 -0
  1982. package/.claude/skills/core/agent-architect/SKILL.md +126 -0
  1983. package/.claude/skills/core/ai-llm-orchestration/SKILL.md +620 -0
  1984. package/.claude/skills/core/ai-llm-orchestration/SKILL.md.shadow.md +121 -0
  1985. package/.claude/skills/core/architecture-decisions/SKILL.md +364 -0
  1986. package/.claude/skills/core/architecture-decisions/benchmarks/architecture-decisions.yaml +257 -0
  1987. package/.claude/skills/core/ceo-orchestration/SKILL-frontend.md +117 -0
  1988. package/.claude/skills/core/ceo-orchestration/SKILL.md +700 -0
  1989. package/.claude/skills/core/chaos-and-resilience/SKILL.md +568 -0
  1990. package/.claude/skills/core/chaos-and-resilience/SKILL.md.shadow.md +553 -0
  1991. package/.claude/skills/core/code-intelligence-lsp/SKILL.md +375 -0
  1992. package/.claude/skills/core/code-review-checklist/SKILL.md +675 -0
  1993. package/.claude/skills/core/code-review-checklist/SKILL.md.shadow.md +337 -0
  1994. package/.claude/skills/core/code-review-checklist/benchmarks/code-review-checklist.yaml +444 -0
  1995. package/.claude/skills/core/codebase-onboarding/SKILL.md +515 -0
  1996. package/.claude/skills/core/compliance-lgpd/SKILL-frontend.md +513 -0
  1997. package/.claude/skills/core/compliance-lgpd/SKILL.md +817 -0
  1998. package/.claude/skills/core/consent-lifecycle/SKILL.md +149 -0
  1999. package/.claude/skills/core/cookbook-advisor/SKILL.md +191 -0
  2000. package/.claude/skills/core/coverage-audit/SKILL.md +116 -0
  2001. package/.claude/skills/core/cross-llm-pair-review/SKILL.md +212 -0
  2002. package/.claude/skills/core/data-schema-design/SKILL.md +933 -0
  2003. package/.claude/skills/core/devops-ci-cd/SKILL.md +659 -0
  2004. package/.claude/skills/core/dpo-reporting/SKILL.md +187 -0
  2005. package/.claude/skills/core/evidence-based-qa/SKILL.md +565 -0
  2006. package/.claude/skills/core/git-workflow-discipline/SKILL.md +600 -0
  2007. package/.claude/skills/core/growth-and-launch/SKILL-frontend.md +800 -0
  2008. package/.claude/skills/core/growth-and-launch/SKILL.md +903 -0
  2009. package/.claude/skills/core/help-me/SKILL.md +177 -0
  2010. package/.claude/skills/core/help-me/tests/test_help_me_skill.py +490 -0
  2011. package/.claude/skills/core/identity-and-trust-architecture/SKILL.md +1062 -0
  2012. package/.claude/skills/core/incident-management/SKILL.md +421 -0
  2013. package/.claude/skills/core/incremental-refactoring/SKILL-frontend.md +210 -0
  2014. package/.claude/skills/core/incremental-refactoring/SKILL.md +226 -0
  2015. package/.claude/skills/core/llm-routing-and-finops/SKILL.md +828 -0
  2016. package/.claude/skills/core/mcp-server-authoring/SKILL.md +685 -0
  2017. package/.claude/skills/core/minimal-change-discipline/SKILL.md +545 -0
  2018. package/.claude/skills/core/monetization-and-billing/SKILL-frontend.md +562 -0
  2019. package/.claude/skills/core/monetization-and-billing/SKILL.md +585 -0
  2020. package/.claude/skills/core/observability-and-ops/SKILL-frontend.md +290 -0
  2021. package/.claude/skills/core/observability-and-ops/SKILL.md +612 -0
  2022. package/.claude/skills/core/observability-and-ops/SKILL.md.shadow.md +324 -0
  2023. package/.claude/skills/core/parallelization-by-default/SKILL.md +176 -0
  2024. package/.claude/skills/core/parallelization-by-default/tests/test_parallelization_skill.py +490 -0
  2025. package/.claude/skills/core/performance-engineering/SKILL.md +219 -0
  2026. package/.claude/skills/core/performance-engineering/SKILL.md.shadow.md +204 -0
  2027. package/.claude/skills/core/pii-data-flow/SKILL.md +166 -0
  2028. package/.claude/skills/core/pre-plan-brainstorm/CHECKLIST.md +87 -0
  2029. package/.claude/skills/core/pre-plan-brainstorm/SKILL.md +186 -0
  2030. package/.claude/skills/core/product-conversion-readiness/SKILL-frontend.md +668 -0
  2031. package/.claude/skills/core/product-conversion-readiness/SKILL.md +941 -0
  2032. package/.claude/skills/core/public-api-design/SKILL.md +603 -0
  2033. package/.claude/skills/core/public-api-design/benchmarks/public-api-design.yaml +261 -0
  2034. package/.claude/skills/core/receiving-review/SKILL.md +131 -0
  2035. package/.claude/skills/core/receiving-review/benchmarks/receiving-review.yaml +254 -0
  2036. package/.claude/skills/core/requirement-quality-checklist/SKILL.md +97 -0
  2037. package/.claude/skills/core/security-and-auth/SKILL.md +868 -0
  2038. package/.claude/skills/core/security-and-auth/SKILL.md.shadow.md +500 -0
  2039. package/.claude/skills/core/security-and-auth/benchmarks/owasp-basics.yaml +491 -0
  2040. package/.claude/skills/core/security-and-auth/benchmarks/owasp-llm-top-10.yaml +769 -0
  2041. package/.claude/skills/core/spec-clarify/SKILL.md +120 -0
  2042. package/.claude/skills/core/state-machines-and-invariants/SKILL.md +288 -0
  2043. package/.claude/skills/core/technical-writing/SKILL.md +432 -0
  2044. package/.claude/skills/core/terse-mode/SKILL.md +80 -0
  2045. package/.claude/skills/core/terse-mode/SKILL.md.shadow.md +65 -0
  2046. package/.claude/skills/core/testing-strategy/SKILL.md +1026 -0
  2047. package/.claude/skills/core/testing-strategy/SKILL.md.shadow.md +983 -0
  2048. package/.claude/skills/domains/academic-humanities/examples/PLAN-EXAMPLE-ACH.md +126 -0
  2049. package/.claude/skills/domains/academic-humanities/pitfalls.yaml +68 -0
  2050. package/.claude/skills/domains/academic-humanities/skills/anthropologist/SKILL.md +394 -0
  2051. package/.claude/skills/domains/academic-humanities/skills/geographer/SKILL.md +453 -0
  2052. package/.claude/skills/domains/academic-humanities/skills/historian/SKILL.md +255 -0
  2053. package/.claude/skills/domains/academic-humanities/skills/narratologist/SKILL.md +398 -0
  2054. package/.claude/skills/domains/academic-humanities/skills/psychologist/SKILL.md +271 -0
  2055. package/.claude/skills/domains/academic-humanities/task-chains.yaml +125 -0
  2056. package/.claude/skills/domains/academic-humanities/team-personas.md +278 -0
  2057. package/.claude/skills/domains/business-support/examples/PLAN-EXAMPLE-BSP.md +115 -0
  2058. package/.claude/skills/domains/business-support/pitfalls.yaml +69 -0
  2059. package/.claude/skills/domains/business-support/skills/analytics-reporter/SKILL.md +339 -0
  2060. package/.claude/skills/domains/business-support/skills/executive-summary/SKILL.md +268 -0
  2061. package/.claude/skills/domains/business-support/skills/finance-tracker/SKILL.md +321 -0
  2062. package/.claude/skills/domains/business-support/skills/support-responder/SKILL.md +341 -0
  2063. package/.claude/skills/domains/business-support/task-chains.yaml +118 -0
  2064. package/.claude/skills/domains/business-support/team-personas.md +259 -0
  2065. package/.claude/skills/domains/civil-engineering/skills/civil-engineer/SKILL.md +275 -0
  2066. package/.claude/skills/domains/community/NOTICE.md +83 -0
  2067. package/.claude/skills/domains/community/skills/advanced-evaluation/SKILL.md +463 -0
  2068. package/.claude/skills/domains/community/skills/agent-evaluation/SKILL.md +400 -0
  2069. package/.claude/skills/domains/community/skills/agentic-actions-auditor/SKILL.md +410 -0
  2070. package/.claude/skills/domains/community/team-personas.md +41 -0
  2071. package/.claude/skills/domains/devrel/examples/api-deprecation-comms.md +180 -0
  2072. package/.claude/skills/domains/devrel/pitfalls.yaml +74 -0
  2073. package/.claude/skills/domains/devrel/skills/developer-advocate/SKILL.md +382 -0
  2074. package/.claude/skills/domains/devrel/task-chains.yaml +129 -0
  2075. package/.claude/skills/domains/devrel/team-personas.md +260 -0
  2076. package/.claude/skills/domains/edtech/examples/PLAN-EXAMPLE.md +89 -0
  2077. package/.claude/skills/domains/edtech/pitfalls.yaml +98 -0
  2078. package/.claude/skills/domains/edtech/skills/assessment-integrity/SKILL.md +208 -0
  2079. package/.claude/skills/domains/edtech/skills/learning-analytics/SKILL.md +212 -0
  2080. package/.claude/skills/domains/edtech/skills/student-data-privacy/SKILL.md +197 -0
  2081. package/.claude/skills/domains/edtech/skills/study-abroad-advisory/SKILL.md +582 -0
  2082. package/.claude/skills/domains/edtech/task-chains.yaml +122 -0
  2083. package/.claude/skills/domains/edtech/team-personas.md +252 -0
  2084. package/.claude/skills/domains/embedded/skills/embedded-firmware/SKILL.md +471 -0
  2085. package/.claude/skills/domains/finance-accounting/examples/new-subscription-revenue.md +135 -0
  2086. package/.claude/skills/domains/finance-accounting/pitfalls.yaml +74 -0
  2087. package/.claude/skills/domains/finance-accounting/skills/bookkeeper-controller/SKILL.md +427 -0
  2088. package/.claude/skills/domains/finance-accounting/skills/financial-analyst/SKILL.md +348 -0
  2089. package/.claude/skills/domains/finance-accounting/skills/fpa-analyst/SKILL.md +366 -0
  2090. package/.claude/skills/domains/finance-accounting/skills/tax-strategist/SKILL.md +358 -0
  2091. package/.claude/skills/domains/finance-accounting/task-chains.yaml +90 -0
  2092. package/.claude/skills/domains/finance-accounting/team-personas.md +281 -0
  2093. package/.claude/skills/domains/fintech/ORG_CHART.md +167 -0
  2094. package/.claude/skills/domains/fintech/commands/audit-ai.md +124 -0
  2095. package/.claude/skills/domains/fintech/commands/deploy.md +15 -0
  2096. package/.claude/skills/domains/fintech/commands/status.md +13 -0
  2097. package/.claude/skills/domains/fintech/frontend-team-personas.md +503 -0
  2098. package/.claude/skills/domains/fintech/pitfalls.yaml +58 -0
  2099. package/.claude/skills/domains/fintech/scripts/check-pitfall-regression.sh +80 -0
  2100. package/.claude/skills/domains/fintech/scripts/check-type-sync.sh +110 -0
  2101. package/.claude/skills/domains/fintech/skills/blockchain-security-audit/SKILL.md +492 -0
  2102. package/.claude/skills/domains/fintech/skills/equity-research/SKILL.md +459 -0
  2103. package/.claude/skills/domains/fintech/skills/exchange-api-integration/SKILL.md +315 -0
  2104. package/.claude/skills/domains/fintech/skills/exchange-onboarding-playbook/SKILL.md +527 -0
  2105. package/.claude/skills/domains/fintech/skills/financial-correctness-and-math/SKILL-frontend.md +308 -0
  2106. package/.claude/skills/domains/fintech/skills/financial-correctness-and-math/SKILL.md +340 -0
  2107. package/.claude/skills/domains/fintech/skills/financial-display/SKILL.md +193 -0
  2108. package/.claude/skills/domains/fintech/skills/frontend-data-layer/SKILL.md +206 -0
  2109. package/.claude/skills/domains/fintech/skills/frontend-patterns/SKILL.md +387 -0
  2110. package/.claude/skills/domains/fintech/skills/prediction-markets/SKILL.md +139 -0
  2111. package/.claude/skills/domains/fintech/skills/real-time-market-systems/SKILL.md +315 -0
  2112. package/.claude/skills/domains/fintech/skills/solidity-smart-contracts/SKILL.md +356 -0
  2113. package/.claude/skills/domains/fintech/skills/trading-execution/SKILL.md +126 -0
  2114. package/.claude/skills/domains/fintech/task-chains.yaml +46 -0
  2115. package/.claude/skills/domains/fintech/team-personas.md +773 -0
  2116. package/.claude/skills/domains/government/examples/PLAN-EXAMPLE.md +158 -0
  2117. package/.claude/skills/domains/government/pitfalls.yaml +114 -0
  2118. package/.claude/skills/domains/government/skills/accessibility-section-508/SKILL.md +183 -0
  2119. package/.claude/skills/domains/government/skills/digital-presales/SKILL.md +359 -0
  2120. package/.claude/skills/domains/government/skills/foia-and-records/SKILL.md +211 -0
  2121. package/.claude/skills/domains/government/skills/public-procurement/SKILL.md +264 -0
  2122. package/.claude/skills/domains/government/task-chains.yaml +88 -0
  2123. package/.claude/skills/domains/government/team-personas.md +296 -0
  2124. package/.claude/skills/domains/healthcare/examples/patient-portal-symptom-checker.md +130 -0
  2125. package/.claude/skills/domains/healthcare/pitfalls.yaml +74 -0
  2126. package/.claude/skills/domains/healthcare/skills/healthcare-customer-service/SKILL.md +369 -0
  2127. package/.claude/skills/domains/healthcare/skills/marketing-compliance/SKILL.md +367 -0
  2128. package/.claude/skills/domains/healthcare/task-chains.yaml +87 -0
  2129. package/.claude/skills/domains/healthcare/team-personas.md +273 -0
  2130. package/.claude/skills/domains/hospitality/skills/guest-services/SKILL.md +417 -0
  2131. package/.claude/skills/domains/hr/examples/attrition-model-launch.md +128 -0
  2132. package/.claude/skills/domains/hr/pitfalls.yaml +74 -0
  2133. package/.claude/skills/domains/hr/skills/hr-onboarding/SKILL.md +435 -0
  2134. package/.claude/skills/domains/hr/skills/recruitment-specialist/SKILL.md +400 -0
  2135. package/.claude/skills/domains/hr/task-chains.yaml +91 -0
  2136. package/.claude/skills/domains/hr/team-personas.md +251 -0
  2137. package/.claude/skills/domains/i18n-business/examples/PLAN-EXAMPLE-I18N.md +115 -0
  2138. package/.claude/skills/domains/i18n-business/pitfalls.yaml +68 -0
  2139. package/.claude/skills/domains/i18n-business/skills/cultural-intelligence/SKILL.md +448 -0
  2140. package/.claude/skills/domains/i18n-business/skills/french-consulting/SKILL.md +347 -0
  2141. package/.claude/skills/domains/i18n-business/skills/korean-business/SKILL.md +360 -0
  2142. package/.claude/skills/domains/i18n-business/skills/language-translator/SKILL.md +389 -0
  2143. package/.claude/skills/domains/i18n-business/task-chains.yaml +117 -0
  2144. package/.claude/skills/domains/i18n-business/team-personas.md +258 -0
  2145. package/.claude/skills/domains/identity-systems/examples/passkey-rollout.md +137 -0
  2146. package/.claude/skills/domains/identity-systems/pitfalls.yaml +74 -0
  2147. package/.claude/skills/domains/identity-systems/skills/identity-graph-operator/SKILL.md +353 -0
  2148. package/.claude/skills/domains/identity-systems/task-chains.yaml +90 -0
  2149. package/.claude/skills/domains/identity-systems/team-personas.md +233 -0
  2150. package/.claude/skills/domains/legal/examples/client-intake-pii-flow.md +177 -0
  2151. package/.claude/skills/domains/legal/pitfalls.yaml +77 -0
  2152. package/.claude/skills/domains/legal/skills/client-intake/SKILL.md +407 -0
  2153. package/.claude/skills/domains/legal/skills/document-review/SKILL.md +373 -0
  2154. package/.claude/skills/domains/legal/skills/legal-billing/SKILL.md +331 -0
  2155. package/.claude/skills/domains/legal/task-chains.yaml +131 -0
  2156. package/.claude/skills/domains/legal/team-personas.md +260 -0
  2157. package/.claude/skills/domains/lgpd-heavy-saas/examples/PLAN-EXAMPLE.md +120 -0
  2158. package/.claude/skills/domains/lgpd-heavy-saas/pitfalls.yaml +90 -0
  2159. package/.claude/skills/domains/lgpd-heavy-saas/task-chains.yaml +83 -0
  2160. package/.claude/skills/domains/lgpd-heavy-saas/team-personas.md +159 -0
  2161. package/.claude/skills/domains/marketing-global/skills/agentic-search-optimizer/SKILL.md +391 -0
  2162. package/.claude/skills/domains/marketing-global/skills/ai-citation-strategist/SKILL.md +343 -0
  2163. package/.claude/skills/domains/marketing-global/skills/app-store-optimizer/SKILL.md +495 -0
  2164. package/.claude/skills/domains/marketing-global/skills/book-co-author/SKILL.md +220 -0
  2165. package/.claude/skills/domains/marketing-global/skills/carousel-growth-engine/SKILL.md +393 -0
  2166. package/.claude/skills/domains/marketing-global/skills/content-creator/SKILL.md +416 -0
  2167. package/.claude/skills/domains/marketing-global/skills/growth-hacker/SKILL.md +495 -0
  2168. package/.claude/skills/domains/marketing-global/skills/instagram-curator/SKILL.md +419 -0
  2169. package/.claude/skills/domains/marketing-global/skills/linkedin-content-creator/SKILL.md +291 -0
  2170. package/.claude/skills/domains/marketing-global/skills/podcast-strategist/SKILL.md +408 -0
  2171. package/.claude/skills/domains/marketing-global/skills/reddit-community-builder/SKILL.md +295 -0
  2172. package/.claude/skills/domains/marketing-global/skills/seo-specialist/SKILL.md +352 -0
  2173. package/.claude/skills/domains/marketing-global/skills/social-media-strategist/SKILL.md +349 -0
  2174. package/.claude/skills/domains/marketing-global/skills/tiktok-strategist/SKILL.md +329 -0
  2175. package/.claude/skills/domains/marketing-global/skills/twitter-engager/SKILL.md +382 -0
  2176. package/.claude/skills/domains/marketing-global/skills/video-optimization-specialist/SKILL.md +386 -0
  2177. package/.claude/skills/domains/mobile/examples/PLAN-EXAMPLE-MOB.md +129 -0
  2178. package/.claude/skills/domains/mobile/pitfalls.yaml +69 -0
  2179. package/.claude/skills/domains/mobile/skills/mobile-app-builder/SKILL.md +446 -0
  2180. package/.claude/skills/domains/mobile/task-chains.yaml +126 -0
  2181. package/.claude/skills/domains/mobile/team-personas.md +292 -0
  2182. package/.claude/skills/domains/paid-media/examples/new-channel-launch.md +122 -0
  2183. package/.claude/skills/domains/paid-media/pitfalls.yaml +79 -0
  2184. package/.claude/skills/domains/paid-media/skills/auditor/SKILL.md +362 -0
  2185. package/.claude/skills/domains/paid-media/skills/creative-strategist/SKILL.md +457 -0
  2186. package/.claude/skills/domains/paid-media/skills/paid-social-strategist/SKILL.md +493 -0
  2187. package/.claude/skills/domains/paid-media/skills/ppc-strategist/SKILL.md +450 -0
  2188. package/.claude/skills/domains/paid-media/skills/programmatic-buyer/SKILL.md +396 -0
  2189. package/.claude/skills/domains/paid-media/skills/search-query-analyst/SKILL.md +336 -0
  2190. package/.claude/skills/domains/paid-media/skills/tracking-specialist/SKILL.md +457 -0
  2191. package/.claude/skills/domains/paid-media/task-chains.yaml +121 -0
  2192. package/.claude/skills/domains/paid-media/team-personas.md +251 -0
  2193. package/.claude/skills/domains/project-management/examples/PLAN-EXAMPLE-PMG.md +117 -0
  2194. package/.claude/skills/domains/project-management/pitfalls.yaml +68 -0
  2195. package/.claude/skills/domains/project-management/skills/experiment-tracker/SKILL.md +293 -0
  2196. package/.claude/skills/domains/project-management/skills/project-shepherd/SKILL.md +312 -0
  2197. package/.claude/skills/domains/project-management/skills/studio-operations/SKILL.md +333 -0
  2198. package/.claude/skills/domains/project-management/skills/studio-producer/SKILL.md +329 -0
  2199. package/.claude/skills/domains/project-management/task-chains.yaml +118 -0
  2200. package/.claude/skills/domains/project-management/team-personas.md +264 -0
  2201. package/.claude/skills/domains/real-estate-finance/examples/PLAN-EXAMPLE-REF.md +129 -0
  2202. package/.claude/skills/domains/real-estate-finance/pitfalls.yaml +68 -0
  2203. package/.claude/skills/domains/real-estate-finance/skills/buyer-seller-agent/SKILL.md +410 -0
  2204. package/.claude/skills/domains/real-estate-finance/skills/loan-officer-assistant/SKILL.md +415 -0
  2205. package/.claude/skills/domains/real-estate-finance/task-chains.yaml +123 -0
  2206. package/.claude/skills/domains/real-estate-finance/team-personas.md +287 -0
  2207. package/.claude/skills/domains/retail/skills/customer-returns/SKILL.md +363 -0
  2208. package/.claude/skills/domains/saas-platforms/examples/enterprise-tier-isolation.md +147 -0
  2209. package/.claude/skills/domains/saas-platforms/pitfalls.yaml +74 -0
  2210. package/.claude/skills/domains/saas-platforms/skills/cms-developer/SKILL.md +377 -0
  2211. package/.claude/skills/domains/saas-platforms/skills/filament-specialist/SKILL.md +316 -0
  2212. package/.claude/skills/domains/saas-platforms/skills/salesforce-architect/SKILL.md +369 -0
  2213. package/.claude/skills/domains/saas-platforms/task-chains.yaml +90 -0
  2214. package/.claude/skills/domains/saas-platforms/team-personas.md +283 -0
  2215. package/.claude/skills/domains/sales/examples/qbr-revenue-forecast.md +158 -0
  2216. package/.claude/skills/domains/sales/pitfalls.yaml +73 -0
  2217. package/.claude/skills/domains/sales/skills/account-strategist/SKILL.md +408 -0
  2218. package/.claude/skills/domains/sales/skills/deal-strategist/SKILL.md +292 -0
  2219. package/.claude/skills/domains/sales/skills/discovery-coach/SKILL.md +257 -0
  2220. package/.claude/skills/domains/sales/skills/outbound-strategist/SKILL.md +262 -0
  2221. package/.claude/skills/domains/sales/skills/pipeline-analyst/SKILL.md +317 -0
  2222. package/.claude/skills/domains/sales/skills/proposal-strategist/SKILL.md +288 -0
  2223. package/.claude/skills/domains/sales/skills/sales-coach/SKILL.md +306 -0
  2224. package/.claude/skills/domains/sales/skills/sales-engineer/SKILL.md +272 -0
  2225. package/.claude/skills/domains/sales/skills/sales-outreach/SKILL.md +338 -0
  2226. package/.claude/skills/domains/sales/task-chains.yaml +123 -0
  2227. package/.claude/skills/domains/sales/team-personas.md +249 -0
  2228. package/.claude/skills/domains/supply-chain/skills/supply-chain-strategist/SKILL.md +340 -0
  2229. package/.claude/skills/domains/trading-hft/examples/PLAN-EXAMPLE.md +145 -0
  2230. package/.claude/skills/domains/trading-hft/pitfalls.yaml +99 -0
  2231. package/.claude/skills/domains/trading-hft/skills/kill-switches/SKILL.md +128 -0
  2232. package/.claude/skills/domains/trading-hft/skills/latency-budgets/SKILL.md +117 -0
  2233. package/.claude/skills/domains/trading-hft/skills/order-routing/SKILL.md +97 -0
  2234. package/.claude/skills/domains/trading-hft/task-chains.yaml +97 -0
  2235. package/.claude/skills/domains/trading-hft/team-personas.md +155 -0
  2236. package/.claude/skills/domains/training-l-and-d/skills/corporate-training-designer/SKILL.md +268 -0
  2237. package/.claude/skills/domains/voice-ai/skills/voice-ai-integration/SKILL.md +405 -0
  2238. package/.claude/skills/frontend/NOTICE.md +80 -0
  2239. package/.claude/skills/frontend/accessibility-and-wcag/SKILL.md +395 -0
  2240. package/.claude/skills/frontend/accessibility-and-wcag/SKILL.md.shadow.md +181 -0
  2241. package/.claude/skills/frontend/accessibility-and-wcag/benchmarks/accessibility-and-wcag.yaml +420 -0
  2242. package/.claude/skills/frontend/accessibility-and-wcag/reference/charts-accessibility.yaml +357 -0
  2243. package/.claude/skills/frontend/code-quality-and-typescript/SKILL.md +167 -0
  2244. package/.claude/skills/frontend/design-system-and-components/SKILL.md +155 -0
  2245. package/.claude/skills/frontend/design-system-and-components/SKILL.md.shadow.md +138 -0
  2246. package/.claude/skills/frontend/design-system-and-components/reference/fonts.yaml +811 -0
  2247. package/.claude/skills/frontend/design-system-and-components/reference/palettes.yaml +3066 -0
  2248. package/.claude/skills/frontend/frontend-accessibility/SKILL.md +213 -0
  2249. package/.claude/skills/frontend/frontend-data-layer/SKILL.md +310 -0
  2250. package/.claude/skills/frontend/frontend-patterns/SKILL.md +771 -0
  2251. package/.claude/skills/frontend/frontend-performance-optimization/SKILL.md +228 -0
  2252. package/.claude/skills/frontend/frontend-performance-optimization/SKILL.md.shadow.md +213 -0
  2253. package/.claude/skills/frontend/ux-and-user-journeys/SKILL.md +153 -0
  2254. package/.claude/skills/frontend/ux-and-user-journeys/SKILL.md.shadow.md +138 -0
  2255. package/.claude/skills/frontend/ux-and-user-journeys/reference/guidelines.yaml +997 -0
  2256. package/.claude/squad-revocations.jsonl +5 -0
  2257. package/.claude/task-chains.yaml +151 -0
  2258. package/.claude/team.md +825 -0
  2259. package/.claude/templates/squad-bundle/README.md +208 -0
  2260. package/.claude/templates/squad-bundle/conftest.py +27 -0
  2261. package/.claude/templates/squad-bundle/examples/template-example.md.template +94 -0
  2262. package/.claude/templates/squad-bundle/pitfalls.yaml.template +88 -0
  2263. package/.claude/templates/squad-bundle/task-chains.yaml.template +92 -0
  2264. package/.claude/templates/squad-bundle/team-personas.md.template +161 -0
  2265. package/.claude/trust/README.md +89 -0
  2266. package/.claude/trust/owner.asc +11 -0
  2267. package/.claude/workflows/README.md +124 -0
  2268. package/.claude/workflows/audit-fanout.js +204 -0
  2269. package/.claude/workflows/eval-baseline-n20.js +330 -0
  2270. package/.claude/workflows/nightly-hygiene.js +176 -0
  2271. package/LICENSE +21 -0
  2272. package/PROTOCOL.md +597 -0
  2273. package/README.md +167 -0
  2274. package/SPEC/v1/README.md +181 -0
  2275. package/SPEC/v1/adapters.schema.md +272 -0
  2276. package/SPEC/v1/audit-log.schema.md +1514 -0
  2277. package/SPEC/v1/audit-query.schema.md +152 -0
  2278. package/SPEC/v1/benchmarks.schema.md +166 -0
  2279. package/SPEC/v1/claude-sdk-compat.md +123 -0
  2280. package/SPEC/v1/debate.schema.md +35 -0
  2281. package/SPEC/v1/hook-io.schema.md +94 -0
  2282. package/SPEC/v1/install-cli.md +234 -0
  2283. package/SPEC/v1/judge-payload.schema.md +98 -0
  2284. package/SPEC/v1/live-adapters-policy.schema.md +118 -0
  2285. package/SPEC/v1/mcp-server.schema.md +558 -0
  2286. package/SPEC/v1/memory-shared.schema.md +365 -0
  2287. package/SPEC/v1/normalized_envelope.schema.md +183 -0
  2288. package/SPEC/v1/npm-shim.md +95 -0
  2289. package/SPEC/v1/plan.schema.md +34 -0
  2290. package/SPEC/v1/policy-dsl.schema.md +466 -0
  2291. package/SPEC/v1/predict-budget.schema.md +289 -0
  2292. package/SPEC/v1/rag-sidecar.schema.md +222 -0
  2293. package/SPEC/v1/red-team-corpus.schema.md +186 -0
  2294. package/SPEC/v1/replay.schema.md +272 -0
  2295. package/SPEC/v1/scratchpad.schema.md +172 -0
  2296. package/SPEC/v1/sentinel-format.schema.md +306 -0
  2297. package/SPEC/v1/session-graph.schema.md +236 -0
  2298. package/SPEC/v1/skill-frontmatter.schema.md +83 -0
  2299. package/SPEC/v1/skill-index.schema.md +197 -0
  2300. package/SPEC/v1/skill-proposals.schema.md +175 -0
  2301. package/SPEC/v1/soc2-control-map.schema.md +797 -0
  2302. package/SPEC/v1/squad-manifest.schema.md +157 -0
  2303. package/SPEC/v1/state-stores.schema.md +146 -0
  2304. package/SPEC/v1/tier-policy.schema.md +264 -0
  2305. package/SPEC/v1/tournament-report.schema.md +156 -0
  2306. package/VERSION +1 -0
  2307. package/bin/ceo-orch-init.js +55 -0
  2308. package/package.json +42 -0
  2309. package/scripts/_framework_manifest_set.sh +237 -0
  2310. package/scripts/_hash_lib.sh +92 -0
  2311. package/scripts/build-plugin.py +351 -0
  2312. package/scripts/discover_foreign_context.py +151 -0
  2313. package/scripts/install-accelerators.sh +166 -0
  2314. package/scripts/install-npm.sh +254 -0
  2315. package/scripts/install.sh +1932 -0
  2316. package/scripts/local/OWNER-CEREMONY-PLAN-094-WAVE-A.sh +648 -0
  2317. package/scripts/local/OWNER-CEREMONY-S82-V1120.sh +169 -0
  2318. package/scripts/local/plan-093-apply-kernel-edits.py +496 -0
  2319. package/scripts/local/plan-093-execute-ceremony.sh +118 -0
  2320. package/scripts/local/plan-093-kernel-override-restart.sh +115 -0
  2321. package/scripts/local/plan-093-ship-v1.26.0.sh +226 -0
  2322. package/scripts/local/plan-094-apply-wave-a-c-e.py +398 -0
  2323. package/scripts/local/smoke-install-parity.sh +168 -0
  2324. package/scripts/local/trading-readonly-escape-hatch.sh +244 -0
  2325. package/scripts/measure-repo-size.sh +98 -0
  2326. package/scripts/npm-rebuild.sh +172 -0
  2327. package/scripts/publish-plugin.sh +144 -0
  2328. package/scripts/tests/smoke-install.sh +260 -0
  2329. package/scripts/tests/test-install-sandbox-merge.sh +137 -0
  2330. package/scripts/tests/test_install_baseline_manifest.sh +392 -0
  2331. package/scripts/uninstall.sh +282 -0
  2332. package/scripts/upgrade.sh +1260 -0
  2333. package/templates/.claude/tier-policy.json +35 -0
  2334. package/templates/.claude/tier-policy.json.sigchain +1 -0
  2335. package/templates/.env.example +134 -0
  2336. package/templates/.github/CODEOWNERS.template +33 -0
  2337. package/templates/.github/workflows/benchmarks.yml.template +145 -0
  2338. package/templates/.github/workflows/validate.yml.template +226 -0
  2339. package/templates/.mcp.json +13 -0
  2340. package/templates/CLAUDE.md +125 -0
  2341. package/templates/MEMORY.md +36 -0
  2342. package/templates/README.md +46 -0
  2343. package/templates/compaction.md +130 -0
  2344. package/templates/docs/BRANCH-PROTECTION.md +203 -0
  2345. package/templates/docs/rotation-log.md +18 -0
  2346. package/templates/oidc-proxy/README.md +141 -0
  2347. package/templates/oidc-proxy/broker.config.example.json +29 -0
  2348. package/templates/oidc-proxy/oidc_key_broker.py +361 -0
  2349. package/templates/oidc-proxy/tests/test_oidc_key_broker.py +361 -0
  2350. package/templates/scripts/statusline-ceo.py +597 -0
  2351. package/templates/settings/settings.base.json +708 -0
  2352. package/templates/settings/settings.stack.node.json +19 -0
  2353. package/templates/settings/settings.stack.otel.json +25 -0
  2354. package/templates/settings/settings.stack.sandbox.json +57 -0
  2355. package/templates/settings/settings.user.json +265 -0
  2356. package/templates/team-personas-reference.md +269 -0
@@ -0,0 +1,2095 @@
1
+ # Function-length grandfather list — PLAN-063 DIM-07 (sha256-keyed v2)
2
+ # Generated: 2026-04-29 (Session 77 Phase 5)
3
+ # Schema: function-length-grandfather/v2
4
+ #
5
+ # These functions exceed the 50-LoC threshold and are
6
+ # PERMANENTLY accepted as part of the framework identity per ADR-097.
7
+ #
8
+ # v2 (PLAN-063 DIM-07): match key changed from
9
+ # (file, function, line) to (file, function, sha256). The
10
+ # line/end_line fields stay for human reference but are NOT
11
+ # part of the match key. This makes the grandfather list
12
+ # line-shift invariant — only changes when the function body
13
+ # itself changes.
14
+ #
15
+ # New functions added 2026-04-29 onward MUST either stay <=50 LoC OR
16
+ # add a `# justified: <reason >=10 chars>` comment within the body.
17
+ # This grandfather list is NOT auto-extended — only ADR-097 supersession
18
+ # can add new entries.
19
+ #
20
+ # Format: list of {file, function, line, end_line, loc, sha256} entries.
21
+ # Match key: (file, function, sha256) tuple.
22
+
23
+ schema: function-length-grandfather/v2
24
+ generated_at: "2026-04-29"
25
+ generated_via: ".claude/scripts/check-function-length.py --json --grandfather=/dev/null"
26
+ adr: ADR-097
27
+ migrated_from: function-length-grandfather/v1
28
+ migrated_at: "2026-05-01"
29
+ total_grandfathered: 344
30
+
31
+ functions:
32
+ - file: .claude/hooks/SessionEnd.py
33
+ function: _invoke_audit_tokens_stub
34
+ line: 140
35
+ end_line: 193
36
+ loc: 54
37
+ sha256: fbb958756a2116e3b0b9b92a0b5b418d112dd5599ade5d6dcf5b85c833325339
38
+ - file: .claude/hooks/UserPromptSubmit.py
39
+ function: decide
40
+ line: 178
41
+ end_line: 231
42
+ loc: 54
43
+ sha256: 0092f91991971ea6f8f86ac6c920ce0cc950c06fa67ce82588c1bcbc029ba03d
44
+ - file: .claude/hooks/_lib/adapters/claude.py
45
+ function: read_event
46
+ line: 21
47
+ end_line: 88
48
+ loc: 68
49
+ sha256: 8ac641a55e5234392e39bbb7a163c8fd860f829b73417539f42a5942306da8c0
50
+ - file: .claude/hooks/_lib/adapters/live/_policy.py
51
+ function: __post_init__
52
+ line: 122
53
+ end_line: 223
54
+ loc: 102
55
+ sha256: 98390aae54f67747b4c4b6117eea6b8f857a4ab7855d9146178524bda55a17e5
56
+ - file: .claude/hooks/_lib/adapters/live/_transport.py
57
+ function: post_json
58
+ line: 158
59
+ end_line: 254
60
+ loc: 97
61
+ sha256: 6a7a37e285926e9d4785e706bc85caaa0cf4fdf1989bc470088c657c9568708a
62
+ - file: .claude/hooks/_lib/adapters/live/_transport.py
63
+ function: _attempt_once
64
+ line: 260
65
+ end_line: 369
66
+ loc: 110
67
+ sha256: 9ff69d53fb824218dea3aa33f37f8e8871e05724880751f44dce46dad87fa34f
68
+ - file: .claude/hooks/_lib/adapters/live/claude.py
69
+ function: call
70
+ line: 99
71
+ end_line: 190
72
+ loc: 92
73
+ sha256: 84e7bc5c0b733178047c1a70a8d96edeeb40e5e795bcaba708a7d4ff1243aed2
74
+ - file: .claude/hooks/_lib/adapters/live/claude.py
75
+ function: _on_response
76
+ line: 216
77
+ end_line: 280
78
+ loc: 65
79
+ sha256: ba7154cb95d5dd1e3b5b8150a2887393b135156b63a3e6d242dc21bfa651e025
80
+ - file: .claude/hooks/_lib/adapters/live/gemini.py
81
+ function: call
82
+ line: 79
83
+ end_line: 173
84
+ loc: 95
85
+ sha256: 03f503f7535842bb0f9573dfbaf8248748ea4dbb03daad44aa93c382e2730f9c
86
+ - file: .claude/hooks/_lib/adapters/live/gemini.py
87
+ function: _on_response
88
+ line: 187
89
+ end_line: 265
90
+ loc: 79
91
+ sha256: 194a005fc81afd2be4b8c312159685f459eeb96988a99979bd2ef7d9eb5dfa00
92
+ - file: .claude/hooks/_lib/adapters/live/local.py
93
+ function: call
94
+ line: 71
95
+ end_line: 125
96
+ loc: 55
97
+ sha256: 0220b27876425656d3927d0e0eafa16c464944779dccf99f0f8b8c7329ca2c0c
98
+ - file: .claude/hooks/_lib/adapters/live/local.py
99
+ function: _on_response
100
+ line: 139
101
+ end_line: 190
102
+ loc: 52
103
+ sha256: f2ca67094f0af48773f071a938e58b47f069c3862b15ae759ef479db8593158d
104
+ - file: .claude/hooks/_lib/adapters/live/openai.py
105
+ function: call
106
+ line: 103
107
+ end_line: 168
108
+ loc: 66
109
+ sha256: a4e2a3bf25724304075dbf64fcf50e8ab626042d9ec39f597cc49c3b2722ea84
110
+ - file: .claude/hooks/_lib/adapters/live/openai.py
111
+ function: embed
112
+ line: 170
113
+ end_line: 233
114
+ loc: 64
115
+ sha256: 5168f42165175d67f70722dc7f4438a428532987c4afeaefae2c527c2f2d3ca3
116
+ - file: .claude/hooks/_lib/adapters/live/openai.py
117
+ function: _on_chat_response
118
+ line: 251
119
+ end_line: 308
120
+ loc: 58
121
+ sha256: 345e111971e130af22f6c91043a2f417cdaa3263160c38bba9d2796f3863c1ee
122
+ - file: .claude/hooks/_lib/adapters/live/openai.py
123
+ function: _on_embed_response
124
+ line: 310
125
+ end_line: 366
126
+ loc: 57
127
+ sha256: 2dcc3e2f27a27722d1bf133dee69bd59936a39fdcaf1343b78946f2adbeb86d0
128
+ - file: .claude/hooks/_lib/agent_frontmatter.py
129
+ function: check_veto_floor_for_role
130
+ line: 137
131
+ end_line: 189
132
+ loc: 53
133
+ sha256: 83988cd2ed9b24c0c9ce0569e3485c3832226039d3232f81a5f04e4cf1792607
134
+ - file: .claude/hooks/_lib/audit_emit.py
135
+ function: _write_event
136
+ line: 388
137
+ end_line: 537
138
+ loc: 150
139
+ sha256: 7a6ab90ea46b7faeddd8f408667e0654b3aa8e73fb93f8f088946336b38f096d
140
+ - file: .claude/hooks/_lib/audit_emit.py
141
+ function: emit_mcp_injection_finding
142
+ line: 2159
143
+ end_line: 2218
144
+ loc: 60
145
+ sha256: a311d21bbdb7b9e81b46327f4556313e21200d7ed5cf2cee7383d15137fda530
146
+ - file: .claude/hooks/_lib/audit_hmac.py
147
+ function: get_or_create_key
148
+ line: 247
149
+ end_line: 320
150
+ loc: 74
151
+ sha256: f6ffebab4d7563d1b3e9dd8ee9f116090abdd0ec88fde0666cf64dcc78b754ba
152
+ - file: .claude/hooks/_lib/audit_hmac.py
153
+ function: verify_chain
154
+ line: 714
155
+ end_line: 932
156
+ loc: 219
157
+ sha256: 547a62f5f038cb4d1f4b66549c8259654824a9d2e80efb065e39437a79d72407
158
+ - file: .claude/hooks/_lib/audit_rotation.py
159
+ function: rotate_if_needed
160
+ line: 47
161
+ end_line: 101
162
+ loc: 55
163
+ sha256: c10114b67e6004e53e5739bb2ad3e746a65f0e17a6acebba4197f75cc0529787
164
+ - file: .claude/hooks/_lib/gpg_verify.py
165
+ function: load_allowlist
166
+ line: 99
167
+ end_line: 157
168
+ loc: 59
169
+ sha256: ffa4c6eb0f16b38a7a85a167cdb639299fd3a3af5d39275a9a27a867fb56a5d7
170
+ - file: .claude/hooks/_lib/gpg_verify.py
171
+ function: verify_detached
172
+ line: 215
173
+ end_line: 333
174
+ loc: 119
175
+ sha256: 4043d570c43449a65bc2584ec11fb1f891a398fe91c8fae5b53721575de3b248
176
+ - file: .claude/hooks/_lib/injection_patterns.py
177
+ function: scan_harness_mimicry
178
+ line: 161
179
+ end_line: 212
180
+ loc: 52
181
+ sha256: feffc184fa98593704af0bad2b01a591cf32de1fbe6abc23f083a8aa2bca8096
182
+ - file: .claude/hooks/_lib/mcp_injection_scan.py
183
+ function: scan
184
+ line: 128
185
+ end_line: 189
186
+ loc: 62
187
+ sha256: 41819c645db9416010a8110c3dd667c72367a4cdc6060b4fabd78e741544bb6f
188
+ - file: .claude/hooks/_lib/memory_shared.py
189
+ function: put_pattern
190
+ line: 267
191
+ end_line: 346
192
+ loc: 80
193
+ sha256: 419fb055eeac8760a149a5fb019baf0487d9fe97119d97c1927f8b1603b79cee
194
+ - file: .claude/hooks/_lib/memory_shared.py
195
+ function: query
196
+ line: 360
197
+ end_line: 452
198
+ loc: 93
199
+ sha256: 4b6fb8341cab7ff82af0731a2adb71534e8ddac4933d6d57fa972e9a975ed10e
200
+ - file: .claude/hooks/_lib/memory_shared.py
201
+ function: evict
202
+ line: 466
203
+ end_line: 526
204
+ loc: 61
205
+ sha256: e17f513fb76ad7d481aae90daed88b25966126977fe5bb10fdd3ba0a5089192d
206
+ - file: .claude/hooks/_lib/metrics.py
207
+ function: compute
208
+ line: 32
209
+ end_line: 161
210
+ loc: 130
211
+ sha256: 610e9afe65b071eded2f360b91dd223b193d18491ca35aace19ff7276a95b60a
212
+ - file: .claude/hooks/_lib/metrics.py
213
+ function: health_from_snapshot
214
+ line: 164
215
+ end_line: 235
216
+ loc: 72
217
+ sha256: a41ca92293509790e1f2362348899de7f688b3bc6f1a8ef5675f80c670f0a0ed
218
+ - file: .claude/hooks/_lib/otel_emit.py
219
+ function: validate_endpoint
220
+ line: 143
221
+ end_line: 194
222
+ loc: 52
223
+ sha256: d8b89822b9827557a20d33099c2e1634204ba7829195749c4e4e0bafaf6b9ebd
224
+ - file: .claude/hooks/_lib/otel_emit.py
225
+ function: export_events
226
+ line: 509
227
+ end_line: 575
228
+ loc: 67
229
+ sha256: 68b15641685548a811386b5ececc27cfd2702d5969c054c6405966cd8af39210
230
+ - file: .claude/hooks/_lib/output_scan.py
231
+ function: scan_homoglyph
232
+ line: 168
233
+ end_line: 246
234
+ loc: 79
235
+ sha256: 2a6af8b8a900f1dd6c5894e24b61bd90605e700c38fca91b9cea81e49d95b1c0
236
+ - file: .claude/hooks/_lib/output_scan.py
237
+ function: scan_telemetry
238
+ line: 292
239
+ end_line: 351
240
+ loc: 60
241
+ sha256: 88b95545049b7faa7c3af9953c4fe9e1c5f0f47909c6601f4daab9d26ba2144e
242
+ - file: .claude/hooks/_lib/output_scan.py
243
+ function: scan_nfkc_homoglyph
244
+ line: 691
245
+ end_line: 757
246
+ loc: 67
247
+ sha256: dfae606e2076522b213b2e4b75d10625ef1e0cc253511671156170ae1b2362d1
248
+ - file: .claude/hooks/_lib/output_scan.py
249
+ function: scan
250
+ line: 782
251
+ end_line: 839
252
+ loc: 58
253
+ sha256: 4167f8a2ef7a9fb5a89d2c4fec16e406f36ed4024060b05ad272f76406eee8b7
254
+ - file: .claude/hooks/_lib/pii_patterns.py
255
+ function: scan
256
+ line: 564
257
+ end_line: 662
258
+ loc: 99
259
+ sha256: 124e586acc9ec56a9ee2e156054ba7abcf29861622d5f5f3818561fe32509733
260
+ - file: .claude/hooks/_lib/plan_frontmatter.py
261
+ function: parse_frontmatter
262
+ line: 79
263
+ end_line: 153
264
+ loc: 75
265
+ sha256: 119359642187abfe59c2611926f142ddcb453d3021abaa779144868491641163
266
+ - file: .claude/hooks/_lib/policy.py
267
+ function: _compile_predicate
268
+ line: 858
269
+ end_line: 997
270
+ loc: 140
271
+ sha256: f258735e5b9d62761afafe3e18974758b3463e35269f52e3e2517c985c4cf3ab
272
+ - file: .claude/hooks/_lib/policy.py
273
+ function: _evaluate
274
+ line: 1010
275
+ end_line: 1067
276
+ loc: 58
277
+ sha256: e3b29a823f420434fdacdba3aedc11947f0f2ca9e36abdf0e3099c8cab9c5e93
278
+ - file: .claude/hooks/_lib/policy.py
279
+ function: _load_read_raw
280
+ line: 1293
281
+ end_line: 1343
282
+ loc: 51
283
+ sha256: 5e159f95a9ade8c263191d17fb70968e67ca3c7de6e191dd4b04b408dee479ae
284
+ - file: .claude/hooks/_lib/policy.py
285
+ function: load
286
+ line: 1371
287
+ end_line: 1519
288
+ loc: 149
289
+ sha256: 10ec67baffcd705941c575c8e2ec3df6684ad5b4f90c0d9e4c5db145697fc471
290
+ - file: .claude/hooks/_lib/policy.py
291
+ function: _parse_block_mapping
292
+ line: 223
293
+ end_line: 285
294
+ loc: 63
295
+ sha256: 9d35e3cbe33d1355f1d0476a1685b540bcbe7d5535c9513004464bc8de2b997d
296
+ - file: .claude/hooks/_lib/policy.py
297
+ function: _parse_block_sequence
298
+ line: 287
299
+ end_line: 343
300
+ loc: 57
301
+ sha256: 63c0f1c9b7832cdf9b02b5d313bbb830ccadc6097e3d74c96cbfe0b0639ed4b5
302
+ - file: .claude/hooks/_lib/policy.py
303
+ function: _parse_inline_value
304
+ line: 381
305
+ end_line: 433
306
+ loc: 53
307
+ sha256: bb5cac504cd2d75dd8642552c73bffc449a4a88754a60cbfab0a9054199cc6ce
308
+ - file: .claude/hooks/_lib/policy.py
309
+ function: _parse_flow_mapping
310
+ line: 452
311
+ end_line: 544
312
+ loc: 93
313
+ sha256: d7dc26a9b2edcb18000e296dc17aad657379d123cc20fe3e8aaa71851a730f20
314
+ - file: .claude/hooks/_lib/policy.py
315
+ function: _parse_flow_sequence
316
+ line: 546
317
+ end_line: 607
318
+ loc: 62
319
+ sha256: ac92565500d594e0c4cf0ad9ef34cc0f5cb903072aab744d57fbf64b4e67523a
320
+ - file: .claude/hooks/_lib/policy.py
321
+ function: _consume_double_quoted
322
+ line: 648
323
+ end_line: 714
324
+ loc: 67
325
+ sha256: 7be5ae5e4633d03773dfe44d737056fd0ef06c40a0484b7d7bf11fc98ce2cda5
326
+ - file: .claude/hooks/_lib/policy_preprocessors.py
327
+ function: bash_safety_preprocess
328
+ line: 175
329
+ end_line: 230
330
+ loc: 56
331
+ sha256: 340d67e8c1e254f06e8fa5d6e22bf0a333dfe037093c5cc3946811b37872200a
332
+ - file: .claude/hooks/_lib/policy_preprocessors.py
333
+ function: plan_edit_preprocess
334
+ line: 296
335
+ end_line: 456
336
+ loc: 161
337
+ sha256: 08d5215ea7293ca36bd9697a9897da698b230d426586936224f51d3fc7f1dd93
338
+ - file: .claude/hooks/_lib/rag_bridge.py
339
+ function: _scan_chunks
340
+ line: 188
341
+ end_line: 242
342
+ loc: 55
343
+ sha256: 8ac2bcdddd2ee73bc2b3eb4d4799dc48613827b884d4d0a4370adcaba6ec59ed
344
+ - file: .claude/hooks/_lib/rag_bridge.py
345
+ function: _recv_response
346
+ line: 261
347
+ end_line: 316
348
+ loc: 56
349
+ sha256: 79b611d68fd6a17203431cd7b7b627b5e6a262b12dd4f01078fa962c546bb06a
350
+ - file: .claude/hooks/_lib/rag_bridge.py
351
+ function: _rpc_call
352
+ line: 319
353
+ end_line: 402
354
+ loc: 84
355
+ sha256: 586adefa0cbe3847f740b0c814e890227fb941222f83c907b725ca66bbbf16d7
356
+ - file: .claude/hooks/_lib/scratchpad_lib.py
357
+ function: resolve_plan_id
358
+ line: 103
359
+ end_line: 165
360
+ loc: 63
361
+ sha256: 5abf8c27be940c5ccd742e412af8b1b1f3c4fbcb00059d1f5ba566f64191b3f9
362
+ - file: .claude/hooks/_lib/secret_patterns.py
363
+ function: scan
364
+ line: 418
365
+ end_line: 470
366
+ loc: 53
367
+ sha256: 2373008656a6c509de6bbd8024adc192ea643afe38587273a6d83a776d97f517
368
+ - file: .claude/hooks/_lib/spec_context_sanitizer.py
369
+ function: sanitize
370
+ line: 103
371
+ end_line: 179
372
+ loc: 77
373
+ sha256: c780da7b0ce6e3ee78313d99fcbc1c62c9d0437ba4846ca346bcf6c9dbef06f7
374
+ - file: .claude/hooks/_lib/state_store.py
375
+ function: set
376
+ line: 272
377
+ end_line: 341
378
+ loc: 70
379
+ sha256: 0e21127d2857fd6f6e874374bdcb4899bbdc14e4f0b0608761bcc87b2303fff2
380
+ - file: .claude/hooks/audit_log.py
381
+ function: build_entry
382
+ line: 212
383
+ end_line: 300
384
+ loc: 89
385
+ sha256: a08d37b91d6cd9fdef7a4e646f6cd74d2c44fabb2bf72a93f216272811e20375
386
+ - file: .claude/hooks/audit_log.py
387
+ function: _extract_model
388
+ line: 389
389
+ end_line: 440
390
+ loc: 52
391
+ sha256: da7efabb7f058b5b6512127dd686c5a2386cc7b6c5310bc11ed81370f992f010
392
+ - file: .claude/hooks/audit_log.py
393
+ function: append_entry
394
+ line: 720
395
+ end_line: 809
396
+ loc: 90
397
+ sha256: a6fcb7cd226b8ac4b2db9034b572c184158bfc209b517195f3623f9e76b141b0
398
+ - file: .claude/hooks/audit_log.py
399
+ function: main
400
+ line: 817
401
+ end_line: 867
402
+ loc: 51
403
+ sha256: 515c142ed7daf744d5e920ff15d56e54389472b7d6f40c868d7f25827d1e1b16
404
+ - file: .claude/hooks/check_agent_spawn.py
405
+ function: _skill_ref_resolve_path
406
+ line: 286
407
+ end_line: 339
408
+ loc: 54
409
+ sha256: da1001b3341f7c4f2fd4f41ad309b54395e048e171b29dde5dd1b0a14367954c
410
+ - file: .claude/hooks/check_agent_spawn.py
411
+ function: _skill_ref_read_bounded
412
+ line: 357
413
+ end_line: 409
414
+ loc: 53
415
+ sha256: 90f8f216613f1fa9113ac0f76315525f1e77bbb5e41206e61761e4822fc2fca5
416
+ - file: .claude/hooks/check_agent_spawn.py
417
+ function: decide
418
+ line: 651
419
+ end_line: 793
420
+ loc: 143
421
+ sha256: 46ab3e7875fdeacabfc8b15b86575a29b5259d9ccb8eb4746ba4efb3205c72ba
422
+ - file: .claude/hooks/check_agent_spawn.py
423
+ function: main
424
+ line: 841
425
+ end_line: 899
426
+ loc: 59
427
+ sha256: 82b9dd79b6a9e323d0b50d9d36af3fe6c3b0eb612463c0731d50eaab2e1d0c15
428
+ - file: .claude/hooks/check_arbitration_kernel.py
429
+ function: decide
430
+ line: 192
431
+ end_line: 248
432
+ loc: 57
433
+ sha256: a3db1b5373ef7744d1249c704447dac6d644cab05f5066418c025695178e7cb9
434
+ - file: .claude/hooks/check_arbitration_kernel.py
435
+ function: main
436
+ line: 290
437
+ end_line: 390
438
+ loc: 101
439
+ sha256: 7ce7610aef30c77ac3ba42d6452d8abf643238c854c26556f4e42e21bb4a92b5
440
+ - file: .claude/hooks/check_bash_safety.py
441
+ function: _normalize_command_tokens
442
+ line: 86
443
+ end_line: 146
444
+ loc: 61
445
+ sha256: 016c582b5b9c3cfe2bed2d3ab40d7524ef03881d78f1a1ca7d4346d1db232ca8
446
+ - file: .claude/hooks/check_bash_safety.py
447
+ function: _check_rm_rf
448
+ line: 208
449
+ end_line: 267
450
+ loc: 60
451
+ sha256: 7e2f445b28af4d7c0d721dca58f81d12da2c2a3607f39532fcfc9e5a19c84e32
452
+ - file: .claude/hooks/check_budget.py
453
+ function: _plan_tokens_total
454
+ line: 162
455
+ end_line: 214
456
+ loc: 53
457
+ sha256: c96921563c5383462bd3d3c5be7fcd3612d852480eaf89233a7b83025b3d53a0
458
+ - file: .claude/hooks/check_budget.py
459
+ function: decide
460
+ line: 313
461
+ end_line: 397
462
+ loc: 85
463
+ sha256: 8af90140d1c33b1cb779ee4427b06d8e48c30eb11b97925dd0dbda8ff9919a90
464
+ - file: .claude/hooks/check_budget.py
465
+ function: main
466
+ line: 451
467
+ end_line: 523
468
+ loc: 73
469
+ sha256: 9faa55e79c0af625d82a06989f7ee81dda47f1ae8e503c4c31749e0e67890ac7
470
+ - file: .claude/hooks/check_canonical_edit.py
471
+ function: _sentinel_grants_path
472
+ line: 292
473
+ end_line: 433
474
+ loc: 142
475
+ sha256: 6cd7f32c767d755b241693e519f9e40193c91228afa0647a873f386f13b92c9a
476
+ - file: .claude/hooks/check_canonical_edit.py
477
+ function: main
478
+ line: 496
479
+ end_line: 565
480
+ loc: 70
481
+ sha256: bbcd7240a2ecbcbdd30abd80c46f6c11bf07d5d7e926bea775091bc8eacd5a4c
482
+ - file: .claude/hooks/check_confidence_gate.py
483
+ function: _run_gate_cli
484
+ line: 120
485
+ end_line: 171
486
+ loc: 52
487
+ sha256: 0a058098a586b0ed6815bf59c5576fa4f0d76843d9ece5a85e40e384eb4fd5c0
488
+ - file: .claude/hooks/check_confidence_gate.py
489
+ function: main
490
+ line: 284
491
+ end_line: 344
492
+ loc: 61
493
+ sha256: 4feb2cf3410d8f48677462ce9ea0085d8b1110518e60906134b21d6cb228255d
494
+ - file: .claude/hooks/check_fluency_nudge.py
495
+ function: main
496
+ line: 198
497
+ end_line: 257
498
+ loc: 60
499
+ sha256: b38b01100c78bf8067f86f2dedd2b95a0d921be5820baee9a2ca2c9670e4a914
500
+ - file: .claude/hooks/check_mcp_response.py
501
+ function: main
502
+ line: 143
503
+ end_line: 229
504
+ loc: 87
505
+ sha256: d6d76b8e302ffb893140e7918817a6907bbad81f5b57af19531f054651f88a16
506
+ - file: .claude/hooks/check_output_safety.py
507
+ function: main
508
+ line: 148
509
+ end_line: 229
510
+ loc: 82
511
+ sha256: 25d0eced2a2df4e73756428fe6e01e6eee9f40c701ffbf8be223ee894c0b4105
512
+ - file: .claude/hooks/check_output_secrets.py
513
+ function: main
514
+ line: 138
515
+ end_line: 205
516
+ loc: 68
517
+ sha256: 86c6acd8620b7f629f4abb7cd557bae99f05d62b800af1b545f5108522c0c11c
518
+ - file: .claude/hooks/check_plan_edit.py
519
+ function: main
520
+ line: 475
521
+ end_line: 540
522
+ loc: 66
523
+ sha256: f5347734628e9ba314cb16d674afc53e5f1d938d25b9cab48122aa64c50ac6dd
524
+ - file: .claude/hooks/check_read_injection.py
525
+ function: main
526
+ line: 127
527
+ end_line: 246
528
+ loc: 120
529
+ sha256: 4a9ce8ee3c73a814e50e448994456b2709cfc8c27dd5b1719f7afc26a953e3ab
530
+ - file: .claude/hooks/check_skill_bootstrap_post.py
531
+ function: _recent_bootstrap_event
532
+ line: 118
533
+ end_line: 177
534
+ loc: 60
535
+ sha256: 3813dc4ffb6004b30bfa819d5f25372dfb43e47b74830fcc4421cb6470f98dc1
536
+ - file: .claude/hooks/check_skill_bootstrap_post.py
537
+ function: decide
538
+ line: 214
539
+ end_line: 282
540
+ loc: 69
541
+ sha256: e6d39b1b1532379b582b8449319e89ab2c52761348f73c8a3da078bca628af16
542
+ - file: .claude/hooks/check_skill_patch_sentinel.py
543
+ function: _bootstrap_bypass_allows
544
+ line: 179
545
+ end_line: 260
546
+ loc: 82
547
+ sha256: f1ce1957f5eb40e7e986d839ae0c3f96f4b3abb9dea30afa883177fabf924c65
548
+ - file: .claude/hooks/check_skill_patch_sentinel.py
549
+ function: decide
550
+ line: 265
551
+ end_line: 336
552
+ loc: 72
553
+ sha256: 7cb9d836fb0af44edff048118b8165aa7bcb5331d24bbba7619ae7d234330c6d
554
+ - file: .claude/hooks/check_skill_patch_sentinel.py
555
+ function: main
556
+ line: 354
557
+ end_line: 407
558
+ loc: 54
559
+ sha256: 153139b357f622f34b109f5ffcb673f6b7cee61ddf8bb9520eb4c9bd08452a7f
560
+ - file: .claude/hooks/check_skill_reference_read.py
561
+ function: _reconcile_read
562
+ line: 316
563
+ end_line: 427
564
+ loc: 112
565
+ sha256: 64a35e134ba2a3b8cb4e78f5916adb4cace459e461b39682b39f9aface114562
566
+ - file: .claude/hooks/check_webfetch_injection.py
567
+ function: main
568
+ line: 171
569
+ end_line: 268
570
+ loc: 98
571
+ sha256: d19dae842d6751a0d562d1674f715206e6b8df0dbf7ee874d89b2a99efd61adc
572
+ - file: .claude/hooks/emit_architect_outcome.py
573
+ function: main
574
+ line: 145
575
+ end_line: 214
576
+ loc: 70
577
+ sha256: 3fa2cf6d44e23927f6d3ef36bb756e4e8aaf9a04f39b1fef1d35bd8735cf4ad1
578
+ - file: .claude/hooks/tests/mutations/engine_mutations/mutation_11_compiler_missing_predicate_tolerated.py
579
+ function: apply
580
+ line: 24
581
+ end_line: 79
582
+ loc: 56
583
+ sha256: da4417683ef2df5abf5735339ba7d3360eab184dd5e034377737eab0905ea76c
584
+ - file: .claude/hooks/tests/test_audit_emit.py
585
+ function: test_known_actions_set_contract
586
+ line: 201
587
+ end_line: 324
588
+ loc: 124
589
+ sha256: e6058aea96138bf2541189eb7aebdeadc9febca059e9c250e4950c13ef7394e4
590
+ - file: .claude/hooks/tests/test_audit_tokens_content_ban.py
591
+ function: test_chain_valid_with_all_three_new_actions
592
+ line: 381
593
+ end_line: 437
594
+ loc: 57
595
+ sha256: beba034103324d17e29649116f1518ecb74aac34795b5072d1c51670a190c3db
596
+ - file: .claude/hooks/tests/test_byte_identity_harness.py
597
+ function: _run_py_bash_path
598
+ line: 272
599
+ end_line: 327
600
+ loc: 56
601
+ sha256: a62f6123b636bcdeae713a98f06163e3960cc91eacc220170af4f9f6cdadbf3e
602
+ - file: .claude/hooks/tests/test_byte_identity_harness.py
603
+ function: _run_py_plan_path
604
+ line: 330
605
+ end_line: 429
606
+ loc: 100
607
+ sha256: 3b527ad170f3f4add7c1f0181c25d8ff6ec8aa42031115e24f270ec213a0b5b6
608
+ - file: .claude/hooks/tests/test_memory_shared.py
609
+ function: test_30_same_topic_concurrent_writes_no_corruption
610
+ line: 284
611
+ end_line: 336
612
+ loc: 53
613
+ sha256: ab2611ac6db9aa15497fac09337dfa208908122e22df980f9e8a884f634a9b37
614
+ - file: .claude/hooks/tests/test_otel_bounded_exporter.py
615
+ function: test_audit_jsonl_integrity_during_exporter_failure
616
+ line: 341
617
+ end_line: 411
618
+ loc: 71
619
+ sha256: afc46ce64f636d446c50278300b75f012c2720b92f9a0a8b209c6c628c8af73b
620
+ - file: .claude/hooks/tests/test_otel_queue.py
621
+ function: test_concurrent_producers_and_drainers
622
+ line: 224
623
+ end_line: 281
624
+ loc: 58
625
+ sha256: 083b365c642545db7e0f76b43334378da1ad3ed1e9d919a0e444f639594ef594
626
+ - file: .claude/plans/PLAN-044/audit-v2/staged/check_canonical_edit.py
627
+ function: _sentinel_grants_path
628
+ line: 292
629
+ end_line: 410
630
+ loc: 119
631
+ sha256: a75c539bceba63416f9b822eed79e0fc92e3e8b51ffc4a109c71adc7251a1154
632
+ - file: .claude/plans/PLAN-044/audit-v2/staged/check_canonical_edit.py
633
+ function: main
634
+ line: 473
635
+ end_line: 542
636
+ loc: 70
637
+ sha256: bbcd7240a2ecbcbdd30abd80c46f6c11bf07d5d7e926bea775091bc8eacd5a4c
638
+ - file: .claude/plans/PLAN-045/kernel-batch-wave-1.py
639
+ function: main
640
+ line: 522
641
+ end_line: 578
642
+ loc: 57
643
+ sha256: 2ecf81a89fffd183a74ccf921915bd78c6e1b1745c3790c94331c58922acb051
644
+ - file: .claude/plans/PLAN-045/kernel-batch-wave-2.py
645
+ function: apply_string_edits
646
+ line: 478
647
+ end_line: 535
648
+ loc: 58
649
+ sha256: 8da4ed95231817d163ef3802533f907ee35c896a8d3e4a4f84bfda29504951d6
650
+ - file: .claude/plans/PLAN-045/kernel-batch-wave-5.py
651
+ function: apply_patch
652
+ line: 111
653
+ end_line: 169
654
+ loc: 59
655
+ sha256: 0ba86188437c206f5982846749761041f4faedcd24cad164d76df399eb900f70
656
+ - file: .claude/plans/PLAN-045/kernel-batch-wave-6-agents-sha.py
657
+ function: _refresh_one
658
+ line: 73
659
+ end_line: 123
660
+ loc: 51
661
+ sha256: 5bdc1cd8bfb381bf776d4c380cc5b0c8d4ec1ab5fd8797315b4b4adf9afe64b9
662
+ - file: .claude/plans/PLAN-048/collect-baseline.py
663
+ function: aggregate_audit_events
664
+ line: 89
665
+ end_line: 174
666
+ loc: 86
667
+ sha256: a3393a911a6e653a1f8efc703dc288816bce981689f1fec372cb818e0f6b1b5f
668
+ - file: .claude/plans/PLAN-048/collect-baseline.py
669
+ function: build_parser
670
+ line: 259
671
+ end_line: 326
672
+ loc: 68
673
+ sha256: 1bc3f160a0319592a611343bbefc6a30171f0c8c58923259c23d9f47b32d1e38
674
+ - file: .claude/plans/PLAN-050/kernel-batch-phase-1.py
675
+ function: main
676
+ line: 109
677
+ end_line: 171
678
+ loc: 63
679
+ sha256: 189eb268166fc718139a1e73242d5d9b7422e6f941c4ab80769c5c510e9cf14d
680
+ - file: .claude/plans/PLAN-050/kernel-batch-phase-1b.py
681
+ function: apply_patch
682
+ line: 351
683
+ end_line: 465
684
+ loc: 115
685
+ sha256: b2a8bbc494d7d76ee534929fb2bb959f6a68c8e799b84e8bba92a110a017a214
686
+ - file: .claude/plans/PLAN-050/kernel-batch-phase-1c.py
687
+ function: stage3_generate
688
+ line: 243
689
+ end_line: 324
690
+ loc: 82
691
+ sha256: 28c6912106e991979d1e758cff3bd7ed9000ebbd5b05cbd27f759cf6b45f588d
692
+ - file: .claude/plans/PLAN-050/retrofit-adrs.py
693
+ function: main
694
+ line: 104
695
+ end_line: 154
696
+ loc: 51
697
+ sha256: cae95cc2ca4a5fd50425ade3b8c93715502e9fecd3b926873e5fc4712fc03dbb
698
+ - file: .claude/rag/_index_core.py
699
+ function: walk_repo
700
+ line: 118
701
+ end_line: 168
702
+ loc: 51
703
+ sha256: f6d0f6c9413a6702e036b1cad7c8f0fe850007aeda080089522b1377fb11392a
704
+ - file: .claude/scripts/adopter-metrics.py
705
+ function: compute_metrics
706
+ line: 248
707
+ end_line: 382
708
+ loc: 135
709
+ sha256: 6c75ec3804119cdea0ea66045ebf2a5eccc2a090fc4237dcadcc5a6738a9ed80
710
+ - file: .claude/scripts/adopter-metrics.py
711
+ function: render_markdown
712
+ line: 408
713
+ end_line: 479
714
+ loc: 72
715
+ sha256: 88f28529dba41fb5081839acec1bf325099bb14180c0f985251ea68670d71462
716
+ - file: .claude/scripts/adopter-metrics.py
717
+ function: build_parser
718
+ line: 510
719
+ end_line: 570
720
+ loc: 61
721
+ sha256: 61cd2ec6eabc07a32cdd5c6447e64f087565102e79254af054f7ad252e39b6ab
722
+ - file: .claude/scripts/adopter-metrics.py
723
+ function: main
724
+ line: 592
725
+ end_line: 708
726
+ loc: 117
727
+ sha256: 0c4c445b1bc715b46d900dac3cc872b580f82ea9ab6b572453c8a3e8d7c5898c
728
+ - file: .claude/scripts/architect-bundle-validate.py
729
+ function: validate
730
+ line: 134
731
+ end_line: 191
732
+ loc: 58
733
+ sha256: e08a7eca6d16a84350729426dfdb415dc4edcdcdccbbf083af9f7d34f5d6953d
734
+ - file: .claude/scripts/audit-dashboard.py
735
+ function: _tail_lines_reverse
736
+ line: 109
737
+ end_line: 184
738
+ loc: 76
739
+ sha256: e053ef4a9315909abc027882360aa6f0e1a133a66e9cee900ccbca01aad1d9a6
740
+ - file: .claude/scripts/audit-dashboard.py
741
+ function: aggregate_tokens
742
+ line: 472
743
+ end_line: 523
744
+ loc: 52
745
+ sha256: fe0a568fbb16826162aa490ce0850ce6a461338007349e068c51a3e5bd27a03d
746
+ - file: .claude/scripts/audit-dashboard.py
747
+ function: aggregate_reflexion
748
+ line: 526
749
+ end_line: 584
750
+ loc: 59
751
+ sha256: 4dc0a3c9097bdc12c9cf05b033c5568df5dd8bbb9d91f20cc3fb3cf3c1f566d4
752
+ - file: .claude/scripts/audit-dashboard.py
753
+ function: aggregate_pruning
754
+ line: 587
755
+ end_line: 641
756
+ loc: 55
757
+ sha256: 84ac81b2ea60a1a6ad732167db8181d649a0497f849aa42c6a439db68078c788
758
+ - file: .claude/scripts/audit-dashboard.py
759
+ function: aggregate_swarm
760
+ line: 860
761
+ end_line: 921
762
+ loc: 62
763
+ sha256: 1841febdd46807934dc01afd2c34b874075cd163e0729820c98e2b474ea8cf89
764
+ - file: .claude/scripts/audit-dashboard.py
765
+ function: _sse_tail_loop
766
+ line: 1062
767
+ end_line: 1120
768
+ loc: 59
769
+ sha256: d0fd4601e007b842a96074b4ae14df19f63b7709ccd771e11092ba23de8ed42d
770
+ - file: .claude/scripts/audit-dashboard.py
771
+ function: _make_handler
772
+ line: 1123
773
+ end_line: 1260
774
+ loc: 138
775
+ sha256: e8338e9775634dcf454f411f507d194ad56eee959851213c3d7bbd3150d38cb6
776
+ - file: .claude/scripts/audit-query.py
777
+ function: cmd_lessons_effectiveness
778
+ line: 625
779
+ end_line: 742
780
+ loc: 118
781
+ sha256: ce5f3d5913b6d652fce12b5358fc558add9f6ac5077db2a0c0674d3a3e9f1727
782
+ - file: .claude/scripts/audit-query.py
783
+ function: cmd_spawn_stats
784
+ line: 745
785
+ end_line: 813
786
+ loc: 69
787
+ sha256: 41913569e10a5806449c4bbf7da54b14adacbfdd348691090c111297bba50130
788
+ - file: .claude/scripts/audit-query.py
789
+ function: cmd_weekly_summary
790
+ line: 934
791
+ end_line: 999
792
+ loc: 66
793
+ sha256: cb491df1918d383c6428a9631cdfa9dccea0cd3f8016436bab75f6d2bf0f7411
794
+ - file: .claude/scripts/audit-query.py
795
+ function: cmd_architect_outcomes
796
+ line: 1002
797
+ end_line: 1087
798
+ loc: 86
799
+ sha256: 017970b4a30cdafa1c81f3cff578944f04f4c0165c04ae45cdf7a4147271f1ec
800
+ - file: .claude/scripts/audit-query.py
801
+ function: cmd_prune_restore_ratio
802
+ line: 1090
803
+ end_line: 1148
804
+ loc: 59
805
+ sha256: b2884daab0bf405a6886daeb81d91ba47b3f6486d443b0b27eaad10bfed10663
806
+ - file: .claude/scripts/audit-query.py
807
+ function: cmd_claims
808
+ line: 1151
809
+ end_line: 1208
810
+ loc: 58
811
+ sha256: 80888c365097348661b3675d74d43b34709dcb1c612c0b1296c15e76330629a7
812
+ - file: .claude/scripts/audit-query.py
813
+ function: cmd_metrics
814
+ line: 1211
815
+ end_line: 1262
816
+ loc: 52
817
+ sha256: 921aa788a30ae79b18f5c4c86ee3dd3d9ab964be145eb655ba7c62c42dff8dc4
818
+ - file: .claude/scripts/audit-query.py
819
+ function: cmd_tokens
820
+ line: 1265
821
+ end_line: 1325
822
+ loc: 61
823
+ sha256: 0ea69a9de268929d5d1ef01fa432775ea6e1d0608aa6e90ce48807a90e3f0468
824
+ - file: .claude/scripts/audit-query.py
825
+ function: cmd_health
826
+ line: 1328
827
+ end_line: 1394
828
+ loc: 67
829
+ sha256: 72cd088a4c004217a1b2274a1b4f87ee60ffadc1aeb8dd30253e1b96771cf4db
830
+ - file: .claude/scripts/audit-query.py
831
+ function: _add_sprint8_9_subparsers
832
+ line: 1619
833
+ end_line: 1684
834
+ loc: 66
835
+ sha256: 5693ad38e17bae5b3158048c29aa170f0d6ee529d54000921b57a548ea37a8fe
836
+ - file: .claude/scripts/audit-query.py
837
+ function: main
838
+ line: 1765
839
+ end_line: 1863
840
+ loc: 99
841
+ sha256: 26377d512995dfd52be4eeea3091d5dd02ea9544c41a618f4447267ebdf34818
842
+ - file: .claude/scripts/audit-telemetry.py
843
+ function: collect_telemetry
844
+ line: 146
845
+ end_line: 264
846
+ loc: 119
847
+ sha256: 1cb0318be6c787e3be0ac0c30efdcf05bb3fe87e53b4a32906d17e5453373c19
848
+ - file: .claude/scripts/audit-tokens.py
849
+ function: render_markdown
850
+ line: 154
851
+ end_line: 206
852
+ loc: 53
853
+ sha256: b5212a525f12936f4de60d115d5e43653a73730f730233e8fca64c8cff730fe4
854
+ - file: .claude/scripts/audit-tokens.py
855
+ function: build_parser
856
+ line: 236
857
+ end_line: 302
858
+ loc: 67
859
+ sha256: b49d7c08974cf400550e54f0aa8b4780cdc1a49414d4097a5f4ce96600ee5798
860
+ - file: .claude/scripts/audit-tokens.py
861
+ function: main
862
+ line: 305
863
+ end_line: 360
864
+ loc: 56
865
+ sha256: 5c62b0ae4a9a959d92d7791babd6b573776a5de3f07cdca953cca9060a6e95c0
866
+ - file: .claude/scripts/audit-tokens.py
867
+ function: _emit_stub_event
868
+ line: 363
869
+ end_line: 454
870
+ loc: 92
871
+ sha256: bea2df9238ce3b8b118f9d923301b85f53105f3c54ef797c735e340b1c7641fa
872
+ - file: .claude/scripts/audit-verify-chain.py
873
+ function: verify
874
+ line: 282
875
+ end_line: 351
876
+ loc: 70
877
+ sha256: 759e38b0f3e9f888d4dd4868ae697e9da60b403fac4a8c35340b8301bc781c8d
878
+ - file: .claude/scripts/audit-verify-chain.py
879
+ function: main
880
+ line: 368
881
+ end_line: 441
882
+ loc: 74
883
+ sha256: ca73cd7f57299ab6d720900a00d3fa4fc56984a798d4445cc5ab31c644e3f86c
884
+ - file: .claude/scripts/backup-audit.py
885
+ function: backup_audit
886
+ line: 125
887
+ end_line: 183
888
+ loc: 59
889
+ sha256: bd9d6438017c8fbc36146a478c67bfdf336f16dd957e094e7f437be8064e54cb
890
+ - file: .claude/scripts/backup-audit.py
891
+ function: main
892
+ line: 186
893
+ end_line: 243
894
+ loc: 58
895
+ sha256: 759c0dd320392d836671a2d299562fd0af71f8792ef210311b0e660070d0e51b
896
+ - file: .claude/scripts/benchmark-fallback-scorer.py
897
+ function: score_rubric
898
+ line: 98
899
+ end_line: 171
900
+ loc: 74
901
+ sha256: c5dc318f96f0641ea80af3d9251520ba2cdf5d30f80b9816433201cabce5d591
902
+ - file: .claude/scripts/benchmark-judge.py
903
+ function: main
904
+ line: 464
905
+ end_line: 534
906
+ loc: 71
907
+ sha256: c41e82e54e7d31e3c88b211e7a7b1dbe4995cdf997d14c794b7a20e899de2878
908
+ - file: .claude/scripts/budget-summary.py
909
+ function: load_pricing
910
+ line: 116
911
+ end_line: 176
912
+ loc: 61
913
+ sha256: 76c64259421fbbf5cba4efb9c5e677485f15128d466d0aa75b58f0f927c79afd
914
+ - file: .claude/scripts/budget-summary.py
915
+ function: rollup
916
+ line: 221
917
+ end_line: 329
918
+ loc: 109
919
+ sha256: 1493224270cc6be9f6030a4646be088eca418c866230caed32f99b63dcc9bbfd
920
+ - file: .claude/scripts/ceo-cost.py
921
+ function: aggregate
922
+ line: 265
923
+ end_line: 360
924
+ loc: 96
925
+ sha256: 935fea4365710326b80649d147e5c7aabded2d1ea940852fd2e7f812c02be599
926
+ - file: .claude/scripts/ceo-cost.py
927
+ function: render_text
928
+ line: 380
929
+ end_line: 467
930
+ loc: 88
931
+ sha256: f36557cc7083a993e9a2d06bac5852df471a4781680074f186bcd923675dbc47
932
+ - file: .claude/scripts/ceo-cost.py
933
+ function: tail_entries
934
+ line: 828
935
+ end_line: 902
936
+ loc: 75
937
+ sha256: 000191a7969975d002b20064d6b19344a29769fb969c78fde678a50706a6bd17
938
+ - file: .claude/scripts/ceo-cost.py
939
+ function: run_stream
940
+ line: 905
941
+ end_line: 961
942
+ loc: 57
943
+ sha256: 2d359f6f65b2f7d11ead000ad15200aa3f15cc5b6641d60763d0aae695591c8f
944
+ - file: .claude/scripts/ceo-cost.py
945
+ function: build_parser
946
+ line: 969
947
+ end_line: 1047
948
+ loc: 79
949
+ sha256: d104bbc5d1cde3bbbb40b43a9f97063ce4d9ee5558935a6669d3d3204d083f80
950
+ - file: .claude/scripts/ceo-cost.py
951
+ function: main
952
+ line: 1050
953
+ end_line: 1106
954
+ loc: 57
955
+ sha256: 0ced631378a976f914a79fdba53d09730bda0a8a4aa52001c99c73613ce8785e
956
+ - file: .claude/scripts/ceo-diagnose.py
957
+ function: probe_dispatch_modes
958
+ line: 204
959
+ end_line: 256
960
+ loc: 53
961
+ sha256: b20ab8ccc8f3cc69e63517fcdc26747a94159653ac19987059141f89a48456b4
962
+ - file: .claude/scripts/ceo-escalation-detector.py
963
+ function: detect_gate_skip
964
+ line: 210
965
+ end_line: 260
966
+ loc: 51
967
+ sha256: c9baff4f5bdc499ecf5c24efb3bc8dcb778cc1b3d77e225fe6e79c5b23211d23
968
+ - file: .claude/scripts/ceo-escalation-detector.py
969
+ function: build_parser
970
+ line: 563
971
+ end_line: 623
972
+ loc: 61
973
+ sha256: 32d2fa4227fc5fe51eb73749b3639f11dcc4340951710d666d65f8ce74ac8d7c
974
+ - file: .claude/scripts/ceo-health.py
975
+ function: check_hook_latency_slo
976
+ line: 343
977
+ end_line: 427
978
+ loc: 85
979
+ sha256: 904e76b9207a201ba1173ad04980e520b6ad737b806445c66bb62ef905a4a071
980
+ - file: .claude/scripts/ceo-health.py
981
+ function: check_quality_profile
982
+ line: 430
983
+ end_line: 486
984
+ loc: 57
985
+ sha256: 539d351d2c8310499dd41820513101310ac9697c99429a3f1ac1d459708f18be
986
+ - file: .claude/scripts/chaos-inject.py
987
+ function: _wrapper_source
988
+ line: 215
989
+ end_line: 291
990
+ loc: 77
991
+ sha256: 15caaec1273952873ce51b5ddb6ddf90272a111ce0c40885f439bc7a3e45b31c
992
+ - file: .claude/scripts/check-action-sha-drift.py
993
+ function: _fetch_tag_sha
994
+ line: 129
995
+ end_line: 179
996
+ loc: 51
997
+ sha256: 7bdafcb85b207e7605781df74d82c5b8cbeeaa6078260e0988873993ac393471
998
+ - file: .claude/scripts/check-action-sha-drift.py
999
+ function: main
1000
+ line: 182
1001
+ end_line: 271
1002
+ loc: 90
1003
+ sha256: e26dbc778b1005f93dc1dfa29fc1815c2ea3adf8bd1230d26434dbb02f3be4f8
1004
+ - file: .claude/scripts/check-adr-chain.py
1005
+ function: parse_adr
1006
+ line: 72
1007
+ end_line: 134
1008
+ loc: 63
1009
+ sha256: b8755162ddd95f14351d1e62922ac963da2c8511ebd14aa1e4d90d9d5e69aee2
1010
+ - file: .claude/scripts/check-adr-chain.py
1011
+ function: validate_chain
1012
+ line: 137
1013
+ end_line: 234
1014
+ loc: 98
1015
+ sha256: c46aa4b1a531ec51d9a736b8d4280758961f5ea2317769164205938072361f2f
1016
+ - file: .claude/scripts/check-audit-registry-coverage.py
1017
+ function: _emit_drift_report
1018
+ line: 581
1019
+ end_line: 656
1020
+ loc: 76
1021
+ sha256: 4879451d36aa08f80dbe48533640bbd24368308835a090bac939544da4d3d5d3
1022
+ - file: .claude/scripts/check-claude-md-claims.py
1023
+ function: run_checks
1024
+ line: 200
1025
+ end_line: 271
1026
+ loc: 72
1027
+ sha256: a2a631cf299d21c1254888ddcabd7ed7197fd7aa61278f298ac8979359f66412
1028
+ - file: .claude/scripts/check-conformance-harness-mapping.py
1029
+ function: parse_mapping
1030
+ line: 121
1031
+ end_line: 171
1032
+ loc: 51
1033
+ sha256: da84d4d9c23e89c5cfcc81981b6e8f8556a6ace5fdfd97ec48cbdde40412f4db
1034
+ - file: .claude/scripts/check-conformance-harness-mapping.py
1035
+ function: run_check
1036
+ line: 294
1037
+ end_line: 408
1038
+ loc: 115
1039
+ sha256: b56e112bd83de4523816fef2e7565fedae410036a862b3d4446cb6bb7a4abd38
1040
+ - file: .claude/scripts/check-conformance-harness-mapping.py
1041
+ function: main
1042
+ line: 447
1043
+ end_line: 499
1044
+ loc: 53
1045
+ sha256: d4b5823abe9e05fbab4d86cf4511f57ee55ea902d331239e5055098422df3c8e
1046
+ - file: .claude/scripts/check-debate-round-lifecycle.py
1047
+ function: validate_plan
1048
+ line: 75
1049
+ end_line: 136
1050
+ loc: 62
1051
+ sha256: 9ff3da046bd6a3cadc45a57e0512305f66fd1bc311bc78a931f0cf7b8cc9c8e6
1052
+ - file: .claude/scripts/check-docs-drift.py
1053
+ function: _disk_truth
1054
+ line: 56
1055
+ end_line: 116
1056
+ loc: 61
1057
+ sha256: 9c67a1166fa7eb885ee46d7861f0c36ad438ec3ce3708bff00fec1f27a94b25a
1058
+ - file: .claude/scripts/check-docs-drift.py
1059
+ function: _find_drifts
1060
+ line: 119
1061
+ end_line: 216
1062
+ loc: 98
1063
+ sha256: 2cc22013e872eea7033d51921a2473838ad85959dbde1449a32ec9e1f562d44a
1064
+ - file: .claude/scripts/check-docs-freshness.py
1065
+ function: iter_scannable_spans
1066
+ line: 123
1067
+ end_line: 183
1068
+ loc: 61
1069
+ sha256: b1e10a4036f58b2a7852032321ed4e11568146d9bead3b4a64df2246518cf978
1070
+ - file: .claude/scripts/check-docs-freshness.py
1071
+ function: main
1072
+ line: 385
1073
+ end_line: 468
1074
+ loc: 84
1075
+ sha256: 5a5a248471940bc8c8b11c70b8d4ff5e4596a31888c42f17f250db07ca74b12c
1076
+ - file: .claude/scripts/check-flip-criteria-drift.py
1077
+ function: parse_plan_dependency_graph
1078
+ line: 135
1079
+ end_line: 220
1080
+ loc: 86
1081
+ sha256: b7304ddf0cebcc1ef13eb188e6c22466ab98d519b04fba360eb48be79fceb938
1082
+ - file: .claude/scripts/check-function-length.py
1083
+ function: _load_grandfather
1084
+ line: 71
1085
+ end_line: 142
1086
+ loc: 72
1087
+ sha256: 2d1ece9587f81f4b065e033ddffc5ed11d8fd968bc5817fdeed8aea2930c9885
1088
+ - file: .claude/scripts/check-function-length.py
1089
+ function: main
1090
+ line: 360
1091
+ end_line: 422
1092
+ loc: 63
1093
+ sha256: 1abd79480d90b832f0ca2de5bdbc62278006bf012678c763ef1e828c2ea261f3
1094
+ - file: .claude/scripts/check-originator-residue.py
1095
+ function: main
1096
+ line: 185
1097
+ end_line: 245
1098
+ loc: 61
1099
+ sha256: fc2986cd88a143580cbac9cb91422ef8bd11aa097b352f02ca6d832ecd5c1a6b
1100
+ - file: .claude/scripts/check-staleness.py
1101
+ function: _check_plans
1102
+ line: 77
1103
+ end_line: 134
1104
+ loc: 58
1105
+ sha256: a7bc0fee72c47c9d44effe14707dc70a511ebb9274dd85a68f10d9bd9253818a
1106
+ - file: .claude/scripts/check-swarm-harness-mapping.py
1107
+ function: check_mapping
1108
+ line: 219
1109
+ end_line: 307
1110
+ loc: 89
1111
+ sha256: 79d36d08a60b4a4b7eb7b0562f10212920cb4291a51737e0e5cd35dbb16faaa5
1112
+ - file: .claude/scripts/check-swarm-harness-mapping.py
1113
+ function: main
1114
+ line: 310
1115
+ end_line: 376
1116
+ loc: 67
1117
+ sha256: 6fdb1a719cd834cfcb6ad3ebb62c9159259e969254edb71ec8bd1eebbd874c1e
1118
+ - file: .claude/scripts/check-test-env-hygiene.py
1119
+ function: main
1120
+ line: 401
1121
+ end_line: 505
1122
+ loc: 105
1123
+ sha256: 3dcdedbdcd438f022a091a7c3f4ee2ad21f95eba8161bb31c2c2c00acee96884
1124
+ - file: .claude/scripts/check-threat-model-freshness.py
1125
+ function: main
1126
+ line: 226
1127
+ end_line: 309
1128
+ loc: 84
1129
+ sha256: 8d890efb50fd76139a1c3d5fcfc30d1e4b686c37d491bf7ff94085478dde45cd
1130
+ - file: .claude/scripts/check_threat_model_coverage.py
1131
+ function: main
1132
+ line: 138
1133
+ end_line: 210
1134
+ loc: 73
1135
+ sha256: c89ee708383086e07e90ffde178c5dd1ddde7a65303f1dc4a697eeb106610cf3
1136
+ - file: .claude/scripts/check_translations_drift.py
1137
+ function: check_pair
1138
+ line: 80
1139
+ end_line: 131
1140
+ loc: 52
1141
+ sha256: 1364a7675c56ce09b10c782f6e893928d85f625f58c271294751e3535610681d
1142
+ - file: .claude/scripts/check_translations_drift.py
1143
+ function: main
1144
+ line: 134
1145
+ end_line: 195
1146
+ loc: 62
1147
+ sha256: 7e4137830027964a247abd558737f5706ab4c2d5582350803245f5d91be1e2b3
1148
+ - file: .claude/scripts/compare-adopters.py
1149
+ function: _render_markdown
1150
+ line: 312
1151
+ end_line: 400
1152
+ loc: 89
1153
+ sha256: 1eca7c9db2d299fe51df6cc74805c87ba3e403b13014ed14c59371ed7a51856f
1154
+ - file: .claude/scripts/compare-adopters.py
1155
+ function: _run
1156
+ line: 464
1157
+ end_line: 541
1158
+ loc: 78
1159
+ sha256: 1bbe6a446b5cabeb998a01354c5442aef243ee2458ba4f2be91456c81dbe9534
1160
+ - file: .claude/scripts/confidence_gate.py
1161
+ function: verify_test_passes
1162
+ line: 331
1163
+ end_line: 386
1164
+ loc: 56
1165
+ sha256: 338fdd3213886c483e2fdd0d983300cdb8ad5eb45734a9f4afb04bcc69120c7a
1166
+ - file: .claude/scripts/confidence_gate.py
1167
+ function: main
1168
+ line: 618
1169
+ end_line: 670
1170
+ loc: 53
1171
+ sha256: e5ebf8546d8338340028a13cec0d774cc2da24f88e839874e08e354c03a51d8b
1172
+ - file: .claude/scripts/debate-emit.py
1173
+ function: main
1174
+ line: 75
1175
+ end_line: 128
1176
+ loc: 54
1177
+ sha256: 89f9f9b85112c9bf6fda107fea8ee261f298443fd846f67c00b11be37a8ead2b
1178
+ - file: .claude/scripts/debate-orchestrate.py
1179
+ function: generate_round_1
1180
+ line: 471
1181
+ end_line: 523
1182
+ loc: 53
1183
+ sha256: 5a78d199c055bcec080ca18d34b1066f1b6a3b9735d16be2f7281f3b97cccea5
1184
+ - file: .claude/scripts/debate-orchestrate.py
1185
+ function: _handle_convergence
1186
+ line: 780
1187
+ end_line: 843
1188
+ loc: 64
1189
+ sha256: fa4fa453f6d915c8d52c888377f3debdb270c3917f3d1b03f9e02506d290261d
1190
+ - file: .claude/scripts/debate-orchestrate.py
1191
+ function: main
1192
+ line: 846
1193
+ end_line: 899
1194
+ loc: 54
1195
+ sha256: 23738aa8a491da8bb1225fa5e70e8e92834dd2d5703d26b8e566506bfc60f598
1196
+ - file: .claude/scripts/detectors/looping.py
1197
+ function: detect
1198
+ line: 41
1199
+ end_line: 105
1200
+ loc: 65
1201
+ sha256: 9c0ad6808b3f905d2fd06bdf5b357bbac9d82264ab201a6339bacb4e9279fd40
1202
+ - file: .claude/scripts/detectors/retry_churn.py
1203
+ function: detect
1204
+ line: 37
1205
+ end_line: 99
1206
+ loc: 63
1207
+ sha256: a76946df8f2e14f70f0b64bd212009e4f68c8fec1a211b20519a6eb670931350
1208
+ - file: .claude/scripts/generate-dispatch.py
1209
+ function: render_dispatch_md
1210
+ line: 152
1211
+ end_line: 209
1212
+ loc: 58
1213
+ sha256: 04221d3404410630a1cedefbe7c92cf42454bbee0135166d210f5b7c1a9897f5
1214
+ - file: .claude/scripts/generate-dispatch.py
1215
+ function: main
1216
+ line: 212
1217
+ end_line: 271
1218
+ loc: 60
1219
+ sha256: 140d7daf72bea4ee844820f2a0dac79e7708741e98b99782e6ad9ee4a6eaabd9
1220
+ - file: .claude/scripts/generate-sbom.py
1221
+ function: generate_sbom
1222
+ line: 148
1223
+ end_line: 227
1224
+ loc: 80
1225
+ sha256: 513efcc3bf5bda8bc3a514ac0d19ac90cc89572e3aba4b8c9e2f9992003d376c
1226
+ - file: .claude/scripts/generate-sbom.py
1227
+ function: main
1228
+ line: 230
1229
+ end_line: 283
1230
+ loc: 54
1231
+ sha256: 9906d97e9037a227c972a0df6e4562dc74db41190a4fe7f142c46233c6eaa0c7
1232
+ - file: .claude/scripts/github-api-client.py
1233
+ function: _call_with_retry
1234
+ line: 177
1235
+ end_line: 231
1236
+ loc: 55
1237
+ sha256: 40a9ad40e9c0d40dd5844c1c70e45e75e4566e305ead3453367af03f5a259483
1238
+ - file: .claude/scripts/hook-profiler.py
1239
+ function: profile_per_tool_call
1240
+ line: 265
1241
+ end_line: 390
1242
+ loc: 126
1243
+ sha256: 22f154865ff2aa94d649af0b48e898467f374e6c23808d5721faf61fbb410ec2
1244
+ - file: .claude/scripts/hook-profiler.py
1245
+ function: parse_args
1246
+ line: 502
1247
+ end_line: 553
1248
+ loc: 52
1249
+ sha256: 949ddb4a91314ae7d779e0452813e050902f63b88b9e11e54370df84c35f618b
1250
+ - file: .claude/scripts/hook-profiler.py
1251
+ function: main
1252
+ line: 556
1253
+ end_line: 667
1254
+ loc: 112
1255
+ sha256: d226ac31464ac9f1044c3d10a43bbe1fd650fa071bf0b68f30d909fb641d84ea
1256
+ - file: .claude/scripts/import-skill.py
1257
+ function: _validate_upstream_ref
1258
+ line: 129
1259
+ end_line: 185
1260
+ loc: 57
1261
+ sha256: 2d3926d0e4b7982d88acc643c1be4f358c598227b81e4d05cbe8ca88596e29f4
1262
+ - file: .claude/scripts/import-skill.py
1263
+ function: _verify_skip_rubric_authorization
1264
+ line: 320
1265
+ end_line: 387
1266
+ loc: 68
1267
+ sha256: afe534d86889aa273a9dcc267c2bdefcf7a7d5b832b5ac5f8e40ddbc0e6db84d
1268
+ - file: .claude/scripts/import-skill.py
1269
+ function: run_import
1270
+ line: 390
1271
+ end_line: 469
1272
+ loc: 80
1273
+ sha256: a1e76fbbe5f8884a13ed8b94436af0c561296ec9717d3d9f0ab4fb468f8cb0ea
1274
+ - file: .claude/scripts/import-skill.py
1275
+ function: build_parser
1276
+ line: 477
1277
+ end_line: 535
1278
+ loc: 59
1279
+ sha256: 7b8a09880533bf01998fe13b32ca33338da36272df5c7d1f1af55c640fba472e
1280
+ - file: .claude/scripts/k-calibration.py
1281
+ function: bootstrap_kappa_ci
1282
+ line: 161
1283
+ end_line: 215
1284
+ loc: 55
1285
+ sha256: e9f09f3335387d1ac68877fc0d82fc87220fd4810a1d5537363f5605cde8a1d7
1286
+ - file: .claude/scripts/lesson_ranker.py
1287
+ function: rank_by_effectiveness
1288
+ line: 43
1289
+ end_line: 97
1290
+ loc: 55
1291
+ sha256: 3ceb5a0e3727f80d8c383c47bc4fc093f4f6cf0a334b64308dc577ad2ba3cae3
1292
+ - file: .claude/scripts/lessons.py
1293
+ function: _scan_lesson_for_injection
1294
+ line: 164
1295
+ end_line: 215
1296
+ loc: 52
1297
+ sha256: b635117f91861bcc9dc76978df5ff000ea1418fc4a894cd37028062f710b1110
1298
+ - file: .claude/scripts/lessons.py
1299
+ function: write_lesson
1300
+ line: 218
1301
+ end_line: 292
1302
+ loc: 75
1303
+ sha256: 401fa96cff9707c167334033a404987a02188498e10f89c67bd9337af822352a
1304
+ - file: .claude/scripts/lessons.py
1305
+ function: record_outcome
1306
+ line: 418
1307
+ end_line: 493
1308
+ loc: 76
1309
+ sha256: 4e95dce175c273689d345cd83f16a33d435e45381c435f50a4ed00b1639826cf
1310
+ - file: .claude/scripts/lessons.py
1311
+ function: undo_outcome
1312
+ line: 496
1313
+ end_line: 568
1314
+ loc: 73
1315
+ sha256: 04360878b268ea6a9529fc66d84420394be467b86b1b3b45e29eb68d6fcb9098
1316
+ - file: .claude/scripts/lessons.py
1317
+ function: _build_arg_parser
1318
+ line: 647
1319
+ end_line: 700
1320
+ loc: 54
1321
+ sha256: c93daea50c77e3bcec6b0bd0e883bfc3d9cc98214b74771f091e86854c600157
1322
+ - file: .claude/scripts/mcp-server/auth.py
1323
+ function: load_secret
1324
+ line: 254
1325
+ end_line: 307
1326
+ loc: 54
1327
+ sha256: 095784d89c29f7d1b731116d31d508d2d1a2e07309346d42742ca4d34c9f03f2
1328
+ - file: .claude/scripts/mcp-server/dispatch.py
1329
+ function: authenticate
1330
+ line: 249
1331
+ end_line: 321
1332
+ loc: 73
1333
+ sha256: 038394149d56ce89e01de2c72abf12cbbf8b3e450866a4ecba2ef0960f8fd2a4
1334
+ - file: .claude/scripts/mcp-server/dispatch.py
1335
+ function: dispatch
1336
+ line: 324
1337
+ end_line: 414
1338
+ loc: 91
1339
+ sha256: 4f53a0101409c8b8c8e82984a2b0be5d3b3148964f233cfe01d48e79f46035cc
1340
+ - file: .claude/scripts/mcp-server/handlers/get_audit_log.py
1341
+ function: handle
1342
+ line: 98
1343
+ end_line: 160
1344
+ loc: 63
1345
+ sha256: a00f3f9b69c4b95ac193455e3ebb9111bad98dfdcfcfcf73ef81f3d45da558fe
1346
+ - file: .claude/scripts/mcp-server/handlers/get_skill.py
1347
+ function: handle
1348
+ line: 101
1349
+ end_line: 165
1350
+ loc: 65
1351
+ sha256: 467c6ef64454e0af1244d61aec5d14dcad16343e872b1630086211ec3f0fcfdf
1352
+ - file: .claude/scripts/mcp-server/handlers/list_agents.py
1353
+ function: _extract_from_team_md
1354
+ line: 106
1355
+ end_line: 189
1356
+ loc: 84
1357
+ sha256: a15df6beeb2c6020e06cbf874ef7785fb0cad6ed48816764f11cc5b8a2e4f52c
1358
+ - file: .claude/scripts/mcp-server/handlers/list_pitfalls.py
1359
+ function: _parse_pitfalls_yaml
1360
+ line: 66
1361
+ end_line: 129
1362
+ loc: 64
1363
+ sha256: f954dfd028d506f22079822860fdbdcf50d36e45164b24ed8e3af58648c9bf78
1364
+ - file: .claude/scripts/mcp-server/handlers/list_skills.py
1365
+ function: _walk_skills
1366
+ line: 101
1367
+ end_line: 155
1368
+ loc: 55
1369
+ sha256: a98f9158236a33a1d9a3f1ac453be09df0e7dcef6264b7306cd10e1b6a06393c
1370
+ - file: .claude/scripts/mcp-server/handlers/spawn_agent.py
1371
+ function: handle
1372
+ line: 180
1373
+ end_line: 271
1374
+ loc: 92
1375
+ sha256: df58021b8e5d7570ea89fef142d6265ccfee481e037512c2ab8f8045178ddd42
1376
+ - file: .claude/scripts/mcp-server/http_transport.py
1377
+ function: make_server
1378
+ line: 262
1379
+ end_line: 322
1380
+ loc: 61
1381
+ sha256: 9bb5182aa8e7b23a5b3cd6dc96a68d9f0a765771c8d0c6fbd5231ec18ae9bd44
1382
+ - file: .claude/scripts/mcp-server/http_transport.py
1383
+ function: _handle_post
1384
+ line: 113
1385
+ end_line: 198
1386
+ loc: 86
1387
+ sha256: 2075808e7e0b74862e86f7f03ea1fef1392f60defec49f85d36cad3833aefb94
1388
+ - file: .claude/scripts/mcp-server/server.py
1389
+ function: run
1390
+ line: 107
1391
+ end_line: 184
1392
+ loc: 78
1393
+ sha256: c169803c78bbd66dc741bc9c560e7bf9dd62223086edd84caa7176bdf9b77f82
1394
+ - file: .claude/scripts/mcp-server/stdio_transport.py
1395
+ function: run
1396
+ line: 49
1397
+ end_line: 137
1398
+ loc: 89
1399
+ sha256: ee3e39860ed4d46138a9c29faec842ff890a6bb9ae9063002b79e3f9f600d018
1400
+ - file: .claude/scripts/mutation-test.py
1401
+ function: run_mutation_sweep
1402
+ line: 302
1403
+ end_line: 406
1404
+ loc: 105
1405
+ sha256: 3520525dec6712c4c7bcfad72dc5e87d3404a12a755e6cef731c9832e2c35628
1406
+ - file: .claude/scripts/mutation-test.py
1407
+ function: main
1408
+ line: 433
1409
+ end_line: 502
1410
+ loc: 70
1411
+ sha256: e581c76521861e15f231a208b46b3d680ff9df481218ac0392acabfbc3b70150
1412
+ - file: .claude/scripts/otel-export.py
1413
+ function: _build_parser
1414
+ line: 157
1415
+ end_line: 217
1416
+ loc: 61
1417
+ sha256: dac20ff1f17c2c3799f4c23817053abdebdb3678ed20bc7edf6f966f6fd9c77a
1418
+ - file: .claude/scripts/otel-export.py
1419
+ function: main
1420
+ line: 220
1421
+ end_line: 325
1422
+ loc: 106
1423
+ sha256: 36e723d0eb00a55cd38f286f251999c85abc5b2c0148be120926ddbf360ad7bc
1424
+ - file: .claude/scripts/pitfall-query.py
1425
+ function: parse_pitfalls_yaml
1426
+ line: 73
1427
+ end_line: 128
1428
+ loc: 56
1429
+ sha256: 113bd845af4c9b3508d92a4c070f2f87103bab0177c1b60a7bf63218ee173b2c
1430
+ - file: .claude/scripts/policy-shadow-runner.py
1431
+ function: _diff_report
1432
+ line: 295
1433
+ end_line: 351
1434
+ loc: 57
1435
+ sha256: fdbdac6a1ab8fcf454292931e91093d433cf9029ba938e364d65f8a2fb8a7119
1436
+ - file: .claude/scripts/predict-budget/predict-plan-cost.py
1437
+ function: aggregate_plan_totals
1438
+ line: 167
1439
+ end_line: 218
1440
+ loc: 52
1441
+ sha256: 88359c021d2bfd5bd8db50b3219186ad5edfc4848351e0e56409dba6fa224f7e
1442
+ - file: .claude/scripts/predict-budget/predict-plan-cost.py
1443
+ function: predict_for_plan
1444
+ line: 257
1445
+ end_line: 329
1446
+ loc: 73
1447
+ sha256: 1a62b7c9c7cc93e09dd9f5ab599620442d22f1aae9f6558dc7bf2f5a0ad2b90f
1448
+ - file: .claude/scripts/predict-budget/predict-plan-cost.py
1449
+ function: main
1450
+ line: 484
1451
+ end_line: 577
1452
+ loc: 94
1453
+ sha256: 0537215ec445349d3c7ce5f0989d29a8fd8c6d44ead61e8580d8e5ce927740ee
1454
+ - file: .claude/scripts/profile-opus-4-7.py
1455
+ function: smoke_checks
1456
+ line: 170
1457
+ end_line: 239
1458
+ loc: 70
1459
+ sha256: e3ea932f283d05291f71e4c787ba78112c55d3101ad9cccbdf18bf4758da3d72
1460
+ - file: .claude/scripts/profile-opus-4-7.py
1461
+ function: main
1462
+ line: 294
1463
+ end_line: 368
1464
+ loc: 75
1465
+ sha256: 117bb1073b4a577bfed5572cbfacd5cc7f82288b3c3966eeac85210d261de51f
1466
+ - file: .claude/scripts/prune-lessons.py
1467
+ function: _build_arg_parser
1468
+ line: 213
1469
+ end_line: 267
1470
+ loc: 55
1471
+ sha256: 55ef220b6b2b833fe01f76f5b6c9d4a0b307ae9b3fb4f369cde5a0ebf4d69797
1472
+ - file: .claude/scripts/red-team-eval.py
1473
+ function: _parse_minimal_yaml
1474
+ line: 390
1475
+ end_line: 479
1476
+ loc: 90
1477
+ sha256: ec1540b29183b70e584c4f3e6e75dee9bf0c9c48c502de6dc2d1032c5bd0217d
1478
+ - file: .claude/scripts/red-team-eval.py
1479
+ function: check_and_update_flake_budget
1480
+ line: 504
1481
+ end_line: 594
1482
+ loc: 91
1483
+ sha256: d7a3fb4f37adceaef6bb82df7d59f5deb6373758425acb815f3baa3e1e03b3e6
1484
+ - file: .claude/scripts/red-team-eval.py
1485
+ function: _dump_minimal_yaml
1486
+ line: 597
1487
+ end_line: 648
1488
+ loc: 52
1489
+ sha256: ee711dbf707943178c71a55a7e351d01732de548d9730fe1ae9acbd38ea14dd8
1490
+ - file: .claude/scripts/red-team-eval.py
1491
+ function: _build_main_parser
1492
+ line: 798
1493
+ end_line: 885
1494
+ loc: 88
1495
+ sha256: 41dfce0c957fea98c01061e0eb30b15f3f5339294489c38c099dbf2bfdf46ee7
1496
+ - file: .claude/scripts/red-team-eval.py
1497
+ function: main
1498
+ line: 1044
1499
+ end_line: 1095
1500
+ loc: 52
1501
+ sha256: e2a9b6c49afec4c4c70400a408983ea98d1b21e956645a3521a43e44e1ce23ef
1502
+ - file: .claude/scripts/registry.py
1503
+ function: load_archetypes
1504
+ line: 266
1505
+ end_line: 317
1506
+ loc: 52
1507
+ sha256: aa6b3fd240e84d4ee2bf0e52bdf0cb23062769e6a53ca8c4342d45259675d5cc
1508
+ - file: .claude/scripts/registry.py
1509
+ function: _cli
1510
+ line: 348
1511
+ end_line: 428
1512
+ loc: 81
1513
+ sha256: 207ee2ba6f5d7afbac076654f9f7973826e9048383e519843eadbb1d336c251b
1514
+ - file: .claude/scripts/replay/replay-session.py
1515
+ function: dry_run
1516
+ line: 318
1517
+ end_line: 401
1518
+ loc: 84
1519
+ sha256: 93932dfd85bd1d8277b294b89a2c662342d9e4486f615120c4345b054b0dc019
1520
+ - file: .claude/scripts/replay/replay-session.py
1521
+ function: execute_run
1522
+ line: 409
1523
+ end_line: 532
1524
+ loc: 124
1525
+ sha256: 41c5c1fe90867928c4cc7c27dac556de4f9b1c6f2bbff5509602862c76b4ae0e
1526
+ - file: .claude/scripts/replay/replay-session.py
1527
+ function: main
1528
+ line: 607
1529
+ end_line: 747
1530
+ loc: 141
1531
+ sha256: 2f5b30940ca6f7cb95d5793786e0961f1d5d30e33826d03b0e8ad3d7576517f9
1532
+ - file: .claude/scripts/run-skill-benchmark.py
1533
+ function: score_scenario
1534
+ line: 253
1535
+ end_line: 367
1536
+ loc: 115
1537
+ sha256: 50dbc5ee3237905bcd0a582dac17d574b81c72a1636b840404511b81ee5b2412
1538
+ - file: .claude/scripts/run-skill-benchmark.py
1539
+ function: run_one_scenario
1540
+ line: 430
1541
+ end_line: 496
1542
+ loc: 67
1543
+ sha256: 53c261434787ff200e08fe45dc9b77944fcee18e92025791bbb6cc4d5dfa3e58
1544
+ - file: .claude/scripts/run-skill-benchmark.py
1545
+ function: run_all_async
1546
+ line: 504
1547
+ end_line: 569
1548
+ loc: 66
1549
+ sha256: a7201fa0f38a7c85a75393cb4a5380857581ef4d872e24fdb90c7d75f2347e0d
1550
+ - file: .claude/scripts/run-skill-benchmark.py
1551
+ function: build_parser
1552
+ line: 633
1553
+ end_line: 704
1554
+ loc: 72
1555
+ sha256: 0f71ba0bdcb173ed5d2e1965b65bab8b05285f1af84794ceb1ce6963fc6c56e5
1556
+ - file: .claude/scripts/run-skill-benchmark.py
1557
+ function: _run_judge_mode
1558
+ line: 755
1559
+ end_line: 857
1560
+ loc: 103
1561
+ sha256: 41aaf5a1da9acb1432c80df15bb03a743b0535331a5792ab67838201a84b963b
1562
+ - file: .claude/scripts/run-skill-benchmark.py
1563
+ function: main
1564
+ line: 860
1565
+ end_line: 971
1566
+ loc: 112
1567
+ sha256: 98114e7eaa4ab3732d4c54921c3cac66d18ae8df9a75e375e35e36ccbb59456e
1568
+ - file: .claude/scripts/run-skill-benchmark.py
1569
+ function: _write_lessons_for_failures
1570
+ line: 974
1571
+ end_line: 1031
1572
+ loc: 58
1573
+ sha256: 5b26bba0167883aeed4b99b4b06d669dc0614bf1a8b511a86696564a679e6f20
1574
+ - file: .claude/scripts/run-skill-benchmark.py
1575
+ function: _emit_benchmark_audit_event
1576
+ line: 1034
1577
+ end_line: 1143
1578
+ loc: 110
1579
+ sha256: 7114b72c4d4df4765269fb1b97128a79016239d8ca22cfc0c4649fe71fd2bff8
1580
+ - file: .claude/scripts/scratchpad.py
1581
+ function: build_parser
1582
+ line: 342
1583
+ end_line: 392
1584
+ loc: 51
1585
+ sha256: 540830860028f334acd17a3383c6673c26e0d2dbe5d5b039cfb61c4c8e278827
1586
+ - file: .claude/scripts/session-graph-build.py
1587
+ function: _session_bucket_from_events
1588
+ line: 185
1589
+ end_line: 238
1590
+ loc: 54
1591
+ sha256: 8e77f283c0662944b4d94921bccfd29d1cdcde2c49c5b2f0d8b0b96681ee7998
1592
+ - file: .claude/scripts/session-graph-build.py
1593
+ function: build_graph
1594
+ line: 418
1595
+ end_line: 469
1596
+ loc: 52
1597
+ sha256: dc43cce2dcd02989ce87bfee7e5d335de292623abc723bb3c0a4ae5dc944f2ac
1598
+ - file: .claude/scripts/session-graph-build.py
1599
+ function: _encrypt_bytes
1600
+ line: 500
1601
+ end_line: 561
1602
+ loc: 62
1603
+ sha256: aa3aa2d216fe66adff00183617affa5739348c8290638d78994fd4217218fe3c
1604
+ - file: .claude/scripts/session-graph-build.py
1605
+ function: main
1606
+ line: 626
1607
+ end_line: 724
1608
+ loc: 99
1609
+ sha256: 6a0536ebf8e40e0e26d67c80cb8136a9f3904c6bf9862d65d25596a1de5682eb
1610
+ - file: .claude/scripts/session-resume.py
1611
+ function: main
1612
+ line: 301
1613
+ end_line: 359
1614
+ loc: 59
1615
+ sha256: a0cc7441c32ad6746c78704a4cc2ade60dedf1b283ce31d29cfa3977e3134955
1616
+ - file: .claude/scripts/skill-index-build.py
1617
+ function: build_index
1618
+ line: 260
1619
+ end_line: 400
1620
+ loc: 141
1621
+ sha256: 008399498a31cdd359b00f391cec7601f9e2dc9988a37fef97da1263363e9ff3
1622
+ - file: .claude/scripts/skill-index-build.py
1623
+ function: _cli
1624
+ line: 443
1625
+ end_line: 530
1626
+ loc: 88
1627
+ sha256: cce16ed232257d85e196b7b98dbc9577b596e5031a11ba5ea0a25afc263369e5
1628
+ - file: .claude/scripts/skill-patch-apply.py
1629
+ function: _load_and_verify_proposal
1630
+ line: 538
1631
+ end_line: 595
1632
+ loc: 58
1633
+ sha256: c9b9f95312fdea2407c0c2d694365df55eb5a3da00d731904ddead7981b82071
1634
+ - file: .claude/scripts/skill-patch-apply.py
1635
+ function: _handle_promote
1636
+ line: 635
1637
+ end_line: 717
1638
+ loc: 83
1639
+ sha256: e8832eac9230945afb04ee30b2d8738501b35c3cabb24f7c73492830e1344463
1640
+ - file: .claude/scripts/skill-patch-apply.py
1641
+ function: _handle_create_new_skill_shadow
1642
+ line: 720
1643
+ end_line: 822
1644
+ loc: 103
1645
+ sha256: c3d76f226bcdf879d9abb683fb3c686f812a8664b972c0cd03ea23a92b0f92bf
1646
+ - file: .claude/scripts/skill-patch-apply.py
1647
+ function: _handle_default_apply
1648
+ line: 825
1649
+ end_line: 917
1650
+ loc: 93
1651
+ sha256: 543dd0b28d81e766d611ec0271e2df35e486d461aad461a45bfd43f160918f48
1652
+ - file: .claude/scripts/skill-patch-apply.py
1653
+ function: main
1654
+ line: 920
1655
+ end_line: 1084
1656
+ loc: 165
1657
+ sha256: a4ac73534cab3b382d131d9040a5c5ad63cc7d47fef379ee4d4e5b9fdf5ed806
1658
+ - file: .claude/scripts/skill-patch-propose.py
1659
+ function: _scan_single_lesson
1660
+ line: 410
1661
+ end_line: 465
1662
+ loc: 56
1663
+ sha256: 07c654ade1bf41517f273848d568b7d0f5330c60e597dbd57a721a4f3f3d9e1a
1664
+ - file: .claude/scripts/skill-patch-propose.py
1665
+ function: _write_proposal_file
1666
+ line: 553
1667
+ end_line: 619
1668
+ loc: 67
1669
+ sha256: bc4c8163232afe46e2f50d12d917a431eab7d96e75d2ec81e9a6f997874251ea
1670
+ - file: .claude/scripts/skill-patch-propose.py
1671
+ function: main
1672
+ line: 622
1673
+ end_line: 686
1674
+ loc: 65
1675
+ sha256: e83cfad3458a771835b1b8bab364448698fad0aafe4b900c7139bc5ef1001d18
1676
+ - file: .claude/scripts/skill-retrieve.py
1677
+ function: static_skill_map_lookup
1678
+ line: 225
1679
+ end_line: 287
1680
+ loc: 63
1681
+ sha256: 2e48ea37697e616df2ce150cfc459c15d126f663d2505e9115f43e070c7a2ec7
1682
+ - file: .claude/scripts/skill-retrieve.py
1683
+ function: _cli
1684
+ line: 336
1685
+ end_line: 417
1686
+ loc: 82
1687
+ sha256: 4a351cab76b0c0b33582ae7cffb291f628910b71947d6f6bbbefd0f6de4ad697
1688
+ - file: .claude/scripts/skill_grandfather_parser.py
1689
+ function: parse_grandfather_file
1690
+ line: 73
1691
+ end_line: 164
1692
+ loc: 92
1693
+ sha256: fd4ddfc849aaf8cef2b899d1a044558eff223600314ec7b7443a9ed31c46ef12
1694
+ - file: .claude/scripts/spot-check-findings.py
1695
+ function: main
1696
+ line: 119
1697
+ end_line: 206
1698
+ loc: 88
1699
+ sha256: 490eca4d67fd093bb4a2b95ac1d960ea5e26f84f4b13a09eede957037c337655
1700
+ - file: .claude/scripts/squad-export.py
1701
+ function: export_squad
1702
+ line: 268
1703
+ end_line: 331
1704
+ loc: 64
1705
+ sha256: a953159d78fcd95181e9541e46a4094e2f73eb02841a4b711366ee6631940dcc
1706
+ - file: .claude/scripts/squad-export.py
1707
+ function: main
1708
+ line: 339
1709
+ end_line: 433
1710
+ loc: 95
1711
+ sha256: 97fe8ae06e05b994757f71c88c938f4893aa6d458e98df2989d4c329317a175b
1712
+ - file: .claude/scripts/squad-import.py
1713
+ function: import_squad
1714
+ line: 497
1715
+ end_line: 563
1716
+ loc: 67
1717
+ sha256: 7acb9623bafcb607da6d264529f21d30bd6d943d4e911569664dddebbe286262
1718
+ - file: .claude/scripts/squad-import.py
1719
+ function: main
1720
+ line: 569
1721
+ end_line: 711
1722
+ loc: 143
1723
+ sha256: b2cd32b14f41349f555a33c4f8fc28f9eeb952a11bac7bbcd078e59b070a162e
1724
+ - file: .claude/scripts/status.py
1725
+ function: render_human
1726
+ line: 228
1727
+ end_line: 288
1728
+ loc: 61
1729
+ sha256: 91abcd3b0640f7c6a7426fec898a0b1881fc1cd3bd35d58d03a4fd5fd49c197c
1730
+ - file: .claude/scripts/swarm/_benchmark_replay.py
1731
+ function: replay
1732
+ line: 201
1733
+ end_line: 259
1734
+ loc: 59
1735
+ sha256: 5b40aaf058c4551e23ee8229b31453f9986650b0cd5a33dfc0f064acfa6cbfb7
1736
+ - file: .claude/scripts/swarm/_parent_death.py
1737
+ function: _kqueue_backend
1738
+ line: 80
1739
+ end_line: 141
1740
+ loc: 62
1741
+ sha256: 42908c7c9faa23fe1d8125199581a91624db66f693989ade37f4ca2858373358
1742
+ - file: .claude/scripts/swarm/_process_group.py
1743
+ function: escalated_kill
1744
+ line: 116
1745
+ end_line: 171
1746
+ loc: 56
1747
+ sha256: 125c31628fa3ba4bfab305911899b80f2e67436f48d69e84ecfe582a56f9aa1b
1748
+ - file: .claude/scripts/swarm/_subagent_fabrication.py
1749
+ function: extract_response_text
1750
+ line: 130
1751
+ end_line: 180
1752
+ loc: 51
1753
+ sha256: 8e95c1c77934237c03eff54c41b8dc51a32ab002361a32425118e53aab719430
1754
+ - file: .claude/scripts/swarm/_subagent_fabrication.py
1755
+ function: _cli_main
1756
+ line: 296
1757
+ end_line: 435
1758
+ loc: 140
1759
+ sha256: fd88223be66cf5176fe60c538c796d3f1232035c7ccd55ecd405dace35946b36
1760
+ - file: .claude/scripts/swarm/coordinator.py
1761
+ function: tick
1762
+ line: 230
1763
+ end_line: 308
1764
+ loc: 79
1765
+ sha256: a6db8ee29eadd4a1372645061cd7e2a938e48d81ae8f59670e9b464863e89592
1766
+ - file: .claude/scripts/swarm/coordinator.py
1767
+ function: main
1768
+ line: 351
1769
+ end_line: 403
1770
+ loc: 53
1771
+ sha256: 908bba254c7e93e28c9f34a95287452afa3825d770538cf0b18f685d80244bf8
1772
+ - file: .claude/scripts/swarm/kill_switch.py
1773
+ function: evaluate_kill_switch
1774
+ line: 132
1775
+ end_line: 234
1776
+ loc: 103
1777
+ sha256: 5afe2b35f1e42fe9e65f5d5109946c3fee80f7846a954c49de3ac89b4df86614
1778
+ - file: .claude/scripts/swarm/test_mcp_injection_repro.py
1779
+ function: format_markdown
1780
+ line: 298
1781
+ end_line: 395
1782
+ loc: 98
1783
+ sha256: 4e54aae04599406c2e1dd9cf6ab8f8896604930cddeb62eefa965de54fe0391f
1784
+ - file: .claude/scripts/swarm/test_mcp_injection_repro.py
1785
+ function: run
1786
+ line: 450
1787
+ end_line: 503
1788
+ loc: 54
1789
+ sha256: b82786494437c5d27105b3fa95dd6b701231cade69a899d30ad2f96c2584513f
1790
+ - file: .claude/scripts/swarm/test_rail_anomaly_repro.py
1791
+ function: discriminate_hypotheses
1792
+ line: 443
1793
+ end_line: 503
1794
+ loc: 61
1795
+ sha256: f0d318ea75f6a13547b5988b8fd8dd3e0707cf5c48fa9471aba30cea1554bb6b
1796
+ - file: .claude/scripts/swarm/test_rail_anomaly_repro.py
1797
+ function: _cli_main
1798
+ line: 511
1799
+ end_line: 582
1800
+ loc: 72
1801
+ sha256: d612fc6e67b59a1c55b9473f6fbf5d10e953e286bff1b8c7683680cdf31527c9
1802
+ - file: .claude/scripts/swarm/tests/test_coordinator_production_integration.py
1803
+ function: test_tick_production_integration_detects_real_parent_death
1804
+ line: 213
1805
+ end_line: 341
1806
+ loc: 129
1807
+ sha256: 882b6cfc4ecf8b6bd054f50029aaecf68721a8196deca327c71da265d7ec759e
1808
+ - file: .claude/scripts/swarm/tests/test_coordinator_production_integration.py
1809
+ function: test_coordinator_halt_triggers_real_escalated_kill_outcome
1810
+ line: 350
1811
+ end_line: 434
1812
+ loc: 85
1813
+ sha256: 6c99b72b7a9f61794667b88b059abaa3d34eef7f4539dd79fd77489f5701fe75
1814
+ - file: .claude/scripts/swarm/tests/test_parent_death_integration.py
1815
+ function: test_child_killed_on_parent_sigkill
1816
+ line: 144
1817
+ end_line: 196
1818
+ loc: 53
1819
+ sha256: 56b23ddeb72c58514cc62f52140ee8e5185c72124f8921935af6d995cedf87de
1820
+ - file: .claude/scripts/tests/test_audit_dashboard.py
1821
+ function: test_events_stream_resets_pos_on_rotation
1822
+ line: 150
1823
+ end_line: 203
1824
+ loc: 54
1825
+ sha256: 6dafad6bd6a2d97df7c15db2f75a1045d0d7aebb293d269b0ddf1c2c2e2e4cdc
1826
+ - file: .claude/scripts/tests/test_ceo_cost_stream.py
1827
+ function: test_handles_file_replacement
1828
+ line: 456
1829
+ end_line: 518
1830
+ loc: 63
1831
+ sha256: 82dfbd3aa119d31365a81aea6a952585e26ed96384200ef7801432aab32b481c
1832
+ - file: .claude/scripts/tests/test_ceo_escalation_detector.py
1833
+ function: test_main_emit_metrics_appends_record
1834
+ line: 518
1835
+ end_line: 568
1836
+ loc: 51
1837
+ sha256: c73ddc5435b5b65413349d237591ded9958bad1896ac7464aefd206007b3311f
1838
+ - file: .claude/scripts/tests/test_chaos_inject_lockdown.py
1839
+ function: test_wrapper_modes_behave_correctly_when_executed
1840
+ line: 314
1841
+ end_line: 368
1842
+ loc: 55
1843
+ sha256: df01367cd84b906b023e1c18f0f7da64d2842fc689f2eb569760cb50dbadbe82
1844
+ - file: .claude/scripts/tests/test_compare_adopters.py
1845
+ function: _sample_report
1846
+ line: 33
1847
+ end_line: 84
1848
+ loc: 52
1849
+ sha256: 2b389a23f19f92b19190fcd28346fcd3507cc77b80c33218e161684a961ad071
1850
+ - file: .claude/scripts/tests/test_otel_export.py
1851
+ function: test_payload_arrives_at_mock
1852
+ line: 483
1853
+ end_line: 541
1854
+ loc: 59
1855
+ sha256: a118767052c290a8e4c599b3f27f7ac6d4c965500c42f1c2103e581c6cbff00d
1856
+ - file: .claude/scripts/tests/test_plan_schema_enforcement.py
1857
+ function: _seed_minimal_repo
1858
+ line: 38
1859
+ end_line: 99
1860
+ loc: 62
1861
+ sha256: 3500331e0803ad98e975e1ceed8765ff6dc989cf45e5a87f3f12d48ec6f938fe
1862
+ - file: .claude/scripts/tests/test_session_graph.py
1863
+ function: _write_fixture_audit
1864
+ line: 129
1865
+ end_line: 183
1866
+ loc: 55
1867
+ sha256: 14a01aed784e5897f457c6276382facc6fa59ca36cb378bf225143434c199fa9
1868
+ - file: .claude/scripts/tests/test_session_graph.py
1869
+ function: test_ciphertext_round_trip_with_gpg
1870
+ line: 413
1871
+ end_line: 499
1872
+ loc: 87
1873
+ sha256: 197125887ce5c9caab72cb9eeb4f9a92c8ede50c3393dbfb7a549662756c5986
1874
+ - file: .claude/scripts/tests/test_session_resume.py
1875
+ function: setUp
1876
+ line: 59
1877
+ end_line: 115
1878
+ loc: 57
1879
+ sha256: 254a112b0ed8bf1a90fcaa789e944db54f088bd230f0a551d66b7c768e8cf583
1880
+ - file: .claude/scripts/tests/test_squad_import.py
1881
+ function: _add_minimum_valid_squad_members
1882
+ line: 129
1883
+ end_line: 192
1884
+ loc: 64
1885
+ sha256: 84d422f1763534347cf0567f28c80196c841c1253bd092f22578c81b47bf2466
1886
+ - file: .claude/scripts/tier_policy_cli/apply.py
1887
+ function: _project_monthly_cost_delta
1888
+ line: 236
1889
+ end_line: 332
1890
+ loc: 97
1891
+ sha256: 35700f72edd4c3a1d6dda428a88c7e9d3f90f3fb455ae3a272f8a5684830e200
1892
+ - file: .claude/scripts/tier_policy_cli/apply.py
1893
+ function: _write_agent_frontmatter
1894
+ line: 378
1895
+ end_line: 444
1896
+ loc: 67
1897
+ sha256: 9452023754f7cff4901a7d66c983826bd1181ebdc5b6623885060f570bbe1c32
1898
+ - file: .claude/scripts/tier_policy_cli/apply.py
1899
+ function: _emit_adr_amendment_scaffold
1900
+ line: 569
1901
+ end_line: 655
1902
+ loc: 87
1903
+ sha256: 28c5c334ecae20713731ecbeda37b055eebdef2541bee7a4a1534a697d104de3
1904
+ - file: .claude/scripts/tier_policy_cli/apply.py
1905
+ function: _run_locked_batch
1906
+ line: 701
1907
+ end_line: 762
1908
+ loc: 62
1909
+ sha256: be9932b99674e636e2d8d1c4274b6a74684c662fac3eac21721b64ffeb219682
1910
+ - file: .claude/scripts/tier_policy_cli/apply.py
1911
+ function: apply
1912
+ line: 765
1913
+ end_line: 863
1914
+ loc: 99
1915
+ sha256: c7ba730b7b45594b349fcc4adc12392fbc0fcdcfb697d9468331c13a35d6d8cc
1916
+ - file: .claude/scripts/tier_policy_cli/apply.py
1917
+ function: _apply_promote
1918
+ line: 924
1919
+ end_line: 1026
1920
+ loc: 103
1921
+ sha256: efe8880f2a65571e72eee52acaeec5030d53d6f0ef69a8dd1e987a1374b88770
1922
+ - file: .claude/scripts/tier_policy_cli/cli.py
1923
+ function: cmd_apply
1924
+ line: 266
1925
+ end_line: 316
1926
+ loc: 51
1927
+ sha256: bb1748353d206dfc98bd58014d5b02dcd64b090feda2620b842cfa3dd740763e
1928
+ - file: .claude/scripts/tier_policy_cli/cli.py
1929
+ function: cmd_owner_sign
1930
+ line: 319
1931
+ end_line: 421
1932
+ loc: 103
1933
+ sha256: 20eabb0c875108bc8e25791d581e1716f8ee388fd0486f7811603c9b2b4a59da
1934
+ - file: .claude/scripts/tier_policy_cli/cli.py
1935
+ function: cmd_verify
1936
+ line: 424
1937
+ end_line: 477
1938
+ loc: 54
1939
+ sha256: 6b502257922f9e0709f830a222abd1cf54f987dbd796a6280613c18640a9e19b
1940
+ - file: .claude/scripts/tier_policy_cli/cli.py
1941
+ function: build_parser
1942
+ line: 695
1943
+ end_line: 785
1944
+ loc: 91
1945
+ sha256: c832cf34a6366e6c9a53a846182e2e7e83ebbc2071b72a875a01fc91ebfef051
1946
+ - file: .claude/scripts/tier_policy_cli/learn.py
1947
+ function: _verify_fixture_corpus
1948
+ line: 282
1949
+ end_line: 385
1950
+ loc: 104
1951
+ sha256: 89a1c25012fac198a2d8bfc214fb1d3d03791f6bcf2c3118cd96714da69100a7
1952
+ - file: .claude/scripts/tier_policy_cli/learn.py
1953
+ function: _decide_for_role
1954
+ line: 569
1955
+ end_line: 675
1956
+ loc: 107
1957
+ sha256: 2d7459d9b4de72782b064ab52a945f808ce29ad3fa6b4b3f193f4dc29ae1ee6c
1958
+ - file: .claude/scripts/tier_policy_cli/learn.py
1959
+ function: learn
1960
+ line: 703
1961
+ end_line: 845
1962
+ loc: 143
1963
+ sha256: c6046fd613df4461ac773334d6d12ae87451e64d874af7631aab8c8d140cc9bc
1964
+ - file: .claude/scripts/tier_policy_cli/loader.py
1965
+ function: _validate_assignment
1966
+ line: 232
1967
+ end_line: 297
1968
+ loc: 66
1969
+ sha256: 44cd0205171d219b3fc7553dcbe41587b34fe0c8377662aa1cc4de7ec1b78f57
1970
+ - file: .claude/scripts/tier_policy_cli/loader.py
1971
+ function: _validate_policy_dict
1972
+ line: 300
1973
+ end_line: 383
1974
+ loc: 84
1975
+ sha256: 6e44e6b43f26d7813fb752f6d0d752aaff0527de2428494d6dad6d73f4e7dba1
1976
+ - file: .claude/scripts/tier_policy_cli/loader.py
1977
+ function: load_policy
1978
+ line: 409
1979
+ end_line: 526
1980
+ loc: 118
1981
+ sha256: 762cb6261ff56042b85cf4c25851f6785432014ef9cc30f2df0d8a45c837772d
1982
+ - file: .claude/scripts/tier_policy_cli/tests/test_adversarial.py
1983
+ function: test_truncated_sigchain_vs_policy_tip_length_mismatch_flagged
1984
+ line: 433
1985
+ end_line: 518
1986
+ loc: 86
1987
+ sha256: 3a6c4264b0f4fe19b5a7c0835337a782d78a765b59091f2fd8f7b58004e239db
1988
+ - file: .claude/scripts/tier_policy_cli/tests/test_apply.py
1989
+ function: test_concurrent_apply_serialized
1990
+ line: 533
1991
+ end_line: 615
1992
+ loc: 83
1993
+ sha256: 3d4156730520a22388024c8c877324d8e4293fb994c452cf4dd4ba383f7cabd3
1994
+ - file: .claude/scripts/tier_policy_cli/tests/test_apply.py
1995
+ function: test_lock_timeout_reports_correctly
1996
+ line: 617
1997
+ end_line: 674
1998
+ loc: 58
1999
+ sha256: 5c45321b937298348d83f7831217bf549f1d8edfe05e702fb84f7966dc726513
2000
+ - file: .claude/scripts/tier_policy_cli/tests/test_learn_mutation.py
2001
+ function: _write_cell_reports
2002
+ line: 108
2003
+ end_line: 168
2004
+ loc: 61
2005
+ sha256: c910266207db4e0f08c1581c8ea511d7b12feac58b5593599509ccdd18433be0
2006
+ - file: .claude/scripts/tournament/check_fixture.py
2007
+ function: scan_fixture_fields
2008
+ line: 95
2009
+ end_line: 153
2010
+ loc: 59
2011
+ sha256: 02ce9811742f2eeed90ca81d7ae22c12bcca21d4fab01a5a3be6cdea472aa0ff
2012
+ - file: .claude/scripts/tournament/check_fixture.py
2013
+ function: check_file
2014
+ line: 156
2015
+ end_line: 214
2016
+ loc: 59
2017
+ sha256: 79f05f18e49257e0ff0913cadcd726b22a181b62152e018bab9147cd3d48f818
2018
+ - file: .claude/scripts/tournament/check_fixture.py
2019
+ function: main
2020
+ line: 217
2021
+ end_line: 267
2022
+ loc: 51
2023
+ sha256: 9ebf4b2cae93cccfb00f00b409ff29d3f6b25c7c5e7c96b21e44ff21e58e9ae4
2024
+ - file: .claude/scripts/tournament/judge.py
2025
+ function: parse_judge_verdict
2026
+ line: 87
2027
+ end_line: 142
2028
+ loc: 56
2029
+ sha256: 8a6247659473521e17328cb017fafd76a932cbf20e90f598adf7353e7a96d9fe
2030
+ - file: .claude/scripts/tournament/loader.py
2031
+ function: _validate_record
2032
+ line: 90
2033
+ end_line: 210
2034
+ loc: 121
2035
+ sha256: be5ee7c9c5213ebcd66b7472b6b2ba05705a18af1e7b66e8a60a5bfa1160d8cf
2036
+ - file: .claude/scripts/tournament/reporter.py
2037
+ function: validate_adr052
2038
+ line: 116
2039
+ end_line: 196
2040
+ loc: 81
2041
+ sha256: bea63c6db6b5b8eb94063a3abcff8f4ec7eb58759395d08ae90b617308700dd2
2042
+ - file: .claude/scripts/tournament/runner.py
2043
+ function: project_cost
2044
+ line: 168
2045
+ end_line: 219
2046
+ loc: 52
2047
+ sha256: 8003f59a601f8c59e9d0fcc8cf56374251db17c9e8bfa83ab61ce2963f78b721
2048
+ - file: .claude/scripts/tournament/runner.py
2049
+ function: run_tournament
2050
+ line: 465
2051
+ end_line: 643
2052
+ loc: 179
2053
+ sha256: bdbbec468fb18a609a6dcbc1ca0ec4b5543baeefbf36ad4dbfaedf720a051f21
2054
+ - file: .claude/scripts/tournament/runner.py
2055
+ function: _cli
2056
+ line: 649
2057
+ end_line: 703
2058
+ loc: 55
2059
+ sha256: 989ec0af38b9da30b0b52c1db2b12761d2dd7394feb076bfa2b83cffe1b7901d
2060
+ - file: .claude/scripts/tournament/runner.py
2061
+ function: _task_worker
2062
+ line: 525
2063
+ end_line: 621
2064
+ loc: 97
2065
+ sha256: f0713f1f557f6e99d69e670cde9926d08b35b2d0fc9f20505e89171b2ed0ab0e
2066
+ - file: .claude/scripts/tournament/tests/test_reporter_golden.py
2067
+ function: _build_deterministic_report
2068
+ line: 30
2069
+ end_line: 149
2070
+ loc: 120
2071
+ sha256: 1e02aef1be7493032f2d15a4ff5041459198f40d03612492da37e938568e0697
2072
+ - file: .claude/scripts/tournament/tests/test_tournament_e2e_smoke.py
2073
+ function: test_full_pipeline_under_10s
2074
+ line: 23
2075
+ end_line: 143
2076
+ loc: 121
2077
+ sha256: 34c51234b07599c10d88ae5cb48bc1819e1defddb71e5a336e876223fbde7623
2078
+ - file: .claude/scripts/validate-spec-context.py
2079
+ function: validate
2080
+ line: 50
2081
+ end_line: 127
2082
+ loc: 78
2083
+ sha256: 5bd0e220554bc41d8ea8992f354ad483f8eb958c29f9fe42f22ac46ce1155272
2084
+ - file: .claude/scripts/validate-squad-contract.py
2085
+ function: _collect_vetoes
2086
+ line: 58
2087
+ end_line: 132
2088
+ loc: 75
2089
+ sha256: 06ae7cc391ed6d2f6778aa6053ba08a30a08600ada96d00ea504ee760fb792d2
2090
+ - file: .claude/scripts/validate-squad-contract.py
2091
+ function: validate_squad
2092
+ line: 168
2093
+ end_line: 283
2094
+ loc: 116
2095
+ sha256: 150e41fb966842f10804fdbaf88d8cc86d5ee0e9defc81f0e5a05c2f7d9bf2c4