@event4u/agent-config 3.3.0 → 4.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 (561) hide show
  1. package/.agent-src/README.md +2 -2
  2. package/.agent-src/commands/agent-handoff.md +31 -2
  3. package/.agent-src/commands/agent-status.md +5 -5
  4. package/.agent-src/commands/agents/audit.md +8 -8
  5. package/.agent-src/commands/agents/init.md +25 -1
  6. package/.agent-src/commands/agents/optimize.md +3 -3
  7. package/.agent-src/commands/agents/user.md +1 -1
  8. package/.agent-src/commands/agents.md +1 -1
  9. package/.agent-src/commands/analyze-reference-repo.md +1 -1
  10. package/.agent-src/commands/check-current-md.md +8 -8
  11. package/.agent-src/commands/{compress.md → condense.md} +55 -55
  12. package/.agent-src/commands/context/create.md +7 -4
  13. package/.agent-src/commands/context/refactor.md +3 -1
  14. package/.agent-src/commands/feature/dev.md +1 -1
  15. package/.agent-src/commands/feature/explore.md +1 -1
  16. package/.agent-src/commands/feature/plan.md +10 -8
  17. package/.agent-src/commands/feature/refactor.md +3 -1
  18. package/.agent-src/commands/feature/roadmap.md +7 -4
  19. package/.agent-src/commands/fix/portability.md +3 -3
  20. package/.agent-src/commands/fix/refs.md +4 -4
  21. package/.agent-src/commands/ghostwriter.md +2 -2
  22. package/.agent-src/commands/memory/learn-low-impact.md +3 -3
  23. package/.agent-src/commands/module/explore.md +34 -8
  24. package/.agent-src/commands/optimize/agents-dir.md +9 -7
  25. package/.agent-src/commands/optimize/augmentignore.md +2 -2
  26. package/.agent-src/commands/optimize/skills.md +9 -9
  27. package/.agent-src/commands/post-as.md +1 -1
  28. package/.agent-src/commands/project-analyze.md +2 -2
  29. package/.agent-src/commands/project-health.md +3 -2
  30. package/.agent-src/commands/research/deep.md +1 -1
  31. package/.agent-src/commands/research/report.md +1 -1
  32. package/.agent-src/commands/research.md +1 -1
  33. package/.agent-src/commands/roadmap/ai-council.md +1 -1
  34. package/.agent-src/commands/roadmap/create.md +9 -4
  35. package/.agent-src/commands/rule-compliance-audit.md +1 -1
  36. package/.agent-src/commands/upstream-contribute.md +14 -14
  37. package/.agent-src/commands/video/from-script.md +1 -1
  38. package/.agent-src/commands/video/scene.md +1 -1
  39. package/.agent-src/commands/video/stitch.md +1 -1
  40. package/.agent-src/commands/video/storyboard.md +1 -1
  41. package/.agent-src/commands/video.md +1 -1
  42. package/.agent-src/contexts/augment-infrastructure.md +1 -1
  43. package/.agent-src/contexts/authority/commit-mechanics.md +15 -0
  44. package/.agent-src/contexts/authority/kernel-rule-edits.md +3 -3
  45. package/.agent-src/contexts/authority/scope-mechanics.md +1 -1
  46. package/.agent-src/contexts/communication/rules-auto/augment-source-of-truth-mechanics.md +28 -28
  47. package/.agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +4 -4
  48. package/.agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +2 -2
  49. package/.agent-src/contexts/contracts/artifact-engagement-flow.md +6 -6
  50. package/.agent-src/contexts/contracts/command-suggestion-flow.md +3 -3
  51. package/.agent-src/contexts/contracts/emergency-triage-block.md +4 -4
  52. package/.agent-src/contexts/contracts/frugality-charter.md +3 -3
  53. package/.agent-src/contexts/documentation-hierarchy.md +14 -7
  54. package/.agent-src/contexts/execution/autonomy-examples.md +1 -1
  55. package/.agent-src/contexts/execution/cheap-question-mechanics.md +39 -2
  56. package/.agent-src/contexts/execution/roadmap-process-loop.md +28 -5
  57. package/.agent-src/contexts/override-system.md +5 -5
  58. package/.agent-src/ghostwriter/fictional-fixture-v1.md +1 -1
  59. package/.agent-src/personas/advisors/first-principles.md +1 -1
  60. package/.agent-src/personas/hollywood-director.md +1 -1
  61. package/.agent-src/rules/architecture.md +5 -1
  62. package/.agent-src/rules/augment-edit-discipline.md +5 -5
  63. package/.agent-src/rules/augment-source-of-truth.md +15 -15
  64. package/.agent-src/rules/commit-conventions.md +1 -1
  65. package/.agent-src/rules/commit-policy.md +10 -0
  66. package/.agent-src/rules/domain-adoption-policy.md +3 -3
  67. package/.agent-src/rules/fast-path-marker-visibility.md +3 -3
  68. package/.agent-src/rules/finance-safety-floor.md +1 -1
  69. package/.agent-src/rules/framework-neutrality-in-generic-skills.md +8 -8
  70. package/.agent-src/rules/git-history-discipline.md +1 -1
  71. package/.agent-src/rules/improve-before-implement.md +2 -2
  72. package/.agent-src/rules/language-and-tone.md +2 -2
  73. package/.agent-src/rules/media-governance-routing.md +5 -5
  74. package/.agent-src/rules/no-attribution-footers.md +1 -0
  75. package/.agent-src/rules/no-cheap-questions.md +3 -0
  76. package/.agent-src/rules/no-decorative-emojis-in-git-surfaces.md +111 -0
  77. package/.agent-src/rules/no-pr-progress-comments.md +118 -0
  78. package/.agent-src/rules/no-roadmap-references.md +3 -3
  79. package/.agent-src/rules/non-destructive-by-default.md +1 -1
  80. package/.agent-src/rules/persona-governance.md +3 -3
  81. package/.agent-src/rules/preservation-guard.md +15 -15
  82. package/.agent-src/rules/roadmap-ci-steps-policy.md +7 -3
  83. package/.agent-src/rules/rule-type-governance.md +1 -1
  84. package/.agent-src/rules/skill-quality.md +1 -1
  85. package/.agent-src/rules/{caveman-speak.md → telegraph-speak.md} +15 -15
  86. package/.agent-src/rules/token-optimizer-maintenance.md +6 -6
  87. package/.agent-src/skills/agent-docs-writing/SKILL.md +17 -11
  88. package/.agent-src/skills/agents-md-thin-root/SKILL.md +9 -9
  89. package/.agent-src/skills/check-refs/SKILL.md +2 -2
  90. package/.agent-src/skills/code-refactoring/SKILL.md +2 -2
  91. package/.agent-src/skills/command-writing/SKILL.md +19 -19
  92. package/.agent-src/skills/comp-banding/SKILL.md +1 -1
  93. package/.agent-src/skills/condense-memory/SKILL.md +131 -0
  94. package/.agent-src/skills/context-authoring/SKILL.md +2 -2
  95. package/.agent-src/skills/context-document/SKILL.md +5 -3
  96. package/.agent-src/skills/copilot-agents-optimization/SKILL.md +3 -3
  97. package/.agent-src/skills/description-assist/SKILL.md +2 -2
  98. package/.agent-src/skills/git-workflow/SKILL.md +1 -1
  99. package/.agent-src/skills/guideline-writing/SKILL.md +5 -5
  100. package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +4 -4
  101. package/.agent-src/skills/lint-skills/SKILL.md +3 -3
  102. package/.agent-src/skills/md-language-check/SKILL.md +2 -2
  103. package/.agent-src/skills/module-detect-on-the-fly/SKILL.md +138 -0
  104. package/.agent-src/skills/module-management/SKILL.md +166 -94
  105. package/.agent-src/skills/override-management/SKILL.md +1 -1
  106. package/.agent-src/skills/persona-writing/SKILL.md +5 -5
  107. package/.agent-src/skills/positioning-strategy/SKILL.md +1 -1
  108. package/.agent-src/skills/project-docs/SKILL.md +6 -4
  109. package/.agent-src/skills/readme-reviewer/SKILL.md +2 -2
  110. package/.agent-src/skills/roadmap-management/SKILL.md +13 -1
  111. package/.agent-src/skills/roadmap-writing/SKILL.md +4 -2
  112. package/.agent-src/skills/rule-refactor/SKILL.md +5 -5
  113. package/.agent-src/skills/rule-writing/SKILL.md +18 -18
  114. package/.agent-src/skills/script-writing/SKILL.md +1 -1
  115. package/.agent-src/skills/skill-improvement-pipeline/SKILL.md +6 -6
  116. package/.agent-src/skills/skill-management/SKILL.md +21 -21
  117. package/.agent-src/skills/skill-reviewer/SKILL.md +2 -2
  118. package/.agent-src/skills/skill-writing/SKILL.md +8 -8
  119. package/.agent-src/skills/skill-writing/evals/triggers.json +1 -1
  120. package/.agent-src/skills/token-optimizer/SKILL.md +4 -4
  121. package/.agent-src/skills/unit-economics-modeling/SKILL.md +1 -1
  122. package/.agent-src/skills/upstream-contribute/SKILL.md +17 -17
  123. package/.agent-src/templates/AGENTS.md +1 -0
  124. package/.agent-src/templates/agent-settings.md +24 -13
  125. package/.agent-src/templates/agents/agent-project-settings.example.yml +61 -2
  126. package/.agent-src/templates/command.md +5 -5
  127. package/.agent-src/templates/contexts.md +1 -1
  128. package/.agent-src/templates/copilot-instructions.md +8 -8
  129. package/.agent-src/templates/features.md +1 -1
  130. package/.agent-src/templates/hooks/pre-commit-frontmatter +2 -2
  131. package/.agent-src/templates/hooks/pre-commit-roadmap-progress +3 -3
  132. package/.agent-src/templates/persona.md +2 -2
  133. package/.agent-src/templates/roadmaps.md +1 -1
  134. package/.agent-src/templates/rule.md +13 -13
  135. package/.agent-src/templates/scripts/memory_lookup.py +1 -1
  136. package/.agent-src/templates/scripts/memory_status.py +2 -2
  137. package/.agent-src/templates/scripts/work_engine/_lib/agent_settings.py +195 -1
  138. package/.agent-src/templates/scripts/work_engine/orchestration.py +1 -1
  139. package/.agent-src/templates/skill-archive-note.md +5 -5
  140. package/.agent-src/templates/skill.md +1 -1
  141. package/.claude-plugin/marketplace.json +4 -4
  142. package/AGENTS.md +16 -17
  143. package/CHANGELOG.md +216 -3
  144. package/CONTRIBUTING.md +31 -12
  145. package/README.md +21 -12
  146. package/config/agent-settings.template.yml +22 -2
  147. package/config/discovery/unassigned-artefacts.yml +24 -24
  148. package/config/profiles/full.ini +1 -1
  149. package/dist/cli/agent-config.js +52 -3
  150. package/dist/cli/agent-config.js.map +1 -1
  151. package/dist/cli/commands/uiServe.js +9 -0
  152. package/dist/cli/commands/uiServe.js.map +1 -1
  153. package/dist/cli/registry.js +2 -1
  154. package/dist/cli/registry.js.map +1 -1
  155. package/dist/discovery/deprecation-report.md +1 -1
  156. package/dist/discovery/discovery-manifest.json +649 -606
  157. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  158. package/dist/discovery/discovery-manifest.summary.md +4 -4
  159. package/dist/discovery/orphan-report.md +1 -1
  160. package/dist/discovery/packs.json +439 -437
  161. package/dist/discovery/trust-report.md +5 -5
  162. package/dist/discovery/workspaces.json +450 -448
  163. package/dist/install/atomic.js +92 -0
  164. package/dist/install/atomic.js.map +1 -0
  165. package/dist/install/conflict.js +196 -0
  166. package/dist/install/conflict.js.map +1 -0
  167. package/dist/install/detect.js +218 -0
  168. package/dist/install/detect.js.map +1 -0
  169. package/dist/install/paths.js +82 -0
  170. package/dist/install/paths.js.map +1 -0
  171. package/dist/install/plan.js +157 -0
  172. package/dist/install/plan.js.map +1 -0
  173. package/dist/install/txlog.js +140 -0
  174. package/dist/install/txlog.js.map +1 -0
  175. package/dist/install/types.js +19 -0
  176. package/dist/install/types.js.map +1 -0
  177. package/dist/install/wizard-plan.js +184 -0
  178. package/dist/install/wizard-plan.js.map +1 -0
  179. package/dist/mcp/registry-manifest.json +4 -4
  180. package/dist/router.json +67 -19
  181. package/dist/server/app.js +6 -0
  182. package/dist/server/app.js.map +1 -1
  183. package/dist/server/routes/install.js +358 -0
  184. package/dist/server/routes/install.js.map +1 -0
  185. package/dist/server/routes/wizard.js +468 -32
  186. package/dist/server/routes/wizard.js.map +1 -1
  187. package/dist/server/routes/workspace.js +396 -0
  188. package/dist/server/routes/workspace.js.map +1 -0
  189. package/dist/server/schemas/settings.js +5 -3
  190. package/dist/server/schemas/settings.js.map +1 -1
  191. package/dist/ui/assets/index-BDAhhpDV.js +40 -0
  192. package/dist/ui/assets/index-BDAhhpDV.js.map +1 -0
  193. package/dist/ui/assets/index-BXZILUxe.css +1 -0
  194. package/dist/ui/index.html +2 -2
  195. package/docs/MIGRATION.md +1 -1
  196. package/docs/adrs/cost/0001-hard-stop-hook.md +1 -1
  197. package/docs/adrs/router/0001-three-tier-routing.md +4 -4
  198. package/docs/adrs/schema/0001-json-schema-frontmatter.md +1 -1
  199. package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +4 -4
  200. package/docs/adrs/{caveman → telegraph}/0001-default-off-until-bench.md +9 -9
  201. package/docs/adrs/telegraph/README.md +9 -0
  202. package/docs/architecture/augment-projection.md +4 -4
  203. package/docs/architecture/claude-bundle.md +1 -1
  204. package/docs/architecture/current-onboard-baseline.md +3 -3
  205. package/docs/architecture/multi-tool-projection.md +10 -10
  206. package/docs/architecture/source-projection.md +27 -27
  207. package/docs/architecture.md +19 -15
  208. package/docs/archive/CHANGELOG-pre-2.11.0.md +2 -2
  209. package/docs/archive/CHANGELOG-pre-2.15.0.md +3 -3
  210. package/docs/archive/CHANGELOG-pre-2.16.0.md +1 -1
  211. package/docs/archive/CHANGELOG-pre-2.2.0.md +70 -70
  212. package/docs/archive/CHANGELOG-pre-2.20.0.md +2 -2
  213. package/docs/archive/CHANGELOG-pre-2.25.0.md +15 -15
  214. package/docs/archive/CHANGELOG-pre-3.0.0.md +4 -4
  215. package/docs/archive/CHANGELOG-pre-3.1.0.md +2 -2
  216. package/docs/archive/CHANGELOG-pre-3.2.0.md +3 -3
  217. package/docs/benchmark.md +65 -0
  218. package/docs/benchmarks.md +16 -16
  219. package/docs/catalog.md +17 -15
  220. package/docs/contracts/CHANGELOG-conventions.md +1 -1
  221. package/docs/contracts/STABILITY.md +2 -2
  222. package/docs/contracts/adoption-signal-floor.md +110 -0
  223. package/docs/contracts/adr-chat-history-split.md +4 -4
  224. package/docs/contracts/adr-command-suggestion.md +4 -4
  225. package/docs/contracts/adr-gtm-context-spine.md +1 -1
  226. package/docs/contracts/adr-implement-ticket-runtime.md +4 -4
  227. package/docs/contracts/adr-install-user-type-axis.md +1 -1
  228. package/docs/contracts/adr-layout.md +2 -2
  229. package/docs/contracts/adr-product-ui-track.md +10 -10
  230. package/docs/contracts/adr-user-types-axis.md +3 -3
  231. package/docs/contracts/adr-wing4-context-spine.md +1 -1
  232. package/docs/contracts/agent-memory-contract.md +3 -3
  233. package/docs/contracts/agents-md-tech-stack.md +2 -2
  234. package/docs/contracts/ai-council-config.md +2 -2
  235. package/docs/contracts/at-rest-encryption.md +4 -0
  236. package/docs/contracts/audit-log-v1.md +1 -1
  237. package/docs/contracts/benchmark-ab-contract.md +101 -0
  238. package/docs/contracts/benchmark-corpus-spec.md +1 -1
  239. package/docs/contracts/branch-protection-policy.md +98 -0
  240. package/docs/contracts/ci-cost-budget.md +106 -0
  241. package/docs/contracts/ci-green-floor.md +141 -0
  242. package/docs/contracts/command-clusters.md +6 -6
  243. package/docs/contracts/command-surface-tiers.md +2 -2
  244. package/docs/contracts/command-taxonomy.md +2 -2
  245. package/docs/contracts/{compression-default-kill-criterion.md → condensation-default-kill-criterion.md} +29 -29
  246. package/docs/contracts/config-presets.md +1 -1
  247. package/docs/contracts/context-paths.md +3 -3
  248. package/docs/contracts/context-spine.md +1 -1
  249. package/docs/contracts/cost-summary-schema.md +12 -12
  250. package/docs/contracts/cross-wing-handoff.md +4 -4
  251. package/docs/contracts/daily-workspace.md +4 -0
  252. package/docs/contracts/decision-trace-v1.md +2 -2
  253. package/docs/contracts/discovery-manifest.md +4 -4
  254. package/docs/contracts/explain-modes.md +4 -0
  255. package/docs/contracts/file-ownership-matrix.json +3493 -3318
  256. package/docs/contracts/file-ownership-matrix.md +3 -3
  257. package/docs/contracts/frontmatter-contract.md +4 -4
  258. package/docs/contracts/ghostwriter-schema.md +3 -3
  259. package/docs/contracts/gui-wizard.md +110 -97
  260. package/docs/contracts/harness-expectations.md +123 -0
  261. package/docs/contracts/host-agent-protocol.md +4 -0
  262. package/docs/contracts/implement-ticket-flow.md +9 -9
  263. package/docs/contracts/install-scopes.md +77 -0
  264. package/docs/contracts/iron-law-overrides.txt +1 -1
  265. package/docs/contracts/kernel-membership.md +26 -26
  266. package/docs/contracts/linear-ai-rules-inclusion.md +1 -1
  267. package/docs/contracts/linter-structural-model.md +2 -2
  268. package/docs/contracts/load-context-budget-model.md +4 -4
  269. package/docs/contracts/load-context-schema.md +13 -13
  270. package/docs/contracts/local-analytics.md +4 -0
  271. package/docs/contracts/local-knowledge-ingestion.md +1 -1
  272. package/docs/contracts/mcp-cloud-scope.md +2 -2
  273. package/docs/contracts/mcp-phase-1-scope.md +3 -3
  274. package/docs/contracts/measurement-baseline.md +5 -5
  275. package/docs/contracts/mental-models.md +30 -30
  276. package/docs/contracts/multi-tool-projection-fidelity.md +4 -4
  277. package/docs/contracts/namespace.md +4 -4
  278. package/docs/contracts/orchestration-dsl-v1.md +7 -7
  279. package/docs/contracts/package-self-orientation.md +12 -12
  280. package/docs/contracts/persona-schema.md +6 -6
  281. package/docs/contracts/pilot/language-and-tone.md +1 -1
  282. package/docs/contracts/plain-language-surface.md +117 -0
  283. package/docs/contracts/profile-system.md +3 -3
  284. package/docs/contracts/release-pr-gating.md +103 -0
  285. package/docs/contracts/role-experience.md +3 -3
  286. package/docs/contracts/rule-classification.md +13 -13
  287. package/docs/contracts/rule-interactions.md +4 -4
  288. package/docs/contracts/rule-interactions.yml +30 -30
  289. package/docs/contracts/rule-priority-hierarchy.md +13 -13
  290. package/docs/contracts/rule-router.md +2 -2
  291. package/docs/contracts/safety-model.md +1 -1
  292. package/docs/contracts/skill-distribution-channels.md +61 -0
  293. package/docs/contracts/skill-domains.md +2 -2
  294. package/docs/contracts/smoke-contracts.md +5 -5
  295. package/docs/contracts/telegraph-telemetry.md +83 -0
  296. package/docs/contracts/trust-and-safety.md +5 -5
  297. package/docs/contracts/ui-stack-extension.md +7 -7
  298. package/docs/contracts/ui-track-flow.md +9 -9
  299. package/docs/contracts/user-type-schema.md +4 -4
  300. package/docs/contracts/workflow-packs.md +4 -4
  301. package/docs/contracts/workspace-documents.md +4 -0
  302. package/docs/customization.md +28 -8
  303. package/docs/decisions/ADR-001-kernel-swap-deferred.md +6 -6
  304. package/docs/decisions/ADR-002-kernel-bucket-overrides.md +11 -11
  305. package/docs/decisions/ADR-003-flat-cluster-subs-and-colon-syntax.md +2 -2
  306. package/docs/decisions/ADR-004-rule-governance-pruning.md +4 -4
  307. package/docs/decisions/ADR-005-subagent-worktrees.md +7 -7
  308. package/docs/decisions/ADR-011-domain-pack-readiness.md +6 -6
  309. package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +3 -3
  310. package/docs/decisions/ADR-015-discovery-manifest-contract.md +3 -3
  311. package/docs/decisions/ADR-017-monorepo-physical-layout.md +10 -10
  312. package/docs/decisions/ADR-018-trust-and-safety-layer.md +6 -6
  313. package/docs/decisions/ADR-019-router-json-dist-location.md +2 -2
  314. package/docs/decisions/ADR-020-global-only-consumer-scope.md +2 -2
  315. package/docs/decisions/ADR-021-deployment-shape.md +3 -3
  316. package/docs/decisions/ADR-022-daily-workspace-decomposition.md +1 -1
  317. package/docs/decisions/ADR-027-changelog-machine-vs-manual.md +2 -2
  318. package/docs/decisions/ADR-028-root-layout.md +7 -7
  319. package/docs/decisions/ADR-029-multi-workspace-deferred.md +2 -2
  320. package/docs/decisions/ADR-rule-kernel-and-router.md +5 -5
  321. package/docs/deploy/connector-setup.md +2 -2
  322. package/docs/deploy/policy-cookbook.md +2 -2
  323. package/docs/deploy/team-deployment-posture.md +20 -0
  324. package/docs/development.md +17 -17
  325. package/docs/distribution/registries.md +32 -0
  326. package/docs/distribution/registry-submissions.md +85 -0
  327. package/docs/distribution/telemetry-schema.md +1 -1
  328. package/docs/getting-started-by-role.md +45 -3
  329. package/docs/getting-started.md +2 -2
  330. package/docs/guidelines/agent-infra/5w2h-analysis.md +3 -3
  331. package/docs/guidelines/agent-infra/ask-when-uncertain-demos.md +1 -1
  332. package/docs/guidelines/agent-infra/asking-and-brevity-examples.md +3 -3
  333. package/docs/guidelines/agent-infra/carve-out-predicates.md +3 -3
  334. package/docs/guidelines/agent-infra/critical-thinking.md +4 -4
  335. package/docs/guidelines/agent-infra/direct-answers-demos.md +1 -1
  336. package/docs/guidelines/agent-infra/first-principles.md +2 -2
  337. package/docs/guidelines/agent-infra/inversion-thinking.md +5 -5
  338. package/docs/guidelines/agent-infra/layered-settings.md +56 -2
  339. package/docs/guidelines/agent-infra/mental-models.md +3 -3
  340. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +2 -2
  341. package/docs/guidelines/agent-infra/rule-type-governance.md +1 -1
  342. package/docs/guidelines/agent-infra/scqa-framework.md +5 -5
  343. package/docs/guidelines/agent-infra/self-improvement-pipeline.md +2 -2
  344. package/docs/guidelines/agent-infra/six-hats.md +3 -3
  345. package/docs/guidelines/agent-infra/skill-quality-checklist.md +5 -5
  346. package/docs/guidelines/agent-infra/systems-thinking.md +1 -1
  347. package/docs/guidelines/agent-infra/verify-before-complete-demos.md +1 -1
  348. package/docs/guidelines/augment-portability-patterns.md +4 -4
  349. package/docs/guidelines/cross-role-handoff.md +2 -2
  350. package/docs/guidelines/php/php-coding-patterns.md +1 -1
  351. package/docs/guidelines/prompt-templates.md +6 -6
  352. package/docs/maintainers/dev-mode.md +1 -1
  353. package/docs/mcp.md +1 -1
  354. package/docs/parity/bench.json +3 -3
  355. package/docs/parity/ruflo.md +2 -2
  356. package/docs/profiles.md +11 -11
  357. package/docs/quality.md +11 -11
  358. package/docs/safety.md +3 -3
  359. package/docs/setup/mcp-client-config.md +1 -1
  360. package/docs/setup/mcp-r2-bootstrap.md +1 -1
  361. package/docs/setup/mcp-server-docker.md +3 -3
  362. package/docs/setup/per-ide/windsurf.md +1 -1
  363. package/docs/skills-catalog.md +8 -7
  364. package/docs/troubleshooting.md +1 -1
  365. package/docs/walkthroughs/daily-workspace-a11y.md +87 -0
  366. package/llms.txt +7 -6
  367. package/package.json +1 -1
  368. package/scripts/__pycache__/validate_frontmatter.cpython-312.pyc +0 -0
  369. package/scripts/_archive/README.md +2 -2
  370. package/scripts/_archive/_backfill_skill_domains.py +3 -3
  371. package/scripts/_archive/_bootstrap_tier_frontmatter.py +3 -3
  372. package/scripts/_archive/_p43_bodies.py +10 -10
  373. package/scripts/_archive/{_p43_compress.py → _p43_condense.py} +5 -5
  374. package/scripts/_archive/_p4_migrate.py +7 -7
  375. package/scripts/_archive/_phase2_shim_helper.py +1 -1
  376. package/scripts/_archive/_pilot_council_question.py +5 -5
  377. package/scripts/_cli/explain_last/inputs.py +1 -1
  378. package/scripts/_lib/__pycache__/__init__.cpython-312.pyc +0 -0
  379. package/scripts/_lib/__pycache__/agent_src.cpython-312.pyc +0 -0
  380. package/scripts/_lib/agent_settings.py +195 -1
  381. package/scripts/_lib/agent_src.py +19 -19
  382. package/scripts/_lib/bench_ab_cache.py +162 -0
  383. package/scripts/_lib/bench_ab_scoring.py +209 -0
  384. package/scripts/_lib/{bench_caveman.py → bench_telegraph.py} +21 -21
  385. package/scripts/_lib/{bench_caveman_report.py → bench_telegraph_report.py} +21 -21
  386. package/scripts/_lib/claude_desktop_bundler.py +5 -5
  387. package/scripts/_lib/module_detection.py +223 -0
  388. package/scripts/_lib/scope_guard.sh +162 -0
  389. package/scripts/_phase4_bucket.py +3 -3
  390. package/scripts/_pilot_measure.py +4 -4
  391. package/scripts/_tmp_scan_framework_leakage.py +1 -1
  392. package/scripts/adoption_report.py +195 -0
  393. package/scripts/adoption_snapshot.py +219 -0
  394. package/scripts/adoption_status.py +166 -0
  395. package/scripts/ai-video/lib/parse-blueprint.sh +1 -1
  396. package/scripts/ai_council/advisors.py +5 -5
  397. package/scripts/ai_council/compile_corpus.py +1 -1
  398. package/scripts/ai_council/one_off_archive/2026-05/_one_off_budget_v2_audit.py +3 -3
  399. package/scripts/ai_council/one_off_archive/2026-05/_one_off_context_layer_v1_review.py +2 -2
  400. package/scripts/ai_council/one_off_archive/2026-05/_one_off_inject_quiet_flag.py +1 -1
  401. package/scripts/ai_council/one_off_archive/2026-05/_one_off_measure_v2.sh +1 -1
  402. package/scripts/ai_council/one_off_archive/2026-05/_one_off_measure_verbosity.sh +1 -1
  403. package/scripts/ai_council/one_off_archive/2026-05/_one_off_nondestructive_inline_audit.py +3 -3
  404. package/scripts/ai_council/one_off_archive/2026-05/_one_off_per_task.sh +1 -1
  405. package/scripts/ai_council/one_off_archive/2026-05/_one_off_phase6_trigger_jaccard.py +1 -1
  406. package/scripts/ai_council/one_off_archive/2026-05/_one_off_phase_2a_budget_rebalance.py +6 -6
  407. package/scripts/ai_council/one_off_archive/2026-05/_one_off_rebalancing_audit.py +1 -1
  408. package/scripts/ai_council/one_off_archive/2026-05/_one_off_tier_retrofit.py +6 -6
  409. package/scripts/annotate_discovery.py +13 -13
  410. package/scripts/apply_modules_config.py +290 -0
  411. package/scripts/audit_adr_coverage.py +2 -2
  412. package/scripts/audit_auto_rules.py +2 -2
  413. package/scripts/audit_cloud_compatibility.py +3 -3
  414. package/scripts/audit_command_surface.py +9 -9
  415. package/scripts/audit_likelihood.py +2 -2
  416. package/scripts/audit_user_type_axis.py +2 -2
  417. package/scripts/bench_ab_cache_dispatch.py +68 -0
  418. package/scripts/bench_ab_clone.py +170 -0
  419. package/scripts/bench_ab_diff.py +227 -0
  420. package/scripts/bench_ab_integrity.py +143 -0
  421. package/scripts/bench_ab_run.py +235 -0
  422. package/scripts/bench_ab_task_runner.py +369 -0
  423. package/scripts/bench_ab_tracka_run.py +202 -0
  424. package/scripts/{bench_compress_memory.py → bench_condense_memory.py} +16 -16
  425. package/scripts/bench_run.py +33 -33
  426. package/scripts/bench_runner.py +2 -2
  427. package/scripts/bootstrap.sh +99 -0
  428. package/scripts/build_cloud_bundle.py +6 -6
  429. package/scripts/build_discovery_manifest.py +7 -7
  430. package/scripts/build_linear_digest.py +3 -3
  431. package/scripts/build_rule_trigger_matrix.py +8 -8
  432. package/scripts/chat_history.py +5 -5
  433. package/scripts/check_always_budget.py +11 -5
  434. package/scripts/check_augment_description_cap.py +3 -3
  435. package/scripts/check_cluster_patterns.py +2 -2
  436. package/scripts/check_command_count_messaging.py +3 -3
  437. package/scripts/{check_compression.py → check_condensation.py} +34 -34
  438. package/scripts/{check_compressed_paths.py → check_condensed_paths.py} +8 -8
  439. package/scripts/check_context_paths.py +7 -7
  440. package/scripts/check_council_layout.py +2 -2
  441. package/scripts/check_council_references.py +9 -9
  442. package/scripts/check_iron_law_prominence.py +2 -2
  443. package/scripts/check_kernel_rule_bundle.py +2 -2
  444. package/scripts/check_module_management_neutral.py +149 -0
  445. package/scripts/check_no_roadmap_refs.py +9 -9
  446. package/scripts/check_portability.py +3 -3
  447. package/scripts/check_public_catalog_links.py +4 -4
  448. package/scripts/check_references.py +7 -6
  449. package/scripts/check_release_pr_shape.py +112 -0
  450. package/scripts/check_reply_consistency.py +3 -3
  451. package/scripts/check_safety_floor_untouched.py +1 -1
  452. package/scripts/check_template_pin_drift.py +5 -5
  453. package/scripts/check_token_optimizer_freshness.py +3 -3
  454. package/scripts/ci_status.py +301 -0
  455. package/scripts/ci_time_ratio.py +1 -1
  456. package/scripts/cleanup_other_scope.sh +146 -0
  457. package/scripts/compile_router.py +10 -10
  458. package/scripts/{compress.py → condense.py} +64 -64
  459. package/scripts/condense.sh +18 -0
  460. package/scripts/{compress_memory.py → condense_memory.py} +33 -33
  461. package/scripts/config/presets.py +2 -2
  462. package/scripts/config/profiles.py +1 -1
  463. package/scripts/cost_by_conversation.py +3 -3
  464. package/scripts/cost_summary.py +7 -7
  465. package/scripts/count_token_optimizer_usage.sh +1 -1
  466. package/scripts/gen_discovery_baseline.py +5 -5
  467. package/scripts/generate_index.py +6 -6
  468. package/scripts/generate_ownership_matrix.py +10 -10
  469. package/scripts/generate_pack_manifests.py +1 -1
  470. package/scripts/ghostwriter_fixture_allowlist.txt +1 -1
  471. package/scripts/install +3 -3
  472. package/scripts/install-hooks.sh +6 -6
  473. package/scripts/install.py +273 -45
  474. package/scripts/install.sh +187 -1
  475. package/scripts/inventory_frontmatter.py +2 -2
  476. package/scripts/iron_law_sha.py +3 -3
  477. package/scripts/lint_agents_layout.py +14 -7
  478. package/scripts/lint_agents_md.py +4 -4
  479. package/scripts/lint_archived_skills.py +3 -3
  480. package/scripts/lint_artefact_frontmatter.py +2 -2
  481. package/scripts/lint_bench_ab.py +172 -0
  482. package/scripts/lint_bench_corpus.py +1 -1
  483. package/scripts/lint_command_tiers.py +5 -5
  484. package/scripts/lint_context_spine_usage.py +1 -1
  485. package/scripts/lint_framework_leakage.py +7 -7
  486. package/scripts/lint_framework_leakage_allowlist.json +152 -84
  487. package/scripts/lint_ghostwriter_source.py +3 -3
  488. package/scripts/lint_handoffs.py +1 -1
  489. package/scripts/lint_load_context.py +11 -11
  490. package/scripts/lint_media_policy_linkage.py +5 -5
  491. package/scripts/lint_namespace.py +1 -1
  492. package/scripts/lint_no_new_atomic_commands.py +2 -2
  493. package/scripts/lint_orchestration_dsl.py +1 -1
  494. package/scripts/lint_pack_boundaries.py +2 -2
  495. package/scripts/lint_persona_governance.py +4 -4
  496. package/scripts/lint_role_experiences.py +237 -0
  497. package/scripts/lint_rule_interactions.py +2 -2
  498. package/scripts/lint_rule_tiers.py +1 -1
  499. package/scripts/lint_trust_coherence.py +2 -2
  500. package/scripts/mcp_registry_submit.sh +187 -0
  501. package/scripts/mcp_server/tools.py +1 -1
  502. package/scripts/measure_frugality_savings.py +10 -10
  503. package/scripts/measure_patterns.py +1 -1
  504. package/scripts/measure_projection_bytes.py +5 -5
  505. package/scripts/measure_rule_budget.py +3 -3
  506. package/scripts/measure_skill_reduction.py +1 -1
  507. package/scripts/memory_lookup.py +1 -1
  508. package/scripts/memory_status.py +2 -2
  509. package/scripts/migrate_command_suggestions.py +3 -3
  510. package/scripts/mine_session.py +1 -1
  511. package/scripts/move_artefact.py +3 -3
  512. package/scripts/new_skill.py +2 -2
  513. package/scripts/pack_mcp_content.py +9 -9
  514. package/scripts/plan_physical_move.py +6 -6
  515. package/scripts/print_required_checks.py +196 -0
  516. package/scripts/probe_skill_registration.py +413 -0
  517. package/scripts/propose_modules_config.py +145 -0
  518. package/scripts/prototype_lint_contradictions.py +1 -1
  519. package/scripts/recruit_preflight.sh +152 -0
  520. package/scripts/refine_ticket_detect.py +3 -3
  521. package/scripts/release.py +20 -0
  522. package/scripts/render_benchmark_md.py +308 -0
  523. package/scripts/roadmap_progress_hook.py +1 -1
  524. package/scripts/run_skill_evals.py +2 -2
  525. package/scripts/runtime_registry.py +4 -4
  526. package/scripts/schemas/command.schema.json +4 -4
  527. package/scripts/schemas/rule.schema.json +5 -5
  528. package/scripts/schemas/skill.schema.json +3 -3
  529. package/scripts/schemas/user-type.schema.json +1 -1
  530. package/scripts/score_skill_selection.py +1 -1
  531. package/scripts/skill_collision_clusters.py +2 -2
  532. package/scripts/skill_linter.py +81 -81
  533. package/scripts/skill_overlap.py +5 -5
  534. package/scripts/skill_tools/audit_persona_coverage.py +2 -2
  535. package/scripts/skill_tools/audit_user_type_coverage.py +2 -2
  536. package/scripts/skill_tools/run_block_d_eval.py +1 -1
  537. package/scripts/skill_tools/score_skill_relevance.py +1 -1
  538. package/scripts/skill_tools/suggest_skill_for_task.py +1 -1
  539. package/scripts/skill_trigger_eval.py +3 -3
  540. package/scripts/smoke/kernel.sh +7 -1
  541. package/scripts/smoke/router.sh +5 -5
  542. package/scripts/smoke/skills.sh +1 -1
  543. package/scripts/smoke_quickstart.py +1 -1
  544. package/scripts/snapshot_agent_outputs.py +3 -3
  545. package/scripts/spotcheck_thin_root.py +1 -1
  546. package/scripts/{caveman_stats.py → telegraph_stats.py} +18 -18
  547. package/scripts/update_counts.py +1 -1
  548. package/scripts/validate_decision_engine.py +1 -1
  549. package/scripts/validate_frontmatter.py +1 -1
  550. package/scripts/validate_safe_paths.py +3 -3
  551. package/scripts/{validate_caveman_carveouts.py → validate_telegraph_carveouts.py} +7 -7
  552. package/scripts/verify_roadmap_closure.py +6 -6
  553. package/templates/consumer-settings/ONBOARDING.md +41 -0
  554. package/.agent-src/commands/install-via-agent.md +0 -129
  555. package/.agent-src/skills/compress-memory/SKILL.md +0 -131
  556. package/dist/ui/assets/index-D-DY1ywI.js +0 -35
  557. package/dist/ui/assets/index-D-DY1ywI.js.map +0 -1
  558. package/dist/ui/assets/index-Dqfhmg-d.css +0 -1
  559. package/docs/adrs/caveman/README.md +0 -9
  560. package/docs/contracts/caveman-telemetry.md +0 -83
  561. package/scripts/compress.sh +0 -18
@@ -0,0 +1,131 @@
1
+ ---
2
+ name: condense-memory
3
+ description: "Use when shrinking always-loaded memory files (AGENTS.md, CLAUDE.md, .cursorrules) via telegraph grammar — refuses sensitive paths, round-trips via .original.md backup."
4
+ source: package
5
+ domain: process
6
+ execution:
7
+ type: assisted
8
+ handler: internal
9
+ allowed_tools: [Bash]
10
+ workspaces:
11
+ - agent-config-maintainer
12
+ packs:
13
+ - meta
14
+ lifecycle: active
15
+ trust:
16
+ level: core
17
+ confidence: high
18
+ human_review_required: false
19
+ install:
20
+ default: true
21
+ removable: false
22
+ ---
23
+
24
+ # condense-memory
25
+
26
+ > **Experimental.** Output-side telegraph dialect did not meet kill-criterion in [`internal/bench/reports/telegraph-v1.md`](../../../bench/reports/telegraph-v1.md) (`vs_terse` median −9.27 %). Input-side memory condensation is orthogonal use case: savings target always-loaded memory budget, not reply stream. Treat ship-criterion as **per-target measurement**, not v1 verdict.
27
+
28
+ ## When to use
29
+
30
+ Use when:
31
+
32
+ - Always-loaded memory file (`AGENTS.md`, `CLAUDE.md`, `.cursorrules`, `GEMINI.md`, `.windsurfrules`) close to or above host tool's char budget and maintainer wants to recover input-token headroom.
33
+ - Consumer-shipped `templates/AGENTS.md` failing `agents-md-thin-root` cap and pointer-extraction options exhausted.
34
+ - Maintainer asks to "condense this memory file" or "shrink AGENTS.md" or names input-side telegraph.
35
+
36
+ ## Do NOT
37
+
38
+ - Condense reply, commit message, PR body, ticket summary, or any deliverable written *for* human reader — those are carve-outs in [`telegraph-speak § Carve-outs`](../../rules/telegraph-speak.md) and stay verbatim.
39
+ - Condense path matching sensitive-file denylist (`.env*`, `.netrc`, `credentials*`, `secrets*`, `id_rsa*`, `*.pem|key|p12|pfx|crt|cer|jks`, `.ssh/*`) — script refuses with `SensitivePathError` and so should you.
40
+ - Condense generated file (`.agent-src/`, `.augment/`, `.claude/`, `.cursor/`, `.clinerules/`, `.windsurfrules`) — edit source in `.agent-src.uncondensed/` and regenerate via package's sync + generate-tools scripts (`scripts/condense.sh --sync` + `scripts/condense.py --generate-tools`).
41
+ - Hand-edit condensed memory file in place — run `--decondense` first; next condense pass refuses on body-hash drift (`CondensationRefused`).
42
+ - Commit condensed file without committing matching `.original.md` backup — round-trip breaks otherwise.
43
+
44
+ ## Procedure
45
+
46
+ 1. **Analyse target first.** Before any write, **inspect** target with `view` or `wc -l` to confirm it is always-loaded memory file (`AGENTS.md`, `CLAUDE.md`, `.cursorrules`, `GEMINI.md`, `.windsurfrules`), not generated, and has prose paragraphs to condense (pointer-only Thin-Root file may net near-zero). Skip rest of procedure if any check fails.
47
+ 2. **Check denylist gate.** Run `python3 scripts/condense_memory.py <path> --check` — exit 0 = safe; exit 2 = denylist hit, stop and surface refusal.
48
+ 3. **Record baseline.** `wc -c <path>` — capture pre-condensation char count for commit message.
49
+ 4. **Condense.** `python3 scripts/condense_memory.py <path>`. Script writes `<path>.original.md` (verbatim backup) and rewrites `<path>` with `original_sha256:` + `condensed_at:` frontmatter.
50
+ 5. **Inspect diff.** Eyeball every Iron-Law fence, numbered-options block, code fence, backtick span, `❌`/`⚠️`/`✅` line, and frontmatter pair — all must be byte-identical. Body prose may have lost articles (`the`/`a`/`an`) and auxiliaries (`is`/`are`/`was`/`be`/`that`/`which`).
51
+ 6. **Validate idempotency.** Re-run `python3 scripts/condense_memory.py <path>` — clean re-run is no-op (body hash matches). Non-zero exit = stop, escalate.
52
+ 7. **Commit both files together.** `<path>` and `<path>.original.md` ship as pair. Backup is rollback path; never commit one without other.
53
+ 8. **Rollback path.** If readability fails review at step 5: `python3 scripts/condense_memory.py <path> --decondense` restores backup and deletes `.original.md`.
54
+
55
+ ## Output format
56
+
57
+ Maintainer-facing report after invoking script MUST contain, in this order:
58
+
59
+ 1. **Diff line** — pre/post `wc -c` as single line (`AGENTS.md: 2,891 → 2,453 chars (−15.1 %)`).
60
+ 2. **Backup path** — full path of `.original.md` backup so maintainer can verify it landed on disk.
61
+ 3. **Carve-out check** — one line confirming seven carve-out classes round-tripped (`carve-outs: 7 classes preserved · idempotent re-run: clean`).
62
+ 4. **Exit-code surface** — on failure, surface verbatim exit code and exception name (`SensitivePathError → exit 2`, `CondensationRefused → exit 3`, `FileNotFoundError → exit 4`); do not paraphrase.
63
+
64
+ Do **not** narrate algorithm, grammar rules, or carve-out theory — rule and this skill document contract; output reports result.
65
+
66
+ ## Carve-outs — byte-for-byte preserved
67
+
68
+ Mirrors seven carve-out classes in [`telegraph-speak`](../../rules/telegraph-speak.md). Condensation engine in [`scripts/condense_memory.py`](../../../scripts/condense_memory.py) preserves:
69
+
70
+ 1. **Triple-backtick fences** — any language, any depth.
71
+ 2. **Numbered-options lines** — `^>?\s*\d+\.\s` plus `**Recommendation:**` / `**Empfehlung:**` label.
72
+ 3. **Backtick spans** — file paths, command names, identifiers inside body prose.
73
+ 4. **Status / error markers** — lines starting with `❌`, `⚠️`, `✅`.
74
+ 5. **Iron-Law ALL-CAPS lines** — `^[A-Z][A-Z0-9 ,.\-_/']{3,}$`.
75
+ 6. **Frontmatter blocks** — `---` fence pairs at head of file.
76
+ 7. **Mode markers** per [`role-mode-adherence`](../../rules/role-mode-adherence.md).
77
+
78
+ Mangling any of these breaks Iron-Law surface host tool reads. Unit tests in `tests/test_condense_memory.py` lock each carve-out class as regression case.
79
+
80
+ ## Idempotency contract — Step 9 guard
81
+
82
+ Script is **idempotent on clean re-runs**: running it twice on same target is no-op because body hash matches recondensed hash. Script **refuses** on **body drift**:
83
+
84
+ | State | Outcome |
85
+ |---|---|
86
+ | No frontmatter SHA marker | Condense + write backup + inject SHA. |
87
+ | SHA marker present, body re-condenses to same hash | No-op (return target unchanged). |
88
+ | SHA marker present, body hash diverged | **Refuse** with `CondensationRefused` exit 3. |
89
+
90
+ If you need to edit condensed memory file, run `--decondense` first, edit restored `.original.md` content, then re-run condenseor. Never hand-edit condensed body — next CI run will either silently corrupt your edit (if it happens to re-condense to same shape) or hard-fail next condense pass.
91
+
92
+ ## Sensitive-path gate
93
+
94
+ Every read path passes through [`scripts/validate_safe_paths.py`](../../../scripts/validate_safe_paths.py) `assert_safe()` before bytes leave disk. Gate is security floor for Phase 2 (input-side condensation) per `step-16-telegraph-substance.md` Phase 0; rollback of gate is rollback of this skill.
95
+
96
+ CLI exit codes:
97
+
98
+ - `0` — condense / decondense / check succeeded.
99
+ - `2` — `SensitivePathError` (path matched denylist).
100
+ - `3` — `CondensationRefused` (body hash diverged from frontmatter SHA).
101
+ - `4` — `FileNotFoundError` (no `.original.md` backup to restore).
102
+
103
+ ## Gotchas
104
+
105
+ - **Body-hash drift after manual edit** — hand-editing condensed body breaks `original_sha256:` invariant. Next condense pass refuses with `CondensationRefused` (exit 3). Recovery: `--decondense`, edit restored body, re-condense.
106
+ - **`.original.md` backup missing on `--decondense`** — exit 4 (`FileNotFoundError`). Either someone deleted backup or `--decondense` already ran. Restore from git history; never regenerate backup by hand (regenerated content would not be byte-identical).
107
+ - **Denylist false positive** — sensitive-looking filename outside denylist surface (project-specific naming) will still pass `assert_safe()`. Denylist necessary but not sufficient; maintainer responsible for never feeding secrets to condenseor.
108
+ - **Frontmatter ordering with existing keys** — if target already has frontmatter, condenseor preserves existing keys, drops any prior `original_sha256:` / `condensed_at:` entries, and appends new pair. Other agents reading file should treat SHA + timestamp pair as canonical condensation marker, not file size.
109
+ - **Negative savings on pointer-heavy files** — `templates/AGENTS.md` already following Thin-Root (≥ 40 % pointers, ≥ 60-char *why*-clauses) has little prose left to drop; condensation may net near-zero or even add bytes via frontmatter. Run [`agents-md-thin-root`](../agents-md-thin-root/SKILL.md) first to maximise pointer share, then measure whether this skill still pays.
110
+ - **Generated-tree drift** — condensing `.agent-src.uncondensed/templates/AGENTS.md` does NOT propagate to `.augment/`, `.claude/`, etc. until package's sync + generate-tools scripts run (`scripts/condense.sh --sync` + `scripts/condense.py --generate-tools`). Always regenerate after condensing templated file.
111
+
112
+ ## Measurement — when to condense
113
+
114
+ No published `telegraph-v2` baseline for input-side savings yet (Step 11 of `step-16-telegraph-substance.md` ships that). Until then, maintainer judges per-target whether condensation pays its readability cost. Suggested workflow:
115
+
116
+ 1. `wc -c <path>` before — record baseline char count.
117
+ 2. `python3 scripts/condense_memory.py <path>` — condense + back up.
118
+ 3. `wc -c <path>` after — record post-condensation char count.
119
+ 4. Eyeball diff: does prose stay legible? Are all Iron-Law fences intact?
120
+ 5. If yes → commit both `<path>` and `<path>.original.md`. If no → `--decondense`.
121
+
122
+ Future `telegraph-v2.md` will tabulate realised input-token saving against `agents-md-thin-root` 40 % pointer-ratio constraint so maintainer has numerical floor.
123
+
124
+ ## Cross-references
125
+
126
+ - [`telegraph-speak`](../../rules/telegraph-speak.md) — runtime rule script mirrors for input-side targets; `telegraph.speak_scope` does **not** gate this script (input-side runs regardless).
127
+ - [`scripts/validate_safe_paths.py`](../../../scripts/validate_safe_paths.py) — Phase 0 gate; ported from upstream Telegraph `63a91ec`.
128
+ - [`scripts/condense_memory.py`](../../../scripts/condense_memory.py) — implementation.
129
+ - [`tests/test_condense_memory.py`](../../../tests/test_condense_memory.py) — regression locks for each carve-out + idempotency + denylist.
130
+ - [`docs/contracts/condensation-default-kill-criterion.md`](../../../docs/contracts/condensation-default-kill-criterion.md) — v1 verdict (output-side; informs but does not gate this skill).
131
+ - [`agents-md-thin-root`](../agents-md-thin-root/SKILL.md) — caps consumer-shipped `templates/AGENTS.md`; this skill is one tool to land under cap.
@@ -51,7 +51,7 @@ Do NOT use when:
51
51
  | `deployment-order.md` | Migration strategy, feature flags, rollback plan | `migration-safety`, `judge-bug-hunter`, release reviewers |
52
52
  | `observability.md` | Error tracking, log channels, metrics, known alerts | deploy reviewers, `bug-analyzer`, incident mode |
53
53
 
54
- The templates ship in `.agent-src.uncompressed/templates/contexts/` and are
54
+ The templates ship in `.agent-src.uncondensed/templates/contexts/` and are
55
55
  copied into `agents/settings/contexts/` by the installer.
56
56
 
57
57
  ## Procedure: context-authoring
@@ -163,7 +163,7 @@ has to confirm or correct, not invent from scratch.
163
163
  If the context file declares its own `load_context:` (chain reasoning),
164
164
  use logical names rooted at the source — `contexts/<area>/<file>.md`
165
165
  for package material or `agents/settings/contexts/<file>.md` for project-local
166
- material. The `.agent-src.uncompressed/` prefix is rejected by the
166
+ material. The `.agent-src.uncondensed/` prefix is rejected by the
167
167
  schema regex and by `scripts/lint_load_context.py`. Body links to
168
168
  `docs/guidelines/...` use the verbatim `../../docs/...` relative form.
169
169
  Canonical reference: `rule-writing` § 3b and
@@ -59,8 +59,10 @@ Unlike feature plans (future-focused) or roadmaps (task-focused), contexts are
59
59
  agents/settings/contexts/ # Project-wide contexts
60
60
  ├── {context-name}.md
61
61
 
62
- app/Modules/{Module}/agents/settings/contexts/ # Module-scoped contexts
63
- ├── {context-name}.md
62
+ {module_root}/{Module}/{agent_folder}/settings/contexts/ # Module-scoped contexts
63
+ ├── {context-name}.md # Laravel: app/Modules/…
64
+ # Symfony: src/Bundle/…
65
+ # Monorepo: packages/…
64
66
 
65
67
  .augment/templates/
66
68
  └── contexts.md # Context template
@@ -82,7 +84,7 @@ app/Modules/{Module}/agents/settings/contexts/ # Module-scoped contexts
82
84
  |---|---|
83
85
  | About the `.augment/` system itself | `.augment/contexts/` (shared package) |
84
86
  | Project-wide or cross-module | `agents/settings/contexts/` |
85
- | Module-specific | `app/Modules/{Module}/agents/settings/contexts/` |
87
+ | Module-specific | `{module_root}/{Module}/{agent_folder}/settings/contexts/` (resolved via `modules.root_paths` + `modules.agent_folder`; Laravel example: `app/Modules/{Module}/agents/settings/contexts/`) |
86
88
  | If unsure | Ask the user |
87
89
 
88
90
  ### Shared vs. project-specific contexts
@@ -143,7 +143,7 @@ both. Instead, reference with a table:
143
143
  1. **Extract to `agents/`** — Move project-specific details to dedicated files in `agents/`
144
144
  and link from AGENTS.md (e.g., `agents/reference/docs/database-setup.md`, `agents/reference/docs/testing.md`)
145
145
  2. **Remove duplicates** — If content exists in `.augment/`, remove from AGENTS.md
146
- 3. **Compress** — Turn verbose explanations into concise tables or bullet points
146
+ 3. **Condense** — Turn verbose explanations into concise tables or bullet points
147
147
  4. **Remove ECS/Rector-enforced rules** — From copilot-instructions.md (auto-fixed anyway)
148
148
  5. **Move examples to guidelines** — Detailed code examples belong in `.augment/guidelines/`
149
149
 
@@ -175,7 +175,7 @@ Before deduplicating, run three scans:
175
175
 
176
176
  Every hit from scan 1 is a 🔴 blocker: leaking another project's name
177
177
  into a consumer's own docs is the failure mode this skill exists to
178
- prevent. Fix or remove those BEFORE any dedup/compress work — there's
178
+ prevent. Fix or remove those BEFORE any dedup/condense work — there's
179
179
  no point deduplicating content that is about to be rewritten.
180
180
 
181
181
  When the drift is severe (whole sections are wrong), recommend
@@ -193,7 +193,7 @@ it as "redundant" and never trim its bullets. The patterns it covers:
193
193
  (`../docs/guidelines/foo.md`, `../contexts/bar.md`) — paths resolve
194
194
  from the file's delivered location, not from the symlink in
195
195
  `.claude/rules/` etc. (per `road-to-path-fixes.md` Strategy A).
196
- - `path_prefix:` triggers containing `.agent-src.uncompressed/` —
196
+ - `path_prefix:` triggers containing `.agent-src.uncondensed/` —
197
197
  literal match patterns, not file refs (per Modified Option 1,
198
198
  P2.2).
199
199
  - Symlinked rule files under `.claude/rules/`, `.cursor/rules/`,
@@ -71,7 +71,7 @@ Report which checks pass / fail in one compact line — **not** a long essay.
71
71
 
72
72
  If the target is a skill, check for a trigger-eval report:
73
73
 
74
- * `.agent-src.uncompressed/skills/{name}/evals/triggers.json` — the expected-trigger corpus
74
+ * `.agent-src.uncondensed/skills/{name}/evals/triggers.json` — the expected-trigger corpus
75
75
  * `evals/last-run.json` — the most recent runner output (see
76
76
  [`scripts/skill_trigger_eval.py`](../../../scripts/skill_trigger_eval.py))
77
77
 
@@ -132,7 +132,7 @@ counter-proposal.
132
132
 
133
133
  Only after the user picks:
134
134
 
135
- * Edit the frontmatter in `.agent-src.uncompressed/{kind}/{name}.{md,SKILL.md}`.
135
+ * Edit the frontmatter in `.agent-src.uncondensed/{kind}/{name}.{md,SKILL.md}`.
136
136
  * Re-copy / re-sync as the target artifact's writing skill prescribes.
137
137
  * Run `python3 scripts/skill_linter.py {path}` — must report 0 FAIL.
138
138
  * Report the diff and exit.
@@ -132,7 +132,7 @@ git commit -m "<conventional commit message>"
132
132
  ```
133
133
 
134
134
  Interactive rebase only when the user wants per-commit control — it
135
- replays derived files (`.compression-hashes.json`, router projections)
135
+ replays derived files (`.condensation-hashes.json`, router projections)
136
136
  per commit and conflicts on every replay.
137
137
 
138
138
  ### 4. Re-push in the SAME turn
@@ -56,7 +56,7 @@ Creating or materially rewriting a guideline **must** go through Understand
56
56
  * **Understand** — which skills or rules will cite this guideline? If the
57
57
  answer is "none", the guideline has no home — stop.
58
58
  * **Research** — **inspect** `docs/guidelines/` for overlap and grep
59
- `.agent-src.uncompressed/` for pages that already cover the topic.
59
+ `.agent-src.uncondensed/` for pages that already cover the topic.
60
60
  **Analyze** 1–2 peer guidelines in the same topic folder for tone.
61
61
  * **Draft** — propose location (topic folder + filename) and outline. Only
62
62
  fill bodies once the outline is confirmed.
@@ -122,7 +122,7 @@ Above the split signal, break by sub-topic into sibling files in the same folder
122
122
 
123
123
  * Run `python3 scripts/skill_linter.py docs/guidelines/{topic}/{name}.md`
124
124
  → 0 FAIL (guidelines have relaxed linting but must still parse).
125
- * Run `bash scripts/compress.sh --sync` → projects updates.
125
+ * Run `bash scripts/condense.sh --sync` → projects updates.
126
126
  * Run `python3 scripts/check_references.py` → no broken links.
127
127
  * Run the full CI pipeline locally (see `Taskfile.yml` in this repo for
128
128
  the script list) — must exit 0 except for tolerated warnings.
@@ -132,7 +132,7 @@ Above the split signal, break by sub-topic into sibling files in the same folder
132
132
  1. Complete guideline at `docs/guidelines/{topic}/{name}.md`
133
133
  2. At least one skill or rule linking to it
134
134
  3. Linter + `check_references.py` clean
135
- 4. `bash scripts/compress.sh --sync` confirmation
135
+ 4. `bash scripts/condense.sh --sync` confirmation
136
136
 
137
137
  ## Gotchas
138
138
 
@@ -170,7 +170,7 @@ to every guideline you author.
170
170
  * Do NOT add `type:` or `alwaysApply:` to the frontmatter
171
171
  * Do NOT embed numbered procedures — those belong in skills
172
172
  * Do NOT create an orphan guideline with no inbound links
173
- * Do NOT reintroduce `.agent-src.uncompressed/guidelines/` — relocated to `docs/guidelines/`
173
+ * Do NOT reintroduce `.agent-src.uncondensed/guidelines/` — relocated to `docs/guidelines/`
174
174
 
175
175
  ## Cloud Behavior
176
176
 
@@ -189,7 +189,7 @@ validation:
189
189
  `docs/guidelines/{topic}/{name}.md` and run
190
190
  `task sync && task lint-skills && task check-refs` locally before
191
191
  committing.
192
- * Do not call the linter, ref-checker, or compressor — they only
192
+ * Do not call the linter, ref-checker, or condenseor — they only
193
193
  run on the user's machine.
194
194
 
195
195
  ## Examples
@@ -143,10 +143,10 @@ Run all four steps before declaring "no overlap":
143
143
  **Step 1 — list all four surfaces.** Directory taxonomy is free evidence:
144
144
 
145
145
  ```bash
146
- ls .agent-src.uncompressed/skills/ \
147
- .agent-src.uncompressed/rules/ \
146
+ ls .agent-src.uncondensed/skills/ \
147
+ .agent-src.uncondensed/rules/ \
148
148
  docs/guidelines/ \
149
- .agent-src.uncompressed/commands/
149
+ .agent-src.uncondensed/commands/
150
150
  ```
151
151
 
152
152
  Sub-directories matter — `docs/guidelines/php/patterns/`, `docs/guidelines/agent-infra/`,
@@ -162,7 +162,7 @@ artifact may name the *symptom*, not the cure.
162
162
  | Problem-words | `discriminator`, `enum.*match`, `switch.*on`, `if.*else.*chain` |
163
163
 
164
164
  ```bash
165
- grep -rl -E "<solution-words>|<problem-words>" .agent-src.uncompressed/
165
+ grep -rl -E "<solution-words>|<problem-words>" .agent-src.uncondensed/
166
166
  ```
167
167
 
168
168
  **Step 3 — taxonomy scan.** For any topic with a likely sub-folder
@@ -32,7 +32,7 @@ install:
32
32
 
33
33
  Use this skill when:
34
34
 
35
- - Validating the shape of every skill and rule in `.agent-src.uncompressed/`
35
+ - Validating the shape of every skill and rule in `.agent-src.uncondensed/`
36
36
  - Verifying execution metadata (`execution.type`, `handler`, `command`) is well-formed
37
37
  - Checking locally before opening a PR that CI's skill-lint job will pass
38
38
  - Investigating a reported linter failure on a specific skill or rule
@@ -41,14 +41,14 @@ Do NOT use when:
41
41
 
42
42
  - Linting only one file — call `python3 scripts/skill_linter.py <path>` directly
43
43
  - Checking cross-references between files — use `check-refs` instead
44
- - Checking compression freshness — use `bash scripts/compress.sh --check` instead
44
+ - Checking condensation freshness — use `bash scripts/condense.sh --check` instead
45
45
 
46
46
  ## Procedure
47
47
 
48
48
  ### 1. Inspect the environment
49
49
 
50
50
  Confirm `python3` is available and the working directory is the agent-config
51
- repository root — the linter expects to find `.agent-src.uncompressed/skills/`
51
+ repository root — the linter expects to find `.agent-src.uncondensed/skills/`
52
52
  and related directories relative to `cwd`.
53
53
 
54
54
  ### 2. Dispatch via the runtime layer
@@ -31,8 +31,8 @@ install:
31
31
 
32
32
  Fire this skill **before** writing or saving any `.md` file under:
33
33
 
34
- - `.agent-src.uncompressed/` (source of truth — skills, rules, commands, guidelines, templates, contexts)
35
- - `.agent-src/` (compressed projection)
34
+ - `.agent-src.uncondensed/` (source of truth — skills, rules, commands, guidelines, templates, contexts)
35
+ - `.agent-src/` (condensed projection)
36
36
  - `.augment/` (local agent projection)
37
37
  - `agents/` (project-specific roadmaps, contexts, sessions)
38
38
 
@@ -0,0 +1,138 @@
1
+ ---
2
+ name: module-detect-on-the-fly
3
+ description: "Use when editing a file under a module-shaped path (`Modules/*`, `packages/*`, `apps/*`, `internal/*`) while `modules.enabled` is `false` — asks the user once whether to enable the config."
4
+ source: package
5
+ domain: process
6
+ workspaces:
7
+ - agent-config-maintainer
8
+ packs:
9
+ - meta
10
+ lifecycle: active
11
+ trust:
12
+ level: core
13
+ confidence: high
14
+ human_review_required: false
15
+ install:
16
+ default: true
17
+ removable: false
18
+ ---
19
+
20
+ # module-detect-on-the-fly
21
+
22
+ ## When to use
23
+
24
+ Fires the first time the agent edits, reads, or references a file
25
+ inside a module-shaped path while the project has not yet opted into
26
+ the module config. Goal: catch projects with real module structure
27
+ that never ran `/agents init` or the GUI wizard, and offer to enable
28
+ the config — once, without nagging.
29
+
30
+ **Trigger heuristic** (any one):
31
+
32
+ - The agent is about to edit a path matching `*/Modules/*`,
33
+ `*/app/Modules/*`, `*/packages/*/<non-noise>`, `*/apps/*/<non-noise>`,
34
+ `*/src/Module*/*`, or `*/internal/*/<non-noise>`.
35
+ - The user names such a path in their request.
36
+ - A `/module *` command runs while `modules.enabled` is `false`.
37
+
38
+ **Hard gate** — skip the skill entirely when **any** of these hold:
39
+
40
+ 1. `modules.enabled` is `true` (already configured — use `module-management`).
41
+ 2. `modules.detection_acknowledged` is `true` (user already answered).
42
+ 3. The path matches a `_NOISE_SEGMENTS` entry (`vendor`, `node_modules`,
43
+ `dist`, `build`, etc.) — see `scripts/_lib/module_detection.py`.
44
+
45
+ Confirm both flags via `get_modules_config()` before running detection.
46
+
47
+ ## Procedure
48
+
49
+ 1. **Detect** — call `detect_module_roots(project_root)` from
50
+ `scripts/_lib/module_detection.py`. Returns a list of
51
+ `ModuleCandidate` ordered `high → medium` confidence.
52
+ 2. **Bail early** — if the list is empty OR every candidate has
53
+ `confidence: "medium"` AND no candidate matches the path the agent
54
+ is currently working on, skip silently. (False positives nag worse
55
+ than missed detections.)
56
+ 3. **Surface once** — present a single numbered-options block:
57
+
58
+ ```text
59
+ Detected module-shaped structure not yet in config:
60
+ - app/Modules/ (laravel-hmvc, high confidence, 4 modules)
61
+ - packages/ (node-monorepo, medium confidence, 2 candidates)
62
+
63
+ 1. Enable modules config — add detected paths to
64
+ `.agent-project-settings.yml` so module-aware skills activate.
65
+ 2. Not now — silence this prompt for the project (you can revisit
66
+ via `/agents init` later).
67
+ 3. Show details first — list the candidates with their stack guess
68
+ and per-module subdirs before deciding.
69
+
70
+ Recommendation: 1 when the high-confidence list matches your
71
+ intent. 2 when the layout is intentionally flat.
72
+ ```
73
+
74
+ 4. **Persist the choice**:
75
+
76
+ - **Option 1** — build the payload (matches `propose_modules_config.py
77
+ --json` shape, includes `detection_acknowledged: true`), pipe into
78
+ `python3 scripts/apply_modules_config.py --project <root>`.
79
+ - **Option 2** — run `python3 scripts/apply_modules_config.py
80
+ --project <root> --acknowledge-only`. Flips only the ack flag;
81
+ every other `modules.*` key stays untouched.
82
+ - **Option 3** — list candidates, then loop back to step 3.
83
+
84
+ 5. **Resume the original task** — never block work on the prompt. If
85
+ the user picks 2, treat the project as flat for the rest of the
86
+ session.
87
+
88
+ ## Output format
89
+
90
+ 1. One-paragraph note naming the detected paths + stack guess +
91
+ confidence per row.
92
+ 2. Single numbered-options block (1 = enable, 2 = silence,
93
+ 3 = show details).
94
+ 3. After the user picks: the apply-script invocation that was run,
95
+ then resume the original task on the next turn.
96
+
97
+ ## Gotcha
98
+
99
+ - **False positives nag worse than misses.** Only fire when
100
+ `is_module_like_path()` matches AND `detect_module_roots()` returns
101
+ a `high`-confidence candidate that overlaps the path the agent is
102
+ touching. Pure `medium`-only hits on unrelated paths → skip silently.
103
+ - **Vendored trees mimic module shape.** `vendor/foo/Modules/Bar`,
104
+ `node_modules/*/packages/*`, `dist/Modules/*` — the noise filter in
105
+ `is_module_like_path()` already drops these, but never call
106
+ `detect_module_roots()` against a vendored sub-root.
107
+ - **Maintainer dogfooding.** This repo (`event4u/agent-config`) ships
108
+ `packages/*/agents/` that look module-shaped. The repo's own
109
+ `.agent-project-settings.yml` sets `detection_acknowledged: true` to
110
+ silence the skill here.
111
+ - **Intentional flat monorepos.** When `packages/*` is just a
112
+ vendoring directory for unrelated tools, option 2 is the right
113
+ answer and the skill must respect it permanently.
114
+
115
+ ## Do NOT
116
+
117
+ - Do NOT background-scan. Detection only runs when the trigger
118
+ heuristic fires on a path the agent is actively touching.
119
+ - Do NOT re-prompt once `modules.detection_acknowledged` is `true`.
120
+ Re-entry goes through `/agents init`, never automatic.
121
+ - Do NOT auto-enable on a `high`-confidence match. The user has to
122
+ pick option 1 — the whole point is one explicit decision.
123
+ - Do NOT commit or push the patched `.agent-project-settings.yml`.
124
+ Persistence writes the file only; staging is the user's call per
125
+ `commit-policy`.
126
+ - Do NOT block the original task on the prompt. If the user ignores
127
+ the options block, continue the work and treat the project as flat
128
+ for the rest of the session.
129
+
130
+ ## See also
131
+
132
+ - `module-management` — the active skill once modules are configured.
133
+ - `scripts/_lib/module_detection.py` — `detect_module_roots()` +
134
+ `is_module_like_path()` helpers.
135
+ - `scripts/apply_modules_config.py` — persistence with
136
+ `--acknowledge-only` for option 2.
137
+ - `commands/agents/init.md` — the explicit re-entry point if the user
138
+ wants to revisit detection later.