@event4u/agent-config 8.1.0 → 8.2.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 (591) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +50 -297
  3. package/dist/agent-src/commands/agents/init.md +3 -3
  4. package/dist/agent-src/commands/chat-history/import.md +5 -5
  5. package/dist/agent-src/commands/chat-history.md +1 -1
  6. package/dist/agent-src/commands/condense.md +1 -1
  7. package/dist/agent-src/commands/context/create.md +1 -1
  8. package/dist/agent-src/commands/council/analysis.md +2 -2
  9. package/dist/agent-src/commands/council/default.md +3 -3
  10. package/dist/agent-src/commands/council/design.md +2 -2
  11. package/dist/agent-src/commands/council/optimize.md +1 -1
  12. package/dist/agent-src/commands/council/pr.md +2 -2
  13. package/dist/agent-src/commands/council.md +1 -1
  14. package/dist/agent-src/commands/feature/plan.md +1 -1
  15. package/dist/agent-src/commands/ghostwriter/list.md +1 -1
  16. package/dist/agent-src/commands/ghostwriter/write.md +1 -1
  17. package/dist/agent-src/commands/ghostwriter.md +1 -1
  18. package/dist/agent-src/commands/implement-ticket.md +2 -2
  19. package/dist/agent-src/commands/judge/on-diff.md +1 -1
  20. package/dist/agent-src/commands/judge/steps.md +3 -1
  21. package/dist/agent-src/commands/memory/add.md +2 -2
  22. package/dist/agent-src/commands/memory/learn-low-impact.md +1 -1
  23. package/dist/agent-src/commands/memory/load.md +1 -1
  24. package/dist/agent-src/commands/memory/mine-session.md +1 -1
  25. package/dist/agent-src/commands/memory/promote.md +1 -1
  26. package/dist/agent-src/commands/memory/propose.md +1 -1
  27. package/dist/agent-src/commands/mission/upgrade.md +1 -1
  28. package/dist/agent-src/commands/module/explore.md +3 -3
  29. package/dist/agent-src/commands/optimize/agents-dir.md +1 -1
  30. package/dist/agent-src/commands/optimize/skills.md +1 -1
  31. package/dist/agent-src/commands/optimize-project.md +1 -1
  32. package/dist/agent-src/commands/orchestrate.md +2 -2
  33. package/dist/agent-src/commands/project-analyze.md +1 -1
  34. package/dist/agent-src/commands/project-health.md +1 -1
  35. package/dist/agent-src/commands/roadmap/ai-council.md +1 -1
  36. package/dist/agent-src/commands/roadmap/create.md +2 -2
  37. package/dist/agent-src/commands/roadmap/process-full.md +3 -1
  38. package/dist/agent-src/commands/roadmap/process-phase.md +4 -2
  39. package/dist/agent-src/commands/roadmap/process-step.md +3 -1
  40. package/dist/agent-src/commands/security-audit-config.md +1 -1
  41. package/dist/agent-src/commands/sync-agent-settings.md +7 -7
  42. package/dist/agent-src/commands/sync-gitignore/fix.md +3 -3
  43. package/dist/agent-src/commands/sync-gitignore.md +4 -4
  44. package/dist/agent-src/commands/work.md +3 -3
  45. package/dist/agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +1 -1
  46. package/dist/agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +2 -2
  47. package/dist/agent-src/contexts/contracts/artifact-engagement-flow.md +1 -1
  48. package/dist/agent-src/contexts/contracts/command-suggestion-flow.md +8 -7
  49. package/dist/agent-src/contexts/execution/evidence-discipline.md +2 -2
  50. package/dist/agent-src/contexts/execution/roadmap-process-loop.md +9 -4
  51. package/dist/agent-src/contexts/execution/toolchain-resolver.md +10 -9
  52. package/dist/agent-src/contexts/execution/verification-mechanics.md +13 -1
  53. package/dist/agent-src/packs/README.md +1 -1
  54. package/dist/agent-src/presets/README.md +1 -1
  55. package/dist/agent-src/profiles/README.md +1 -1
  56. package/dist/agent-src/rules/architecture.md +2 -2
  57. package/dist/agent-src/rules/context-hygiene.md +2 -2
  58. package/dist/agent-src/rules/fast-path-marker-visibility.md +1 -1
  59. package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +1 -1
  60. package/dist/agent-src/rules/linked-projects-onboarding-gate.md +1 -1
  61. package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +3 -3
  62. package/dist/agent-src/rules/media-governance-routing.md +1 -1
  63. package/dist/agent-src/rules/no-roadmap-references.md +3 -3
  64. package/dist/agent-src/rules/preservation-guard.md +2 -2
  65. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +6 -5
  66. package/dist/agent-src/rules/roadmap-progress-sync.md +3 -3
  67. package/dist/agent-src/rules/security-sensitive-stop.md +7 -9
  68. package/dist/agent-src/rules/source-confidentiality.md +1 -1
  69. package/dist/agent-src/rules/telegraph-speak.md +1 -1
  70. package/dist/agent-src/rules/token-optimizer-maintenance.md +1 -1
  71. package/dist/agent-src/rules/ui-audit-gate.md +1 -1
  72. package/dist/agent-src/scripts/archive_completed_roadmaps.ts +22 -4
  73. package/dist/agent-src/scripts/update_roadmap_progress.ts +29 -1
  74. package/dist/agent-src/skills/accessibility-auditor/SKILL.md +3 -2
  75. package/dist/agent-src/skills/adr-create/SKILL.md +8 -6
  76. package/dist/agent-src/skills/agent-docs-writing/SKILL.md +1 -1
  77. package/dist/agent-src/skills/agents-md-thin-root/SKILL.md +2 -2
  78. package/dist/agent-src/skills/ai-council/SKILL.md +15 -15
  79. package/dist/agent-src/skills/api-design/SKILL.md +1 -1
  80. package/dist/agent-src/skills/api-endpoint/SKILL.md +2 -1
  81. package/dist/agent-src/skills/authz-review/SKILL.md +1 -1
  82. package/dist/agent-src/skills/blade-ui/SKILL.md +11 -10
  83. package/dist/agent-src/skills/blameless-post-mortem/SKILL.md +9 -8
  84. package/dist/agent-src/skills/code-review/SKILL.md +3 -4
  85. package/dist/agent-src/skills/command-routing/SKILL.md +3 -3
  86. package/dist/agent-src/skills/command-writing/SKILL.md +3 -3
  87. package/dist/agent-src/skills/condense-memory/SKILL.md +2 -2
  88. package/dist/agent-src/skills/context-authoring/SKILL.md +1 -1
  89. package/dist/agent-src/skills/context-document/SKILL.md +1 -1
  90. package/dist/agent-src/skills/copilot-agents-optimization/SKILL.md +1 -1
  91. package/dist/agent-src/skills/corpus-grounding/SKILL.md +16 -11
  92. package/dist/agent-src/skills/corpus-grounding/scripts/ground.ts +24 -3
  93. package/dist/agent-src/skills/dashboard-design/SKILL.md +2 -1
  94. package/dist/agent-src/skills/database/SKILL.md +2 -1
  95. package/dist/agent-src/skills/description-assist/SKILL.md +6 -6
  96. package/dist/agent-src/skills/design-intelligence/SKILL.md +6 -5
  97. package/dist/agent-src/skills/design-tokens/SKILL.md +5 -5
  98. package/dist/agent-src/skills/design-tokens/scripts/tokens.ts +24 -3
  99. package/dist/agent-src/skills/existing-ui-audit/SKILL.md +3 -3
  100. package/dist/agent-src/skills/fe-design/SKILL.md +7 -7
  101. package/dist/agent-src/skills/finishing-a-development-branch/SKILL.md +11 -4
  102. package/dist/agent-src/skills/flux/SKILL.md +10 -9
  103. package/dist/agent-src/skills/git-workflow/SKILL.md +4 -5
  104. package/dist/agent-src/skills/guideline-writing/SKILL.md +2 -2
  105. package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +2 -2
  106. package/dist/agent-src/skills/livewire/SKILL.md +10 -9
  107. package/dist/agent-src/skills/memory-consolidation/SKILL.md +2 -2
  108. package/dist/agent-src/skills/module-detect-on-the-fly/SKILL.md +5 -5
  109. package/dist/agent-src/skills/module-management/SKILL.md +2 -2
  110. package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +11 -11
  111. package/dist/agent-src/skills/prediction-pool-optimizer/reference/ev-fixtures.md +6 -6
  112. package/dist/agent-src/skills/prediction-pool-optimizer/reference/odds-and-bonus.md +1 -1
  113. package/dist/agent-src/skills/premortem/SKILL.md +1 -1
  114. package/dist/agent-src/skills/project-docs/SKILL.md +1 -1
  115. package/dist/agent-src/skills/quality-tools/SKILL.md +26 -2
  116. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +8 -7
  117. package/dist/agent-src/skills/react-shadcn-ui/scripts/shadcn_add.ts +31 -10
  118. package/dist/agent-src/skills/refine-prompt/SKILL.md +14 -14
  119. package/dist/agent-src/skills/refine-ticket/SKILL.md +24 -25
  120. package/dist/agent-src/skills/refine-ticket/detection-map.yml +1 -1
  121. package/dist/agent-src/skills/review-routing/SKILL.md +6 -7
  122. package/dist/agent-src/skills/roadmap-management/SKILL.md +11 -6
  123. package/dist/agent-src/skills/rule-refactor/SKILL.md +1 -1
  124. package/dist/agent-src/skills/rule-writing/SKILL.md +5 -5
  125. package/dist/agent-src/skills/script-writing/SKILL.md +28 -41
  126. package/dist/agent-src/skills/skill-writing/SKILL.md +3 -3
  127. package/dist/agent-src/skills/source-discovery/SKILL.md +3 -3
  128. package/dist/agent-src/skills/sql-writing/SKILL.md +2 -1
  129. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +1 -1
  130. package/dist/agent-src/skills/systematic-debugging/SKILL.md +5 -7
  131. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +2 -2
  132. package/dist/agent-src/skills/tailwind-engineer/scripts/tailwind_config_gen.ts +25 -4
  133. package/dist/agent-src/skills/token-optimizer/SKILL.md +1 -1
  134. package/dist/agent-src/skills/typography-system/SKILL.md +1 -1
  135. package/dist/agent-src/skills/validate-feature-fit/SKILL.md +5 -7
  136. package/dist/agent-src/skills/verify-completion-evidence/SKILL.md +13 -1
  137. package/dist/agent-src/templates/agent-settings.md +34 -25
  138. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +3 -3
  139. package/dist/agent-src/templates/agents/memory/incident-learnings.example.yml +1 -1
  140. package/dist/agent-src/templates/agents/proposal.example.md +4 -4
  141. package/dist/agent-src/templates/copilot-instructions.md +1 -1
  142. package/dist/agent-src/templates/github-workflows/memory-hygiene.yml +10 -10
  143. package/dist/agent-src/templates/github-workflows/pr-risk-review.yml +19 -8
  144. package/dist/agent-src/templates/github-workflows/proposal-drift.yml +11 -8
  145. package/dist/agent-src/templates/github-workflows/roadmap-progress-check.yml +10 -12
  146. package/dist/agent-src/templates/hooks/pre-commit-frontmatter +21 -11
  147. package/dist/agent-src/templates/hooks/pre-commit-roadmap-progress +43 -29
  148. package/dist/agent-src/templates/roadmaps.md +9 -4
  149. package/dist/agent-src/templates/rule.md +3 -3
  150. package/dist/agent-src/templates/scripts/README.md +6 -6
  151. package/dist/agent-src/templates/scripts/check_memory.ts +24 -2
  152. package/dist/agent-src/templates/scripts/check_memory_proposal.ts +23 -4
  153. package/dist/agent-src/templates/scripts/historical-bug-patterns.example.yml +1 -1
  154. package/dist/agent-src/templates/scripts/memory_hash.ts +24 -2
  155. package/dist/agent-src/templates/scripts/memory_lookup.ts +24 -2
  156. package/dist/agent-src/templates/scripts/memory_report.ts +24 -2
  157. package/dist/agent-src/templates/scripts/memory_signal.ts +24 -2
  158. package/dist/agent-src/templates/scripts/memory_status.ts +26 -2
  159. package/dist/agent-src/templates/scripts/ownership-map.example.yml +1 -1
  160. package/dist/agent-src/templates/scripts/pr-risk-config.example.yml +1 -1
  161. package/dist/agent-src/templates/scripts/pr_review_routing.ts +24 -3
  162. package/dist/agent-src/templates/scripts/pr_risk_review.ts +0 -0
  163. package/dist/agent-src/templates/scripts/telemetry_record.ts +24 -3
  164. package/dist/agent-src/templates/scripts/telemetry_report.ts +25 -3
  165. package/dist/agent-src/templates/scripts/telemetry_status.ts +24 -3
  166. package/dist/agent-src/templates/scripts/tier_usage_report.ts +24 -2
  167. package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +44 -10
  168. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/_chat_history_base.ts +26 -13
  169. package/dist/agent-src/templates/skill.md +2 -2
  170. package/dist/cli/python/knowledge_ingest.js +24 -3
  171. package/dist/cli/python/knowledge_ingest.js.map +1 -1
  172. package/dist/cli/python/workspace_analytics.js +23 -3
  173. package/dist/cli/python/workspace_analytics.js.map +1 -1
  174. package/dist/cli/python/workspace_crypto.js +23 -3
  175. package/dist/cli/python/workspace_crypto.js.map +1 -1
  176. package/dist/cli/python/workspace_documents.js +23 -3
  177. package/dist/cli/python/workspace_documents.js.map +1 -1
  178. package/dist/cli/python/workspace_drive.js +24 -3
  179. package/dist/cli/python/workspace_drive.js.map +1 -1
  180. package/dist/cli/python/workspace_drive_health.js +23 -3
  181. package/dist/cli/python/workspace_drive_health.js.map +1 -1
  182. package/dist/cli/python/workspace_explain.js +23 -3
  183. package/dist/cli/python/workspace_explain.js.map +1 -1
  184. package/dist/cli/python/workspace_hosts.js +23 -3
  185. package/dist/cli/python/workspace_hosts.js.map +1 -1
  186. package/dist/cli/python/workspace_inbox.js +23 -3
  187. package/dist/cli/python/workspace_inbox.js.map +1 -1
  188. package/dist/cli/python/workspace_render.js +23 -3
  189. package/dist/cli/python/workspace_render.js.map +1 -1
  190. package/dist/cli/python/workspace_roles.js +23 -3
  191. package/dist/cli/python/workspace_roles.js.map +1 -1
  192. package/dist/cli/python/workspace_sessions.js +23 -3
  193. package/dist/cli/python/workspace_sessions.js.map +1 -1
  194. package/dist/cli/python/workspace_skills.js +23 -3
  195. package/dist/cli/python/workspace_skills.js.map +1 -1
  196. package/dist/cli/registry.js +2 -0
  197. package/dist/cli/registry.js.map +1 -1
  198. package/dist/discovery/deprecation-report.md +1 -1
  199. package/dist/discovery/discovery-manifest.json +118 -118
  200. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  201. package/dist/discovery/discovery-manifest.summary.md +2 -2
  202. package/dist/discovery/orphan-report.md +1 -1
  203. package/dist/discovery/packs.json +3 -3
  204. package/dist/discovery/trust-report.md +1 -1
  205. package/dist/discovery/workspaces.json +3 -3
  206. package/dist/install/install.mjs +67 -28
  207. package/dist/mcp/registry-manifest.json +2 -2
  208. package/dist/server/routes/settings.js +4 -4
  209. package/dist/server/routes/settings.js.map +1 -1
  210. package/dist/server/schemas/settings.js +1 -1
  211. package/dist/server/schemas/settings.js.map +1 -1
  212. package/docs/CLAIMS.md +2 -2
  213. package/docs/archive/CHANGELOG-pre-8.1.0.md +316 -0
  214. package/docs/benchmark.md +40 -0
  215. package/docs/contracts/skill-bundled-assets.md +2 -2
  216. package/docs/customization.md +1 -1
  217. package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +9 -4
  218. package/docs/guidelines/agent-infra/corpus-grounding-authoring.md +2 -2
  219. package/docs/guidelines/agent-infra/engineering-memory-data-format.md +4 -4
  220. package/docs/guidelines/agent-infra/installed-tools-manifest.md +3 -3
  221. package/docs/guidelines/agent-infra/language-and-tone-examples.md +2 -2
  222. package/docs/guidelines/agent-infra/layered-settings.md +4 -4
  223. package/docs/guidelines/agent-infra/memory-access.md +19 -18
  224. package/docs/guidelines/agent-infra/naming.md +1 -1
  225. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +5 -5
  226. package/docs/guidelines/agent-infra/role-contracts.md +1 -1
  227. package/docs/guidelines/agent-infra/security-lint-containment.md +2 -2
  228. package/docs/guidelines/agent-infra/self-improvement-pipeline.md +1 -1
  229. package/docs/guidelines/agent-infra/size-and-scope.md +1 -1
  230. package/docs/guidelines/agent-infra/skill-quality-checklist.md +5 -5
  231. package/docs/guidelines/augment-portability-patterns.md +1 -1
  232. package/docs/proof.md +1 -1
  233. package/docs/setup/per-ide/claude-code.md +10 -4
  234. package/package.json +3 -2
  235. package/src/config/agent-settings.template.yml +31 -17
  236. package/src/config/host-capabilities.yml +25 -16
  237. package/src/config/profiles/balanced.ini +5 -3
  238. package/src/scripts/_cli/cmd_analyze_session.ts +23 -4
  239. package/src/scripts/_cli/cmd_conformance.ts +23 -4
  240. package/src/scripts/_cli/cmd_doctor.ts +96 -8
  241. package/src/scripts/_cli/cmd_explain.ts +23 -4
  242. package/src/scripts/_cli/cmd_export.ts +23 -4
  243. package/src/scripts/_cli/cmd_fleet.ts +23 -4
  244. package/src/scripts/_cli/cmd_migrate.ts +23 -4
  245. package/src/scripts/_cli/cmd_preflight.ts +24 -4
  246. package/src/scripts/_cli/cmd_prune.ts +23 -4
  247. package/src/scripts/_cli/cmd_refresh.ts +23 -4
  248. package/src/scripts/_cli/cmd_settings_check.ts +23 -4
  249. package/src/scripts/_cli/cmd_settings_migrate.ts +23 -4
  250. package/src/scripts/_cli/cmd_sync.ts +23 -4
  251. package/src/scripts/_cli/cmd_uninstall.ts +23 -4
  252. package/src/scripts/_cli/cmd_update.ts +23 -4
  253. package/src/scripts/_cli/cmd_upgrade.ts +238 -9
  254. package/src/scripts/_cli/cmd_validate.ts +23 -4
  255. package/src/scripts/_cli/cmd_versions.ts +23 -4
  256. package/src/scripts/_dispatch.bash +62 -19
  257. package/src/scripts/_lib/claude_plugin.ts +83 -0
  258. package/src/scripts/_lib/knowledge_global.ts +24 -2
  259. package/src/scripts/_lib/knowledge_global_promote.ts +24 -2
  260. package/src/scripts/_lib/knowledge_global_redaction.ts +24 -2
  261. package/src/scripts/_lib/link_crypto.ts +24 -5
  262. package/src/scripts/_lib/pin_resolver.ts +24 -3
  263. package/src/scripts/adoption_report.ts +23 -4
  264. package/src/scripts/adoption_snapshot.ts +23 -1
  265. package/src/scripts/adoption_status.ts +23 -4
  266. package/src/scripts/adr/regenerate_index.ts +24 -3
  267. package/src/scripts/ai_council/airgap.ts +25 -2
  268. package/src/scripts/ai_council/compile_corpus.ts +24 -2
  269. package/src/scripts/ai_council/pricing.ts +11 -1
  270. package/src/scripts/analysis_freshness.ts +23 -4
  271. package/src/scripts/annotate_discovery.ts +23 -1
  272. package/src/scripts/apply_modules_config.ts +23 -4
  273. package/src/scripts/audit_adr_coverage.ts +23 -4
  274. package/src/scripts/audit_auto_rules.ts +23 -1
  275. package/src/scripts/audit_cloud_compatibility.ts +23 -4
  276. package/src/scripts/audit_command_surface.ts +23 -4
  277. package/src/scripts/audit_initial_context.ts +23 -3
  278. package/src/scripts/audit_likelihood.ts +23 -1
  279. package/src/scripts/audit_mcp_tools.ts +23 -3
  280. package/src/scripts/audit_overlap.ts +23 -1
  281. package/src/scripts/audit_skill_descriptions.ts +24 -2
  282. package/src/scripts/audit_skill_overlap.ts +23 -1
  283. package/src/scripts/audit_user_type_axis.ts +23 -4
  284. package/src/scripts/backfill_model_tier.ts +23 -4
  285. package/src/scripts/bench_ab_cache_dispatch.ts +23 -1
  286. package/src/scripts/bench_ab_clone.ts +23 -1
  287. package/src/scripts/bench_ab_diff.ts +23 -1
  288. package/src/scripts/bench_ab_integrity.ts +23 -1
  289. package/src/scripts/bench_ab_run.ts +23 -2
  290. package/src/scripts/bench_ab_task_runner.ts +23 -1
  291. package/src/scripts/bench_ab_tracka_run.ts +23 -2
  292. package/src/scripts/bench_ab_v2_run.ts +23 -1
  293. package/src/scripts/bench_ab_v2_stats.ts +23 -1
  294. package/src/scripts/bench_baseline_ready.ts +23 -1
  295. package/src/scripts/bench_condense_memory.ts +23 -1
  296. package/src/scripts/bench_drift_check.ts +23 -2
  297. package/src/scripts/bench_matrix.ts +23 -4
  298. package/src/scripts/bench_per_tool.ts +23 -1
  299. package/src/scripts/bench_quality_run.ts +23 -2
  300. package/src/scripts/bench_rtk_savings.ts +23 -1
  301. package/src/scripts/bench_rule_load_latency.ts +23 -2
  302. package/src/scripts/bench_run.ts +23 -2
  303. package/src/scripts/bench_runner.ts +23 -1
  304. package/src/scripts/build_cloud_bundle.ts +23 -3
  305. package/src/scripts/build_discovery_manifest.ts +23 -4
  306. package/src/scripts/build_linear_digest.ts +23 -3
  307. package/src/scripts/build_mcp_registry_manifest.ts +23 -4
  308. package/src/scripts/build_rule_trigger_matrix.ts +23 -4
  309. package/src/scripts/capture_showcase_session.ts +23 -1
  310. package/src/scripts/chat_history.ts +24 -3
  311. package/src/scripts/check_always_budget.ts +23 -2
  312. package/src/scripts/check_artefact_checksums.ts +23 -4
  313. package/src/scripts/check_augment_description_cap.ts +23 -4
  314. package/src/scripts/check_augmentignore.ts +23 -4
  315. package/src/scripts/check_beta_review_markers.ts +23 -4
  316. package/src/scripts/check_cluster_patterns.ts +23 -4
  317. package/src/scripts/check_command_count_messaging.ts +23 -4
  318. package/src/scripts/check_comparison.ts +23 -1
  319. package/src/scripts/check_condensation.ts +24 -3
  320. package/src/scripts/check_condensed_paths.ts +23 -2
  321. package/src/scripts/check_context_paths.ts +23 -4
  322. package/src/scripts/check_council_config_location.ts +23 -4
  323. package/src/scripts/check_council_layout.ts +23 -4
  324. package/src/scripts/check_council_references.ts +23 -4
  325. package/src/scripts/check_discovery_determinism.ts +24 -4
  326. package/src/scripts/check_gate_paths.ts +23 -4
  327. package/src/scripts/check_generated_artefact_headers.ts +23 -4
  328. package/src/scripts/check_generator_output_coverage.ts +23 -4
  329. package/src/scripts/check_gitignore_freshness.ts +23 -4
  330. package/src/scripts/check_iron_law_prominence.ts +23 -4
  331. package/src/scripts/check_kernel_prefix_stability.ts +0 -0
  332. package/src/scripts/check_kernel_rule_bundle.ts +23 -4
  333. package/src/scripts/check_knowledge_cards.ts +23 -1
  334. package/src/scripts/check_md_language.ts +23 -4
  335. package/src/scripts/check_media_deps.ts +24 -1
  336. package/src/scripts/check_memory.ts +24 -2
  337. package/src/scripts/check_memory_proposal.ts +23 -4
  338. package/src/scripts/check_module_management_neutral.ts +23 -4
  339. package/src/scripts/check_no_conflict_markers.ts +23 -4
  340. package/src/scripts/check_no_external_sources.ts +23 -4
  341. package/src/scripts/check_no_local_settings_committed.ts +24 -4
  342. package/src/scripts/check_no_new_legacy_path.ts +23 -4
  343. package/src/scripts/check_no_roadmap_refs.ts +23 -4
  344. package/src/scripts/check_one_off_location.ts +23 -4
  345. package/src/scripts/check_overlay_cascade_subdirs.ts +23 -4
  346. package/src/scripts/check_portability.ts +24 -3
  347. package/src/scripts/check_proposal.ts +0 -0
  348. package/src/scripts/check_public_catalog_links.ts +23 -4
  349. package/src/scripts/check_public_links.ts +23 -4
  350. package/src/scripts/check_quality_regression.ts +23 -2
  351. package/src/scripts/check_references.ts +23 -4
  352. package/src/scripts/check_release_includes_discovery.ts +23 -4
  353. package/src/scripts/check_release_pr_shape.ts +23 -4
  354. package/src/scripts/check_release_published.ts +23 -4
  355. package/src/scripts/check_release_trunk_sync.ts +23 -4
  356. package/src/scripts/check_reply_consistency.ts +23 -4
  357. package/src/scripts/check_roadmap_trackable.ts +23 -4
  358. package/src/scripts/check_role_doc_links.ts +23 -4
  359. package/src/scripts/check_safety_floor_untouched.ts +24 -4
  360. package/src/scripts/check_site_links.ts +23 -1
  361. package/src/scripts/check_skill_gaps.ts +23 -1
  362. package/src/scripts/check_skill_requires.ts +23 -4
  363. package/src/scripts/check_structural_breaking.ts +24 -4
  364. package/src/scripts/check_surface_tiers.ts +23 -4
  365. package/src/scripts/check_template_pin_drift.ts +23 -4
  366. package/src/scripts/check_test_coverage_diff.ts +23 -4
  367. package/src/scripts/check_token_optimizer_freshness.ts +23 -4
  368. package/src/scripts/check_token_quality_golden.ts +23 -2
  369. package/src/scripts/check_token_regression.ts +23 -2
  370. package/src/scripts/check_tracked_but_ignored.ts +24 -4
  371. package/src/scripts/check_trigger_evals.ts +23 -4
  372. package/src/scripts/check_trunk_drift.ts +24 -1
  373. package/src/scripts/check_update_banner.ts +23 -4
  374. package/src/scripts/ci_summary.ts +23 -4
  375. package/src/scripts/ci_time_ratio.ts +23 -4
  376. package/src/scripts/cluster_near_miss_patterns.ts +0 -0
  377. package/src/scripts/compile_router.ts +23 -4
  378. package/src/scripts/condense.ts +23 -2
  379. package/src/scripts/condense_memory.ts +24 -2
  380. package/src/scripts/config/packs.ts +24 -4
  381. package/src/scripts/config/session_profiles.ts +23 -4
  382. package/src/scripts/context_hygiene_hook.ts +24 -3
  383. package/src/scripts/cost_by_conversation.ts +23 -4
  384. package/src/scripts/cost_summary.ts +23 -4
  385. package/src/scripts/council_cli.ts +35 -7
  386. package/src/scripts/council_prune.ts +25 -2
  387. package/src/scripts/cross_repo_retrieve.ts +23 -4
  388. package/src/scripts/discovery_stats.ts +23 -4
  389. package/src/scripts/evidence_report.ts +23 -1
  390. package/src/scripts/export_replay_corpus.ts +23 -2
  391. package/src/scripts/extract_audit_patterns.ts +23 -1
  392. package/src/scripts/first_run_gate_hook.ts +24 -3
  393. package/src/scripts/gen_discovery_baseline.ts +23 -4
  394. package/src/scripts/generate_capabilities_index.ts +24 -5
  395. package/src/scripts/generate_capability_matrix.ts +23 -4
  396. package/src/scripts/generate_catalog.ts +23 -1
  397. package/src/scripts/generate_command_flows.ts +23 -4
  398. package/src/scripts/generate_cookbook.ts +23 -4
  399. package/src/scripts/generate_index.ts +23 -4
  400. package/src/scripts/generate_ownership_matrix.ts +23 -1
  401. package/src/scripts/generate_pack_manifests.ts +24 -5
  402. package/src/scripts/generate_role_experiences_catalog.ts +23 -4
  403. package/src/scripts/hooks/block_no_verify.ts +23 -4
  404. package/src/scripts/hooks/design_slop_hook.ts +24 -3
  405. package/src/scripts/hooks/dispatch_hook.ts +47 -14
  406. package/src/scripts/hooks/replay_hook.ts +23 -2
  407. package/src/scripts/hooks/rtk_wrap_hook.ts +24 -5
  408. package/src/scripts/hooks_doctor.ts +23 -2
  409. package/src/scripts/hooks_status.ts +23 -2
  410. package/src/scripts/injection_scan_hook.ts +24 -5
  411. package/src/scripts/install.ts +72 -44
  412. package/src/scripts/inventory_abstraction_budget.ts +23 -1
  413. package/src/scripts/inventory_frontmatter.ts +23 -1
  414. package/src/scripts/inventory_meta_layers.ts +23 -1
  415. package/src/scripts/iron_law_sha.ts +23 -4
  416. package/src/scripts/janitor.ts +23 -4
  417. package/src/scripts/knowledge_global_cli.ts +24 -2
  418. package/src/scripts/linked_projects_list.ts +23 -4
  419. package/src/scripts/lint_agent_security.ts +23 -4
  420. package/src/scripts/lint_agent_skill_names.ts +23 -4
  421. package/src/scripts/lint_agents_layout.ts +23 -4
  422. package/src/scripts/lint_agents_md.ts +23 -4
  423. package/src/scripts/lint_archived_skills.ts +23 -4
  424. package/src/scripts/lint_artefact_frontmatter.ts +23 -4
  425. package/src/scripts/lint_bench_ab.ts +23 -4
  426. package/src/scripts/lint_bench_corpus.ts +23 -2
  427. package/src/scripts/lint_command_flow_coverage.ts +23 -4
  428. package/src/scripts/lint_command_routing.ts +23 -4
  429. package/src/scripts/lint_command_tiers.ts +23 -2
  430. package/src/scripts/lint_command_verbs.ts +23 -4
  431. package/src/scripts/lint_commit_subjects.ts +24 -4
  432. package/src/scripts/lint_confusables.ts +25 -5
  433. package/src/scripts/lint_context_spine_usage.ts +23 -4
  434. package/src/scripts/lint_discovery_manifest.ts +23 -4
  435. package/src/scripts/lint_discovery_vocabulary.ts +23 -4
  436. package/src/scripts/lint_empty_roadmaps.ts +23 -4
  437. package/src/scripts/lint_eval_freshness.ts +23 -4
  438. package/src/scripts/lint_examples.ts +23 -4
  439. package/src/scripts/lint_explain_trace.ts +23 -4
  440. package/src/scripts/lint_featured_skills.ts +0 -0
  441. package/src/scripts/lint_flows.ts +23 -4
  442. package/src/scripts/lint_framework_leakage.ts +23 -4
  443. package/src/scripts/lint_frontmatter_boilerplate.ts +23 -4
  444. package/src/scripts/lint_ghostwriter_source.ts +23 -4
  445. package/src/scripts/lint_global_paths.ts +23 -2
  446. package/src/scripts/lint_handoffs.ts +23 -4
  447. package/src/scripts/lint_hidden_unicode.ts +24 -5
  448. package/src/scripts/lint_hook_concern_budget.ts +23 -4
  449. package/src/scripts/lint_hook_manifest.ts +23 -2
  450. package/src/scripts/lint_instruction_smuggling.ts +25 -5
  451. package/src/scripts/lint_legal_pack.ts +23 -1
  452. package/src/scripts/lint_load_context.ts +23 -4
  453. package/src/scripts/lint_marketplace.ts +24 -3
  454. package/src/scripts/lint_marketplace_install_completeness.ts +23 -4
  455. package/src/scripts/lint_mcp_config_security.ts +25 -5
  456. package/src/scripts/lint_mcp_registry_manifest.ts +23 -4
  457. package/src/scripts/lint_media_policy_linkage.ts +23 -4
  458. package/src/scripts/lint_missions.ts +23 -4
  459. package/src/scripts/lint_model_tier_coverage.ts +23 -4
  460. package/src/scripts/lint_namespace.ts +23 -4
  461. package/src/scripts/lint_namespace_collisions.ts +23 -4
  462. package/src/scripts/lint_new_skill_gate.ts +23 -4
  463. package/src/scripts/lint_no_new_atomic_commands.ts +23 -4
  464. package/src/scripts/lint_one_off_age.ts +23 -4
  465. package/src/scripts/lint_orchestration_dsl.ts +23 -4
  466. package/src/scripts/lint_orchestrator_auto_detect.ts +23 -4
  467. package/src/scripts/lint_pack_boundaries.ts +23 -4
  468. package/src/scripts/lint_pack_dependencies.ts +23 -2
  469. package/src/scripts/lint_pack_first_win.ts +23 -4
  470. package/src/scripts/lint_pack_risk_class.ts +23 -1
  471. package/src/scripts/lint_persona_governance.ts +23 -4
  472. package/src/scripts/lint_positioning.ts +23 -4
  473. package/src/scripts/lint_profile_overlay_set_only.ts +23 -4
  474. package/src/scripts/lint_readme_jargon.ts +23 -4
  475. package/src/scripts/lint_readme_size.ts +23 -4
  476. package/src/scripts/lint_regression.ts +23 -4
  477. package/src/scripts/lint_roadmap_blockers.ts +23 -4
  478. package/src/scripts/lint_roadmap_ci_steps.ts +23 -4
  479. package/src/scripts/lint_roadmap_complexity.ts +23 -4
  480. package/src/scripts/lint_roadmap_later_disposition.ts +23 -4
  481. package/src/scripts/lint_role_experiences.ts +23 -4
  482. package/src/scripts/lint_rule_interactions.ts +23 -4
  483. package/src/scripts/lint_rule_tiers.ts +24 -3
  484. package/src/scripts/lint_showcase_sessions.ts +23 -4
  485. package/src/scripts/lint_skill_frontmatter_safety.ts +25 -5
  486. package/src/scripts/lint_skill_originality.ts +23 -4
  487. package/src/scripts/lint_skill_tools.ts +23 -4
  488. package/src/scripts/lint_subagent_determinism.ts +23 -4
  489. package/src/scripts/lint_ticket_buildable.ts +23 -4
  490. package/src/scripts/lint_topics_yaml.ts +23 -4
  491. package/src/scripts/lint_trust_coherence.ts +23 -4
  492. package/src/scripts/lint_value_dashboard.ts +23 -4
  493. package/src/scripts/lint_workflow_security.ts +23 -4
  494. package/src/scripts/lint_workspace_boundary.ts +23 -4
  495. package/src/scripts/mcp_parity_smoke.ts +23 -2
  496. package/src/scripts/mcp_render.ts +23 -4
  497. package/src/scripts/mcp_telemetry_health.ts +23 -4
  498. package/src/scripts/mcp_telemetry_query.ts +23 -4
  499. package/src/scripts/mcp_telemetry_store.ts +23 -4
  500. package/src/scripts/measure_augment_budget.ts +23 -1
  501. package/src/scripts/measure_density.ts +23 -1
  502. package/src/scripts/measure_frugality_savings.ts +23 -1
  503. package/src/scripts/measure_markitdown_lift.ts +23 -1
  504. package/src/scripts/measure_patterns.ts +23 -1
  505. package/src/scripts/measure_projection_bytes.ts +23 -1
  506. package/src/scripts/measure_rule_budget.ts +23 -4
  507. package/src/scripts/measure_skill_reduction.ts +23 -1
  508. package/src/scripts/memory_hash.ts +24 -2
  509. package/src/scripts/memory_lookup.ts +24 -2
  510. package/src/scripts/memory_report.ts +24 -2
  511. package/src/scripts/memory_signal.ts +24 -2
  512. package/src/scripts/memory_status.ts +26 -2
  513. package/src/scripts/migrate_command_suggestions.ts +23 -4
  514. package/src/scripts/migrate_frontmatter_defaults.ts +23 -4
  515. package/src/scripts/migration_status.ts +25 -4
  516. package/src/scripts/mine_missing_guardrails.ts +23 -1
  517. package/src/scripts/mine_session.ts +23 -1
  518. package/src/scripts/minimal_safe_diff_hook.ts +24 -3
  519. package/src/scripts/new_skill.ts +23 -3
  520. package/src/scripts/onboarding_gate_hook.ts +24 -3
  521. package/src/scripts/parity/coverage_diff.ts +25 -3
  522. package/src/scripts/parity/phase_gate.ts +25 -4
  523. package/src/scripts/parity/replay.ts +25 -3
  524. package/src/scripts/pattern_share.ts +23 -4
  525. package/src/scripts/plan_physical_move.ts +23 -4
  526. package/src/scripts/prediction-pool/poisson_sim.ts +24 -3
  527. package/src/scripts/prediction-pool/pool_winsim.ts +24 -3
  528. package/src/scripts/prediction-pool/score_ev.ts +24 -3
  529. package/src/scripts/print_required_checks.ts +24 -4
  530. package/src/scripts/probe_host_compliance.ts +23 -2
  531. package/src/scripts/probe_projection_fidelity.ts +23 -1
  532. package/src/scripts/probe_skill_registration.ts +24 -2
  533. package/src/scripts/profile_staleness_hook.ts +24 -3
  534. package/src/scripts/profile_use.ts +23 -4
  535. package/src/scripts/project_thin_rules.ts +23 -3
  536. package/src/scripts/propose_modules_config.ts +23 -4
  537. package/src/scripts/prototype_lint_contradictions.ts +23 -1
  538. package/src/scripts/prove_pack_extractable.ts +23 -4
  539. package/src/scripts/readme_linter.ts +23 -3
  540. package/src/scripts/redact_hook_capture.ts +23 -4
  541. package/src/scripts/refine_ticket_detect.ts +23 -4
  542. package/src/scripts/release.ts +23 -4
  543. package/src/scripts/render_benchmark_composite.ts +23 -4
  544. package/src/scripts/render_benchmark_md.ts +23 -4
  545. package/src/scripts/roadmap_progress_hook.ts +46 -16
  546. package/src/scripts/run_skill_evals.ts +23 -4
  547. package/src/scripts/runtime_dispatcher.ts +23 -4
  548. package/src/scripts/runtime_registry.ts +23 -4
  549. package/src/scripts/score_skill_selection.ts +23 -1
  550. package/src/scripts/security_audit_config.ts +24 -5
  551. package/src/scripts/skill_collision_clusters.ts +23 -4
  552. package/src/scripts/skill_discovery.ts +23 -4
  553. package/src/scripts/skill_linter.ts +23 -2
  554. package/src/scripts/skill_preview.ts +23 -4
  555. package/src/scripts/skill_tools/audit_persona_coverage.ts +23 -1
  556. package/src/scripts/skill_tools/audit_user_type_coverage.ts +23 -1
  557. package/src/scripts/skill_tools/run_block_d_eval.ts +23 -1
  558. package/src/scripts/skill_tools/score_skill_relevance.ts +23 -1
  559. package/src/scripts/skill_tools/suggest_skill_for_task.ts +24 -1
  560. package/src/scripts/skill_usage_collect.ts +23 -4
  561. package/src/scripts/smoke_path_resolution.ts +23 -4
  562. package/src/scripts/smoke_quickstart.ts +23 -4
  563. package/src/scripts/snapshot_agent_outputs.ts +23 -4
  564. package/src/scripts/spotcheck_thin_root.ts +23 -4
  565. package/src/scripts/sync_agent_settings.ts +23 -4
  566. package/src/scripts/sync_github_metadata.ts +23 -4
  567. package/src/scripts/sync_gitignore.ts +23 -4
  568. package/src/scripts/telegraph_stats.ts +23 -4
  569. package/src/scripts/tool_registry.ts +24 -4
  570. package/src/scripts/trigger_coverage.ts +23 -4
  571. package/src/scripts/update_counts.ts +23 -4
  572. package/src/scripts/update_prices.ts +23 -1
  573. package/src/scripts/validate_agent_settings.ts +23 -4
  574. package/src/scripts/validate_decision_engine.ts +23 -4
  575. package/src/scripts/validate_discovery_manifest.ts +23 -4
  576. package/src/scripts/validate_frontmatter.ts +23 -2
  577. package/src/scripts/validate_pack_yaml.ts +0 -0
  578. package/src/scripts/validate_safe_paths.ts +24 -4
  579. package/src/scripts/validate_telegraph_carveouts.ts +23 -4
  580. package/src/scripts/verify_before_complete_hook.ts +24 -3
  581. package/src/scripts/verify_physical_move.ts +23 -4
  582. package/src/scripts/wrapper_freshness_hook.ts +107 -8
  583. package/tests/fixtures/hooks/README.md +92 -0
  584. package/tests/fixtures/hooks/agent_error.json +7 -0
  585. package/tests/fixtures/hooks/post_tool_use.json +13 -0
  586. package/tests/fixtures/hooks/pre_compact.json +7 -0
  587. package/tests/fixtures/hooks/pre_tool_use.json +9 -0
  588. package/tests/fixtures/hooks/session_end.json +6 -0
  589. package/tests/fixtures/hooks/session_start.json +6 -0
  590. package/tests/fixtures/hooks/stop.json +6 -0
  591. package/tests/fixtures/hooks/user_prompt_submit.json +7 -0
@@ -4,21 +4,22 @@ How a skill or command reads engineering memory. Memory is entirely
4
4
  **file-backed** (`agents/memory/`); there is no external backend.
5
5
 
6
6
  Single entry point: the shared `retrieve(types, keys, limit)`
7
- abstraction backed by `scripts/memory_lookup.py`. It reads curated YAML
8
- under `agents/memory/<type>/` and the agent-written `agents/memory/intake/
9
- *.jsonl` signal log.
7
+ abstraction backed by `scripts/memory_lookup.ts` (TypeScript, run via
8
+ tsx). It reads curated YAML under `agents/memory/<type>/` and the
9
+ agent-written `agents/memory/intake/*.jsonl` signal log.
10
10
 
11
11
  ## The contract
12
12
 
13
- ```python
14
- from scripts.memory_status import status
15
- from scripts.memory_lookup import retrieve as retrieve_file
13
+ Consumers reach it via the CLI (`agent-config memory:lookup`) or the
14
+ MCP `memory_lookup` tool — never by ad-hoc file reads:
16
15
 
17
- hits = retrieve_file(
18
- types=["ownership", "historical-patterns"],
19
- keys=["app/Http/Controllers/Billing/Checkout.php"],
20
- limit=3,
21
- )
16
+ ```bash
17
+ agent-config memory:lookup \
18
+ --types ownership,historical-patterns \
19
+ --key "app/Http/Controllers/Billing/Checkout.php" \
20
+ --limit 3
21
+ # --key is repeatable; add --format json for the raw hits,
22
+ # --envelope v1 for the retrieval-contract envelope.
22
23
  ```
23
24
 
24
25
  Every backend MUST return a list of `Hit` with:
@@ -43,14 +44,14 @@ intake (low-confidence tier); it just never reaches the team repo unpromoted.
43
44
 
44
45
  ## The status helper
45
46
 
46
- `scripts/memory_status.py` reports the (constant) file backend so
47
- consumers — including the MCP `memory_status` tool and the v1 health
48
- envelope — read a stable shape:
47
+ `scripts/memory_status.ts` exports `status()`, reporting the (constant)
48
+ file backend so consumers — including the MCP `memory_status` tool and
49
+ the v1 health envelope — read a stable shape:
49
50
 
50
- ```python
51
- from scripts.memory_status import status
52
- r = status() # constant; file-backed, never raises
53
- assert r.status == "file" and r.backend == "file"
51
+ ```ts
52
+ import { status } from './memory_status.js';
53
+ const r = status(); // constant; file-backed, never raises
54
+ // r.status === 'file' && r.backend === 'file'
54
55
  ```
55
56
 
56
57
  Contract guarantees:
@@ -64,6 +64,6 @@ source: package
64
64
 
65
65
  ## Linter enforcement
66
66
 
67
- The skill linter (`scripts/skill_linter.py`) warns on:
67
+ The skill linter (`scripts/skill_linter.ts`) warns on:
68
68
  - **Bare-noun names** — single word without qualifier (e.g., `jira` instead of `jira-integration`)
69
69
  - **Layer collisions** — same name used for both a rule and a skill
@@ -10,7 +10,7 @@ _Origin: migrated from `.agent-src.uncondensed/rules/roadmap-progress-sync.md` p
10
10
  # Roadmap Progress Sync
11
11
 
12
12
  > **Enforced by (defence in depth):**
13
- > 1. [`scripts/roadmap_progress_hook.py`](../../src/scripts/roadmap_progress_hook.py)
13
+ > 1. [`scripts/roadmap_progress_hook.ts`](../../src/scripts/roadmap_progress_hook.ts)
14
14
  > on Augment + Claude Code (`PostToolUse`) — auto-regen on write.
15
15
  > 2. `.git/hooks/pre-commit` (installed by `scripts/install-hooks.sh`) —
16
16
  > blocks any commit whose staged set touches `agents/roadmaps/` or
@@ -44,7 +44,7 @@ without regenerating? The dashboard claims it does not exist. Marked
44
44
  EVERY ACTIVE ROADMAP MUST CONTAIN AT LEAST ONE TRACKABLE CHECKBOX
45
45
  (`- [ ]`) PER NON-INTRO PHASE. ROADMAPS WITHOUT EXECUTABLE STEPS
46
46
  EITHER GET A CHECKLIST OR THE `status: draft` FLAG.
47
- CI-ENFORCED: `scripts/check_roadmap_trackable.py` (CANNOT BE DEFERRED).
47
+ CI-ENFORCED: `scripts/check_roadmap_trackable.ts` (CANNOT BE DEFERRED).
48
48
  ```
49
49
 
50
50
  **Active roadmap =** any file in `agents/roadmaps/` (root, not
@@ -61,7 +61,7 @@ Headings such as `## Phase steps`, `### Sequencing — Phase 1 …`,
61
61
  `### P0 #1 — …`, or `## Block A` do **not** count — only the
62
62
  canonical `Phase <id>` form parsed by the dashboard.
63
63
 
64
- **CI backstop.** `scripts/check_roadmap_trackable.py` (package-shipped,
64
+ **CI backstop.** `scripts/check_roadmap_trackable.ts` (package-shipped,
65
65
  wire into the consumer's pre-commit / pre-push / Actions gate) fails
66
66
  when an active roadmap has zero canonical `Phase` headings or when
67
67
  any parsed phase has zero checkboxes. Last line of defence — real-time
@@ -103,7 +103,7 @@ skipped decision table.
103
103
 
104
104
  ```
105
105
  A FILE THE AGENT DROPS INTO agents/roadmaps/ MUST EITHER
106
- (a) PASS check_roadmap_trackable.py AND LAND IN THE DASHBOARD, OR
106
+ (a) PASS check_roadmap_trackable.ts AND LAND IN THE DASHBOARD, OR
107
107
  (b) NOT BE IN agents/roadmaps/ AT ALL.
108
108
  NO "DECISION MATRIX" / "DESIGN NOTE" SHORTCUT.
109
109
  ```
@@ -173,7 +173,7 @@ surface; the mechanics file is the lookup material.
173
173
  ## Copilot fallback
174
174
 
175
175
  GitHub Copilot has no `PostToolUse` hook surface, so
176
- `scripts/roadmap_progress_hook.py` cannot detect roadmap-file writes
176
+ `scripts/roadmap_progress_hook.ts` cannot detect roadmap-file writes
177
177
  structurally. The dashboard at `agents/roadmaps-progress.md` will
178
178
  not regenerate on its own.
179
179
 
@@ -75,7 +75,7 @@ Referenced by `road-to-role-modes.md` Phase 1. Each contract is a
75
75
 
76
76
  **Memory-write is the final field, not a nice-to-have.** Before the
77
77
  mode exits, the agent MUST either emit an intake signal via
78
- [`memory-access`](memory-access.md) (`scripts/memory_signal.py`
78
+ [`memory-access`](memory-access.md) (`scripts/memory_signal.ts`
79
79
  append — one line, fire-and-forget) or draft a curated entry with
80
80
  [`/memory-add incident-learnings`](../../commands/memory-add.md).
81
81
  Pattern + consequence + guardrail, redacted. Skipping this field
@@ -3,7 +3,7 @@
3
3
  How the agent-security self-audit linters
4
4
  (`lint_hidden_unicode`, `lint_instruction_smuggling`,
5
5
  `lint_mcp_config_security`, `lint_skill_frontmatter_safety` — shared lib
6
- `src/scripts/_lib/security_lint.py`) avoid drowning in false positives **without**
6
+ `src/scripts/_lib/security_lint.ts`) avoid drowning in false positives **without**
7
7
  a global allowlist.
8
8
 
9
9
  ## Why this exists
@@ -76,6 +76,6 @@ inside a `security-example` fence, and not covered by a matching pragma.
76
76
 
77
77
  ## See also
78
78
 
79
- - `src/scripts/_lib/security_lint.py` — the shared implementation.
79
+ - `src/scripts/_lib/security_lint.ts` — the shared implementation.
80
80
  - `road-to-security-pillar` P1.5 (archived roadmap) — the council-locked decision behind this convention.
81
81
  - [`autonomous-execution`](../../../src/rules/autonomous-execution.md) — the allowlist-growth antipattern this convention avoids.
@@ -63,7 +63,7 @@ blocks — it does not hand a half-filled doc to the next stage.
63
63
  ### Stage 4 — Gate
64
64
 
65
65
  - **Trigger:** proposal doc committed or staged.
66
- - **Executor:** `scripts/check_proposal.py`.
66
+ - **Executor:** `scripts/check_proposal.ts`.
67
67
  - **Input:** proposal doc from Stage 3.
68
68
  - **Output:** verdict recorded in the proposal doc section 9
69
69
  (`pass | request changes | block`). Frontmatter `stage: gated`
@@ -113,7 +113,7 @@ evidence-disciplined context type:
113
113
 
114
114
  - Hard bound: **≤ 150 lines** — a card is a thin distillation, never a mirror.
115
115
  - **Mandatory** `links.authoritative` pointer (path or URL).
116
- - Enforced by `check_knowledge_cards.py` (pointer-resolution CI + size +
116
+ - Enforced by `check_knowledge_cards.ts` (pointer-resolution CI + size +
117
117
  trust-tag + multi-evidence git-ancestry consistency; `--strict` adds a
118
118
  content-compare). Durable content = negative facts + pointers; positive
119
119
  structure is a per-line, last-verified hypothesis.
@@ -24,7 +24,7 @@ Every skill MUST have: `When to use`, `Procedure`, `Gotcha`, `Output format`, `D
24
24
  ## Frontmatter Contract
25
25
 
26
26
  Every skill's YAML frontmatter MUST validate against `scripts/schemas/skill.schema.json`.
27
- Violations are reported by `scripts/skill_linter.py` as `schema_<rule>` errors
27
+ Violations are reported by `scripts/skill_linter.ts` as `schema_<rule>` errors
28
28
  and fail `./scripts-run src/scripts/validate_frontmatter` and the full CI pipeline.
29
29
 
30
30
  ### Omit fields equal to their schema default
@@ -39,7 +39,7 @@ A field that carries the schema `default` (e.g. `trust.level: core`,
39
39
  `command.disable-model-invocation: true`) is redundant:
40
40
  `validate_frontmatter.apply_schema_defaults` injects it transparently for
41
41
  every consumer (validator, discovery manifest, drift checksum). Writing it
42
- anyway is boilerplate that `scripts/lint_frontmatter_boilerplate.py` rejects
42
+ anyway is boilerplate that `scripts/lint_frontmatter_boilerplate.ts` rejects
43
43
  (wired into `task ci-fast`). To strip it across the tree, run
44
44
  `./scripts-run src/scripts/migrate_frontmatter_defaults`. Background:
45
45
  `road-to-abstraction-reduction.md` +
@@ -49,7 +49,7 @@ anyway is boilerplate that `scripts/lint_frontmatter_boilerplate.py` rejects
49
49
  > contract: artefacts that omit the field inherit whatever the default *is at
50
50
  > read time*. Flipping a default value (e.g. `lifecycle: active → deprecated`)
51
51
  > silently re-defaults every artefact that omits the field — so a default
52
- > change must pair with a re-run of `migrate_frontmatter_defaults.py` and an
52
+ > change must pair with a re-run of `migrate_frontmatter_defaults.ts` and an
53
53
  > explicit review of the affected artefacts.
54
54
 
55
55
  ## Description Triggering
@@ -106,7 +106,7 @@ blocks beyond the standard required sections:
106
106
  | 3 | Proactive Triggers | `## When the agent should load this` | 3–5 concrete user-prompt patterns (paraphrases users actually type), not abstract categories. |
107
107
  | 4 | Output Artifacts | `## Output` | 1–4 named artifacts with shape (file path, table, markdown structure) — orchestrator-citable identifier each. |
108
108
 
109
- **Forward-only.** `scripts/skill_linter.py` enforces these blocks for
109
+ **Forward-only.** `scripts/skill_linter.ts` enforces these blocks for
110
110
  `tier: senior` skills only; mid-tier and untiered skills skip the
111
111
  check. No retrofit pass on existing Wing-1 skills.
112
112
 
@@ -117,7 +117,7 @@ bad pattern pairs, and the WHEN-NOT routing peer rules live in
117
117
 
118
118
  ## Structural Malice Floor
119
119
 
120
- `scripts/skill_linter.py` runs five regex patterns against every
120
+ `scripts/skill_linter.ts` runs five regex patterns against every
121
121
  skill / rule / command body — credential exfiltration, remote
122
122
  execution, force-push to a protected ref, world-readable secret
123
123
  files, and shell-injection in subprocess calls. A match emits
@@ -61,7 +61,7 @@ invocation.
61
61
 
62
62
  ## Enforcement
63
63
 
64
- `scripts/check_portability.py` scans `.augment/`, `.agent-src.uncondensed/`,
64
+ `scripts/check_portability.ts` scans `.augment/`, `.agent-src.uncondensed/`,
65
65
  and the package repo's root `AGENTS.md` + `.github/copilot-instructions.md`
66
66
  for forbidden identifiers, for any `task <name>` invocation inside
67
67
  artefact files, and for direct script invocations that bypass the
package/docs/proof.md CHANGED
@@ -27,7 +27,7 @@ evidence pointer, or `task check-claims` fails the build.
27
27
  | Claim | Kind | Evidence | Resolves |
28
28
  |---|---|---|---|
29
29
  | On a weak host (claude-haiku-4-5) the package produces a significant, placebo-controlled discipline lift on scope/downstream traps; on a strong host the same measurement is a published null — the package transplants discipline a weak model lacks, not model intelligence. | quant | `docs/benchmark.md#weak-host-specific` | ✅ |
30
- | The lift-carrying essential cut (kernel + downstream-changes) keeps a significant weak-host discipline lift at a fraction of the full load's tokens, and the lift is FAMILY-SCOPED — full-corpus P1 gate (n=90 pairs): scope/downstream family 0.533→1.000 (7/7 discordant favour essential), other families flat at ceiling, corpus-wide 1.71x tokens; the full load's residual over essential is not significant (p=0.37, n=24). Non-claim on the flip side — the balanced router profile (kernel + tier-1 by size) was removed after measuring a NULL lift (p=0.81, n=24, claude-haiku-4-5, 2026-07-07), and no full-tier recommendation exists anywhere until its own evidence gate passes. | quant | `docs/benchmark.md#Full-corpus P1 gate` | ✅ |
30
+ | The lift-carrying essential cut (kernel + downstream-changes) keeps a significant weak-host discipline lift at a fraction of the full load's tokens, and the lift is FAMILY- and HOST-SCOPED — measured on three hosts: claude-haiku-4-5 (weak) shows the family-scoped lift (trapE 0.533→1.000, 7/7 discordant, corpus cost 1.71x); claude-sonnet-4-6 (strong) is a ceiling null; gpt-5-mini (non-Claude weak, codex prompt-prepend surface) FAILED replication with headroom (corpus Δ=+0.024 p=0.70, capability trend n.s. — no harm claimed, injection-surface confound documented). Therefore discipline_profile: auto enables the lift only where measured (vendor-granular unknown_defaults). Non-claims — the balanced router profile was removed after a NULL measurement (p=0.81, n=24); no full-tier recommendation exists; no cross-vendor lift is claimed. | quant | `docs/benchmark.md#REPLICATION FAILED` | ✅ |
31
31
  | The whole layer is compiled into host agents with zero runtime daemon. | qual | `docs/contracts/no-runtime-boundary.md#file-first, no-runtime suite` | ✅ |
32
32
  | Removes only its own keys from a shared host config (matched by JSON-pointer + SHA-256), never a neighbour tool's entries. | qual | `docs/contracts/install-layout.md#JSON-pointer` | ✅ |
33
33
 
@@ -32,14 +32,20 @@ Either form populates:
32
32
  ## Plugin marketplace (Claude Code 2026+)
33
33
 
34
34
  Claude Code 2026 supports plugin marketplaces via
35
- `.claude-plugin/marketplace.json`. The package ships one — once
36
- listed at the Anthropic marketplace (Phase 7 / S34) you can also:
35
+ `.claude-plugin/marketplace.json`. The package ships one, so as an
36
+ **additional, optional** surface you can also install the plugin:
37
37
 
38
38
  ```bash
39
- claude plugin install event4u/agent-config
39
+ claude plugin marketplace add event4u-app/agent-config
40
+ claude plugin install agent-config@event4u-agent-config
40
41
  ```
41
42
 
42
- Today the npm/curl entrypoints above are the supported install path.
43
+ The npm/curl entrypoints above are a full install on their own — the
44
+ file projection carries the complete skill/command set; the plugin adds
45
+ the namespaced `agent-config:*` surface on top. When the plugin is
46
+ installed, `agent-config upgrade` refreshes it automatically (Claude
47
+ Code otherwise pins it to the install-time git SHA); `agent-config
48
+ doctor --check claude-plugin` reports a stale snapshot.
43
49
 
44
50
  ## CLAUDE.md
45
51
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@event4u/agent-config",
3
- "version": "8.1.0",
3
+ "version": "8.2.0",
4
4
  "description": "Universal AI Agent OS — audited skills, governance rules, commands, and templates for AI coding tools (Claude Code, Cursor, Windsurf, Copilot).",
5
5
  "license": "MIT",
6
6
  "private": false,
@@ -39,6 +39,7 @@
39
39
  "docs/",
40
40
  "src/scripts/",
41
41
  "src/templates/",
42
+ "tests/fixtures/hooks/",
42
43
  "AGENTS.md",
43
44
  "CHANGELOG.md",
44
45
  "CONTRIBUTING.md",
@@ -82,7 +83,6 @@
82
83
  "eslint": "^9.39.4",
83
84
  "happy-dom": "^20.9.0",
84
85
  "js-tiktoken": "^1.0.21",
85
- "tsx": "^4.22.3",
86
86
  "typescript": "^5.9.3",
87
87
  "vite": "^5.4.21",
88
88
  "vitest": "^2.1.9"
@@ -97,6 +97,7 @@
97
97
  "js-yaml": "^4.1.0",
98
98
  "open": "^10.2.0",
99
99
  "preact": "^10.29.0",
100
+ "tsx": "^4.22.3",
100
101
  "yaml": "^2.9.0",
101
102
  "zod": "^3.25.0",
102
103
  "zod-to-json-schema": "^3.25.0"
@@ -85,17 +85,19 @@ projection:
85
85
  # package's residual over it is not significant (p=0.37).
86
86
  # full = every rule tier (~11.7x tokens). EXPERIMENTAL opt-in only:
87
87
  # residual lift over essential not established.
88
- # auto = resolve per session against host-capabilities.yml — model on
89
- # the measured NULL-lift list -> off, otherwise -> essential.
88
+ # auto = resolve per session against host-capabilities.yml — measured
89
+ # NULL-lift model -> off; unmeasured Claude-family -> essential;
90
+ # unmeasured non-Claude -> off (P2 verdict, vendor-granular).
90
91
  #
91
92
  # This key WINS over the legacy `rule_loading_tier` below (mapping when
92
93
  # absent: minimal->off, balanced->essential, full->full, custom->custom).
93
- # The installer fills the placeholder per preset with the value that
94
- # preserves each preset's prior behaviour (minimal->off,
95
- # balanced->essential, full->full) — same resolution as the legacy
96
- # mapping, no behaviour change. The flip of the shipped default to
97
- # `auto` is evidence-gated (P2 non-Claude replication, see
98
- # agents/roadmaps/road-to-discipline-profile-tiering.md).
94
+ # The installer fills the placeholder per preset: minimal->off,
95
+ # balanced->auto, full->full. `auto` is evidence-gated per the P2 verdict
96
+ # (council 2026-07-07): the P2 non-Claude replication FAILED (gpt-5-mini,
97
+ # n=90, docs/benchmark.md), so `auto` enables the lift only where measured
98
+ # — unmeasured Claude-family hosts -> essential (the measured-lift class);
99
+ # measured-null hosts and unmeasured non-Claude hosts -> off
100
+ # (vendor-granular unknown_defaults in src/config/host-capabilities.yml).
99
101
  discipline_profile: __DISCIPLINE_PROFILE__
100
102
 
101
103
  # --- Cost profile (legacy knob — superseded by discipline_profile above) ---
@@ -392,8 +394,9 @@ roadmap:
392
394
  # per_step = after every completed step (legacy verbose; highest token cost)
393
395
  # Trade-off: end_of_roadmap saves tokens and time but lets errors compound
394
396
  # across phases. Pick per_phase if the work is risky or unfamiliar.
395
- # Iron Law `verify-before-complete` still applies — fresh quality output
396
- # is mandatory before any "roadmap complete" claim regardless of cadence.
397
+ # `quality.local_auto_run: false` (the default) suppresses local
398
+ # pipeline runs at EVERY cadence — remote CI is the gate; this knob
399
+ # only matters when `local_auto_run` is `true`.
397
400
  quality_cadence: end_of_roadmap
398
401
 
399
402
  # Dashboard regen cadence inside autonomous runs (process-step /
@@ -444,20 +447,31 @@ roadmap:
444
447
  # (`task ci`, `make test`, `npm run check`, PHPStan, ECS, Rector,
445
448
  # test suites) and whether it waits on remote CI after pushing.
446
449
  # Iron Law `verify-before-complete` still applies — when these
447
- # toggles suppress automatic runs, the agent MUST surface that and
448
- # ask before claiming completion rather than silently skipping
449
- # verification.
450
+ # toggles suppress automatic runs, the agent MUST surface the gap
451
+ # in the completion message ("quality gates delegated to remote CI")
452
+ # instead of claiming the tools passed. It never silently claims
453
+ # verification it did not run.
450
454
  quality:
451
455
  # Run local quality / CI tasks and tests autonomously (true, false)
452
- # true = agent runs the quality pipeline whenever work is ready
453
- # for verification, without asking (default)
454
- # false = agent asks before running quality tools / tests locally
456
+ # false = default. The agent NEVER runs quality tools or full test
457
+ # suites proactively — and does not ask whether to run them.
458
+ # Toolchains differ per language/project and are often
459
+ # unknown to the agent; discovery + execution costs time and
460
+ # tokens. The user runs quality tools manually; remote CI is
461
+ # the authoritative gate. The agent runs a quality tool ONLY
462
+ # when one of three triggers fires:
463
+ # 1. the user explicitly asks this turn (e.g. /quality-fix),
464
+ # 2. CI / the remote pipeline reports a concrete failure —
465
+ # then run exactly that failing check to reproduce + fix,
466
+ # 3. the new-gate carve-out below.
467
+ # true = opt-in legacy behaviour: agent runs the quality pipeline
468
+ # whenever work is ready for verification, without asking.
455
469
  #
456
470
  # Carve-out (always runs regardless of this flag): when the change
457
471
  # introduces a NEW CI gate, smoke test, or test file, the agent
458
472
  # MUST execute it locally to prove the gate works. Without that
459
473
  # execution the new gate is unverified evidence.
460
- local_auto_run: true
474
+ local_auto_run: false
461
475
 
462
476
  # Wait for remote CI to finish on the PR / pipeline (true, false)
463
477
  # true = after push, poll GitHub check-runs / pipeline status and
@@ -1,31 +1,40 @@
1
1
  # Host-capability facts for `discipline_profile: auto` resolution.
2
2
  #
3
3
  # EVIDENCE-GATED NULL-LIFT DISABLE-LIST — not a model taxonomy.
4
- # Council lock (claude-sonnet-4-5 + gpt-4o, 2026-07-07, recorded in
4
+ # Council locks (claude-sonnet-4-5 + gpt-4o, 2026-07-07, recorded in
5
5
  # agents/settings/contexts/weak-host-lift-tiering-verdict.md): entries here
6
- # name ONLY host models with a MEASURED null discipline lift (the package's
7
- # discipline tier is redundant on them — they sit at the discipline ceiling).
8
- # Speculative strong/weak classifications of unmeasured models (per vendor,
9
- # per family, per glob) are FORBIDDEN: they rot at model-release cadence and
10
- # encode certainty no measurement backs.
6
+ # name ONLY host models with a MEASURED null discipline lift. Speculative
7
+ # strong/weak classifications of unmeasured models are FORBIDDEN: they rot
8
+ # at model-release cadence and encode certainty no measurement backs.
11
9
  #
12
10
  # Entry contract — every entry carries either:
13
11
  # - measured: <report date · pinned report · N pairs> (CLAIMS-grade), or
14
12
  # - extrapolated: true + rationale (explicit maintainer
15
- # judgement, labeled as such — e.g. a strictly-stronger sibling of a
16
- # measured-null model). Never an unlabeled assumption.
13
+ # judgement, labeled as such). Never an unlabeled assumption.
17
14
  #
18
15
  # Matching: exact model-id prefix match against the session's model id
19
16
  # (vendor-neutral — Claude, GPT, Gemini, open-source ids all welcome once
20
- # measured). Unknown / unmatched models resolve per `unknown_default`.
21
- #
22
- # Fail-safe direction: `unknown_default: lift_enabled` means a new or
23
- # unmeasured model gets the `essential` discipline tier — it costs ~3x tokens
24
- # on a host that turns out strong, but never silently drops the measured
25
- # lift on a weak one. The list only ever GROWS by measurement.
17
+ # measured).
26
18
 
27
19
  lift_disabled_models:
28
20
  - id: claude-sonnet-4-6
29
- measured: "2026-07-05 · internal/bench/reports/ab-v2/2026-07-05T07-00-31Z-ab-v2-paired.json · n=84 pairs, full 30-task corpus, discipline Δ=+0.000 (p=1.0)"
21
+ measured: "2026-07-05 · internal/bench/reports/ab-v2/2026-07-05T07-00-31Z-ab-v2-paired.json · n=84 pairs, full 30-task corpus, discipline Δ=+0.000 (p=1.0) — ceiling null"
22
+ - id: gpt-5-mini
23
+ measured: "2026-07-07 · internal/bench/reports/ab-v2/2026-07-07T10-33-53Z-ab-v2-paired.json · n=90 pairs, full 30-task corpus via codex prompt-prepend injection — replication FAILED with headroom (corpus Δ=+0.024 p=0.70; trapE family 0.733→0.667). NOT a validated harm claim (capability trend 89%→82% is n.s., p=0.07). Injection-surface confound documented in docs/benchmark.md."
30
24
 
31
- unknown_default: lift_enabled
25
+ # Resolution for UNMEASURED models, per vendor family — the P2-verdict
26
+ # council (2026-07-07, 2-round debate) replaced the earlier blanket
27
+ # `lift_enabled` fail-safe: the evidence ledger is now 1 measured lift
28
+ # (Claude weak class) vs 2 measured nulls (Claude strong ceiling; GPT weak
29
+ # failed replication), so unknown non-Claude hosts default OFF (the lift
30
+ # costs 1.2-1.7x and has no measured benefit off-Claude as shipped), while
31
+ # unknown Claude-family hosts keep the fail-safe toward the one measured
32
+ # lift. This is evidence-structure granularity (WHERE measurements exist),
33
+ # not a strength taxonomy; it grows/changes only by measurement.
34
+ #
35
+ # Family detection: model-id prefix. `claude-` -> anthropic; everything
36
+ # else resolves via `default`. Legacy single-value `unknown_default` keys
37
+ # are still read by the resolver (mapped onto `default`).
38
+ unknown_defaults:
39
+ anthropic: lift_enabled
40
+ default: lift_disabled
@@ -9,9 +9,11 @@
9
9
 
10
10
  rule_loading_tier=balanced
11
11
 
12
- ; Successor knob (ADR-110) — value preserves this preset's prior behaviour
13
- ; via the legacy mapping (minimal->off, balanced->essential, full->full).
14
- discipline_profile=essential
12
+ ; Successor knob (ADR-110). P2-verdict council 2026-07-07: balanced-heritage
13
+ ; installs get `auto` — the lift enables only where measured (unmeasured
14
+ ; Claude-family hosts -> essential; measured-null and unmeasured non-Claude
15
+ ; hosts -> off, per src/config/host-capabilities.yml).
16
+ discipline_profile=auto
15
17
 
16
18
  ; Chat history (crash recovery) — balanced = phase-level traceability
17
19
  chat_history_frequency=per_phase
@@ -326,10 +326,29 @@ export function main(argv: string[] | null = null): number {
326
326
 
327
327
  // --- CLI entry ---
328
328
 
329
- const _isCliEntry =
330
- process.argv[1] !== undefined &&
331
- import.meta.url === pathToFileURL(path.resolve(process.argv[1])).href;
332
- if (_isCliEntry || process.argv[1] === _HERE) {
329
+ function _isCliEntry(): boolean {
330
+ if (process.argv[1] === undefined) {
331
+ return false;
332
+ }
333
+ const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
334
+ if (import.meta.url === argvUrl) {
335
+ return true;
336
+ }
337
+ // A symlinked invocation (e.g. via an installed `.augment/` projection,
338
+ // or macOS /var → /private/var temp dirs) makes the raw URLs differ:
339
+ // import.meta.url is the resolved real path while argv[1] keeps the
340
+ // symlink path. Compare realpaths so the entry guard still fires
341
+ // (without this the CLI silently no-ops when run through a symlink).
342
+ try {
343
+ const here = fs.realpathSync(fileURLToPath(import.meta.url));
344
+ const argv = fs.realpathSync(path.resolve(process.argv[1]));
345
+ return here === argv;
346
+ } catch {
347
+ return false;
348
+ }
349
+ }
350
+
351
+ if (_isCliEntry() || process.argv[1] === _HERE) {
333
352
  try {
334
353
  process.exitCode = main(process.argv.slice(2));
335
354
  } catch (e) {
@@ -697,10 +697,29 @@ function main(argv: string[] | null = null): number {
697
697
 
698
698
  // --- CLI entry ---
699
699
 
700
- const _isCliEntry =
701
- process.argv[1] !== undefined &&
702
- import.meta.url === pathToFileURL(path.resolve(process.argv[1])).href;
703
- if (_isCliEntry || process.argv[1] === _HERE) {
700
+ function _isCliEntry(): boolean {
701
+ if (process.argv[1] === undefined) {
702
+ return false;
703
+ }
704
+ const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
705
+ if (import.meta.url === argvUrl) {
706
+ return true;
707
+ }
708
+ // A symlinked invocation (e.g. via an installed `.augment/` projection,
709
+ // or macOS /var → /private/var temp dirs) makes the raw URLs differ:
710
+ // import.meta.url is the resolved real path while argv[1] keeps the
711
+ // symlink path. Compare realpaths so the entry guard still fires
712
+ // (without this the CLI silently no-ops when run through a symlink).
713
+ try {
714
+ const here = fs.realpathSync(fileURLToPath(import.meta.url));
715
+ const argv = fs.realpathSync(path.resolve(process.argv[1]));
716
+ return here === argv;
717
+ } catch {
718
+ return false;
719
+ }
720
+ }
721
+
722
+ if (_isCliEntry() || process.argv[1] === _HERE) {
704
723
  try {
705
724
  process.exitCode = main(process.argv.slice(2));
706
725
  } catch (e) {