@event4u/agent-config 3.3.0 → 4.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 (585) 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 +181 -3
  144. package/CONTRIBUTING.md +31 -12
  145. package/README.md +18 -10
  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/apply.js +238 -0
  164. package/dist/install/apply.js.map +1 -0
  165. package/dist/install/atomic.js +92 -0
  166. package/dist/install/atomic.js.map +1 -0
  167. package/dist/install/bridges/augment.js +20 -0
  168. package/dist/install/bridges/augment.js.map +1 -0
  169. package/dist/install/bridges/claude.js +44 -0
  170. package/dist/install/bridges/claude.js.map +1 -0
  171. package/dist/install/bridges/cline.js +69 -0
  172. package/dist/install/bridges/cline.js.map +1 -0
  173. package/dist/install/bridges/copilot.js +28 -0
  174. package/dist/install/bridges/copilot.js.map +1 -0
  175. package/dist/install/bridges/cursor.js +34 -0
  176. package/dist/install/bridges/cursor.js.map +1 -0
  177. package/dist/install/bridges/gemini.js +39 -0
  178. package/dist/install/bridges/gemini.js.map +1 -0
  179. package/dist/install/bridges/index.js +88 -0
  180. package/dist/install/bridges/index.js.map +1 -0
  181. package/dist/install/bridges/marker-content.js +153 -0
  182. package/dist/install/bridges/marker-content.js.map +1 -0
  183. package/dist/install/bridges/markers.js +42 -0
  184. package/dist/install/bridges/markers.js.map +1 -0
  185. package/dist/install/bridges/types.js +31 -0
  186. package/dist/install/bridges/types.js.map +1 -0
  187. package/dist/install/bridges/vscode.js +26 -0
  188. package/dist/install/bridges/vscode.js.map +1 -0
  189. package/dist/install/bridges/windsurf.js +35 -0
  190. package/dist/install/bridges/windsurf.js.map +1 -0
  191. package/dist/install/conflict.js +196 -0
  192. package/dist/install/conflict.js.map +1 -0
  193. package/dist/install/detect.js +218 -0
  194. package/dist/install/detect.js.map +1 -0
  195. package/dist/install/paths.js +82 -0
  196. package/dist/install/paths.js.map +1 -0
  197. package/dist/install/plan.js +157 -0
  198. package/dist/install/plan.js.map +1 -0
  199. package/dist/install/txlog.js +140 -0
  200. package/dist/install/txlog.js.map +1 -0
  201. package/dist/install/types.js +19 -0
  202. package/dist/install/types.js.map +1 -0
  203. package/dist/install/wizard-plan.js +184 -0
  204. package/dist/install/wizard-plan.js.map +1 -0
  205. package/dist/mcp/registry-manifest.json +4 -4
  206. package/dist/router.json +67 -19
  207. package/dist/server/app.js +6 -0
  208. package/dist/server/app.js.map +1 -1
  209. package/dist/server/routes/install.js +547 -0
  210. package/dist/server/routes/install.js.map +1 -0
  211. package/dist/server/routes/wizard.js +301 -6
  212. package/dist/server/routes/wizard.js.map +1 -1
  213. package/dist/server/routes/workspace.js +396 -0
  214. package/dist/server/routes/workspace.js.map +1 -0
  215. package/dist/server/schemas/settings.js +4 -3
  216. package/dist/server/schemas/settings.js.map +1 -1
  217. package/dist/ui/assets/index-BXZILUxe.css +1 -0
  218. package/dist/ui/assets/index-DLEuEW1V.js +35 -0
  219. package/dist/ui/assets/index-DLEuEW1V.js.map +1 -0
  220. package/dist/ui/index.html +2 -2
  221. package/docs/MIGRATION.md +1 -1
  222. package/docs/adrs/cost/0001-hard-stop-hook.md +1 -1
  223. package/docs/adrs/router/0001-three-tier-routing.md +4 -4
  224. package/docs/adrs/schema/0001-json-schema-frontmatter.md +1 -1
  225. package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +4 -4
  226. package/docs/adrs/{caveman → telegraph}/0001-default-off-until-bench.md +9 -9
  227. package/docs/adrs/telegraph/README.md +9 -0
  228. package/docs/architecture/augment-projection.md +4 -4
  229. package/docs/architecture/claude-bundle.md +1 -1
  230. package/docs/architecture/current-onboard-baseline.md +3 -3
  231. package/docs/architecture/multi-tool-projection.md +10 -10
  232. package/docs/architecture/source-projection.md +27 -27
  233. package/docs/architecture.md +19 -15
  234. package/docs/archive/CHANGELOG-pre-2.11.0.md +2 -2
  235. package/docs/archive/CHANGELOG-pre-2.15.0.md +3 -3
  236. package/docs/archive/CHANGELOG-pre-2.16.0.md +1 -1
  237. package/docs/archive/CHANGELOG-pre-2.2.0.md +70 -70
  238. package/docs/archive/CHANGELOG-pre-2.20.0.md +2 -2
  239. package/docs/archive/CHANGELOG-pre-2.25.0.md +15 -15
  240. package/docs/archive/CHANGELOG-pre-3.0.0.md +4 -4
  241. package/docs/archive/CHANGELOG-pre-3.1.0.md +2 -2
  242. package/docs/archive/CHANGELOG-pre-3.2.0.md +3 -3
  243. package/docs/benchmark.md +65 -0
  244. package/docs/benchmarks.md +16 -16
  245. package/docs/catalog.md +17 -15
  246. package/docs/contracts/CHANGELOG-conventions.md +1 -1
  247. package/docs/contracts/STABILITY.md +2 -2
  248. package/docs/contracts/adoption-signal-floor.md +110 -0
  249. package/docs/contracts/adr-chat-history-split.md +4 -4
  250. package/docs/contracts/adr-command-suggestion.md +4 -4
  251. package/docs/contracts/adr-gtm-context-spine.md +1 -1
  252. package/docs/contracts/adr-implement-ticket-runtime.md +4 -4
  253. package/docs/contracts/adr-install-user-type-axis.md +1 -1
  254. package/docs/contracts/adr-layout.md +2 -2
  255. package/docs/contracts/adr-product-ui-track.md +10 -10
  256. package/docs/contracts/adr-user-types-axis.md +3 -3
  257. package/docs/contracts/adr-wing4-context-spine.md +1 -1
  258. package/docs/contracts/agent-memory-contract.md +3 -3
  259. package/docs/contracts/agents-md-tech-stack.md +2 -2
  260. package/docs/contracts/ai-council-config.md +2 -2
  261. package/docs/contracts/at-rest-encryption.md +4 -0
  262. package/docs/contracts/audit-log-v1.md +1 -1
  263. package/docs/contracts/benchmark-ab-contract.md +101 -0
  264. package/docs/contracts/benchmark-corpus-spec.md +1 -1
  265. package/docs/contracts/branch-protection-policy.md +98 -0
  266. package/docs/contracts/ci-cost-budget.md +106 -0
  267. package/docs/contracts/ci-green-floor.md +141 -0
  268. package/docs/contracts/command-clusters.md +6 -6
  269. package/docs/contracts/command-surface-tiers.md +2 -2
  270. package/docs/contracts/command-taxonomy.md +2 -2
  271. package/docs/contracts/{compression-default-kill-criterion.md → condensation-default-kill-criterion.md} +29 -29
  272. package/docs/contracts/config-presets.md +1 -1
  273. package/docs/contracts/context-paths.md +3 -3
  274. package/docs/contracts/context-spine.md +1 -1
  275. package/docs/contracts/cost-summary-schema.md +12 -12
  276. package/docs/contracts/cross-wing-handoff.md +4 -4
  277. package/docs/contracts/daily-workspace.md +4 -0
  278. package/docs/contracts/decision-trace-v1.md +2 -2
  279. package/docs/contracts/discovery-manifest.md +4 -4
  280. package/docs/contracts/explain-modes.md +4 -0
  281. package/docs/contracts/file-ownership-matrix.json +3493 -3318
  282. package/docs/contracts/file-ownership-matrix.md +3 -3
  283. package/docs/contracts/frontmatter-contract.md +4 -4
  284. package/docs/contracts/ghostwriter-schema.md +3 -3
  285. package/docs/contracts/gui-wizard.md +1 -1
  286. package/docs/contracts/harness-expectations.md +123 -0
  287. package/docs/contracts/host-agent-protocol.md +4 -0
  288. package/docs/contracts/implement-ticket-flow.md +9 -9
  289. package/docs/contracts/install-scopes.md +77 -0
  290. package/docs/contracts/iron-law-overrides.txt +1 -1
  291. package/docs/contracts/kernel-membership.md +26 -26
  292. package/docs/contracts/linear-ai-rules-inclusion.md +1 -1
  293. package/docs/contracts/linter-structural-model.md +2 -2
  294. package/docs/contracts/load-context-budget-model.md +4 -4
  295. package/docs/contracts/load-context-schema.md +13 -13
  296. package/docs/contracts/local-analytics.md +4 -0
  297. package/docs/contracts/local-knowledge-ingestion.md +1 -1
  298. package/docs/contracts/mcp-cloud-scope.md +2 -2
  299. package/docs/contracts/mcp-phase-1-scope.md +3 -3
  300. package/docs/contracts/measurement-baseline.md +5 -5
  301. package/docs/contracts/mental-models.md +30 -30
  302. package/docs/contracts/multi-tool-projection-fidelity.md +4 -4
  303. package/docs/contracts/namespace.md +4 -4
  304. package/docs/contracts/orchestration-dsl-v1.md +7 -7
  305. package/docs/contracts/package-self-orientation.md +12 -12
  306. package/docs/contracts/persona-schema.md +6 -6
  307. package/docs/contracts/pilot/language-and-tone.md +1 -1
  308. package/docs/contracts/plain-language-surface.md +117 -0
  309. package/docs/contracts/profile-system.md +3 -3
  310. package/docs/contracts/release-pr-gating.md +103 -0
  311. package/docs/contracts/role-experience.md +3 -3
  312. package/docs/contracts/rule-classification.md +13 -13
  313. package/docs/contracts/rule-interactions.md +4 -4
  314. package/docs/contracts/rule-interactions.yml +30 -30
  315. package/docs/contracts/rule-priority-hierarchy.md +13 -13
  316. package/docs/contracts/rule-router.md +2 -2
  317. package/docs/contracts/safety-model.md +1 -1
  318. package/docs/contracts/skill-distribution-channels.md +61 -0
  319. package/docs/contracts/skill-domains.md +2 -2
  320. package/docs/contracts/smoke-contracts.md +5 -5
  321. package/docs/contracts/telegraph-telemetry.md +83 -0
  322. package/docs/contracts/trust-and-safety.md +5 -5
  323. package/docs/contracts/ui-stack-extension.md +7 -7
  324. package/docs/contracts/ui-track-flow.md +9 -9
  325. package/docs/contracts/user-type-schema.md +4 -4
  326. package/docs/contracts/workflow-packs.md +4 -4
  327. package/docs/contracts/workspace-documents.md +4 -0
  328. package/docs/customization.md +28 -8
  329. package/docs/decisions/ADR-001-kernel-swap-deferred.md +6 -6
  330. package/docs/decisions/ADR-002-kernel-bucket-overrides.md +11 -11
  331. package/docs/decisions/ADR-003-flat-cluster-subs-and-colon-syntax.md +2 -2
  332. package/docs/decisions/ADR-004-rule-governance-pruning.md +4 -4
  333. package/docs/decisions/ADR-005-subagent-worktrees.md +7 -7
  334. package/docs/decisions/ADR-011-domain-pack-readiness.md +6 -6
  335. package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +3 -3
  336. package/docs/decisions/ADR-015-discovery-manifest-contract.md +3 -3
  337. package/docs/decisions/ADR-017-monorepo-physical-layout.md +10 -10
  338. package/docs/decisions/ADR-018-trust-and-safety-layer.md +6 -6
  339. package/docs/decisions/ADR-019-router-json-dist-location.md +2 -2
  340. package/docs/decisions/ADR-020-global-only-consumer-scope.md +2 -2
  341. package/docs/decisions/ADR-021-deployment-shape.md +1 -1
  342. package/docs/decisions/ADR-022-daily-workspace-decomposition.md +1 -1
  343. package/docs/decisions/ADR-027-changelog-machine-vs-manual.md +2 -2
  344. package/docs/decisions/ADR-028-root-layout.md +7 -7
  345. package/docs/decisions/ADR-029-multi-workspace-deferred.md +2 -2
  346. package/docs/decisions/ADR-rule-kernel-and-router.md +5 -5
  347. package/docs/deploy/team-deployment-posture.md +20 -0
  348. package/docs/development.md +17 -17
  349. package/docs/distribution/registries.md +32 -0
  350. package/docs/distribution/registry-submissions.md +85 -0
  351. package/docs/distribution/telemetry-schema.md +1 -1
  352. package/docs/getting-started-by-role.md +45 -3
  353. package/docs/getting-started.md +2 -2
  354. package/docs/guidelines/agent-infra/5w2h-analysis.md +3 -3
  355. package/docs/guidelines/agent-infra/ask-when-uncertain-demos.md +1 -1
  356. package/docs/guidelines/agent-infra/asking-and-brevity-examples.md +3 -3
  357. package/docs/guidelines/agent-infra/carve-out-predicates.md +3 -3
  358. package/docs/guidelines/agent-infra/critical-thinking.md +4 -4
  359. package/docs/guidelines/agent-infra/direct-answers-demos.md +1 -1
  360. package/docs/guidelines/agent-infra/first-principles.md +2 -2
  361. package/docs/guidelines/agent-infra/inversion-thinking.md +5 -5
  362. package/docs/guidelines/agent-infra/layered-settings.md +56 -2
  363. package/docs/guidelines/agent-infra/mental-models.md +3 -3
  364. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +2 -2
  365. package/docs/guidelines/agent-infra/rule-type-governance.md +1 -1
  366. package/docs/guidelines/agent-infra/scqa-framework.md +5 -5
  367. package/docs/guidelines/agent-infra/self-improvement-pipeline.md +2 -2
  368. package/docs/guidelines/agent-infra/six-hats.md +3 -3
  369. package/docs/guidelines/agent-infra/skill-quality-checklist.md +5 -5
  370. package/docs/guidelines/agent-infra/systems-thinking.md +1 -1
  371. package/docs/guidelines/agent-infra/verify-before-complete-demos.md +1 -1
  372. package/docs/guidelines/augment-portability-patterns.md +4 -4
  373. package/docs/guidelines/cross-role-handoff.md +2 -2
  374. package/docs/guidelines/php/php-coding-patterns.md +1 -1
  375. package/docs/guidelines/prompt-templates.md +6 -6
  376. package/docs/maintainers/dev-mode.md +1 -1
  377. package/docs/mcp.md +1 -1
  378. package/docs/parity/bench.json +3 -3
  379. package/docs/parity/ruflo.md +2 -2
  380. package/docs/profiles.md +11 -11
  381. package/docs/quality.md +11 -11
  382. package/docs/safety.md +3 -3
  383. package/docs/setup/mcp-client-config.md +1 -1
  384. package/docs/setup/mcp-r2-bootstrap.md +1 -1
  385. package/docs/setup/mcp-server-docker.md +3 -3
  386. package/docs/setup/per-ide/windsurf.md +1 -1
  387. package/docs/skills-catalog.md +8 -7
  388. package/docs/troubleshooting.md +1 -1
  389. package/docs/walkthroughs/daily-workspace-a11y.md +87 -0
  390. package/llms.txt +7 -6
  391. package/package.json +1 -1
  392. package/scripts/__pycache__/validate_frontmatter.cpython-312.pyc +0 -0
  393. package/scripts/_archive/README.md +2 -2
  394. package/scripts/_archive/_backfill_skill_domains.py +3 -3
  395. package/scripts/_archive/_bootstrap_tier_frontmatter.py +3 -3
  396. package/scripts/_archive/_p43_bodies.py +10 -10
  397. package/scripts/_archive/{_p43_compress.py → _p43_condense.py} +5 -5
  398. package/scripts/_archive/_p4_migrate.py +7 -7
  399. package/scripts/_archive/_phase2_shim_helper.py +1 -1
  400. package/scripts/_archive/_pilot_council_question.py +5 -5
  401. package/scripts/_cli/explain_last/inputs.py +1 -1
  402. package/scripts/_lib/__pycache__/__init__.cpython-312.pyc +0 -0
  403. package/scripts/_lib/__pycache__/agent_src.cpython-312.pyc +0 -0
  404. package/scripts/_lib/agent_settings.py +195 -1
  405. package/scripts/_lib/agent_src.py +19 -19
  406. package/scripts/_lib/bench_ab_cache.py +162 -0
  407. package/scripts/_lib/bench_ab_scoring.py +209 -0
  408. package/scripts/_lib/{bench_caveman.py → bench_telegraph.py} +21 -21
  409. package/scripts/_lib/{bench_caveman_report.py → bench_telegraph_report.py} +21 -21
  410. package/scripts/_lib/claude_desktop_bundler.py +5 -5
  411. package/scripts/_lib/module_detection.py +223 -0
  412. package/scripts/_lib/scope_guard.sh +162 -0
  413. package/scripts/_phase4_bucket.py +3 -3
  414. package/scripts/_pilot_measure.py +4 -4
  415. package/scripts/_tmp_scan_framework_leakage.py +1 -1
  416. package/scripts/adoption_report.py +195 -0
  417. package/scripts/adoption_snapshot.py +219 -0
  418. package/scripts/adoption_status.py +166 -0
  419. package/scripts/ai-video/lib/parse-blueprint.sh +1 -1
  420. package/scripts/ai_council/advisors.py +5 -5
  421. package/scripts/ai_council/compile_corpus.py +1 -1
  422. package/scripts/ai_council/one_off_archive/2026-05/_one_off_budget_v2_audit.py +3 -3
  423. package/scripts/ai_council/one_off_archive/2026-05/_one_off_context_layer_v1_review.py +2 -2
  424. package/scripts/ai_council/one_off_archive/2026-05/_one_off_inject_quiet_flag.py +1 -1
  425. package/scripts/ai_council/one_off_archive/2026-05/_one_off_measure_v2.sh +1 -1
  426. package/scripts/ai_council/one_off_archive/2026-05/_one_off_measure_verbosity.sh +1 -1
  427. package/scripts/ai_council/one_off_archive/2026-05/_one_off_nondestructive_inline_audit.py +3 -3
  428. package/scripts/ai_council/one_off_archive/2026-05/_one_off_per_task.sh +1 -1
  429. package/scripts/ai_council/one_off_archive/2026-05/_one_off_phase6_trigger_jaccard.py +1 -1
  430. package/scripts/ai_council/one_off_archive/2026-05/_one_off_phase_2a_budget_rebalance.py +6 -6
  431. package/scripts/ai_council/one_off_archive/2026-05/_one_off_rebalancing_audit.py +1 -1
  432. package/scripts/ai_council/one_off_archive/2026-05/_one_off_tier_retrofit.py +6 -6
  433. package/scripts/annotate_discovery.py +13 -13
  434. package/scripts/apply_modules_config.py +290 -0
  435. package/scripts/audit_adr_coverage.py +2 -2
  436. package/scripts/audit_auto_rules.py +2 -2
  437. package/scripts/audit_cloud_compatibility.py +3 -3
  438. package/scripts/audit_command_surface.py +9 -9
  439. package/scripts/audit_likelihood.py +2 -2
  440. package/scripts/audit_user_type_axis.py +2 -2
  441. package/scripts/bench_ab_cache_dispatch.py +68 -0
  442. package/scripts/bench_ab_clone.py +170 -0
  443. package/scripts/bench_ab_diff.py +227 -0
  444. package/scripts/bench_ab_integrity.py +143 -0
  445. package/scripts/bench_ab_run.py +235 -0
  446. package/scripts/bench_ab_task_runner.py +369 -0
  447. package/scripts/bench_ab_tracka_run.py +202 -0
  448. package/scripts/{bench_compress_memory.py → bench_condense_memory.py} +16 -16
  449. package/scripts/bench_run.py +33 -33
  450. package/scripts/bench_runner.py +2 -2
  451. package/scripts/bootstrap.sh +99 -0
  452. package/scripts/build_cloud_bundle.py +6 -6
  453. package/scripts/build_discovery_manifest.py +7 -7
  454. package/scripts/build_linear_digest.py +3 -3
  455. package/scripts/build_rule_trigger_matrix.py +8 -8
  456. package/scripts/chat_history.py +5 -5
  457. package/scripts/check_always_budget.py +11 -5
  458. package/scripts/check_augment_description_cap.py +3 -3
  459. package/scripts/check_cluster_patterns.py +2 -2
  460. package/scripts/check_command_count_messaging.py +3 -3
  461. package/scripts/{check_compression.py → check_condensation.py} +34 -34
  462. package/scripts/{check_compressed_paths.py → check_condensed_paths.py} +8 -8
  463. package/scripts/check_context_paths.py +7 -7
  464. package/scripts/check_council_layout.py +2 -2
  465. package/scripts/check_council_references.py +9 -9
  466. package/scripts/check_iron_law_prominence.py +2 -2
  467. package/scripts/check_kernel_rule_bundle.py +2 -2
  468. package/scripts/check_module_management_neutral.py +149 -0
  469. package/scripts/check_no_roadmap_refs.py +9 -9
  470. package/scripts/check_portability.py +3 -3
  471. package/scripts/check_public_catalog_links.py +4 -4
  472. package/scripts/check_references.py +7 -6
  473. package/scripts/check_release_pr_shape.py +112 -0
  474. package/scripts/check_reply_consistency.py +3 -3
  475. package/scripts/check_safety_floor_untouched.py +1 -1
  476. package/scripts/check_template_pin_drift.py +5 -5
  477. package/scripts/check_token_optimizer_freshness.py +3 -3
  478. package/scripts/ci_status.py +301 -0
  479. package/scripts/ci_time_ratio.py +1 -1
  480. package/scripts/cleanup_other_scope.sh +146 -0
  481. package/scripts/compile_router.py +10 -10
  482. package/scripts/{compress.py → condense.py} +64 -64
  483. package/scripts/condense.sh +18 -0
  484. package/scripts/{compress_memory.py → condense_memory.py} +33 -33
  485. package/scripts/config/presets.py +2 -2
  486. package/scripts/config/profiles.py +1 -1
  487. package/scripts/cost_by_conversation.py +3 -3
  488. package/scripts/cost_summary.py +7 -7
  489. package/scripts/count_token_optimizer_usage.sh +1 -1
  490. package/scripts/gen_discovery_baseline.py +5 -5
  491. package/scripts/generate_index.py +6 -6
  492. package/scripts/generate_ownership_matrix.py +10 -10
  493. package/scripts/generate_pack_manifests.py +1 -1
  494. package/scripts/ghostwriter_fixture_allowlist.txt +1 -1
  495. package/scripts/install +3 -3
  496. package/scripts/install-hooks.sh +6 -6
  497. package/scripts/install.py +76 -11
  498. package/scripts/install.sh +187 -1
  499. package/scripts/inventory_frontmatter.py +2 -2
  500. package/scripts/iron_law_sha.py +3 -3
  501. package/scripts/lint_agents_layout.py +14 -7
  502. package/scripts/lint_agents_md.py +4 -4
  503. package/scripts/lint_archived_skills.py +3 -3
  504. package/scripts/lint_artefact_frontmatter.py +2 -2
  505. package/scripts/lint_bench_ab.py +172 -0
  506. package/scripts/lint_bench_corpus.py +1 -1
  507. package/scripts/lint_command_tiers.py +5 -5
  508. package/scripts/lint_context_spine_usage.py +1 -1
  509. package/scripts/lint_framework_leakage.py +7 -7
  510. package/scripts/lint_framework_leakage_allowlist.json +144 -84
  511. package/scripts/lint_ghostwriter_source.py +3 -3
  512. package/scripts/lint_handoffs.py +1 -1
  513. package/scripts/lint_load_context.py +11 -11
  514. package/scripts/lint_media_policy_linkage.py +5 -5
  515. package/scripts/lint_namespace.py +1 -1
  516. package/scripts/lint_no_new_atomic_commands.py +2 -2
  517. package/scripts/lint_orchestration_dsl.py +1 -1
  518. package/scripts/lint_pack_boundaries.py +2 -2
  519. package/scripts/lint_persona_governance.py +4 -4
  520. package/scripts/lint_role_experiences.py +237 -0
  521. package/scripts/lint_rule_interactions.py +2 -2
  522. package/scripts/lint_rule_tiers.py +1 -1
  523. package/scripts/lint_trust_coherence.py +2 -2
  524. package/scripts/mcp_registry_submit.sh +187 -0
  525. package/scripts/mcp_server/tools.py +1 -1
  526. package/scripts/measure_frugality_savings.py +10 -10
  527. package/scripts/measure_patterns.py +1 -1
  528. package/scripts/measure_projection_bytes.py +5 -5
  529. package/scripts/measure_rule_budget.py +3 -3
  530. package/scripts/measure_skill_reduction.py +1 -1
  531. package/scripts/memory_lookup.py +1 -1
  532. package/scripts/memory_status.py +2 -2
  533. package/scripts/migrate_command_suggestions.py +3 -3
  534. package/scripts/mine_session.py +1 -1
  535. package/scripts/move_artefact.py +3 -3
  536. package/scripts/new_skill.py +2 -2
  537. package/scripts/pack_mcp_content.py +9 -9
  538. package/scripts/plan_physical_move.py +6 -6
  539. package/scripts/print_required_checks.py +196 -0
  540. package/scripts/probe_skill_registration.py +413 -0
  541. package/scripts/propose_modules_config.py +145 -0
  542. package/scripts/prototype_lint_contradictions.py +1 -1
  543. package/scripts/recruit_preflight.sh +152 -0
  544. package/scripts/refine_ticket_detect.py +3 -3
  545. package/scripts/release.py +20 -0
  546. package/scripts/render_benchmark_md.py +308 -0
  547. package/scripts/roadmap_progress_hook.py +1 -1
  548. package/scripts/run_skill_evals.py +2 -2
  549. package/scripts/runtime_registry.py +4 -4
  550. package/scripts/schemas/command.schema.json +4 -4
  551. package/scripts/schemas/rule.schema.json +5 -5
  552. package/scripts/schemas/skill.schema.json +3 -3
  553. package/scripts/schemas/user-type.schema.json +1 -1
  554. package/scripts/score_skill_selection.py +1 -1
  555. package/scripts/skill_collision_clusters.py +2 -2
  556. package/scripts/skill_linter.py +81 -81
  557. package/scripts/skill_overlap.py +5 -5
  558. package/scripts/skill_tools/audit_persona_coverage.py +2 -2
  559. package/scripts/skill_tools/audit_user_type_coverage.py +2 -2
  560. package/scripts/skill_tools/run_block_d_eval.py +1 -1
  561. package/scripts/skill_tools/score_skill_relevance.py +1 -1
  562. package/scripts/skill_tools/suggest_skill_for_task.py +1 -1
  563. package/scripts/skill_trigger_eval.py +3 -3
  564. package/scripts/smoke/kernel.sh +7 -1
  565. package/scripts/smoke/router.sh +5 -5
  566. package/scripts/smoke/skills.sh +1 -1
  567. package/scripts/smoke_quickstart.py +1 -1
  568. package/scripts/snapshot_agent_outputs.py +3 -3
  569. package/scripts/spotcheck_thin_root.py +1 -1
  570. package/scripts/{caveman_stats.py → telegraph_stats.py} +18 -18
  571. package/scripts/update_counts.py +1 -1
  572. package/scripts/validate_decision_engine.py +1 -1
  573. package/scripts/validate_frontmatter.py +1 -1
  574. package/scripts/validate_safe_paths.py +3 -3
  575. package/scripts/{validate_caveman_carveouts.py → validate_telegraph_carveouts.py} +7 -7
  576. package/scripts/verify_roadmap_closure.py +6 -6
  577. package/templates/consumer-settings/ONBOARDING.md +41 -0
  578. package/.agent-src/commands/install-via-agent.md +0 -129
  579. package/.agent-src/skills/compress-memory/SKILL.md +0 -131
  580. package/dist/ui/assets/index-D-DY1ywI.js +0 -35
  581. package/dist/ui/assets/index-D-DY1ywI.js.map +0 -1
  582. package/dist/ui/assets/index-Dqfhmg-d.css +0 -1
  583. package/docs/adrs/caveman/README.md +0 -9
  584. package/docs/contracts/caveman-telemetry.md +0 -83
  585. package/scripts/compress.sh +0 -18
@@ -0,0 +1,61 @@
1
+ # Skill Distribution Channels — canonical per AI tool
2
+
3
+ **Status:** Active (locked 2026-05-25 via Phase A of `road-to-clean-skill-distribution-channels.md`)
4
+ **Owner:** maintainer-team
5
+ **Inputs:** [`agents/evidence/audits/2026-05-distribution-channels/`](../../agents/evidence/audits/2026-05-distribution-channels/) (audits 01 + 02), AI Council convergence `agents/runtime/council/responses/2026-05-25-canonical-channel.json` (claude-sonnet-4-5 + gpt-4o, 2026-05-25)
6
+
7
+ ## Rule
8
+
9
+ For every AI tool the package supports, **exactly one channel** is the canonical registration surface used by the consumer installer. The other channel (where one exists at the upstream tool level) is either:
10
+
11
+ - not projected into the consumer install at all (default), or
12
+ - projected behind the `--legacy-both` opt-in flag for users on older harnesses.
13
+
14
+ ## Per-tool matrix
15
+
16
+ | Tool | Channels supported by host | Canonical (consumer install) | Other channel behaviour | Rationale |
17
+ |---|---|---|---|---|
18
+ | **Claude Code** | Plugin manifest (`.claude-plugin/marketplace.json`) + filesystem (`.claude/skills/`) | **filesystem** | Manifest not projected by default; use `--legacy-both` to opt in | Cross-tool consistency. Filesystem is the only channel all six tools share. The package's own `.claude-plugin/marketplace.json` stays at the source repo for users who run `claude plugin install <name>` directly. |
19
+ | **Augment** | Manifest with `source: "."` (`.augment-plugin/marketplace.json`) + filesystem (`.augment/`) | **filesystem** | Manifest stays — it is metadata-only, not a second registry. No `--legacy-both` needed. | The manifest points at the same directory the harness scans; one source of truth on disk. |
20
+ | **Cursor** | Filesystem only (`.cursor/rules/*.mdc`) | **filesystem** | n/a — no second channel exists | No host-level alternative. |
21
+ | **Cline** | Filesystem only (`.clinerules/`) | **filesystem** | n/a | No host-level alternative. |
22
+ | **Windsurf** | Filesystem only (`.windsurf/rules/`, `.windsurf/workflows/`) | **filesystem** | n/a | No host-level alternative. |
23
+ | **Copilot** | Single file (`.github/copilot-instructions.md` or root `copilot-instructions.md`) | **filesystem** | n/a | Single file, not a registry. |
24
+
25
+ ## Decision drivers
26
+
27
+ 1. **Cross-tool consistency.** Four of six tools have only a filesystem channel. Picking filesystem for the other two makes one rule cover everything.
28
+ 2. **Same-install dual-registration is closed by default.** If `scripts/install.sh` does not project the Claude plugin manifest into the consumer install, the harness has only the filesystem to scan, so the manifest+filesystem double-register risk is eliminated regardless of how the host harness deduplicates.
29
+ 3. **Cross-scope drift is orthogonal.** The canonical-channel decision does NOT solve the actual 2026-05-25 bug (cross-scope user-global + project-local with different frontmatter). Phase B installer guard + Phase C runtime probe close that path. They are companions to this contract, not substitutes for it.
30
+ 4. **Publication surface preserved.** The source repo continues to ship `.claude-plugin/marketplace.json` for users who want to install via `claude plugin install <event4u/agent-config>`. Removing the manifest from the **consumer install** does not affect that path.
31
+ 5. **`--legacy-both` is opt-in only.** Users on harness versions that genuinely require both channels can request the legacy projection. Default is single-channel.
32
+
33
+ ## Council convergence (2026-05-25)
34
+
35
+ Two-round debate on whether filesystem or plugin should be canonical for Claude. The transparently-merged verdict:
36
+
37
+ - **Anthropic (R2):** "MIXED leaning DISAGREE on the proposal **as written**" — pointed out that the proposal does not address cross-scope drift by itself, and that the canonical-channel decision only matters if the Claude harness double-registers on same-install. Test scenarios surfaced as critical path before locking. Conclusion: if Claude does ambient filesystem discovery (it does, in practice), **filesystem becomes canonical not by choice but because manifest adds a second registration mechanism with no isolation benefit**.
38
+ - **OpenAI (R2):** Endorsed filesystem-canonical with a fail-loud Phase C probe. Suggested user research on `--legacy-both` adoption.
39
+
40
+ Both members agreed the decision is structurally correct **conditional on** the cross-scope drift fix landing in Phase B and the probe being fail-loud in Phase C. This contract is published with those follow-up commitments.
41
+
42
+ ## Acceptance criteria for follow-up phases
43
+
44
+ Phase B and Phase C of `road-to-clean-skill-distribution-channels.md` MUST:
45
+
46
+ - (Phase B) Add a pre-install guard that detects existing installs at the other scope and either refuses, warns, or upgrades — surfaced via numbered options.
47
+ - (Phase C) Run a probe at `agent-config setup` time AND from `scripts/install.sh --strict` that fails the install on cross-scope drift findings (per the council convergence — fail-loud, not informational).
48
+ - (Phase A Step 4) Update `scripts/install.sh` and `task generate-tools` so the canonical channel above is what lands in the consumer install. Document `--legacy-both` for opt-in.
49
+
50
+ ## Out of scope
51
+
52
+ - Manifest format changes upstream (Claude Code's marketplace shape) — host-controlled.
53
+ - Alternative install paths (vendored copies, git submodules, npm `--prefix`) — package's npm install is the supported path.
54
+ - Re-litigating the channel pick after this lock — reopened only on a new audit that surfaces a structurally different shape (e.g. a host change that removes ambient filesystem discovery).
55
+
56
+ ## See also
57
+
58
+ - [`docs/contracts/install-scopes.md`](install-scopes.md) — companion contract for cross-scope behaviour (authored in Phase B).
59
+ - [`docs/contracts/harness-expectations.md`](harness-expectations.md) — Phase D companion documenting host-side behaviours that look like package bugs but are not.
60
+ - [`agents/evidence/audits/2026-05-distribution-channels/`](../../agents/evidence/audits/2026-05-distribution-channels/) — the underlying audits (01 Claude, 02 Augment, 03 installer flow).
61
+ - [`README.md § Installation`](../../README.md) — consumer-facing install path.
@@ -10,7 +10,7 @@ keep-beta-until: 2026-08-12
10
10
  > · **Schema:** `scripts/schemas/skill.schema.json` § `domain`
11
11
 
12
12
  Locks the canonical 6-domain taxonomy that classifies every skill in
13
- `.agent-src.uncompressed/skills/`. Each skill MUST declare exactly one
13
+ `.agent-src.uncondensed/skills/`. Each skill MUST declare exactly one
14
14
  `domain:` value from the allow-list below in its `SKILL.md` frontmatter.
15
15
 
16
16
  ## § 1 — Allow-list
@@ -139,6 +139,6 @@ release notes.
139
139
 
140
140
  ## See also
141
141
 
142
- - [`skill-quality`](../../.agent-src.uncompressed/rules/skill-quality.md) — frontmatter contract for skills
142
+ - [`skill-quality`](../../.agent-src.uncondensed/rules/skill-quality.md) — frontmatter contract for skills
143
143
  - [`rule-classification`](rule-classification.md) — sister taxonomy for rules (kernel vs auto)
144
144
  - `road-to-better-skills-and-profiles.md` — Block B (taxonomy lock + back-fill + folder reorg)
@@ -34,10 +34,10 @@ the paths touched in the PR:
34
34
 
35
35
  | Tier | Globs that trigger | Script |
36
36
  |---|---|---|
37
- | kernel | `.agent-src.uncompressed/rules/**`, `.agent-src/rules/**`, `dist/router.json`, `scripts/measure_rule_budget.py` | `scripts/smoke/kernel.sh` |
38
- | router | `dist/router.json`, `.agent-src.uncompressed/rules/**`, `.agent-src.uncompressed/skills/**`, `docs/contracts/**`, `docs/guidelines/**` | `scripts/smoke/router.sh` |
39
- | schema | `.agent-src.uncompressed/skills/**`, `.agent-src.uncompressed/rules/**`, `scripts/schemas/**`, `scripts/skill_linter.py`, `scripts/validate_frontmatter.py` | `scripts/smoke/schema.sh` |
40
- | skills | `.agent-src.uncompressed/skills/**` | `scripts/smoke/skills.sh` |
37
+ | kernel | `.agent-src.uncondensed/rules/**`, `.agent-src/rules/**`, `dist/router.json`, `scripts/measure_rule_budget.py` | `scripts/smoke/kernel.sh` |
38
+ | router | `dist/router.json`, `.agent-src.uncondensed/rules/**`, `.agent-src.uncondensed/skills/**`, `docs/contracts/**`, `docs/guidelines/**` | `scripts/smoke/router.sh` |
39
+ | schema | `.agent-src.uncondensed/skills/**`, `.agent-src.uncondensed/rules/**`, `scripts/schemas/**`, `scripts/skill_linter.py`, `scripts/validate_frontmatter.py` | `scripts/smoke/schema.sh` |
40
+ | skills | `.agent-src.uncondensed/skills/**` | `scripts/smoke/skills.sh` |
41
41
 
42
42
  `task smoke` runs all four locally regardless of paths.
43
43
 
@@ -107,7 +107,7 @@ constant in the script body and the row below.
107
107
  ```
108
108
 
109
109
  - **5 random skills** picked deterministically (seed = epoch day) from
110
- `.agent-src.uncompressed/skills/*/SKILL.md` and re-validated via
110
+ `.agent-src.uncondensed/skills/*/SKILL.md` and re-validated via
111
111
  `scripts/validate_frontmatter.py`. `agent-config explain skill` is
112
112
  **not** invoked — `explain` only supports `{config,rule,route}` today
113
113
  ([`scripts/agent-config/cmd_explain.py`](../../scripts/agent-config/cmd_explain.py));
@@ -0,0 +1,83 @@
1
+ ---
2
+ stability: beta
3
+ keep-beta-until: 2026-08-15
4
+ ---
5
+
6
+ # telegraph telemetry — multiplier contract
7
+
8
+ > **Status:** suspended (kill-criterion not met in `telegraph-v1`).
9
+ > Telemetry surface records `telegraph_delta_tokens = 0` until a v2 bench
10
+ > proves a positive multiplier on the load-bearing `vs_terse` arm.
11
+
12
+ ## Constant
13
+
14
+ | Key | Value | Provenance |
15
+ |---|---|---|
16
+ | `telegraph_multiplier_version` | `v1` | Tied to `internal/bench/reports/telegraph-v1.{json,md}` |
17
+ | `telegraph_multiplier_value` | `0.9155` | `median(terse_control_tokens / condensed_tokens)` over the 10-prompt v1 corpus |
18
+ | `telegraph_multiplier_p10` | `0.4506` | 10th percentile (worst-case carve-out-tax prompts) |
19
+ | `telegraph_multiplier_p90` | `2.3664` | 90th percentile (pure-prose prompts where telegraph wins) |
20
+ | `telegraph_multiplier_active` | `false` | **Suspended** — kill-criterion not met (`vs_terse` median −9.27 %) |
21
+
22
+ The **active** flag gates whether the multiplier is applied to runtime
23
+ telemetry. While `false`, `scripts/telegraph_stats.py` reports
24
+ `telegraph_delta_tokens = 0` regardless of `speak_scope` setting.
25
+
26
+ ## How the multiplier is interpreted
27
+
28
+ `telegraph_estimated_uncondensed_tokens = telegraph_condensed_tokens × M`,
29
+ where `M = telegraph_multiplier_value`.
30
+
31
+ `telegraph_delta_tokens = telegraph_estimated_uncondensed_tokens − telegraph_condensed_tokens`.
32
+
33
+ - `M > 1.0` → telegraph condenses; `delta` is **positive** (saving).
34
+ - `M = 1.0` → break-even; no delta surfaced.
35
+ - `M < 1.0` → telegraph costs more than the terse baseline; `delta` is
36
+ **negative**. Surfacing a negative saving is misleading for the
37
+ user (looks like a bug), so the contract is to **suspend the
38
+ multiplier** and record `delta = 0` until a v2 bench lifts `M`
39
+ above `1.0` on the load-bearing arm.
40
+
41
+ ## Why suspended after v1
42
+
43
+ The `telegraph-v1` bench (`internal/bench/reports/telegraph-v1.md`, 30 calls,
44
+ 2026-05-16) found:
45
+
46
+ - Median savings vs raw uncondensed: **+23.51 %** (inflated by the
47
+ carve-out-tax-free pure-prose prompts).
48
+ - Median savings vs terse-control: **−9.27 %** (load-bearing).
49
+ - Carve-out-heavy prompts (path-list −108 %, mode-marker −123 %)
50
+ drag the median negative.
51
+
52
+ The terse-control arm is the kill-criterion baseline per
53
+ [`condensation-default-kill-criterion.md`](condensation-default-kill-criterion.md).
54
+ Until a v2 bench (broader corpus or a re-tuned dialect) lifts the
55
+ `vs_terse` median to ≥ 0 %, the multiplier stays suspended.
56
+
57
+ ## How to lift the suspension
58
+
59
+ 1. Run an extended bench against a broader corpus (Phase 3+ work).
60
+ 2. If `median(savings_vs_terse) ≥ 0` (and ideally ≥ 30 % to flip the
61
+ rule default), recompute `telegraph_multiplier_value`.
62
+ 3. Update this contract: bump `telegraph_multiplier_version` to `v2`,
63
+ set `telegraph_multiplier_active = true`, cite the new bench file.
64
+ 4. The change is reversible — drop back to `v1` if a regression
65
+ appears.
66
+
67
+ ## Consumers
68
+
69
+ - [`scripts/telegraph_stats.py`](../../scripts/telegraph_stats.py) — reads
70
+ this constant, computes per-session / per-conversation / lifetime
71
+ deltas from `agents/cost-tracking/sessions.jsonl`.
72
+ - [`scripts/cost_summary.py`](../../scripts/cost_summary.py) — emits
73
+ the stable JSON contract for inter-tool consumption per
74
+ [`cost-summary-schema.md`](cost-summary-schema.md).
75
+ - `agent-status` skill — surfaces the per-session delta in the
76
+ status report under the `[telegraph: …]` widget.
77
+
78
+ ## See also
79
+
80
+ - [`condensation-default-kill-criterion.md`](condensation-default-kill-criterion.md) — the rule-default-flip gate; this multiplier is gated on the same `vs_terse` arm.
81
+ - [`internal/bench/reports/telegraph-v1.md`](../../bench/reports/telegraph-v1.md) — provenance for the `v1` value.
82
+ - [`internal/bench/reports/telegraph-v2.md`](../../bench/reports/telegraph-v2.md) — input-side (orthogonal); does NOT feed this multiplier (this multiplier is output-side).
83
+ - [`telegraph-speak`](../../.agent-src.uncondensed/rules/telegraph-speak.md) — runtime rule the multiplier measures.
@@ -11,7 +11,7 @@ keep-beta-until: 2026-08-21
11
11
  Phase 1 stamped every artefact with `trust.level`,
12
12
  `trust.confidence`, and `trust.human_review_required`. Phase 5
13
13
  **enforces** those fields: the installer surfaces them at selection
14
- time, the compressor injects banners into compiled output, the
14
+ time, the condenseor injects banners into compiled output, the
15
15
  runtime gates `human_review_required: true` artefacts before final
16
16
  output, and a lint catches drift. This contract is what those four
17
17
  consumers depend on.
@@ -37,7 +37,7 @@ demand review on its specific surface.
37
37
 
38
38
  ## § 2 — HRR banner
39
39
 
40
- The compressor (`scripts/compress.py`) prepends every artefact whose
40
+ The condenseor (`scripts/condense.py`) prepends every artefact whose
41
41
  frontmatter declares `trust.human_review_required: true` with:
42
42
 
43
43
  ```text
@@ -48,9 +48,9 @@ frontmatter declares `trust.human_review_required: true` with:
48
48
  ```
49
49
 
50
50
  - The HTML comment is the parser-stable marker
51
- (`_HRR_BANNER_MARKER` in `scripts/compress.py`). Runtime detection
51
+ (`_HRR_BANNER_MARKER` in `scripts/condense.py`). Runtime detection
52
52
  greps for this string, never the prose line.
53
- - Idempotent: re-compressing a file that already carries the marker
53
+ - Idempotent: re-condensing a file that already carries the marker
54
54
  leaves it unchanged.
55
55
  - `<domain>` is the first pack id that ships the artefact (e.g.
56
56
  `finance-basic`, `founder-strategy`); falls back to `core` for
@@ -135,7 +135,7 @@ Exits 0 clean, 1 on any violation. Tests in
135
135
  ## § 7 — References
136
136
 
137
137
  - ADR: [`ADR-018 — Trust & Safety Layer`](../decisions/ADR-018-trust-and-safety-layer.md)
138
- - Compressor implementation: [`scripts/compress.py`](../../scripts/compress.py)
138
+ - Condenseor implementation: [`scripts/condense.py`](../../scripts/condense.py)
139
139
  (`_inject_hrr_banner`, `_HRR_BANNER_MARKER`)
140
140
  - Installer implementation: [`packages/core/installer/src/trust-escalation.ts`](../../packages/core/installer/src/trust-escalation.ts)
141
141
  - Lint implementation: [`scripts/lint_trust_coherence.py`](../../scripts/lint_trust_coherence.py)
@@ -24,10 +24,10 @@ change.
24
24
 
25
25
  | Artefact | File | Change |
26
26
  |---|---|---|
27
- | Stack label | [`scripts/work_engine/stack/detect.py`](../../.agent-src.uncompressed/templates/scripts/work_engine/stack/detect.py) | New entry in `KNOWN_STACKS` + a heuristic in `detect_stack` |
28
- | Apply skill | `.agent-src.uncompressed/skills/ui-apply-<stack>/SKILL.md` | New skill bundle |
29
- | Review skill | `.agent-src.uncompressed/skills/ui-design-review-<stack>/SKILL.md` | New skill bundle |
30
- | Polish skill | `.agent-src.uncompressed/skills/ui-polish-<stack>/SKILL.md` | New skill bundle |
27
+ | Stack label | [`scripts/work_engine/stack/detect.py`](../../.agent-src.uncondensed/templates/scripts/work_engine/stack/detect.py) | New entry in `KNOWN_STACKS` + a heuristic in `detect_stack` |
28
+ | Apply skill | `.agent-src.uncondensed/skills/ui-apply-<stack>/SKILL.md` | New skill bundle |
29
+ | Review skill | `.agent-src.uncondensed/skills/ui-design-review-<stack>/SKILL.md` | New skill bundle |
30
+ | Polish skill | `.agent-src.uncondensed/skills/ui-polish-<stack>/SKILL.md` | New skill bundle |
31
31
  | Dispatch tables | `directives/ui/{apply,review,polish}.py` | New row in each `STACK_DIRECTIVES` map |
32
32
  | Golden fixture | `tests/golden/sandbox/recipes/gt_u<NN>_<stack>_*.py` | One happy-path baseline at minimum |
33
33
 
@@ -131,9 +131,9 @@ the skill does **not** check the ceiling itself but must respect
131
131
  ## Step 4 — wire dispatch tables
132
132
 
133
133
  Three identical edits in
134
- [`directives/ui/apply.py`](../../.agent-src.uncompressed/templates/scripts/work_engine/directives/ui/apply.py),
135
- [`directives/ui/review.py`](../../.agent-src.uncompressed/templates/scripts/work_engine/directives/ui/review.py),
136
- and [`directives/ui/polish.py`](../../.agent-src.uncompressed/templates/scripts/work_engine/directives/ui/polish.py):
134
+ [`directives/ui/apply.py`](../../.agent-src.uncondensed/templates/scripts/work_engine/directives/ui/apply.py),
135
+ [`directives/ui/review.py`](../../.agent-src.uncondensed/templates/scripts/work_engine/directives/ui/review.py),
136
+ and [`directives/ui/polish.py`](../../.agent-src.uncondensed/templates/scripts/work_engine/directives/ui/polish.py):
137
137
 
138
138
  ```python
139
139
  STACK_DIRECTIVES: dict[str, str] = {
@@ -13,7 +13,7 @@ keep-beta-until: 2026-08-12
13
13
  > - **Created:** 2026-05-01
14
14
  > - **Status:** Phase 1–6 shipped — audit / design / apply / review /
15
15
  > polish handlers live under
16
- > [`.agent-src.uncompressed/templates/scripts/work_engine/directives/ui/`](../../.agent-src.uncompressed/templates/scripts/work_engine/directives/ui/).
16
+ > [`.agent-src.uncondensed/templates/scripts/work_engine/directives/ui/`](../../.agent-src.uncondensed/templates/scripts/work_engine/directives/ui/).
17
17
  > Mixed under `directives/mixed/`. `ui-trivial` under
18
18
  > `directives/ui_trivial/`. R4 (Visual Review Loop) added the
19
19
  > a11y gate, the preview envelope, and a polish-termination rewrite
@@ -56,9 +56,9 @@ exists so the dispatcher's completeness check is satisfied; no logic
56
56
  runs and no state is touched.
57
57
 
58
58
  Source of truth for slot wiring:
59
- [`directives/ui/__init__.py`](../../.agent-src.uncompressed/templates/scripts/work_engine/directives/ui/__init__.py),
60
- [`directives/mixed/__init__.py`](../../.agent-src.uncompressed/templates/scripts/work_engine/directives/mixed/__init__.py),
61
- [`directives/ui_trivial/__init__.py`](../../.agent-src.uncompressed/templates/scripts/work_engine/directives/ui_trivial/__init__.py).
59
+ [`directives/ui/__init__.py`](../../.agent-src.uncondensed/templates/scripts/work_engine/directives/ui/__init__.py),
60
+ [`directives/mixed/__init__.py`](../../.agent-src.uncondensed/templates/scripts/work_engine/directives/mixed/__init__.py),
61
+ [`directives/ui_trivial/__init__.py`](../../.agent-src.uncondensed/templates/scripts/work_engine/directives/ui_trivial/__init__.py).
62
62
 
63
63
  ## The `ui` set — slot-by-slot
64
64
 
@@ -75,7 +75,7 @@ Mandatory pre-step. Routes on `state.ui_audit` shape:
75
75
  | Anything else populated | `BLOCKED` numbered options | User picks candidate to extend (or "build new"); records `audit_path = "ambiguous"` + `candidate_pick` |
76
76
 
77
77
  Constants live in
78
- [`directives/ui/audit.py`](../../.agent-src.uncompressed/templates/scripts/work_engine/directives/ui/audit.py):
78
+ [`directives/ui/audit.py`](../../.agent-src.uncondensed/templates/scripts/work_engine/directives/ui/audit.py):
79
79
  `STRONG_SIMILARITY = 0.7`, `TIE_GAP = 0.05`,
80
80
  `TESTED_AGAINST_SHADCN_MAJOR = 2`. Idempotent re-entry: once
81
81
  `audit_path` is set the step round-trips through `SUCCESS` without
@@ -199,7 +199,7 @@ Stack-directive table mirrors apply / review with prefix
199
199
  ### `report` → backend renderer
200
200
 
201
201
  Re-export of
202
- [`directives.backend.report.run`](../../.agent-src.uncompressed/templates/scripts/work_engine/directives/backend/report.py).
202
+ [`directives.backend.report.run`](../../.agent-src.uncondensed/templates/scripts/work_engine/directives/backend/report.py).
203
203
  The renderer is pure and state-driven; the same Markdown contract
204
204
  serves both tracks.
205
205
 
@@ -234,7 +234,7 @@ adjustment). Phase-1 intent classifier writes
234
234
  `directive_set = "ui-trivial"`.
235
235
 
236
236
  Hard preconditions in
237
- [`directives/ui_trivial/apply.py`](../../.agent-src.uncompressed/templates/scripts/work_engine/directives/ui_trivial/apply.py):
237
+ [`directives/ui_trivial/apply.py`](../../.agent-src.uncondensed/templates/scripts/work_engine/directives/ui_trivial/apply.py):
238
238
 
239
239
  - `MAX_FILES = 1` — exactly one file touched.
240
240
  - `MAX_LINES_CHANGED = 5` — diff stays under five changed lines.
@@ -323,7 +323,7 @@ suite asserts every `BLOCKED` path has a matching declaration.
323
323
  - [`adr-product-ui-track.md`](adr-product-ui-track.md) — locked
324
324
  decisions for the UI track (R3) and the visual-review-loop
325
325
  amendment (R4: a11y gate, preview envelope, polish-termination).
326
- - [`existing-ui-audit` SKILL](../../.agent-src.uncompressed/skills/existing-ui-audit/SKILL.md)
326
+ - [`existing-ui-audit` SKILL](../../.agent-src.uncondensed/skills/existing-ui-audit/SKILL.md)
327
327
  — producer of `state.ui_audit`.
328
- - [`ui-audit-gate` rule](../../.agent-src.uncompressed/rules/ui-audit-gate.md)
328
+ - [`ui-audit-gate` rule](../../.agent-src.uncondensed/rules/ui-audit-gate.md)
329
329
  — the always-on rule that mirrors the audit gate at the agent layer.
@@ -7,7 +7,7 @@ keep-beta-until: 2026-08-14
7
7
 
8
8
  > **Status:** active · **Stability:** beta · **Owner:** step-6-user-types-axis
9
9
  > · **Linter:** `scripts/skill_linter.py § lint_usertype`
10
- > · **Source-of-truth dir:** `.agent-src.uncompressed/user-types/`
10
+ > · **Source-of-truth dir:** `.agent-src.uncondensed/user-types/`
11
11
  > · **Sibling axis (distinct):** install-time `user-types/` (package root) — see [`adr-install-user-type-axis`](adr-install-user-type-axis.md)
12
12
  > · **ADR:** [`adr-user-types-axis`](adr-user-types-axis.md)
13
13
 
@@ -127,7 +127,7 @@ The linter (`scripts/skill_linter.py § lint_usertype`) enforces:
127
127
  - description ≤ 160 chars
128
128
 
129
129
  Authors must use the template at
130
- `.agent-src.uncompressed/user-types/_template/user-type.md`.
130
+ `.agent-src.uncondensed/user-types/_template/user-type.md`.
131
131
 
132
132
  ## § 7 — Versioning
133
133
 
@@ -142,5 +142,5 @@ version bump and a separate ADR.
142
142
  - [`persona-schema`](persona-schema.md) — sister axis (methodology vs end-user)
143
143
  - [`adr-user-types-axis`](adr-user-types-axis.md) — why the axis split exists
144
144
  - [`adr-install-user-type-axis`](adr-install-user-type-axis.md) — the install-time `user_type` axis (distinct layer, same vocabulary)
145
- - `.agent-src.uncompressed/user-types/README.md` — authoring entry point
146
- - `.agent-src.uncompressed/user-types/_template/user-type.md` — template starter
145
+ - `.agent-src.uncondensed/user-types/README.md` — authoring entry point
146
+ - `.agent-src.uncondensed/user-types/_template/user-type.md` — template starter
@@ -21,7 +21,7 @@ gates.
21
21
  ## Schema
22
22
 
23
23
  ```yaml
24
- # .agent-src.uncompressed/packs/<pack-id>.yml
24
+ # .agent-src.uncondensed/packs/<pack-id>.yml
25
25
  pack:
26
26
  id: <pack-id> # kebab-case, file name without .yml
27
27
  audience:
@@ -52,7 +52,7 @@ pack:
52
52
  | `composition.preset_id` | string | yes | Override applied to the chain documented in [`config-presets`](config-presets.md). Same opt-in semantics. |
53
53
  | `surface.commands_allowed` | list[string] | yes | Cap = **12**. Items must appear in [`command-clusters`](command-clusters.md). The pack does **not** disable other commands — the cap is for the wizard's first-screen rendering, not enforcement. |
54
54
  | `surface.skills_allowed` | list[string] | yes | Cap = **15**. Items must appear in `docs/skills-catalog.md`. Same render-only semantics. |
55
- | `surface.personas` | list[string] | yes | Cap = **4**. Items must appear in `.agent-src.uncompressed/personas/`. |
55
+ | `surface.personas` | list[string] | yes | Cap = **4**. Items must appear in `.agent-src.uncondensed/personas/`. |
56
56
  | `rationale.*` | string | yes | Forces every pack to justify its composition in plain prose; reviewed at PR time, not at runtime. |
57
57
 
58
58
  ## Resolution chain
@@ -95,7 +95,7 @@ this schema.
95
95
  - **Do not** declare new commands. Use [`command-clusters`](command-clusters.md).
96
96
  - **Do not** modify rules. Use the kernel-rule edit process.
97
97
  - **Do not** override safety floors. Domain-safety rules
98
- (`.agent-src.uncompressed/rules/domain-safety-*.md`) apply
98
+ (`.agent-src.uncondensed/rules/domain-safety-*.md`) apply
99
99
  unconditionally — packs cannot widen the deny-list.
100
100
  - **Do not** ship telemetry or usage hints. Packs are pure composition.
101
101
 
@@ -109,7 +109,7 @@ Three packs ship at Phase 2 Item 7 close:
109
109
  | `content-engine` | `content_creator` | `balanced` | Editorial calendar, brand voice, and ghostwriter on one loop. |
110
110
  | `agency-delivery` | `agency` | `strict` | Multi-client refine → estimate → deliver with audit-grade trace. |
111
111
 
112
- Each pack lives at `.agent-src.uncompressed/packs/<id>.yml` and is
112
+ Each pack lives at `.agent-src.uncondensed/packs/<id>.yml` and is
113
113
  covered by the validation rules above.
114
114
 
115
115
  ## See also
@@ -1,3 +1,7 @@
1
+ ---
2
+ stability: experimental
3
+ ---
4
+
1
5
  # Workspace Documents Contract
2
6
 
3
7
  > **Status** · v0 / design · 2026-05-24. Phase 5 of the
@@ -66,7 +66,7 @@ ide
66
66
  cost_profile
67
67
  personal.bot_icon
68
68
  personal.autonomy
69
- caveman.speak_scope
69
+ telegraph.speak_scope
70
70
  ```
71
71
 
72
72
  **Merge order** (lowest → highest precedence; every layer optional):
@@ -179,7 +179,7 @@ is recovered on the next server boot.
179
179
  | `chat_history.enabled` | `true` | Persistent JSONL log at `agents/runtime/.agent-chat-history` for crash recovery. |
180
180
  | `chat_history.frequency` | per profile | Logging granularity: `per_turn`, `per_phase`, or `per_tool` (see matrix below). |
181
181
  | `chat_history.max_size_kb` | per profile | Max file size before overflow handling (see matrix below). |
182
- | `chat_history.on_overflow` | per profile | `rotate` drops oldest, `compress` marks for summarization (see matrix below). |
182
+ | `chat_history.on_overflow` | per profile | `rotate` drops oldest, `condense` marks for summarization (see matrix below). |
183
183
  | `onboarding.onboarded` | `false` | Whether the setup wizard has run. The `onboarding-gate` rule prompts for `agent-config setup` while this is `false`. |
184
184
  | `ai_council.enabled` | `false` | Master switch for the `/council` command. Even when enabled, every consultation asks before spending tokens. |
185
185
  | `ai_council.members.<provider>.enabled` | `false` | Per-provider opt-in (`anthropic`, `openai`). Tokens live in `~/.event4u/agent-config/<provider>.key` (mode 0600), never in this file. Legacy `~/.config/agent-config/<provider>.key` is read as a fallback. |
@@ -226,7 +226,7 @@ to `false` in `.agent-settings.yml` to silence post-task analysis without
226
226
  changing the profile.
227
227
 
228
228
  The authoritative matrix of all matrix-controlled settings lives in
229
- [`.agent-src.uncompressed/templates/agent-settings.md`](../.agent-src.uncompressed/templates/agent-settings.md).
229
+ [`.agent-src.uncondensed/templates/agent-settings.md`](../.agent-src.uncondensed/templates/agent-settings.md).
230
230
 
231
231
  ### Chat-history defaults per profile
232
232
 
@@ -240,13 +240,13 @@ behavior — the per-profile table is just the initial default.
240
240
  | `chat_history.enabled` | `true` | `true` | `true` |
241
241
  | `chat_history.frequency` | `per_turn` | `per_phase` | `per_tool` |
242
242
  | `chat_history.max_size_kb` | `128` | `256` | `512` |
243
- | `chat_history.on_overflow` | `rotate` | `rotate` | `compress` |
243
+ | `chat_history.on_overflow` | `rotate` | `rotate` | `condense` |
244
244
 
245
245
  `custom` ignores these defaults — set every value explicitly.
246
246
 
247
247
  ### Verbosity
248
248
 
249
- The `verbosity:` block and `caveman.speak_scope` control how much narration
249
+ The `verbosity:` block and `telegraph.speak_scope` control how much narration
250
250
  the agent emits around routine actions. Defaults are tuned for token
251
251
  frugality — flip values to `true` (or higher tier) to restore legacy verbose
252
252
  output. Iron-Law gates (`commit-policy`, `scope-control` git-ops,
@@ -261,10 +261,10 @@ output. Iron-Law gates (`commit-policy`, `scope-control` git-ops,
261
261
  | `verbosity.intent_announcements` | `true`, `false` | `false` | Intent announcements ("Let me check…", "Now I will…", "Found it") in skill bodies. `false` = act and emit the result. |
262
262
  | `verbosity.script_output` | `silent`, `minimal`, `verbose` | `minimal` | Stdout chatter from `scripts/*.py`, `scripts/*.sh`, and `.augment/scripts/`. `silent` = stderr only; `minimal` = one summary line per script; `verbose` = pre-Phase-10 per-step prints. Iron-Law surfaces (release confirms, install secrets prompts, error markers) ignore this key. |
263
263
  | `verbosity.taskfile_command_echo` | `true`, `false` | `false` | Suppress the `task: [name] cmd...` echo Taskfile prints before each task body. `true` = echoes preserved (legacy behaviour); `false` = `silent: true` is set on every Phase-10 safe task. |
264
- | `caveman.speak_scope` | `off`, `prose_only`, `aggressive` | `prose_only` | How widely caveman-speak grammar applies in chat. `off` = no caveman; `prose_only` = caveman in body prose, numbered options + Iron-Law-literal blocks stay full prose; `aggressive` = caveman everywhere except Iron-Law literals. |
264
+ | `telegraph.speak_scope` | `off`, `prose_only`, `aggressive` | `prose_only` | How widely telegraph-speak grammar applies in chat. `off` = no telegraph; `prose_only` = telegraph in body prose, numbered options + Iron-Law-literal blocks stay full prose; `aggressive` = telegraph everywhere except Iron-Law literals. |
265
265
 
266
266
  The cross-rule index for these defaults lives in
267
- [`.agent-src.uncompressed/contexts/contracts/frugality-charter.md`](../.agent-src.uncompressed/contexts/contracts/frugality-charter.md).
267
+ [`.agent-src.uncondensed/contexts/contracts/frugality-charter.md`](../.agent-src.uncondensed/contexts/contracts/frugality-charter.md).
268
268
  Writer skills (`skill-writing`, `rule-writing`, `command-writing`,
269
269
  `guideline-writing`, `roadmap-writing`, `persona-writing`,
270
270
  `agent-docs-writing`, `context-authoring`, `conventional-commits-writing`,
@@ -394,7 +394,7 @@ tarball and is the source of truth consumed by:
394
394
  > When you read "the Laravel pack", picture a filter over the shared
395
395
  > artefact tree — not a separate npm package. The day ADR-011's
396
396
  > extraction trigger flips, the same scan output drives the split;
397
- > until then, every artefact lives under `.agent-src.uncompressed/`.
397
+ > until then, every artefact lives under `.agent-src.uncondensed/`.
398
398
 
399
399
  Alongside the JSON manifest, the scanner writes
400
400
  `dist/discovery/discovery-manifest.json.sha256` — a sidecar hash that
@@ -502,6 +502,26 @@ in `.agent-settings.yml`; the command then exits 0 with a one-line
502
502
  notice instead of producing a trace. Exit codes: `0` rendered or
503
503
  disabled · `1` no recent run found · `2` invocation error.
504
504
 
505
+ ## Troubleshooting
506
+
507
+ ### A skill appears twice in my AI tool
508
+
509
+ Most common cause: cross-scope drift between a user-global install (e.g.
510
+ `~/.claude/skills/`) and a project-local install (e.g. `./.claude/skills/`).
511
+ Run the probe to confirm:
512
+
513
+ ```bash
514
+ task probe:skills
515
+ # or directly: python3 scripts/probe_skill_registration.py
516
+ ```
517
+
518
+ The probe lists every registration across all six tools and flags
519
+ `DUPLICATE` (same skill in ≥ 2 sources) and `DRIFT` (same skill, different
520
+ descriptions or versions — the actual 2026-05-25 failure mode). To clean a
521
+ stale install at the other scope: `bash scripts/cleanup_other_scope.sh --confirm`.
522
+ Background: [`docs/contracts/skill-distribution-channels.md`](contracts/skill-distribution-channels.md)
523
+ + [`docs/contracts/install-scopes.md`](contracts/install-scopes.md).
524
+
505
525
  ---
506
526
 
507
527
  ← [Back to README](../README.md)
@@ -37,7 +37,7 @@ landed in `kernel-membership.md` § 5.2:
37
37
  **Variant (a) — status quo through P2.2 + P3.1.**
38
38
 
39
39
  - Keep `agent-authority` in the kernel.
40
- - Keep `autonomous-execution` in `compress-and-keep` (auto-tier) per
40
+ - Keep `autonomous-execution` in `condense-and-keep` (auto-tier) per
41
41
  `docs/contracts/rule-classification.md` § 3.2.
42
42
  - Re-evaluate the swap as a P3.2 ADR after the router schema and
43
43
  compiler ship.
@@ -47,7 +47,7 @@ landed in `kernel-membership.md` § 5.2:
47
47
  ### Accepted
48
48
 
49
49
  - 25k hard cap stays intact (no governance erosion via cap-raise).
50
- - 2 Iron-Law-override ADRs land in P2.2 if post-compression
50
+ - 2 Iron-Law-override ADRs land in P2.2 if post-condensation
51
51
  measurement confirms overage (`direct-answers`, `language-and-tone`).
52
52
  - The 9-rule set carried into P2.2 is the locked § 4 list.
53
53
 
@@ -78,7 +78,7 @@ precedence at build time. At that point:
78
78
  (`docs/guidelines/agent-authority.md`) as documentation of the
79
79
  band model.
80
80
  - `autonomous-execution` can be promoted into the kernel under a
81
- new ADR (ADR-N) that replaces this one, *if* its post-compression
81
+ new ADR (ADR-N) that replaces this one, *if* its post-condensation
82
82
  size fits the cap with no further demotion.
83
83
 
84
84
  This deferral is **not** indefinite: P3.2 ships the router compiler;
@@ -90,7 +90,7 @@ migrations) so the migration plan reflects the final kernel set.
90
90
  - **Variant (b) — swap + raise cap to 27k.** Rejected. Raising the
91
91
  hard cap mid-roadmap weakens the original 25k contract that the
92
92
  whole roadmap is built around. If 27k turns out to be the real
93
- ceiling, that is a separate ADR after compression measurement
93
+ ceiling, that is a separate ADR after condensation measurement
94
94
  proves the band, not a pre-emptive concession.
95
95
  - **Variant (c) — swap + demote `verify-before-complete`.**
96
96
  Rejected. `verify-before-complete` carries criterion #1 (Iron
@@ -105,5 +105,5 @@ migrations) so the migration plan reflects the final kernel set.
105
105
  - `docs/contracts/kernel-membership.md` § 4, § 5.2
106
106
  - `agents/runtime/council/sessions/20260506T044941Z-phase1-cross-check-r2.json` <!-- council-ref-allowed: ADR decision trace -->
107
107
  - `agents/roadmaps/road-to-kernel-and-router.md` § Decisions, § Phase 2
108
- - `.agent-src.uncompressed/rules/agent-authority.md` (subject)
109
- - `.agent-src.uncompressed/rules/autonomous-execution.md` (proposed promotion)
108
+ - `.agent-src.uncondensed/rules/agent-authority.md` (subject)
109
+ - `.agent-src.uncondensed/rules/autonomous-execution.md` (proposed promotion)
@@ -1,7 +1,7 @@
1
1
  # ADR-002 — Kernel-Bucket Cap Raise (25k → 26k) and Per-Rule Iron-Law Overrides
2
2
 
3
3
  - **Status:** Accepted (2026-05-06)
4
- - **Phase:** Road to Rule Kernel and Router · P2.2 (Heavy Compression)
4
+ - **Phase:** Road to Rule Kernel and Router · P2.2 (Heavy Condensation)
5
5
  - **Supersedes:** none — extends the Council R2 amendments locked in
6
6
  `docs/contracts/kernel-membership.md` § 5.1 (median r=0.712, per-rule cap 2.5k,
7
7
  kernel-bucket 25k).
@@ -10,27 +10,27 @@
10
10
 
11
11
  ## Context
12
12
 
13
- P1.3 projected the post-compression kernel bucket at **23 071 chars** using
13
+ P1.3 projected the post-condensation kernel bucket at **23 071 chars** using
14
14
  the median pilot ratio r=0.712 (3 pilots: agent-authority, direct-answers,
15
15
  language-and-tone). Pilot rules were **short to medium** (1.0k–2.5k baseline).
16
16
 
17
- P2.2 applied the same compression discipline to the remaining 6 kernel rules
17
+ P2.2 applied the same condensation discipline to the remaining 6 kernel rules
18
18
  (ask-when-uncertain, commit-policy, no-cheap-questions,
19
19
  non-destructive-by-default, scope-control, plus the verify-before-complete
20
20
  auto-tier rule kept by ADR-001). Iron-Law SHA preservation verified for
21
21
  all 8 rules with Iron-Law fences (`scripts/iron_law_sha.py`).
22
22
 
23
- **Empirical post-compression measurements (2026-05-06):**
23
+ **Empirical post-condensation measurements (2026-05-06):**
24
24
 
25
25
  | metric | projected | actual |
26
26
  |---|---:|---:|
27
27
  | kernel bucket sum | 23 071 | **25 590** |
28
- | compression ratio r (kernel-wide) | 0.712 (median pilot) | **0.795** |
28
+ | condensation ratio r (kernel-wide) | 0.712 (median pilot) | **0.795** |
29
29
  | rules > 2.5k cap | 2 (pilots) | 6 |
30
30
  | rules > 4.0k ceiling | 0 | 0 |
31
31
 
32
32
  The actual ratio (0.795) is worse than the pilot median (0.712) because
33
- **longer rules compress less efficiently than short ones**: each Iron-Law
33
+ **longer rules condense less efficiently than short ones**: each Iron-Law
34
34
  rule has a fixed payload of frontmatter, Iron-Law fence, exception
35
35
  enumeration, see-also list — shrinkage is bounded by what cannot leave
36
36
  the rule without breaking the rule's contract. The 5 longest source rules
@@ -61,7 +61,7 @@ enumeration + pre-send self-check + decline/fence semantics).
61
61
  | `direct-answers` | 2 841 | +341 | ✓ |
62
62
 
63
63
  3. **Cap stays sticky.** Future kernel additions or rule-body growth must
64
- either (a) compress within the 26k bucket, (b) externalise to a
64
+ either (a) condense within the 26k bucket, (b) externalise to a
65
65
  `contexts/authority/*` companion, or (c) require a follow-up ADR.
66
66
 
67
67
  ## Rationale
@@ -92,23 +92,23 @@ place.
92
92
  The `commit-policy` rule was trimmed below 2.5k (2 354 chars) by removing
93
93
  a redundant cross-reference line, demonstrating that aggressive trimming
94
94
  is possible where the rule does not carry an enumeration. The 6 overrides
95
- are the rules where further compression would force semantic loss.
95
+ are the rules where further condensation would force semantic loss.
96
96
 
97
97
  ## Consequences
98
98
 
99
99
  - **Pro:** Iron-Law fidelity preserved — every fence still byte-identical
100
100
  to baseline (verified by `iron_law_sha.py --all-kernel`).
101
- - **Pro:** Empirical compression r=0.795 documented; future kernel work
101
+ - **Pro:** Empirical condensation r=0.795 documented; future kernel work
102
102
  uses this as the realistic ratio (not 0.712, which was a pilot-skewed
103
103
  optimum).
104
104
  - **Pro:** Override ceiling (4 000) untouched — no rule grows
105
105
  unboundedly; the 4k cap remains the next checkpoint.
106
106
  - **Con:** 25 590 / 26 000 = 98.4 % bucket utilisation. Adding any
107
- 10th kernel rule would require either compression of an existing rule
107
+ 10th kernel rule would require either condensation of an existing rule
108
108
  or a further cap raise.
109
109
  - **Con:** ratio 0.795 means future "always" promotions cost more than
110
110
  Phase 1 estimated. Phase 4 token-budget measurements should treat
111
- 0.795 as the reference compression rate.
111
+ 0.795 as the reference condensation rate.
112
112
 
113
113
  ## Rollback
114
114
 
@@ -120,7 +120,7 @@ ceiling.
120
120
 
121
121
  - [`docs/contracts/command-clusters.md`](../contracts/command-clusters.md)
122
122
  — locked cluster set + sub-command naming contract.
123
- - [`.agent-src.uncompressed/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md`](../../.agent-src.uncompressed/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md)
123
+ - [`.agent-src.uncondensed/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md`](../../.agent-src.uncondensed/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md)
124
124
  — runtime routing semantics and the colon-canonical rule.
125
- - [`.agent-src.uncompressed/contexts/execution/roadmap-process-loop.md`](../../.agent-src.uncompressed/contexts/execution/roadmap-process-loop.md)
125
+ - [`.agent-src.uncondensed/contexts/execution/roadmap-process-loop.md`](../../.agent-src.uncondensed/contexts/execution/roadmap-process-loop.md)
126
126
  — the shared mechanics that motivated the cluster shape.
@@ -234,7 +234,7 @@ documentation rewrite for marginal additional savings.
234
234
  (Phase 5.4 R3 raw debate)
235
235
  - `docs/decisions/ADR-rule-kernel-and-router.md` (kernel-membership
236
236
  contract — Phase 5 changes leave kernel untouched per Lever C lock)
237
- - `.agent-src.uncompressed/rules/guidelines.md` (deprecated subject)
238
- - `.agent-src.uncompressed/rules/size-enforcement.md` (merged subject)
239
- - `.agent-src.uncompressed/rules/package-ci-checks.md` (demoted subject)
240
- - `.agent-src.uncompressed/rules/analysis-skill-routing.md` (demoted subject)
237
+ - `.agent-src.uncondensed/rules/guidelines.md` (deprecated subject)
238
+ - `.agent-src.uncondensed/rules/size-enforcement.md` (merged subject)
239
+ - `.agent-src.uncondensed/rules/package-ci-checks.md` (demoted subject)
240
+ - `.agent-src.uncondensed/rules/analysis-skill-routing.md` (demoted subject)