@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
@@ -8,7 +8,7 @@
8
8
  # Schema:
9
9
  # version: integer
10
10
  # rules: list of rule slugs that participate in any interaction (each
11
- # must exist as `.agent-src.uncompressed/rules/<slug>.md`)
11
+ # must exist as `.agent-src.uncondensed/rules/<slug>.md`)
12
12
  # pairs: list of pairwise interactions
13
13
  # - id: kebab-case stable identifier
14
14
  # rules: [senior, junior] — `senior` wins on conflict
@@ -49,8 +49,8 @@ pairs:
49
49
  numbered-options block, wait for explicit user confirmation on
50
50
  this turn before proceeding.
51
51
  evidence:
52
- - .agent-src.uncompressed/rules/non-destructive-by-default.md#the-iron-law
53
- - .agent-src.uncompressed/rules/autonomous-execution.md#hard-floor--see-non-destructive-by-default
52
+ - .agent-src.uncondensed/rules/non-destructive-by-default.md#the-iron-law
53
+ - .agent-src.uncondensed/rules/autonomous-execution.md#hard-floor--see-non-destructive-by-default
54
54
 
55
55
  - id: ndd-x-scope-control
56
56
  rules: [non-destructive-by-default, scope-control]
@@ -64,9 +64,9 @@ pairs:
64
64
  cannot be weakened by future scope-control edits. On any conflict,
65
65
  the floor wins.
66
66
  evidence:
67
- - .agent-src.uncompressed/rules/non-destructive-by-default.md#the-iron-law
68
- - .agent-src.uncompressed/rules/scope-control.md#git-operations--permission-gated
69
- - .agent-src.uncompressed/rules/scope-control.md#production-infrastructure-bulk-destructive--hard-floor
67
+ - .agent-src.uncondensed/rules/non-destructive-by-default.md#the-iron-law
68
+ - .agent-src.uncondensed/rules/scope-control.md#git-operations--permission-gated
69
+ - .agent-src.uncondensed/rules/scope-control.md#production-infrastructure-bulk-destructive--hard-floor
70
70
 
71
71
  - id: ndd-x-commit-policy
72
72
  rules: [non-destructive-by-default, commit-policy]
@@ -82,8 +82,8 @@ pairs:
82
82
  then commit. The four exceptions cover *whether* commits happen;
83
83
  the floor covers *which diffs* still need a separate confirmation.
84
84
  evidence:
85
- - .agent-src.uncompressed/rules/non-destructive-by-default.md#the-iron-law
86
- - .agent-src.uncompressed/rules/commit-policy.md#hard-floor-still-applies--bulk-deletions-and-infra-changes
85
+ - .agent-src.uncondensed/rules/non-destructive-by-default.md#the-iron-law
86
+ - .agent-src.uncondensed/rules/commit-policy.md#hard-floor-still-applies--bulk-deletions-and-infra-changes
87
87
 
88
88
  - id: ndd-x-ask-when-uncertain
89
89
  rules: [non-destructive-by-default, ask-when-uncertain]
@@ -97,8 +97,8 @@ pairs:
97
97
  provides the question shape (one numbered-options block, blocking).
98
98
  No conflict; both fire harmoniously.
99
99
  evidence:
100
- - .agent-src.uncompressed/rules/non-destructive-by-default.md#failure-modes
101
- - .agent-src.uncompressed/rules/ask-when-uncertain.md#vague-request-triggers--must-ask
100
+ - .agent-src.uncondensed/rules/non-destructive-by-default.md#failure-modes
101
+ - .agent-src.uncondensed/rules/ask-when-uncertain.md#vague-request-triggers--must-ask
102
102
 
103
103
  - id: ndd-x-verify-before-complete
104
104
  rules: [non-destructive-by-default, verify-before-complete]
@@ -112,8 +112,8 @@ pairs:
112
112
  verification evidence in the same message. Skipping either is a
113
113
  rule violation.
114
114
  evidence:
115
- - .agent-src.uncompressed/rules/non-destructive-by-default.md#the-iron-law
116
- - .agent-src.uncompressed/rules/verify-before-complete.md#the-iron-law
115
+ - .agent-src.uncondensed/rules/non-destructive-by-default.md#the-iron-law
116
+ - .agent-src.uncondensed/rules/verify-before-complete.md#the-iron-law
117
117
 
118
118
  - id: autonomy-x-scope-control
119
119
  rules: [scope-control, autonomous-execution]
@@ -127,8 +127,8 @@ pairs:
127
127
  suppresses *trivial* questions only; git-shape decisions are
128
128
  blocking. Stop and ask.
129
129
  evidence:
130
- - .agent-src.uncompressed/rules/scope-control.md#git-operations--permission-gated
131
- - .agent-src.uncompressed/rules/autonomous-execution.md#blocking--still-ask-regardless-of-personalautonomy
130
+ - .agent-src.uncondensed/rules/scope-control.md#git-operations--permission-gated
131
+ - .agent-src.uncondensed/rules/autonomous-execution.md#blocking--still-ask-regardless-of-personalautonomy
132
132
 
133
133
  - id: autonomy-x-commit-policy
134
134
  rules: [commit-policy, autonomous-execution]
@@ -141,8 +141,8 @@ pairs:
141
141
  committing unless one of the four exceptions applies. Autonomy
142
142
  does not add a fifth exception.
143
143
  evidence:
144
- - .agent-src.uncompressed/rules/commit-policy.md#the-iron-law
145
- - .agent-src.uncompressed/rules/autonomous-execution.md#commit-policy--see-commit-policy
144
+ - .agent-src.uncondensed/rules/commit-policy.md#the-iron-law
145
+ - .agent-src.uncondensed/rules/autonomous-execution.md#commit-policy--see-commit-policy
146
146
 
147
147
  - id: authority-x-ndd
148
148
  rules: [agent-authority, non-destructive-by-default]
@@ -155,8 +155,8 @@ pairs:
155
155
  Floor's Iron Law lives verbatim in `non-destructive-by-default`
156
156
  and wins every conflict. The index points; it never restates.
157
157
  evidence:
158
- - .agent-src.uncompressed/rules/agent-authority.md#index-rules
159
- - .agent-src.uncompressed/rules/non-destructive-by-default.md#the-iron-law
158
+ - .agent-src.uncondensed/rules/agent-authority.md#index-rules
159
+ - .agent-src.uncondensed/rules/non-destructive-by-default.md#the-iron-law
160
160
 
161
161
  - id: authority-x-scope-control
162
162
  rules: [agent-authority, scope-control]
@@ -169,8 +169,8 @@ pairs:
169
169
  scope-expansion decisions. Index never narrows or weakens the
170
170
  gate; canonical rule wins on any wording divergence.
171
171
  evidence:
172
- - .agent-src.uncompressed/rules/agent-authority.md#index-rules
173
- - .agent-src.uncompressed/rules/scope-control.md#git-operations--permission-gated
172
+ - .agent-src.uncondensed/rules/agent-authority.md#index-rules
173
+ - .agent-src.uncondensed/rules/scope-control.md#git-operations--permission-gated
174
174
 
175
175
  - id: authority-x-commit-policy
176
176
  rules: [agent-authority, commit-policy]
@@ -184,8 +184,8 @@ pairs:
184
184
  edits to commit-policy do not require Index updates unless the
185
185
  band ordering changes.
186
186
  evidence:
187
- - .agent-src.uncompressed/rules/agent-authority.md#index-rules
188
- - .agent-src.uncompressed/rules/commit-policy.md#exceptions--when-committing-is-allowed
187
+ - .agent-src.uncondensed/rules/agent-authority.md#index-rules
188
+ - .agent-src.uncondensed/rules/commit-policy.md#exceptions--when-committing-is-allowed
189
189
 
190
190
  - id: scope-x-commit-policy
191
191
  rules: [scope-control, commit-policy]
@@ -201,8 +201,8 @@ pairs:
201
201
  tag operations. On commit specifics, defer to `commit-policy`;
202
202
  on other git ops, defer to `scope-control`.
203
203
  evidence:
204
- - .agent-src.uncompressed/rules/scope-control.md#git-operations--permission-gated
205
- - .agent-src.uncompressed/rules/commit-policy.md#the-iron-law
204
+ - .agent-src.uncondensed/rules/scope-control.md#git-operations--permission-gated
205
+ - .agent-src.uncondensed/rules/commit-policy.md#the-iron-law
206
206
 
207
207
  - id: ask-x-direct-answers
208
208
  rules: [ask-when-uncertain, direct-answers]
@@ -218,8 +218,8 @@ pairs:
218
218
  `direct-answers` shapes *how* the question reads — no flattery,
219
219
  no padding, shortest form that fully states the choice.
220
220
  evidence:
221
- - .agent-src.uncompressed/rules/ask-when-uncertain.md#iron-law--one-question-per-turn-always
222
- - .agent-src.uncompressed/rules/direct-answers.md#iron-law-3--brevity-by-default
221
+ - .agent-src.uncondensed/rules/ask-when-uncertain.md#iron-law--one-question-per-turn-always
222
+ - .agent-src.uncondensed/rules/direct-answers.md#iron-law-3--brevity-by-default
223
223
 
224
224
  - id: scope-x-verify-before-complete
225
225
  rules: [verify-before-complete, scope-control]
@@ -240,8 +240,8 @@ pairs:
240
240
  Skipping either is a rule violation; satisfying one does not
241
241
  satisfy the other.
242
242
  evidence:
243
- - .agent-src.uncompressed/rules/verify-before-complete.md#the-iron-law
244
- - .agent-src.uncompressed/rules/scope-control.md#git-operations--permission-gated
243
+ - .agent-src.uncondensed/rules/verify-before-complete.md#the-iron-law
244
+ - .agent-src.uncondensed/rules/scope-control.md#git-operations--permission-gated
245
245
 
246
246
  - id: language-x-direct-answers
247
247
  rules: [language-and-tone, direct-answers]
@@ -256,5 +256,5 @@ pairs:
256
256
  flattery-free reply in the user's language. Neither weakens the
257
257
  other.
258
258
  evidence:
259
- - .agent-src.uncompressed/rules/language-and-tone.md#iron-law--mirror-the-users-language-always
260
- - .agent-src.uncompressed/rules/direct-answers.md#iron-law-1--no-flattery
259
+ - .agent-src.uncondensed/rules/language-and-tone.md#iron-law--mirror-the-users-language-always
260
+ - .agent-src.uncondensed/rules/direct-answers.md#iron-law-1--no-flattery
@@ -5,7 +5,7 @@ keep-beta-until: 2026-08-12
5
5
 
6
6
  # Rule Priority Hierarchy
7
7
 
8
- > **Audience:** anyone reading or editing `.agent-src.uncompressed/rules/*.md`,
8
+ > **Audience:** anyone reading or editing `.agent-src.uncondensed/rules/*.md`,
9
9
  > or trying to predict which rule wins when several fire on the same turn.
10
10
  > **Machine-readable counterpart:** [`rule-interactions.yml`](rule-interactions.yml)
11
11
  > (linted by `scripts/lint_rule_interactions.py`).
@@ -32,15 +32,15 @@ fires — that band's canonical rule decides the turn.
32
32
 
33
33
  | Band | Rule | What it gates | Lifts under |
34
34
  |---|---|---|---|
35
- | 1 | [`non-destructive-by-default`](../../.agent-src.uncompressed/rules/non-destructive-by-default.md) | Prod-trunk merge · deploy · push · prod data/infra · whimsical bulk deletion · bulk-deletion or infra commit | **Never.** Explicit user confirmation *this turn* only. |
36
- | 2 | [`security-sensitive-stop`](../../.agent-src.uncompressed/rules/security-sensitive-stop.md) | Auth · billing · tenant boundaries · secrets · file uploads · webhooks · public endpoints | Threat-model pass completed and recorded *before* the edit. |
37
- | 3 | [`scope-control`](../../.agent-src.uncompressed/rules/scope-control.md) | Git ops (branch · PR · tag · push · merge · rebase) · architectural changes · new libraries · scope expansion | Explicit user permission *this turn* or unrevoked standing instruction. |
38
- | 4 | [`ask-when-uncertain`](../../.agent-src.uncompressed/rules/ask-when-uncertain.md) | Ambiguous requirements · vague-request triggers · fenced steps | Concrete evidence resolves the ambiguity, **or** user answers the single question. |
39
- | 5 | [`commit-policy`](../../.agent-src.uncompressed/rules/commit-policy.md) | Any `git commit` | Four exceptions only — explicit "commit now", standing instruction, `/commit*` invocation, roadmap authorization. |
40
- | 6 | [`verify-before-complete`](../../.agent-src.uncompressed/rules/verify-before-complete.md) | "Done" / "complete" claims · suggestions to commit, push, or PR | Fresh verification evidence in *this* message. |
41
- | 7 | [`autonomous-execution`](../../.agent-src.uncompressed/rules/autonomous-execution.md) | Trivial-vs-blocking classification · autonomy opt-in detection | Per-step decision; never above bands 1–6. |
42
- | 8 | [`command-suggestion-policy`](../../.agent-src.uncompressed/rules/command-suggestion-policy.md) | Surfacing slash-command matches as numbered options | User always picks; nothing auto-executes. |
43
- | 9 | [`language-and-tone`](../../.agent-src.uncompressed/rules/language-and-tone.md) | First-token language of every reply · `.md` always English | Mirror the user's last chat message — no momentum exception. |
35
+ | 1 | [`non-destructive-by-default`](../../.agent-src.uncondensed/rules/non-destructive-by-default.md) | Prod-trunk merge · deploy · push · prod data/infra · whimsical bulk deletion · bulk-deletion or infra commit | **Never.** Explicit user confirmation *this turn* only. |
36
+ | 2 | [`security-sensitive-stop`](../../.agent-src.uncondensed/rules/security-sensitive-stop.md) | Auth · billing · tenant boundaries · secrets · file uploads · webhooks · public endpoints | Threat-model pass completed and recorded *before* the edit. |
37
+ | 3 | [`scope-control`](../../.agent-src.uncondensed/rules/scope-control.md) | Git ops (branch · PR · tag · push · merge · rebase) · architectural changes · new libraries · scope expansion | Explicit user permission *this turn* or unrevoked standing instruction. |
38
+ | 4 | [`ask-when-uncertain`](../../.agent-src.uncondensed/rules/ask-when-uncertain.md) | Ambiguous requirements · vague-request triggers · fenced steps | Concrete evidence resolves the ambiguity, **or** user answers the single question. |
39
+ | 5 | [`commit-policy`](../../.agent-src.uncondensed/rules/commit-policy.md) | Any `git commit` | Four exceptions only — explicit "commit now", standing instruction, `/commit*` invocation, roadmap authorization. |
40
+ | 6 | [`verify-before-complete`](../../.agent-src.uncondensed/rules/verify-before-complete.md) | "Done" / "complete" claims · suggestions to commit, push, or PR | Fresh verification evidence in *this* message. |
41
+ | 7 | [`autonomous-execution`](../../.agent-src.uncondensed/rules/autonomous-execution.md) | Trivial-vs-blocking classification · autonomy opt-in detection | Per-step decision; never above bands 1–6. |
42
+ | 8 | [`command-suggestion-policy`](../../.agent-src.uncondensed/rules/command-suggestion-policy.md) | Surfacing slash-command matches as numbered options | User always picks; nothing auto-executes. |
43
+ | 9 | [`language-and-tone`](../../.agent-src.uncondensed/rules/language-and-tone.md) | First-token language of every reply · `.md` always English | Mirror the user's last chat message — no momentum exception. |
44
44
 
45
45
  **Read direction:** top-to-bottom is *priority on conflict*, not chronology.
46
46
  A turn typically touches several bands at once; the hierarchy decides
@@ -55,9 +55,9 @@ which one's Iron Law gets the final say.
55
55
  canonical rule files. This hierarchy points; it does not paraphrase.
56
56
  - **Bands 1–2 are *Hard Floors*.** No autonomy setting, no roadmap step,
57
57
  no standing instruction lifts them. See
58
- [`agent-authority`](../../.agent-src.uncompressed/rules/agent-authority.md)
58
+ [`agent-authority`](../../.agent-src.uncondensed/rules/agent-authority.md)
59
59
  § Index rules for the matching authority statement.
60
- - **Unsure → ask.** [`ask-when-uncertain`](../../.agent-src.uncompressed/rules/ask-when-uncertain.md)
60
+ - **Unsure → ask.** [`ask-when-uncertain`](../../.agent-src.uncondensed/rules/ask-when-uncertain.md)
61
61
  is the universal escape hatch when the band is unclear.
62
62
 
63
63
  ## Worked examples
@@ -73,7 +73,7 @@ which one's Iron Law gets the final say.
73
73
 
74
74
  ## Cross-references
75
75
 
76
- - [`agent-authority`](../../.agent-src.uncompressed/rules/agent-authority.md) — the four-band authority router (bands 1–3 + 7 of this hierarchy).
76
+ - [`agent-authority`](../../.agent-src.uncondensed/rules/agent-authority.md) — the four-band authority router (bands 1–3 + 7 of this hierarchy).
77
77
  - [`rule-interactions.md`](rule-interactions.md) — pairwise interaction narrative + Mermaid diagram.
78
78
  - [`rule-interactions.yml`](rule-interactions.yml) — machine-readable, CI-linted matrix.
79
79
  - [`STABILITY.md`](STABILITY.md) — what the `stability: beta` tag means for breaking changes.
@@ -71,9 +71,9 @@ resolves to the target file under:
71
71
 
72
72
  | kind | path |
73
73
  |---|---|
74
- | `skill` | `.agent-src.uncompressed/skills/<id>/SKILL.md` |
74
+ | `skill` | `.agent-src.uncondensed/skills/<id>/SKILL.md` |
75
75
  | `guideline` | `docs/guidelines/<id>.md` |
76
- | `command` | `.agent-src.uncompressed/commands/<id>.md` |
76
+ | `command` | `.agent-src.uncondensed/commands/<id>.md` |
77
77
  | `contract` | `docs/contracts/<id>.md` |
78
78
 
79
79
  Linter checks each target exists. `command` is for procedural rules
@@ -34,7 +34,7 @@ listed there cannot be set to `allow` here.
34
34
  ## Schema
35
35
 
36
36
  ```yaml
37
- # .agent-src.uncompressed/profiles/<id>.yml — new top-level key
37
+ # .agent-src.uncondensed/profiles/<id>.yml — new top-level key
38
38
  profile:
39
39
  id: <profile.id>
40
40
  # ... existing fields ...
@@ -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