@event4u/agent-config 7.5.0 → 8.1.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 (429) hide show
  1. package/.claude-plugin/marketplace.json +8 -1
  2. package/AGENTS.md +9 -9
  3. package/CHANGELOG.md +317 -260
  4. package/README.md +35 -5
  5. package/dist/agent-src/commands/analytics/prune.md +1 -1
  6. package/dist/agent-src/commands/analytics/show.md +1 -1
  7. package/dist/agent-src/commands/analyze/decision.md +2 -2
  8. package/dist/agent-src/commands/analyze/incident.md +2 -2
  9. package/dist/agent-src/commands/analyze/near-miss.md +2 -2
  10. package/dist/agent-src/commands/analyze/postmortem.md +2 -2
  11. package/dist/agent-src/commands/analyze/premortem.md +2 -2
  12. package/dist/agent-src/commands/cost-report.md +25 -0
  13. package/dist/agent-src/commands/evals/analyze.json +30 -0
  14. package/dist/agent-src/commands/evals/mission-upgrade.json +30 -0
  15. package/dist/agent-src/commands/implement-ticket.md +1 -1
  16. package/dist/agent-src/commands/knowledge/forget.md +1 -1
  17. package/dist/agent-src/commands/knowledge/ingest.md +1 -1
  18. package/dist/agent-src/commands/knowledge/list.md +1 -1
  19. package/dist/agent-src/commands/memory/load.md +12 -11
  20. package/dist/agent-src/commands/memory/promote.md +30 -0
  21. package/dist/agent-src/commands/memory/propose.md +16 -2
  22. package/dist/agent-src/commands/mission/upgrade.md +1 -1
  23. package/dist/agent-src/commands/module/explore.md +11 -7
  24. package/dist/agent-src/commands/optimize-project.md +243 -0
  25. package/dist/agent-src/commands/optimize.md +5 -0
  26. package/dist/agent-src/commands/pr/create.md +37 -8
  27. package/dist/agent-src/commands/prediction-pool.md +2 -2
  28. package/dist/agent-src/commands/profile/activate.md +3 -3
  29. package/dist/agent-src/commands/profile/deactivate.md +2 -2
  30. package/dist/agent-src/commands/profile/show.md +3 -3
  31. package/dist/agent-src/commands/research/deep.md +5 -0
  32. package/dist/agent-src/commands/research/report.md +2 -1
  33. package/dist/agent-src/commands/roadmap/create.md +88 -10
  34. package/dist/agent-src/commands/roadmap/materialize.md +1 -1
  35. package/dist/agent-src/commands/roadmap/process-full.md +15 -2
  36. package/dist/agent-src/commands/roadmap/process-phase.md +18 -6
  37. package/dist/agent-src/commands/roadmap/process-step.md +4 -0
  38. package/dist/agent-src/commands/roadmap.md +1 -1
  39. package/dist/agent-src/commands/security-audit-config.md +1 -1
  40. package/dist/agent-src/commands/sync-agent-settings.md +1 -1
  41. package/dist/agent-src/commands/sync-gitignore/fix.md +42 -6
  42. package/dist/agent-src/commands/team-knowledge/bootstrap.md +106 -0
  43. package/dist/agent-src/commands/team-knowledge/consolidate.md +105 -0
  44. package/dist/agent-src/commands/team-knowledge.md +64 -0
  45. package/dist/agent-src/contexts/authority/commit-mechanics.md +8 -0
  46. package/dist/agent-src/contexts/authority/destructive-mechanics.md +11 -0
  47. package/dist/agent-src/contexts/authority/scope-mechanics.md +25 -0
  48. package/dist/agent-src/contexts/communication/rules-auto/reply-close-mechanics.md +43 -0
  49. package/dist/agent-src/contexts/contracts/agents-md-anatomy.md +1 -1
  50. package/dist/agent-src/contexts/contracts/artifact-engagement-flow.md +2 -2
  51. package/dist/agent-src/contexts/contracts/frugality-charter.md +1 -0
  52. package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +14 -4
  53. package/dist/agent-src/contexts/execution/autonomy-mechanics.md +11 -0
  54. package/dist/agent-src/contexts/execution/orchestration-telemetry.md +32 -8
  55. package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +107 -0
  56. package/dist/agent-src/contexts/execution/roadmap-process-loop.md +71 -15
  57. package/dist/agent-src/contexts/execution/subagent-steering.md +41 -1
  58. package/dist/agent-src/contexts/override-system.md +1 -1
  59. package/dist/agent-src/personas/brand-strategist.md +0 -1
  60. package/dist/agent-src/personas/data-integrity.md +66 -0
  61. package/dist/agent-src/personas/design-director.md +0 -1
  62. package/dist/agent-src/personas/performance-engineer.md +66 -0
  63. package/dist/agent-src/personas/production-validator.md +73 -0
  64. package/dist/agent-src/rules/agent-authority.md +3 -4
  65. package/dist/agent-src/rules/analysis-skill-routing.md +3 -5
  66. package/dist/agent-src/rules/architecture.md +2 -4
  67. package/dist/agent-src/rules/artifact-drafting-protocol.md +35 -6
  68. package/dist/agent-src/rules/artifact-engagement-recording.md +2 -4
  69. package/dist/agent-src/rules/ask-when-uncertain.md +10 -14
  70. package/dist/agent-src/rules/augment-edit-discipline.md +3 -5
  71. package/dist/agent-src/rules/autonomous-execution.md +3 -5
  72. package/dist/agent-src/rules/brand-consistency.md +3 -5
  73. package/dist/agent-src/rules/brand-source-of-truth.md +3 -5
  74. package/dist/agent-src/rules/cli-output-handling.md +4 -6
  75. package/dist/agent-src/rules/command-suggestion-policy.md +3 -5
  76. package/dist/agent-src/rules/commit-conventions.md +3 -5
  77. package/dist/agent-src/rules/commit-policy.md +18 -10
  78. package/dist/agent-src/rules/content-quoting-floor.md +88 -0
  79. package/dist/agent-src/rules/context-hygiene.md +3 -5
  80. package/dist/agent-src/rules/copilot-routing.md +4 -6
  81. package/dist/agent-src/rules/decision-revisit-gate.md +120 -0
  82. package/dist/agent-src/rules/delegation-policy.md +10 -6
  83. package/dist/agent-src/rules/design-fidelity.md +3 -5
  84. package/dist/agent-src/rules/devcontainer-routing.md +4 -6
  85. package/dist/agent-src/rules/direct-answers.md +13 -17
  86. package/dist/agent-src/rules/docker-commands.md +3 -5
  87. package/dist/agent-src/rules/domain-adoption-policy.md +3 -5
  88. package/dist/agent-src/rules/domain-safety-disclaimer.md +3 -5
  89. package/dist/agent-src/rules/domain-safety-pii.md +3 -5
  90. package/dist/agent-src/rules/domain-safety-retention.md +3 -5
  91. package/dist/agent-src/rules/downstream-changes.md +3 -4
  92. package/dist/agent-src/rules/engineering-safety-floor.md +3 -5
  93. package/dist/agent-src/rules/external-reference-deep-dive.md +3 -5
  94. package/dist/agent-src/rules/fast-path-marker-visibility.md +3 -5
  95. package/dist/agent-src/rules/finance-safety-floor.md +3 -6
  96. package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +3 -5
  97. package/dist/agent-src/rules/git-history-discipline.md +3 -5
  98. package/dist/agent-src/rules/guidelines.md +2 -4
  99. package/dist/agent-src/rules/icon-consistency.md +3 -5
  100. package/dist/agent-src/rules/image-likeness-and-rights.md +3 -5
  101. package/dist/agent-src/rules/improve-before-implement.md +5 -5
  102. package/dist/agent-src/rules/invite-challenge.md +3 -5
  103. package/dist/agent-src/rules/language-and-tone.md +13 -15
  104. package/dist/agent-src/rules/laravel-routing.md +3 -5
  105. package/dist/agent-src/rules/laravel-translations.md +3 -5
  106. package/dist/agent-src/rules/legal-safety-floor.md +3 -5
  107. package/dist/agent-src/rules/lethal-trifecta-guard.md +3 -5
  108. package/dist/agent-src/rules/linked-projects-onboarding-gate.md +4 -7
  109. package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +3 -5
  110. package/dist/agent-src/rules/markdown-safe-codeblocks.md +2 -4
  111. package/dist/agent-src/rules/media-governance-routing.md +3 -5
  112. package/dist/agent-src/rules/media-sync-ground-truth.md +3 -5
  113. package/dist/agent-src/rules/minimal-safe-diff.md +5 -5
  114. package/dist/agent-src/rules/missing-tool-handling.md +3 -5
  115. package/dist/agent-src/rules/model-recommendation.md +4 -6
  116. package/dist/agent-src/rules/no-attribution-footers.md +3 -5
  117. package/dist/agent-src/rules/no-cheap-questions.md +5 -8
  118. package/dist/agent-src/rules/no-decorative-emojis-in-git-surfaces.md +3 -6
  119. package/dist/agent-src/rules/no-pr-progress-comments.md +3 -6
  120. package/dist/agent-src/rules/no-roadmap-references.md +3 -5
  121. package/dist/agent-src/rules/non-destructive-by-default.md +11 -13
  122. package/dist/agent-src/rules/notes-first-reasoning.md +3 -5
  123. package/dist/agent-src/rules/onboarding-gate.md +4 -6
  124. package/dist/agent-src/rules/output-discipline.md +3 -5
  125. package/dist/agent-src/rules/package-ci-checks.md +3 -5
  126. package/dist/agent-src/rules/persona-governance.md +2 -4
  127. package/dist/agent-src/rules/php-coding.md +3 -5
  128. package/dist/agent-src/rules/preservation-guard.md +2 -4
  129. package/dist/agent-src/rules/provider-lifecycle-discipline.md +3 -5
  130. package/dist/agent-src/rules/reviewer-awareness.md +5 -6
  131. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +3 -5
  132. package/dist/agent-src/rules/roadmap-progress-sync.md +5 -5
  133. package/dist/agent-src/rules/role-mode-adherence.md +2 -4
  134. package/dist/agent-src/rules/rule-type-governance.md +3 -5
  135. package/dist/agent-src/rules/runtime-safety.md +2 -4
  136. package/dist/agent-src/rules/scope-control.md +10 -11
  137. package/dist/agent-src/rules/security-sensitive-stop.md +4 -5
  138. package/dist/agent-src/rules/size-enforcement.md +2 -4
  139. package/dist/agent-src/rules/skill-improvement-trigger.md +3 -5
  140. package/dist/agent-src/rules/skill-quality.md +3 -5
  141. package/dist/agent-src/rules/slash-command-routing-policy.md +3 -5
  142. package/dist/agent-src/rules/source-confidentiality.md +3 -5
  143. package/dist/agent-src/rules/source-discovery-gate.md +3 -5
  144. package/dist/agent-src/rules/source-of-truth.md +3 -5
  145. package/dist/agent-src/rules/strategy-safety-floor.md +3 -5
  146. package/dist/agent-src/rules/symfony-routing.md +4 -6
  147. package/dist/agent-src/rules/telegraph-speak.md +4 -5
  148. package/dist/agent-src/rules/think-before-action.md +7 -4
  149. package/dist/agent-src/rules/token-budget-discipline.md +29 -5
  150. package/dist/agent-src/rules/token-efficiency.md +3 -5
  151. package/dist/agent-src/rules/token-optimizer-maintenance.md +3 -5
  152. package/dist/agent-src/rules/tool-safety.md +2 -4
  153. package/dist/agent-src/rules/ui-audit-gate.md +3 -6
  154. package/dist/agent-src/rules/untrusted-input-defense.md +3 -5
  155. package/dist/agent-src/rules/upstream-proposal.md +4 -6
  156. package/dist/agent-src/rules/user-interaction.md +7 -5
  157. package/dist/agent-src/rules/user-interrupt-priority.md +17 -8
  158. package/dist/agent-src/rules/verify-before-complete.md +12 -22
  159. package/dist/agent-src/scripts/archive_completed_roadmaps.ts +3 -3
  160. package/dist/agent-src/scripts/update_roadmap_progress.ts +197 -7
  161. package/dist/agent-src/skills/adr-create/SKILL.md +48 -42
  162. package/dist/agent-src/skills/agent-docs-writing/SKILL.md +18 -0
  163. package/dist/agent-src/skills/agent-security-review/SKILL.md +1 -1
  164. package/dist/agent-src/skills/ai-council/SKILL.md +14 -1
  165. package/dist/agent-src/skills/blameless-post-mortem/SKILL.md +0 -3
  166. package/dist/agent-src/skills/brand/SKILL.md +1 -1
  167. package/dist/agent-src/skills/brand-identity/SKILL.md +3 -3
  168. package/dist/agent-src/skills/brand-strategy/SKILL.md +1 -1
  169. package/dist/agent-src/skills/brand-to-tokens/SKILL.md +3 -3
  170. package/dist/agent-src/skills/canvas-design/SKILL.md +6 -0
  171. package/dist/agent-src/skills/check-refs/SKILL.md +7 -4
  172. package/dist/agent-src/skills/code-review/SKILL.md +1 -0
  173. package/dist/agent-src/skills/complexity-first-planning/SKILL.md +6 -5
  174. package/dist/agent-src/skills/condense-memory/SKILL.md +11 -11
  175. package/dist/agent-src/skills/context-document/SKILL.md +17 -0
  176. package/dist/agent-src/skills/corpus-grounding/SKILL.md +3 -3
  177. package/dist/agent-src/skills/decision-record/SKILL.md +6 -0
  178. package/dist/agent-src/skills/decision-review/SKILL.md +5 -3
  179. package/dist/agent-src/skills/deep-reading-analyst/SKILL.md +6 -1
  180. package/dist/agent-src/skills/design-intelligence/SKILL.md +5 -2
  181. package/dist/agent-src/skills/design-intelligence/references/design-languages.md +1 -1
  182. package/dist/agent-src/skills/design-tokens/SKILL.md +10 -4
  183. package/dist/agent-src/skills/design-variations/SKILL.md +127 -0
  184. package/dist/agent-src/skills/design-variations/evals/triggers.json +17 -0
  185. package/dist/agent-src/skills/emit-tickets/SKILL.md +4 -4
  186. package/dist/agent-src/skills/fe-design/SKILL.md +20 -0
  187. package/dist/agent-src/skills/html-deck/SKILL.md +123 -0
  188. package/dist/agent-src/skills/html-deck/evals/triggers.json +17 -0
  189. package/dist/agent-src/skills/html-deck/templates/deck-shell.html +77 -0
  190. package/dist/agent-src/skills/judge-code-quality/SKILL.md +1 -0
  191. package/dist/agent-src/skills/laravel/SKILL.md +0 -1
  192. package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +46 -0
  193. package/dist/agent-src/skills/lint-skills/SKILL.md +6 -6
  194. package/dist/agent-src/skills/md-language-check/SKILL.md +3 -3
  195. package/dist/agent-src/skills/memory-consolidation/SKILL.md +66 -1
  196. package/dist/agent-src/skills/migration-architect/SKILL.md +1 -0
  197. package/dist/agent-src/skills/module-detect-on-the-fly/SKILL.md +2 -2
  198. package/dist/agent-src/skills/performance-analysis/SKILL.md +2 -0
  199. package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +4 -4
  200. package/dist/agent-src/skills/premortem/SKILL.md +0 -3
  201. package/dist/agent-src/skills/project-analysis-core/SKILL.md +16 -0
  202. package/dist/agent-src/skills/reasoning-orchestrator/SKILL.md +3 -1
  203. package/dist/agent-src/skills/release-comms/SKILL.md +46 -45
  204. package/dist/agent-src/skills/roadmap-management/SKILL.md +21 -0
  205. package/dist/agent-src/skills/roadmap-writing/SKILL.md +32 -2
  206. package/dist/agent-src/skills/root-cause-frameworks/SKILL.md +0 -3
  207. package/dist/agent-src/skills/security-audit/SKILL.md +1 -0
  208. package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +4 -0
  209. package/dist/agent-src/skills/source-discovery/SKILL.md +22 -3
  210. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +33 -14
  211. package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +11 -0
  212. package/dist/agent-src/skills/subagent-orchestration/prompts/do-in-steps.md +8 -0
  213. package/dist/agent-src/skills/systematic-debugging/SKILL.md +29 -0
  214. package/dist/agent-src/skills/threat-modeling/SKILL.md +2 -2
  215. package/dist/agent-src/skills/typography-system/SKILL.md +2 -2
  216. package/dist/agent-src/skills/verify-completion-evidence/SKILL.md +2 -0
  217. package/dist/agent-src/skills/wireframe/SKILL.md +118 -0
  218. package/dist/agent-src/skills/wireframe/evals/triggers.json +17 -0
  219. package/dist/agent-src/templates/agent-settings.md +22 -1
  220. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  221. package/dist/agent-src/templates/command.md +2 -2
  222. package/dist/agent-src/templates/contexts/knowledge-pages.md +116 -0
  223. package/dist/agent-src/templates/hooks/pre-commit-frontmatter +1 -1
  224. package/dist/agent-src/templates/roadmaps.md +70 -2
  225. package/dist/agent-src/templates/rule.md +1 -1
  226. package/dist/agent-src/templates/scripts/README.md +3 -3
  227. package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +109 -0
  228. package/dist/agent-src/templates/tickets.md +8 -8
  229. package/dist/cli/commands/recordTriggerEval.test.js +1 -1
  230. package/dist/cli/commands/recordTriggerEval.test.js.map +1 -1
  231. package/dist/cli/initRouting.js +4 -2
  232. package/dist/cli/initRouting.js.map +1 -1
  233. package/dist/cli/registry.js +1 -0
  234. package/dist/cli/registry.js.map +1 -1
  235. package/dist/discovery/deprecation-report.md +1 -1
  236. package/dist/discovery/discovery-manifest.json +718 -240
  237. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  238. package/dist/discovery/discovery-manifest.summary.md +8 -8
  239. package/dist/discovery/orphan-report.md +1 -1
  240. package/dist/discovery/packs.json +43 -28
  241. package/dist/discovery/trust-report.md +12 -11
  242. package/dist/discovery/workspaces.json +29 -18
  243. package/dist/install/preflight.js +173 -0
  244. package/dist/install/preflight.js.map +1 -0
  245. package/dist/mcp/registry-manifest.json +4 -4
  246. package/dist/router.json +1 -1
  247. package/dist/server/routes/settings.js +4 -0
  248. package/dist/server/routes/settings.js.map +1 -1
  249. package/dist/server/schemas/settings.js +3 -1
  250. package/dist/server/schemas/settings.js.map +1 -1
  251. package/docs/CLAIMS.md +108 -0
  252. package/docs/MIGRATION.md +3 -3
  253. package/docs/architecture.md +5 -5
  254. package/docs/archive/CHANGELOG-pre-8.0.0.md +301 -0
  255. package/docs/benchmark.md +133 -2
  256. package/docs/benchmark.pinned.yml +31 -0
  257. package/docs/capability-matrix.md +1 -0
  258. package/docs/catalog.md +70 -60
  259. package/docs/command-flows.md +15 -3
  260. package/docs/comparison.yaml +35 -0
  261. package/docs/contracts/agents-layout.md +148 -0
  262. package/docs/contracts/brand-token-consumption.md +5 -0
  263. package/docs/contracts/capability-boundary.md +5 -0
  264. package/docs/contracts/command-category-governance.md +5 -0
  265. package/docs/contracts/command-clusters.md +1 -0
  266. package/docs/contracts/command-surface-tiers.md +1 -1
  267. package/docs/contracts/conformance.md +84 -0
  268. package/docs/contracts/creative-pack-boundary.md +5 -0
  269. package/docs/contracts/discovery-manifest.schema.json +5 -4
  270. package/docs/contracts/file-ownership-matrix.json +4605 -985
  271. package/docs/contracts/governance-enforcement-projection.md +5 -0
  272. package/docs/contracts/gui-wizard.md +1 -1
  273. package/docs/contracts/hook-architecture-v1.md +2 -2
  274. package/docs/contracts/implement-ticket-flow.md +1 -1
  275. package/docs/contracts/kernel-membership.md +13 -0
  276. package/docs/contracts/mcp-tool-inventory.md +23 -23
  277. package/docs/contracts/no-runtime-boundary.md +6 -1
  278. package/docs/contracts/review-lens-schema.md +5 -0
  279. package/docs/contracts/rule-router.md +102 -8
  280. package/docs/contracts/skill-bundled-assets.md +1 -1
  281. package/docs/contracts/skill-dry-run.md +1 -1
  282. package/docs/contracts/subagent-boundary.md +5 -0
  283. package/docs/contracts/ticket-bundle-format.md +9 -4
  284. package/docs/contracts/tier-3-contrib-plugin.md +2 -2
  285. package/docs/contracts/write-engine.md +3 -0
  286. package/docs/customization.md +87 -15
  287. package/docs/decisions/ADR-107-legal-domain-pack-adoption.md +1 -1
  288. package/docs/decisions/ADR-109-subagent-v1-contract.md +246 -0
  289. package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +105 -0
  290. package/docs/decisions/INDEX.md +2 -0
  291. package/docs/distribution/awesome-list-submission.md +46 -0
  292. package/docs/distribution/launch-story-draft.md +58 -0
  293. package/docs/end-to-end-walkthroughs.md +2 -2
  294. package/docs/getting-started.md +2 -2
  295. package/docs/guidelines/agent-infra/asking-and-brevity-examples.md +24 -0
  296. package/docs/guidelines/agent-infra/corpus-grounding-authoring.md +1 -1
  297. package/docs/guidelines/agent-infra/linked-projects-onboarding-gate.md +2 -2
  298. package/docs/guidelines/agent-infra/missing-tool-handling.md +3 -3
  299. package/docs/guidelines/agent-infra/verify-before-complete-demos.md +2 -2
  300. package/docs/guidelines/augment-portability-patterns.md +1 -1
  301. package/docs/guidelines/code-clarity.md +19 -0
  302. package/docs/guidelines/design-antipatterns-triggers.json +2 -1
  303. package/docs/guidelines/design-antipatterns.md +10 -1
  304. package/docs/guidelines/design-modes.md +6 -0
  305. package/docs/guidelines/php/general.md +9 -1
  306. package/docs/guidelines/php/php-coding-patterns.md +7 -0
  307. package/docs/guides/cross-repo-retrieval.md +1 -1
  308. package/docs/guides/frontend-design-corpus-refresh.md +2 -2
  309. package/docs/guides/local-analytics.md +4 -4
  310. package/docs/guides/skill-discovery.md +1 -1
  311. package/docs/guides/skill-preview.md +1 -1
  312. package/docs/hook-payload-capture.md +6 -6
  313. package/docs/install-friction-report.md +66 -0
  314. package/docs/installation.md +1 -1
  315. package/docs/maintainers/optional-media-deps.md +50 -0
  316. package/docs/mcp-server.md +11 -12
  317. package/docs/media/proof-demo.cast +14 -0
  318. package/docs/media/proof-demo.gif +0 -0
  319. package/docs/migration/consumer-template-consumption-model.md +1 -1
  320. package/docs/migration/divergences/bench-stats-float-precision.md +1 -1
  321. package/docs/migration/node-floor.md +1 -1
  322. package/docs/migration/yaml-roundtrip-spike.md +1 -1
  323. package/docs/personas.md +16 -5
  324. package/docs/positioning-evidence.md +86 -0
  325. package/docs/proof.md +86 -0
  326. package/docs/skills-catalog.md +1 -1
  327. package/docs/troubleshooting.md +8 -8
  328. package/docs/wedge/production-validator/README.md +57 -0
  329. package/docs/wedge/production-validator/production-validator.md +56 -0
  330. package/docs/wizard.md +2 -2
  331. package/package.json +1 -1
  332. package/src/config/agent-settings.template.yml +59 -4
  333. package/src/config/agents-paths.yml +254 -0
  334. package/src/config/budgets.yml +16 -0
  335. package/src/config/discovery/packs.yml +1 -0
  336. package/src/config/discovery/unassigned-artefacts.yml +2 -0
  337. package/src/config/gitignore-block.txt +25 -0
  338. package/src/config/host-capabilities.yml +31 -0
  339. package/src/config/profiles/balanced.ini +4 -0
  340. package/src/config/profiles/full.ini +4 -0
  341. package/src/config/profiles/minimal.ini +4 -0
  342. package/src/scripts/_cli/cmd_conformance.ts +716 -0
  343. package/src/scripts/_cli/cmd_doctor.ts +23 -2
  344. package/src/scripts/_cli/cmd_fleet.ts +401 -0
  345. package/src/scripts/_cli/cmd_preflight.ts +159 -0
  346. package/src/scripts/_dispatch.bash +10 -0
  347. package/src/scripts/_lib/knowledge_events.ts +193 -0
  348. package/src/scripts/_lib/subagent_steering.ts +115 -3
  349. package/src/scripts/_lib/text_similarity.ts +75 -0
  350. package/src/scripts/ai-video/test-pipeline.sh +1 -1
  351. package/src/scripts/ai_council/clients.ts +19 -3
  352. package/src/scripts/append_contested.ts +112 -0
  353. package/src/scripts/audit_auto_rules.ts +11 -1
  354. package/src/scripts/audit_mcp_tools.ts +25 -11
  355. package/src/scripts/bench_ab_v2_run.ts +527 -40
  356. package/src/scripts/bench_ab_v2_stats.ts +6 -0
  357. package/src/scripts/bench_matrix.ts +266 -0
  358. package/src/scripts/bootstrap_knowledge.ts +267 -0
  359. package/src/scripts/build_discovery_manifest.ts +42 -2
  360. package/src/scripts/build_proof.ts +214 -0
  361. package/src/scripts/check_always_budget.ts +3 -0
  362. package/src/scripts/check_augment_description_cap.ts +2 -2
  363. package/src/scripts/check_claims.ts +270 -0
  364. package/src/scripts/check_comparison.ts +79 -0
  365. package/src/scripts/check_generated_artefact_headers.ts +109 -0
  366. package/src/scripts/check_generator_output_coverage.ts +142 -0
  367. package/src/scripts/check_gitignore_freshness.ts +127 -0
  368. package/src/scripts/check_knowledge_pages.ts +210 -0
  369. package/src/scripts/check_knowledge_sharing.ts +162 -0
  370. package/src/scripts/check_media_deps.ts +91 -0
  371. package/src/scripts/check_memory_contradiction.ts +280 -0
  372. package/src/scripts/check_memory_similarity.ts +134 -0
  373. package/src/scripts/check_quality_regression.ts +56 -10
  374. package/src/scripts/check_references.ts +3 -1
  375. package/src/scripts/check_release_pr_shape.ts +4 -0
  376. package/src/scripts/check_site_links.ts +135 -0
  377. package/src/scripts/check_skill_gaps.ts +99 -0
  378. package/src/scripts/check_token_quality_golden.ts +197 -11
  379. package/src/scripts/check_tracked_but_ignored.ts +67 -0
  380. package/src/scripts/cluster_near_miss_patterns.ts +0 -0
  381. package/src/scripts/compile_router.ts +30 -3
  382. package/src/scripts/condense.ts +350 -14
  383. package/src/scripts/consolidate_knowledge_events.ts +192 -0
  384. package/src/scripts/degrade_to_pointer.ts +136 -0
  385. package/src/scripts/design_slop_rules.test.ts +15 -0
  386. package/src/scripts/design_slop_rules.ts +28 -0
  387. package/src/scripts/emit_knowledge_event.ts +158 -0
  388. package/src/scripts/export_replay_corpus.ts +187 -0
  389. package/src/scripts/external_sources_denylist.json +7 -2
  390. package/src/scripts/fold_intake.ts +281 -0
  391. package/src/scripts/generate_capability_matrix.ts +9 -1
  392. package/src/scripts/generate_knowledge_index.ts +222 -0
  393. package/src/scripts/hook_manifest.yaml +26 -14
  394. package/src/scripts/hooks/dispatch_hook.ts +18 -0
  395. package/src/scripts/hot_context_hook.ts +372 -0
  396. package/src/scripts/install +47 -0
  397. package/src/scripts/install-hooks.sh +17 -0
  398. package/src/scripts/inventory_meta_layers.ts +11 -0
  399. package/src/scripts/janitor.ts +258 -0
  400. package/src/scripts/lint_agents_layout.ts +74 -15
  401. package/src/scripts/lint_bench_ab.ts +4 -1
  402. package/src/scripts/lint_featured_skills.ts +0 -0
  403. package/src/scripts/lint_framework_leakage_allowlist.json +26 -3
  404. package/src/scripts/lint_knowledge_scale.ts +250 -0
  405. package/src/scripts/lint_legal_pack.ts +67 -0
  406. package/src/scripts/lint_persona_governance.ts +8 -3
  407. package/src/scripts/lint_regression.ts +15 -0
  408. package/src/scripts/lint_roadmap_blockers.ts +202 -0
  409. package/src/scripts/lint_roadmap_complexity.ts +81 -2
  410. package/src/scripts/lint_subagent_determinism.ts +125 -0
  411. package/src/scripts/measure_augment_budget.ts +46 -6
  412. package/src/scripts/measure_patterns.ts +4 -3
  413. package/src/scripts/measure_skill_reduction.ts +6 -6
  414. package/src/scripts/migration_status.ts +6 -2
  415. package/src/scripts/mine_missing_guardrails.ts +189 -0
  416. package/src/scripts/parity/phase_gate.ts +1 -1
  417. package/src/scripts/parity/replay.ts +21 -0
  418. package/src/scripts/project_thin_rules.ts +120 -16
  419. package/src/scripts/release.ts +39 -1
  420. package/src/scripts/render_benchmark_composite.ts +378 -0
  421. package/src/scripts/roadmap_progress_hook.ts +101 -43
  422. package/src/scripts/schemas/skill.schema.json +27 -0
  423. package/src/scripts/schemas/subagent.schema.json +106 -0
  424. package/src/scripts/skill_linter.ts +1 -0
  425. package/src/scripts/smoke/kernel.sh +5 -4
  426. package/src/scripts/surface-tiers.yml +1 -0
  427. package/src/scripts/sync_gitignore.ts +4 -0
  428. package/src/scripts/update_skill_candidates.ts +172 -0
  429. package/src/scripts/validate_frontmatter.ts +1 -0
@@ -0,0 +1,243 @@
1
+ ---
2
+ model_tier: high
3
+ name: optimize-project
4
+ pack: engineering-base
5
+ tier: 2
6
+ visibility: internal
7
+ skills: [project-analyzer, decision-review, roadmap-writing]
8
+ description: "Project-wide optimization sweep — inventory roadmaps, ADRs, agent folders (incl. modules), challenge stale decisions with the user in the loop, emit new roadmap(s). E.g. 'optimize this project'."
9
+ suggestion:
10
+ eligible: true
11
+ trigger_description: "optimize this project, optimize the project, what should we improve based on current state, challenge our old decisions, are our roadmaps and ADRs still right, optimiere das Projekt, hinterfrag unsere alten Entscheidungen"
12
+ trigger_context: "user wants a project-wide review that questions existing state (roadmaps, ADRs, decisions, structures) and ends in new roadmap(s) — NOT a bug fix, NOT a single-decision audit (/analyze:decision), NOT agent-layer tooling (/optimize)"
13
+ workspaces:
14
+ - engineering
15
+ - agent-config-maintainer
16
+ packs:
17
+ - meta
18
+ ---
19
+
20
+ # /optimize-project
21
+
22
+ Project-wide optimization loop: **inventory → challenge → interview →
23
+ roadmap(s)**. Analyzes project it runs in (package or consumer),
24
+ questions existing state — roadmaps, ADRs, decisions, structures, in
25
+ this package e.g. token consumption, memory, learnings — asks user
26
+ when flipping old decision would be real improvement, ends by emitting
27
+ one or more NEW roadmaps via `/roadmap:create`.
28
+
29
+ **Coordinator** over existing primitives — composes, never
30
+ reimplements: `/project-health`-style inventory, `/challenge-me`
31
+ interview mechanics, `/analyze:decision`-style decision challenge,
32
+ `/roadmap:create` output.
33
+
34
+ > Looking for agent-layer tooling (skills, agents-dir, augmentignore,
35
+ > rtk filters)? That is the [`/optimize`](optimize.md) cluster —
36
+ > different surface. This command optimizes the **project**, not the
37
+ > agent layer.
38
+
39
+ ## When to invoke
40
+
41
+ - "Optimize this project" / "optimiere das Projekt".
42
+ - "What should we improve based on the current state?"
43
+ - "Challenge our old decisions" / "are our roadmaps and ADRs still right?"
44
+ - Periodic hygiene: roadmaps accumulated, decisions feel stale,
45
+ structures grew organically, nobody questioned them.
46
+
47
+ Do NOT invoke for: single named bug ("fix this"), single decision
48
+ audit (route to `/analyze:decision`), code-only analysis
49
+ (`/project-analyze`), AGENTS.md / agent-layer work (`/agents`,
50
+ `/optimize`).
51
+
52
+ ## Steps
53
+
54
+ ### Step 0 — Scope detection (read-only)
55
+
56
+ 1. Detect target type:
57
+ - **Package mode** — repo IS `event4u/agent-config` (marker:
58
+ `src/config/budgets.yml` + `dist/agent-src/` present). Optimization
59
+ surface additionally: token budget, memory index,
60
+ learnings/knowledge corpus, lint debt.
61
+ - **Consumer mode** — any other project with `agents/` tree and/or
62
+ installed agent layer. Surface = workflows, structures, docs,
63
+ roadmaps, decisions.
64
+ 2. Resolve module roots via
65
+ `scripts/_lib/agent_settings.py::enumerate_modules()` (Laravel shape:
66
+ `app/Modules/*/agents/`); fallback `modules.root_paths` in
67
+ `.agent-settings.yml`.
68
+ 3. Exclusions hard: never analyze `vendor/`, `node_modules/`, `dist/`,
69
+ any generated projection (`.augment/`, `.claude/`, `.cursor/`).
70
+
71
+ ### Step 1 — Inventory (read-only, parallel)
72
+
73
+ Gather without creating or modifying anything:
74
+
75
+ - **Roadmaps** — `agents/roadmaps/` (+ per-module roadmap dirs): counts
76
+ per disposition (active / `later/` / `skipped/` / `archive/`),
77
+ per-roadmap open/done/deferred checkbox counts, staleness
78
+ (mtime > 60 days with open items), complete-but-unarchived.
79
+ - **Decisions** — ADR dirs (`docs/adr/`, `docs/decisions/`,
80
+ `agents/decisions/`): count, age distribution, `status:` fields,
81
+ superseded chains.
82
+ - **Agent folders** — `agents/` root + every module `agents/` folder:
83
+ docs, features, contexts; orphaned or stale files (referencing
84
+ deleted code).
85
+ - **Memory / learnings** (if present) — memory index size, knowledge
86
+ cards, low-impact decisions corpus; entries whose subject no longer
87
+ exists in repo.
88
+ - **Package mode only** — budget usage vs cap
89
+ (`src/config/budgets.yml`), kernel share, corpus size trends, known
90
+ lint debt, honest-null / don't-relitigate lock inventory (memory
91
+ index + `agents/settings/contexts/`).
92
+
93
+ Emit compact inventory report (counts + flagged items), in user's
94
+ language. Present findings incrementally, not one dump.
95
+
96
+ ### Step 2 — Findings & challenge candidates
97
+
98
+ Classify everything flagged in Step 1 into three buckets:
99
+
100
+ 1. **Mechanical optimizations** — no decision needed, just work: stale
101
+ roadmap cleanup, complete-but-unarchived roadmaps, dead references,
102
+ missing module docs, memory entries pointing at deleted code.
103
+ 2. **Decision-challenge candidates** — existing decision (ADR, lock,
104
+ council verdict, structural convention) whose original assumptions
105
+ may no longer hold. Per candidate record: *the decision · original
106
+ assumption · what changed since · expected gain from flipping · flip
107
+ cost/blast radius*. Candidate without concrete "what changed" is not
108
+ a candidate — drop it.
109
+ 3. **Structural / process improvements** — recurring friction visible
110
+ in inventory (e.g. roadmap sprawl, duplicate contexts, token
111
+ hot-spots in package mode).
112
+
113
+ Rank by expected impact vs. effort. **Cap decision-challenge list at
114
+ top 5** (override: `--max-questions=N`). Everything below cap carries
115
+ into Step 4 as "further candidates" — never silently dropped.
116
+
117
+ Before a candidate built on a claim about current state enters the
118
+ interview, verify the claim against the real source (grep, file read,
119
+ live git/CI state) per
120
+ [`source-discovery-gate`](../rules/source-discovery-gate.md) —
121
+ never challenge a decision from a remembered or assumed fact.
122
+
123
+ ### Step 3 — Challenge interview (user-gated, budgeted)
124
+
125
+ One question per turn, numbered options with recommendation —
126
+ `/challenge-me` mechanics, per
127
+ [`ask-when-uncertain`](../rules/ask-when-uncertain.md) and
128
+ [`user-interaction`](../rules/user-interaction.md).
129
+
130
+ Per candidate, present:
131
+
132
+ ```
133
+ > **Decision:** <what was decided, where it is recorded>
134
+ > **Then:** <original assumption>
135
+ > **Now:** <what changed — with evidence source>
136
+ > **Gain if flipped:** <expected improvement> · **Cost:** <blast radius>
137
+ >
138
+ > 1. Keep — assumptions still hold
139
+ > 2. Flip — schedule the change in the output roadmap
140
+ > 3. Re-evaluate via council — genuinely contested, worth a multi-model pass
141
+ > 4. Defer — park as "further candidate"
142
+ ```
143
+
144
+ Hard rules for this step:
145
+
146
+ - **Locked decisions are never silently flipped.** Honest-null verdict,
147
+ "don't relitigate" note, budget-canon line, or locked council
148
+ convergence follows
149
+ [`decision-revisit-gate`](../rules/decision-revisit-gate.md):
150
+ check the lock's mechanism/scope actually matches the proposed change
151
+ and its recorded revisit-conditions first; if it truly blocks, the
152
+ only flip path offered is option 3 (council re-eval) — "Flip" is not
153
+ offered for locks.
154
+ - **Session budget:** max 5 interview questions by default
155
+ (`--max-questions=N` to override). Budget exhausted → remaining
156
+ candidates go to Step 4 as "further candidates".
157
+ - Interview answers adopted immediately; never re-argue a settled
158
+ answer.
159
+
160
+ ### Step 4 — Synthesize → roadmap(s)
161
+
162
+ 1. Group accepted work — mechanical optimizations + flipped decisions +
163
+ structural improvements — into **one or more roadmaps by concern**
164
+ (keep k small; one roadmap per coherent theme, not one per finding).
165
+ 2. For each group, route to [`/roadmap:create`](roadmap/create.md)
166
+ with structured seed: goal, findings (with evidence), accepted
167
+ interview decisions, "further candidates" section for uninterviewed
168
+ remainder.
169
+ 3. Council re-evals chosen in interview (option 3) land as explicit
170
+ first step in the matching roadmap — do NOT auto-run the council
171
+ from here.
172
+ 4. Regenerate roadmap dashboard in same reply
173
+ (`./agent-config roadmap:progress`) per
174
+ [`roadmap-progress-sync`](../rules/roadmap-progress-sync.md).
175
+ 5. **Hand back and stop.** Per
176
+ [`scope-control § Authoring vs. implementation`](../rules/scope-control.md)
177
+ the roadmap is the deliverable — never auto-offer
178
+ `/roadmap:process-*` or start executing.
179
+
180
+ ## Output
181
+
182
+ 1. **Inventory report** (Step 1) — compact counts + flagged items.
183
+ 2. **Findings report** (Step 2) — three buckets, ranked, with
184
+ challenge-candidate cards.
185
+ 3. **Interview** (Step 3) — one question per turn, ≤ budget.
186
+ 4. **Roadmap file(s)** (Step 4) — the only files this command creates,
187
+ via `/roadmap:create`, plus dashboard regen.
188
+
189
+ ## Rules
190
+
191
+ - **Read-only until Step 4.** Only writes: new roadmap file(s) +
192
+ dashboard regen. No code edits, no doc rewrites, no deletion —
193
+ cleanup work becomes roadmap steps, not inline actions.
194
+ - **Never edit or delete existing roadmaps / ADRs / decisions** —
195
+ flipped decision becomes a roadmap step ("supersede ADR-NNN with …"),
196
+ never an in-place edit from this command.
197
+ - **No commits, no push, no PR** — [`commit-policy`](../rules/commit-policy.md).
198
+ - **Never silently flip a lock** — [`decision-revisit-gate`](../rules/decision-revisit-gate.md).
199
+ - **One question per turn**, recommendation line under every options
200
+ block.
201
+ - Mirror user's language in all reports and questions.
202
+
203
+ ## Gotchas
204
+
205
+ - **Unbounded interview** — without question budget the decision-flip
206
+ loop can eat the session. Cap is load-bearing; don't lift silently.
207
+ - **Re-litigating without new evidence** — challenge candidate needs
208
+ concrete "what changed". "I would decide differently today" is not
209
+ evidence; check the lock's recorded revisit-conditions first.
210
+ - **Scope bleed into `/optimize`** — token/skill/agents-dir tooling
211
+ findings in package mode are reported, but their execution routes to
212
+ `/optimize` cluster sub-commands inside the output roadmap.
213
+ - **Roadmap sprawl as output** — five roadmaps for one theme recreates
214
+ the problem this command fixes. Group by concern.
215
+ - **Vendor noise** — module enumeration comes from
216
+ `enumerate_modules()`, never a bare glob that catches `vendor/`.
217
+
218
+ ## Do NOT
219
+
220
+ - Do NOT execute any found optimization in this command's turn — the
221
+ roadmap is the deliverable.
222
+ - Do NOT auto-run a council session; record it as a roadmap step.
223
+ - Do NOT offer "Flip" on locked decisions — council re-eval only.
224
+ - Do NOT create analysis files (that is `/project-analyze`); this
225
+ command creates roadmaps only.
226
+ - Do NOT re-ask a settled interview answer.
227
+
228
+ ## See also
229
+
230
+ - [`/optimize`](optimize.md) — agent-layer tooling cluster (skills,
231
+ agents-dir, augmentignore, rtk); cross-linked on purpose — closest
232
+ name, different surface.
233
+ - [`/project-analyze`](project-analyze.md) — deep code/stack analysis
234
+ with analysis-file output.
235
+ - [`/project-health`](project-health.md) — quick read-only counts, no
236
+ challenge loop.
237
+ - [`/analyze:decision`](analyze/decision.md) — single-decision audit;
238
+ this command sweeps and hands hot ones to the interview.
239
+ - [`/challenge-me with-docs`](challenge-me/with-docs.md) — interview
240
+ mechanics this command borrows, applied to a seed instead of the
241
+ project state.
242
+ - [`decision-revisit-gate`](../rules/decision-revisit-gate.md) —
243
+ lock-flip discipline Step 3 enforces.
@@ -27,6 +27,11 @@ Top-level orchestrator for the `/optimize` family.
27
27
 
28
28
  > Looking for `AGENTS.md` operations (init, refactor, audit)? Those
29
29
  > live under [`/agents`](agents.md) (`init / optimize / audit`).
30
+ >
31
+ > Looking for **project-wide** optimization (roadmaps, ADRs, decisions,
32
+ > structures — challenge-and-roadmap loop)? That is the standalone
33
+ > [`/optimize-project`](optimize-project.md) — this cluster only covers
34
+ > the agent layer.
30
35
 
31
36
  ## Sub-commands
32
37
 
@@ -92,7 +92,7 @@ trunk (that rot is exactly what the PR-gate replaces; see
92
92
  Run the deterministic sweep:
93
93
 
94
94
  ```bash
95
- python3 .augment/scripts/archive_completed_roadmaps.py # --changed-only (default)
95
+ ./agent-config roadmap:archive # --changed-only (default)
96
96
  ```
97
97
 
98
98
  It `git mv`s each completed roadmap (that this branch touched, per
@@ -178,7 +178,7 @@ github-api
178
178
 
179
179
  **Hard prohibitions** (each one cost 3+ extra tool calls in past runs):
180
180
 
181
- - ❌ `python3 -c "import urllib..."` / `python3 - <<PY ... PY` heredocs
181
+ - ❌ `node -e "..."` / shell heredoc hacks
182
182
  to serialize the body or POST it.
183
183
  - ❌ `save-file PR_BODY.md` → read back → `curl -d @PR_BODY.md`.
184
184
  - ❌ `gh pr create --body-file …` shelling out when `github-api` is
@@ -252,24 +252,53 @@ Per `verbosity.post_action_reports` (default `minimal`):
252
252
  \`gh pr ready N\` to flip` when silent-draft (rule 4); omit on ready.
253
253
  - `full` → multi-line: PR number, URL, draft state, base/head, ready-reminder.
254
254
 
255
- #### 4c. Jira transition (only when transitioned)
255
+ #### 4c. Status claims — verified facts only (MANDATORY)
256
+
257
+ ```
258
+ NEVER STATE CI, CHECK, MERGEABILITY, OR DRAFT STATUS FROM ASSUMPTION.
259
+ EVERY STATUS CLAIM IN THE REPLY CITES A COMMAND RUN THIS TURN.
260
+ "BLOCKED" IS NEVER PARAPHRASED AS "CI IS STILL RUNNING".
261
+ ```
262
+
263
+ Any statement about the PR's state — in the creation reply, after a
264
+ conflict-resolution push, after ANY push to the PR branch — must be
265
+ backed by fresh command output from the same reply:
266
+
267
+ | Claim | Required evidence |
268
+ |---|---|
269
+ | Draft / ready | `gh pr view <n> --json isDraft` — quote the value |
270
+ | CI green / red / running | `gh pr checks <n>` — report the actual fail list; a single `fail` row means FAIL, not "running" |
271
+ | Mergeable / conflicts | `gh pr view <n> --json mergeable,mergeStateStatus` |
272
+
273
+ `mergeStateStatus: BLOCKED` has several distinct causes (failing
274
+ checks, draft state, missing reviews, branch protection). Resolving
275
+ WHICH one requires `gh pr checks` — never guess the cause. If checks
276
+ are still pending, say "pending" and name the pending jobs; never
277
+ declare an outcome the output does not show.
278
+
279
+ This is the [`direct-answers` Iron Law 2](../rules/direct-answers.md)
280
+ live-state clause applied to the PR surface: git/PR/CI state decays
281
+ silently and is NEVER reported from memory or inference.
282
+
283
+ #### 4d. Jira transition (only when transitioned)
256
284
 
257
285
  Linked ticket + `routine_confirmations: true` → ask `1. Yes / 2. No`.
258
286
  Default (`false`) → skip silently. **Only emit a transition line when
259
287
  an actual Jira API call succeeded** — never announce "skipped".
260
288
 
261
- #### 4d. Settings short-circuit — single read per run
289
+ #### 4e. Settings short-circuit — single read per run
262
290
 
263
291
  `verbosity.routine_confirmations`, `verbosity.post_action_reports`, and
264
292
  `commands.create_pr.preview_description` are read **once** at the top
265
293
  of the run and cached for the whole `/create-pr` invocation. Do **not**
266
- re-read `.agent-settings.yml` in 4b / 4c — both branches resolve from
294
+ re-read `.agent-settings.yml` in 4b / 4d — both branches resolve from
267
295
  the cached values from step 1.
268
296
 
269
297
  When all three resolve to their silent defaults (`false` / `minimal` /
270
- `false`), steps 4b–4c collapse to the single `→ #N opened: <url>` line
271
- from 4b and a silent 4c. No extra file reads, no "checking settings…"
272
- narration, no confirmation prompts.
298
+ `false`), steps 4b + 4d collapse to the single `→ #N opened: <url>` line
299
+ from 4b and a silent 4d. No extra file reads, no "checking settings…"
300
+ narration, no confirmation prompts. Step 4c is never collapsed — status
301
+ claims always carry evidence.
273
302
 
274
303
  ### Rules
275
304
 
@@ -79,7 +79,7 @@ no silent best-guess.
79
79
 
80
80
  ### 2. Resolve the per-event analysis (state ground-truth)
81
81
 
82
- Look for `agents/tmp/prediction-pool/<slug>.md`.
82
+ Look for `agents/runtime/tmp/prediction-pool/<slug>.md`.
83
83
 
84
84
  - **None →** start a new analysis (created at Step 9, never before).
85
85
  - **Exists →** read it. Then:
@@ -178,7 +178,7 @@ pool / site. If yes, loop Steps 3–7 for that pool.
178
178
 
179
179
  ### 9. Persist / extend the analysis (only now)
180
180
 
181
- Append a run-stamped section to `agents/tmp/prediction-pool/<slug>.md`: pool
181
+ Append a run-stamped section to `agents/runtime/tmp/prediction-pool/<slug>.md`: pool
182
182
  URL(s), parsed rules, the entered tips with state `entered, not submitted`
183
183
  (or `submitted` if Step 7 submitted), council verdicts if any, and
184
184
  standing notes. Append-only — earlier runs stay as history. This is the
@@ -32,7 +32,7 @@ not-installed pack, expands the `requires_hint` closure, and writes the
32
32
  overlay **atomically**):
33
33
 
34
34
  ```bash
35
- python3 -m scripts.config.session_profiles activate <name…> --json
35
+ ./scripts-run src/scripts/config/session_profiles activate <name…> --json
36
36
  ```
37
37
 
38
38
  - **Exit 0** → parse the JSON: `active_packs`, `closure_added`, `notes`.
@@ -49,7 +49,7 @@ Announce, using the helper's output:
49
49
  > surfaced: {N} commands, {M} skills ({H} hidden behind inactive packs)
50
50
  ```
51
51
 
52
- Get the counts from `python3 -m scripts.config.session_profiles show --json`.
52
+ Get the counts from `./scripts-run src/scripts/config/session_profiles show --json`.
53
53
 
54
54
  ### 3. Re-bias the surface for the rest of the session
55
55
 
@@ -58,7 +58,7 @@ From now until `/profile deactivate` (or a new session), when the user asks
58
58
  set. Compute it with:
59
59
 
60
60
  ```bash
61
- python3 -m scripts.config.session_profiles surface --json
61
+ ./scripts-run src/scripts/config/session_profiles surface --json
62
62
  ```
63
63
 
64
64
  `shown` = surface these; `hidden` = do not list them proactively. Core /
@@ -30,14 +30,14 @@ no silent session reset.
30
30
  - `/profile deactivate` (no args) → clear the whole overlay:
31
31
 
32
32
  ```bash
33
- python3 -m scripts.config.session_profiles deactivate --json
33
+ ./scripts-run src/scripts/config/session_profiles deactivate --json
34
34
  ```
35
35
 
36
36
  - `/profile deactivate <name…>` → remove only the **named packs** from the
37
37
  active set (never their closure), so a shared dependency survives:
38
38
 
39
39
  ```bash
40
- python3 -m scripts.config.session_profiles deactivate <name…> --json
40
+ ./scripts-run src/scripts/config/session_profiles deactivate <name…> --json
41
41
  ```
42
42
 
43
43
  Parse `active_packs` from the JSON.
@@ -28,7 +28,7 @@ from its cause.
28
28
  ### 1. Read the state
29
29
 
30
30
  ```bash
31
- python3 -m scripts.config.session_profiles show --json
31
+ ./scripts-run src/scripts/config/session_profiles show --json
32
32
  ```
33
33
 
34
34
  Fields: `active_packs`, `commands_shown`, `skills_shown`, `hidden_total`.
@@ -37,7 +37,7 @@ For a **non-technical employee**, render plain language instead — deterministi
37
37
  template (no LLM), the right content for an employee-facing surface:
38
38
 
39
39
  ```bash
40
- python3 -m scripts.config.session_profiles show --plain
40
+ ./scripts-run src/scripts/config/session_profiles show --plain
41
41
  ```
42
42
 
43
43
  Shape: [`session-profile-overlay` § Plain status surface](../../../../docs/contracts/session-profile-overlay.md#plain-status-surface).
@@ -64,7 +64,7 @@ Shape: [`session-profile-overlay` § Plain status surface](../../../../docs/cont
64
64
  If the user asks *which* artefacts are hidden, run:
65
65
 
66
66
  ```bash
67
- python3 -m scripts.config.session_profiles surface --json
67
+ ./scripts-run src/scripts/config/session_profiles surface --json
68
68
  ```
69
69
 
70
70
  and list `hidden[]` (name + packs). Keep it scannable; group by pack if long.
@@ -87,6 +87,11 @@ Read {fields_path} to get all field definitions.
87
87
  field names whose value contains `[uncertain]` or could not be
88
88
  sourced.
89
89
  4. All field values in English.
90
+ 5. Cite claims from fetched sources by paraphrase; verbatim quoting
91
+ follows `content-quoting-floor` (≤15 words, one quote per source).
92
+ 6. Fresh-lookup-class fields (current status, versions, prices, dates)
93
+ require a cited live source per `asking-and-brevity-examples § Volatile-fact
94
+ freshness` — never fill from model memory.
90
95
 
91
96
  ## Output path
92
97
  {output_path}
@@ -80,7 +80,8 @@ script, no Python runtime.**
80
80
  | **List of dicts** | One row per dict, `key:value` pairs joined with ` \| `. |
81
81
  | **Plain list** | Short → comma-joined; long (> 5 items) → bullet list. |
82
82
  | **Nested dict** | Recurse; render with `;` between sibling keys or hard-break on long values. |
83
- | **Long text** | Strings > 100 chars → wrap in a blockquote or insert `<br>`. |
83
+ | **Long text** | Strings > 100 chars → wrap in a blockquote or insert `<br>`. Verbatim source excerpts follow `content-quoting-floor` (≤15 words, one quote per source) — paraphrase the rest. |
84
+ | **Freshness** | Fresh-lookup-class fields (status, version, price, date) render as reported by `/research:deep`, never re-derived from model memory at report time — see `asking-and-brevity-examples § Volatile-fact freshness`. |
84
85
  | **Extra fields** | JSON keys not declared in `fields.yaml` → group under `### Other info`. Filter `_source_file`, `uncertain`, and category-container keys. |
85
86
  | **`uncertain` array** | Render each entry on its own line under `### Uncertain fields`; never condense to a one-liner. |
86
87
  | **Skip conditions** | Field value contains `[uncertain]` · field name in `uncertain` · value is `null` / empty string. |
@@ -139,7 +139,20 @@ and ask (in the user's language):
139
139
 
140
140
  Only when the search is empty: save to the chosen location and show the final path.
141
141
 
142
- ### 7. Update the progress dashboard
142
+ ### 7. Move consumed inbox file (if applicable)
143
+
144
+ User pointed at a file in `agents/tmp/` as the roadmap source
145
+ (e.g. "create a roadmap from `agents/tmp/my-idea.md`") →
146
+
147
+ ```bash
148
+ mv agents/tmp/<filename> agents/tmp.old/<filename>
149
+ ```
150
+
151
+ Automatic, same reply as saving — no confirmation (gitignored, local-only,
152
+ reversible). Move ONLY files explicitly named as input. Never touch other
153
+ `agents/tmp/` files.
154
+
155
+ ### 8. Update the progress dashboard
143
156
 
144
157
  Regenerate `agents/roadmaps-progress.md` so the new roadmap shows up:
145
158
 
@@ -149,7 +162,7 @@ Regenerate `agents/roadmaps-progress.md` so the new roadmap shows up:
149
162
 
150
163
  Mention the new overall count to the user.
151
164
 
152
- ### 8. Offer council review (B1 hook, verbosity-gated)
165
+ ### 9. Offer council review (B1 hook, verbosity-gated)
153
166
 
154
167
  Read `verbosity.offer_council_in_delivery` from `.agent-settings.yml`
155
168
  (default `false`):
@@ -181,21 +194,86 @@ If the user picks **1**:
181
194
 
182
195
  If the user picks **2** → continue.
183
196
 
184
- ### 9. Offer execution
197
+ ### 10. Ask the execution mode — ONE question, then write frontmatter
185
198
 
186
- After saving (and any council review), ask the user (in their language) whether to start executing the roadmap immediately.
199
+ Ask (in the user's language) exactly one numbered-options question:
200
+
201
+ > How should this roadmap be executed later?
202
+ >
203
+ > 1. Fully autonomous — one run-start contract confirmation, then no
204
+ > interruptions except the safety floors
205
+ > 2. Checkpoint at phase boundaries — compact status + continue prompt
206
+ > per phase
207
+ > 3. Interactive — every gate fires as today
208
+ >
209
+ > **Recommendation:** 1
210
+
211
+ Write the pick to frontmatter as `execution.mode:`
212
+ (`autonomous` | `phase-checkpoints` | `interactive`). Rules:
213
+
214
+ - Pick 3 → omit the field entirely (`interactive` is the absent-field
215
+ default; don't write noise).
216
+ - Follow-up roadmaps (`parent_roadmap` set): pre-select the parent's
217
+ mode as the recommended option, but still ask — mode never inherits
218
+ silently (per template rule 18).
219
+ - This question is about a **future** run's interaction pattern. It is
220
+ a declaration of intent, never a permission grant, and it does NOT
221
+ soften the step-11 hard stop: asking it must not morph into offering
222
+ execution now.
223
+ - Semantics + contract mechanics:
224
+ [`templates/roadmaps.md` rule 18](../../templates/roadmaps.md) and
225
+ [`roadmap-execution-contract`](../../contexts/execution/roadmap-execution-contract.md).
226
+ - **Authoring check for pick 1 (`autonomous`):** scan the drafted steps
227
+ for vague phrasings (`improve/optimize` without a target, `make it
228
+ better/cleaner`, `clean up` without scope, `fix this` without a
229
+ symptom, `use best practices`, `handle errors properly`) and for
230
+ pre-existing `[~]` items. Surface each finding to the user for a
231
+ quick rephrase **before saving** — vagueness is cheap to resolve now
232
+ and expensive as a mid-run ambiguity halt; pre-existing `[~]` items
233
+ guarantee the archival gate interrupts the run.
234
+ `lint_roadmap_complexity` warns on the same patterns as a backstop.
235
+
236
+ ### 11. Hand back — HARD STOP, never auto-offer execution
237
+
238
+ ```
239
+ ROADMAP SAVED → STOP. NEVER ASK "READY TO START?" / "BEGIN PHASE 1?"
240
+ / "SOFORT AUSFÜHREN?". CREATE = ARTIFACT ONLY. EXECUTION NEEDS A
241
+ FRESH, EXPLICIT EXECUTION VERB FROM THE USER.
242
+ ```
187
243
 
188
- If yes → switch to [`/roadmap:process-phase`](process-phase.md) with
189
- the newly created file (the default execution scope of the `/roadmap`
190
- cluster). Offer [`process-step`](process-step.md) and
191
- [`process-full`](process-full.md) as alternatives. The legacy
192
- `/roadmap execute` command was removed — autonomous execution is the
193
- only path now.
244
+ Emit a single hand-back line citing the saved path and (if regenerated)
245
+ the new dashboard count. Then **stop the turn**.
246
+
247
+ - Do **not** present numbered options for "start execution / pick
248
+ process-phase / pick process-step / pick process-full". The user
249
+ picks the next move when they're ready — silence on execution.
250
+ - Do **not** soft-route ("*the roadmap is ready, kicking off E1.1…*").
251
+ That is a hand-off to execution disguised as a status line.
252
+ - Do **not** include "Recommended next step: `/roadmap:process-phase`"
253
+ in the hand-back. Mentioning the command back-channels the same
254
+ ask.
255
+ - The user resumes with an explicit execution verb (`implement`,
256
+ `build`, `start Phase A`, `arbeite die Roadmap ab`, `mach weiter
257
+ mit Phase 1`) on a **later turn**. That verb — not this command —
258
+ authorizes execution. See [`scope-mechanics § Post-artifact hard
259
+ stop`](../../contexts/authority/scope-mechanics.md).
260
+
261
+ Failure modes covered by this hard stop:
262
+
263
+ - Asking *"Soll ich jetzt mit Phase A anfangen?"* after the save line.
264
+ - Offering *"1. Start now / 2. Review first / 3. Cancel"* — the user
265
+ did not ask for an execution menu, the create verb covered authoring
266
+ only.
267
+ - Treating a thumbs-up / *"sieht gut aus"* / *"passt"* as authorization
268
+ to start. None of those are execution verbs.
194
269
 
195
270
  ### Rules
196
271
 
197
272
  - **Do NOT auto-generate content** — always ask the user for input.
198
273
  - **Do NOT commit or push.**
274
+ - **Do NOT offer execution after save** — Step 11 is a hard stop.
275
+ Execution starts on a later turn with an explicit execution verb
276
+ ([`scope-control § Authoring vs. implementation`](../rules/scope-control.md#authoring-vs-implementation)).
199
277
  - **Do NOT include commit steps in the roadmap** unless the user explicitly
200
278
  requested them. See [`commit-policy`](../rules/commit-policy.md#never-write-commit-steps-into-roadmaps-unsolicited).
201
279
  Roadmaps plan **work**; commits are a separate delivery decision.
@@ -47,7 +47,7 @@ roadmap, writes one ticket per materialisable step into
47
47
  Run the build-readiness lint before handing back:
48
48
 
49
49
  ```bash
50
- python3 src/scripts/lint_ticket_buildable.py
50
+ ./scripts-run src/scripts/lint_ticket_buildable
51
51
  ```
52
52
 
53
53
  A `lite` ticket that fails the self-containedness floor is rejected or escalated
@@ -34,16 +34,29 @@ with the **scope delta below**.
34
34
 
35
35
  ## Scope delta
36
36
 
37
+ - **Execution mode:** read `execution.mode` from frontmatter. Under
38
+ `autonomous` / `phase-checkpoints` the loop's § 3 pre-scan derives
39
+ the run-start **execution contract**
40
+ ([`roadmap-execution-contract`](../../contexts/execution/roadmap-execution-contract.md));
41
+ ONE acceptance activates all run grants (feature branch, chunked
42
+ commits, push to that branch only, PR-open, batched artifact
43
+ drafting, council auto-enable) — no further asks until a safety
44
+ floor. `mode: autonomous` is the flagship pairing for this wrapper:
45
+ full working set + contract = uninterrupted run to the defined end
46
+ state.
37
47
  - **Working set:** every open step across every phase, in document
38
48
  order. Phase-internal annotations like `(deferred)` / `(optional)` /
39
49
  "gated on Phase N" do not narrow the working set.
40
50
  - **Stop after:** the entire roadmap reaches `count_open == 0`, or a
41
- halt condition fires (Hard-Floor, council-off + ambiguity,
51
+ halt condition fires (Hard-Floor, council-off + ambiguity — the
52
+ latter only outside an accepted contract with council available,
42
53
  security-sensitive, scope-out-of-roadmap, test/quality red).
43
54
  - **Phase boundary handling:** at every phase boundary, run the
44
55
  per-phase quality pipeline when `quality_cadence: per_phase` (or
45
56
  `per_step`). On red → stop, surface, do **not** silently roll into
46
- the next phase.
57
+ the next phase. Under `mode: phase-checkpoints`, additionally emit
58
+ the compact status + continue prompt at every boundary; under
59
+ `autonomous`, boundaries are silent (quality pipeline aside).
47
60
  - **Final archival:** when the roadmap is fully closed, run the
48
61
  archival check from
49
62
  [`roadmap-process-loop § 6`](../../contexts/execution/roadmap-process-loop.md#6-final-report-and-archival).