@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,117 @@
1
+ ---
2
+ stability: beta
3
+ keep-beta-until: 2026-08-26
4
+ roadmap_ref: road-to-frictionless-employee-workspace.md
5
+ ---
6
+
7
+ # Plain-Language Surface Contract
8
+
9
+ > **Status** · v0 / beta · 2026-05-26. Defines the user-facing
10
+ > relabel matrix for non-developer audiences. Phase C of
11
+ > `road-to-frictionless-employee-workspace.md`. The matrix is the
12
+ > single source of truth; lint enforcement lives in
13
+ > `scripts/lint_role_experiences.py --plain-language`.
14
+
15
+ ## What this is
16
+
17
+ A relabel matrix between the package's **technical vocabulary**
18
+ (council, trust, packs, orchestration, contracts, advisory, …) and
19
+ the **plain-language labels** non-developer audiences (galabau owner,
20
+ sales rep, support agent, team leader, content creator, consultant)
21
+ expect to read.
22
+
23
+ The matrix does **not** rename the technical vocabulary in
24
+ developer-facing artefacts (`SKILL.md`, rule files, ADRs,
25
+ `docs/contracts/`, `docs/decisions/`, `agents/contexts/`, scripts).
26
+ The technical vocabulary earned its place there. The matrix only
27
+ governs three user-facing surfaces:
28
+
29
+ 1. **Workspace UI strings** (`src/ui/pages/WorkspacePage.tsx` and its
30
+ child components — buttons, headings, tooltips, banner text).
31
+ 2. **`docs/getting-started-by-role.md`** — the non-developer entry
32
+ surface. Engineering-lead and developer sections keep the
33
+ technical vocabulary.
34
+ 3. **Role experience `index.md` bodies** (`agents/roles/<slug>/index.md`)
35
+ — the one-paragraph identity + first-task descriptions. The
36
+ `skills.yml` files are link-targets, not user prose, and keep
37
+ the skill IDs verbatim.
38
+
39
+ ## Why
40
+
41
+ The 9.3/10 feedback round (2026-05-25) caught six jargon terms a
42
+ sales rep / galabau owner / support agent does not parse on first
43
+ read: `council`, `trust level`, `pack`, `orchestration`, `contract`,
44
+ `advisory`. Replacing them in the non-developer surface lifts the
45
+ "Daily workspace UX" score from 5.5/10 toward the ≥ 7.5/10 acceptance
46
+ gate; the technical vocabulary survives in the developer-facing
47
+ artefacts where reviewers, contributors, and agents continue to read
48
+ them.
49
+
50
+ ## Matrix
51
+
52
+ | Technical term | Plain-language label | Applies to surface |
53
+ |---|---|---|
54
+ | `council` | `second-opinion check` | Workspace UI · role indices · getting-started |
55
+ | `trust level` | `reliability score` | Workspace UI · role indices · getting-started |
56
+ | `pack` | `ready-made setup` | Workspace UI · role indices · getting-started |
57
+ | `orchestration` | `multi-step workflow` | Workspace UI · role indices · getting-started |
58
+ | `contract` | `guarantee` | Workspace UI · role indices · getting-started |
59
+ | `advisory` | `recommendation` | Workspace UI · role indices · getting-started |
60
+
61
+ ## Carve-outs — surfaces that keep the technical vocabulary
62
+
63
+ The matrix MUST NOT apply to:
64
+
65
+ - `.agent-src.uncondensed/`, `.agent-src/`, `.augment/`, `.claude/`,
66
+ `.cursor/`, `.windsurf/`, `.clinerules/` — all skill / rule /
67
+ command / persona artefacts.
68
+ - `docs/contracts/`, `docs/decisions/`, `docs/architecture.md`,
69
+ `docs/getting-started-laravel.md`, every other developer-facing
70
+ doc.
71
+ - `agents/contexts/`, `agents/roadmaps/`, `scripts/`, source code,
72
+ test fixtures, golden output files.
73
+ - The developer / engineering-lead sections inside
74
+ `docs/getting-started-by-role.md` — those readers are the audience
75
+ for the technical vocabulary.
76
+ - `agents/roles/<slug>/skills.yml` — the skill IDs are URL slugs,
77
+ not user prose. The `why:` strings stay neutral so the launcher's
78
+ shortlist rail is informative; both audiences read them.
79
+
80
+ ## Lint enforcement
81
+
82
+ `scripts/lint_role_experiences.py --plain-language` scans every
83
+ `agents/roles/<slug>/index.md` body for the six jargon terms.
84
+ Frontmatter and fenced code blocks are excluded. Any hit fails the
85
+ lint with a pointer back to this contract. Phase C Step 5 wires the
86
+ flag into `task ci`.
87
+
88
+ ## Tone scaffold
89
+
90
+ When a relabel feels awkward, default to the role's own language:
91
+ the galabau owner does not call something a "second-opinion check"
92
+ verbatim either, but they understand it instantly. Compare:
93
+
94
+ - **Technical:** "the council ruled this trust level is `community`."
95
+ - **Plain:** "the second-opinion check rated this reliability score
96
+ as community-built (less reviewed than core)."
97
+
98
+ The plain version is longer; that is the cost of readability for
99
+ non-developer audiences. Workspace UI strings stay short by carrying
100
+ the relabel without the explanation (the explanation lives in the
101
+ plain-explain right-rail toggle).
102
+
103
+ ## Re-audit cadence
104
+
105
+ Re-audit on each of:
106
+ - A new jargon term entering the user-facing surface (caught either
107
+ by lint or by a feedback round).
108
+ - A role experience adding a section the matrix does not cover.
109
+ - A reviewer round (recruit-session) that names a relabel the matrix
110
+ missed.
111
+
112
+ ## See also
113
+
114
+ - [`docs/getting-started-by-role.md`](../getting-started-by-role.md) — the entry surface.
115
+ - [`docs/contracts/role-experience.md`](role-experience.md) — role artefact shape.
116
+ - [`scripts/lint_role_experiences.py`](../../scripts/lint_role_experiences.py) — lint enforcement.
117
+ - `road-to-frictionless-employee-workspace.md` § Phase C — the roadmap step.
@@ -18,7 +18,7 @@ keep-beta-until: 2026-08-14
18
18
 
19
19
  A **profile** declares the user's audience identity. Six seed profiles
20
20
  ship; users can declare their own under
21
- `.agent-src.uncompressed/profiles/<id>.yml`.
21
+ `.agent-src.uncondensed/profiles/<id>.yml`.
22
22
 
23
23
  | `profile.id` | Audience | README entry-paragraph | Default `preset.id` |
24
24
  |---|---|---|---|
@@ -101,7 +101,7 @@ command (Phase 1 item 3).
101
101
  ## User-defined profiles
102
102
 
103
103
  A consumer project MAY ship a custom profile under
104
- `.agent-src.uncompressed/profiles/<id>.yml`. Constraints:
104
+ `.agent-src.uncondensed/profiles/<id>.yml`. Constraints:
105
105
 
106
106
  - `id` MUST be unique across seed + user-defined profiles.
107
107
  - Shape MUST match the seed contract above (audience / defaults / surface).
@@ -121,7 +121,7 @@ Only changes to the **seed set** require an ADR.
121
121
  - A profile YAML references a non-existent `preset_id`.
122
122
  - The seed-profile count diverges from this contract's table.
123
123
  - `defaults.personas` references a persona id that does not exist
124
- under `.agent-src.uncompressed/personas/`.
124
+ under `.agent-src.uncondensed/personas/`.
125
125
 
126
126
  ## Non-goals
127
127
 
@@ -0,0 +1,103 @@
1
+ # Release-PR Gating Contract
2
+
3
+ > **Status:** active · **Owner:** maintainer (`scripts/release.py`) · **Opened:** 2026-05-26
4
+ >
5
+ > Source: `road-to-optimized-ci-and-release-gates.md` Phase A Step 1. Measured
6
+ > baseline (`gh run list --branch main --limit 50`): `Public Install Smoke`
7
+ > avg **413 s** (3-OS × 2-Node matrix), `Tests` avg **218 s** (Linux + macOS
8
+ > + Windows). Both trigger on `package.json`. Release PRs (`release/X.Y.Z`)
9
+ > only touch `package.json`, `CHANGELOG.md`, `marketplace.json`,
10
+ > `packages/*/pack.yaml`, `packages/*/README.md` — verified against PR #238
11
+ > (3.3.0). They cannot regress install or runtime behaviour by construction.
12
+
13
+ ## Release-PR shape
14
+
15
+ A pull request qualifies as a **release PR** when **both** of the following
16
+ hold:
17
+
18
+ 1. **Head branch matches** `^release/\d+\.\d+\.\d+$` — same regex as
19
+ `scripts/release.py` § `_RELEASE_BRANCH_RE`.
20
+ 2. **Diff file set is a subset of the version-bump allowlist:**
21
+ - `package.json`
22
+ - `CHANGELOG.md`
23
+ - `.claude-plugin/marketplace.json`
24
+ - `packages/*/pack.yaml`
25
+ - `packages/*/README.md`
26
+
27
+ Both predicates are enforced by `scripts/check_release_pr_shape.py`
28
+ (stdlib-only, ≤ 150 LOC). The script exits 0 when both hold; non-zero with
29
+ a per-file diff naming any out-of-allowlist entry otherwise.
30
+
31
+ ## Cut surface — heavy jobs that skip on release PRs
32
+
33
+ Skipped via `if: !startsWith(github.head_ref, 'release/')` guards on the
34
+ heavy install/test jobs. These are the jobs that release PRs cannot regress
35
+ by construction (no install scripts, no runtime code, no test source in the
36
+ release-PR allowlist):
37
+
38
+ | Workflow | Job | Why it cuts |
39
+ |---|---|---|
40
+ | `tests.yml` | `install-tests` | release-PR diff has no `install.sh` / `scripts/install.py` / `tests/test_install.sh` |
41
+ | `tests.yml` | `install-aux-tests` | same — orchestrator, key contracts, one-liner smoke all untouched |
42
+ | `tests.yml` | `python-tests` | release-PR diff has no `scripts/**` or `tests/**` (other than CHANGELOG via path filter — see below) |
43
+ | `tests.yml` | `node-tests` | release-PR diff has no `src/**`, `tests/{cli,server,ui}/**`, `packages/core/installer/**` |
44
+ | `tests.yml` | `windows-lockfile-export` | release-PR diff has no `scripts/install_global*.py`, `scripts/cmd_export.py`, lockfile test surface |
45
+ | `smoke-public-install.yml` | `smoke` | release-PR diff has no `scripts/install*`, `setup.sh`, `templates/**`, `package.json` runtime behaviour |
46
+
47
+ `push:` to `main` and the weekly cron on `smoke-public-install.yml` stay
48
+ **unconditional** — those catch drift the PR matrix can't see.
49
+
50
+ ## Kept surface — release PRs still prove these
51
+
52
+ The release-PR required-check floor stays equivalent (smaller, faster) to
53
+ the feature-PR floor by adding:
54
+
55
+ | Workflow | Job | Proves |
56
+ |---|---|---|
57
+ | `consistency.yml` | (existing) | `task consistency` — source-of-truth integrity |
58
+ | `smoke.yml` | `smoke-contracts` | Contract self-checks (kernel, router, hashes) |
59
+ | `release-guard.yml` | `assert-version-matches-tag` | already gates `npm publish`; remains tag-trigger |
60
+ | `migration-dry-run.yml` | (existing) | Migration plan dry-runs |
61
+ | `release-validation.yml` (Phase B) | `release-shape` | shape detector — fails closed if diff exits the allowlist |
62
+ | `release-validation.yml` (Phase B) | `changelog-entry` | CHANGELOG carries an entry matching the head-branch version |
63
+ | `release-validation.yml` (Phase B) | `version-consistency` | `package.json` / `marketplace.json` / pack manifests agree on the version |
64
+
65
+ ## Rollback trigger — fail-closed
66
+
67
+ The optimisation is **opt-in by shape, not by branch name**. A release-PR
68
+ whose diff contains a stray file outside the allowlist (e.g. a last-minute
69
+ CHANGELOG fixup that also touches `scripts/release.py`) trips the shape
70
+ detector:
71
+
72
+ 1. `check_release_pr_shape.py` exits non-zero with a per-file diff.
73
+ 2. The CI dashboard surfaces "release-shape" red.
74
+ 3. The maintainer either narrows the diff (move the script edit to a
75
+ separate PR) or accepts the heavy matrix re-running on the next push.
76
+
77
+ In other words: the cut applies only when shape is **provably** safe. Branch
78
+ name alone never bypasses the heavy matrix.
79
+
80
+ ## What this contract is not
81
+
82
+ - **Not a test-deletion contract.** Every existing assertion still runs
83
+ somewhere in the cadence (PR for feature PRs, push-to-main + weekly cron
84
+ for smoke).
85
+ - **Not a coverage-reduction contract.** The release-validation jobs are
86
+ additive, not substitutive.
87
+ - **Not a release-velocity contract.** Release cadence is driven by
88
+ Conventional Commits in `scripts/release.py`, not by CI cost.
89
+ - **Not a Hard-Floor lift.** No security check is removed.
90
+ `release-guard.yml`'s `assert-version-matches-tag` job is independent of
91
+ `Tests` / `Public Install Smoke` and stays mandatory on every tag.
92
+
93
+ ## See also
94
+
95
+ - `docs/contracts/branch-protection-policy.md` — per-PR-shape required-check
96
+ matrix (Phase D).
97
+ - `docs/contracts/ci-cost-budget.md` — measured baselines + quarterly review
98
+ cadence (Phase C).
99
+ - `.github/workflows/release-validation.yml` — the tight release-shape
100
+ validation workflow (Phase B).
101
+ - `scripts/check_release_pr_shape.py` — the shape detector (Phase A).
102
+ - `scripts/release.py` § `_RELEASE_BRANCH_RE` — source of truth for the
103
+ release-branch naming convention.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  stability: beta
3
- keep-beta-until: 2026-08-24
3
+ keep-beta-until: 2026-08-23
4
4
  ---
5
5
 
6
6
  # Role-experience contract
@@ -19,7 +19,7 @@ A folder at `agents/roles/<role>/` that contains:
19
19
 
20
20
  A role experience is **not**:
21
21
 
22
- - A new skill — the shortlist references existing skills under `packages/<pack>/.agent-src.uncompressed/skills/`. The role experience curates; it does not implement.
22
+ - A new skill — the shortlist references existing skills under `packages/<pack>/.agent-src.uncondensed/skills/`. The role experience curates; it does not implement.
23
23
  - A documentation page — `docs/getting-started-by-role.md` is the prose surface and links **to** the role experience, never duplicates it.
24
24
  - A persona file under `personas/` — personas are review voices the AI Council uses; role experiences are end-user entry points.
25
25
 
@@ -92,7 +92,7 @@ skills:
92
92
  why: "Section-by-section drafting flow for longer offers."
93
93
  ```
94
94
 
95
- Every `id` must resolve to an existing skill under `packages/<pack>/.agent-src.uncompressed/skills/<id>/SKILL.md` — verified by the lint pass in Phase 3 Step 6.
95
+ Every `id` must resolve to an existing skill under `packages/<pack>/.agent-src.uncondensed/skills/<id>/SKILL.md` — verified by the lint pass in Phase 3 Step 6.
96
96
 
97
97
  ## Versioning + status
98
98
 
@@ -7,7 +7,7 @@ keep-beta-until: 2026-08-12
7
7
  # Rule Classification — Phase 1.2 of road-to-kernel-and-router
8
8
 
9
9
  > **Status:** active · **Stability:** beta · **Owner:** road-to-kernel-and-router P1.2
10
- > · **Source of truth:** `.agent-src.uncompressed/rules/*.md`
10
+ > · **Source of truth:** `.agent-src.uncondensed/rules/*.md`
11
11
 
12
12
  Migration plan for all 56 source rules. **No edits land here** — this
13
13
  document is the disposition map P2 / P4 will execute against.
@@ -16,8 +16,8 @@ document is the disposition map P2 / P4 will execute against.
16
16
 
17
17
  | code | meaning |
18
18
  |---|---|
19
- | `keep-in-kernel` | Iron Law floor / behaviour / safety / tone / ask-policy. Loaded every session. Compressed to ≤ 2.5k chars (P2.2; raised from 1.5k per Council R2). |
20
- | `compress-and-keep` | Behavioural rule that stays in `rules/` as auto-tier. Compressed in place per the P2.2 playbook. Loaded by router on trigger match. |
19
+ | `keep-in-kernel` | Iron Law floor / behaviour / safety / tone / ask-policy. Loaded every session. Condensed to ≤ 2.5k chars (P2.2; raised from 1.5k per Council R2). |
20
+ | `condense-and-keep` | Behavioural rule that stays in `rules/` as auto-tier. Condensed in place per the P2.2 playbook. Loaded by router on trigger match. |
21
21
  | `move-to-skill:<id>` | Procedural how-to content. Body migrates into the named skill (P4.1); rule shrinks to Iron Law one-liner + `routes_to:`. |
22
22
  | `move-to-guideline:<id>` | Reference / examples / mechanics tables. Body migrates into `docs/guidelines/<id>.md` (P4.2); rule keeps Iron Law + pointer. |
23
23
 
@@ -51,25 +51,25 @@ yet.
51
51
  | scope-control | 4368 | `keep-in-kernel` | Iron Law (safety-floor): no unsolicited refactors / git-ops gate |
52
52
  | verify-before-complete | 2344 | `keep-in-kernel` | Iron Law: no completion claims without fresh verification |
53
53
 
54
- **Always-bucket total: 32 403 chars.** Pilot compression rate `r`
54
+ **Always-bucket total: 32 403 chars.** Pilot condensation rate `r`
55
55
  locked at **median 0.712** (P1.3, Council R2 amendment); projection
56
56
  sum = 23 071 chars, under the 25k hard cap with 1 929 chars headroom.
57
57
  Per-rule cap raised to ≤ 2.5k (Council R2). Iron-Law-override ADRs
58
58
  may lift individual rules above 2.5k where Iron-Law density forbids
59
- further compression — currently 2 expected (`direct-answers` +342,
59
+ further condensation — currently 2 expected (`direct-answers` +342,
60
60
  `language-and-tone` +1286). See `kernel-membership.md` § 5.
61
61
 
62
62
  > **Council swap ADR (P2.1 input).** Sonnet 4.5 flagged
63
63
  > `agent-authority` as a routing index (no Iron-Law fence; should
64
64
  > demote to auto-tier-3) and `autonomous-execution` (currently
65
- > `compress-and-keep` below) as a mode-independent Band-4 authority
65
+ > `condense-and-keep` below) as a mode-independent Band-4 authority
66
66
  > that should promote to kernel. Swap accepted ⇒ +1213 chars over
67
67
  > the 25k cap. Decision deferred to P2.1 ADR; current dispositions
68
68
  > below remain locked until the ADR resolves.
69
69
 
70
- ### § 3.2 — auto-rules: compress-and-keep (22)
70
+ ### § 3.2 — auto-rules: condense-and-keep (22)
71
71
 
72
- Behavioural rules with too much Iron-Law content for migration; compress
72
+ Behavioural rules with too much Iron-Law content for migration; condense
73
73
  in place per P2.2 playbook. Loaded by router on trigger match.
74
74
 
75
75
  | id | chars | tier | rationale |
@@ -101,7 +101,7 @@ in place per P2.2 playbook. Loaded by router on trigger match.
101
101
 
102
102
  Procedural how-to. Rule body migrates into named skill (P4.1); rule
103
103
  shrinks to Iron-Law one-liner + `routes_to:`. Skill IDs reference
104
- existing skills under `.agent-src.uncompressed/skills/`.
104
+ existing skills under `.agent-src.uncondensed/skills/`.
105
105
 
106
106
  | id | chars | target skill | rationale |
107
107
  |---|---:|---|---|
@@ -130,7 +130,7 @@ Reference / examples / mechanics. Body migrates into
130
130
 
131
131
  | id | chars | target guideline | rationale |
132
132
  |---|---:|---|---|
133
- | artifact-engagement-recording | 3462 | `artifact-engagement-flow` | Mechanics doc lives in `.agent-src.uncompressed/contexts/contracts/` (P4.1) |
133
+ | artifact-engagement-recording | 3462 | `artifact-engagement-flow` | Mechanics doc lives in `.agent-src.uncondensed/contexts/contracts/` (P4.1) |
134
134
  | augment-portability | 2956 | `augment-portability-patterns` | Project-agnostic-patterns reference |
135
135
  | command-suggestion-policy | 3954 | `command-suggestion-flow` | Flow doc already exists |
136
136
  | php-coding | 3433 | `php-coding-patterns` | Reference table; per-stack |
@@ -142,9 +142,9 @@ Reference / examples / mechanics. Body migrates into
142
142
 
143
143
  | check | command | acceptance |
144
144
  |---|---|---|
145
- | Coverage | `python3 scripts/measure_rule_budget.py` | 56 rules total → 9 kernel + 22 compress + 18 skill + 7 guideline |
145
+ | Coverage | `python3 scripts/measure_rule_budget.py` | 56 rules total → 9 kernel + 22 condense + 18 skill + 7 guideline |
146
146
  | Determinism | `python3 scripts/measure_rule_budget.py --json` × 2 | byte-identical output |
147
- | No-edits | `git diff --stat .agent-src.uncompressed/rules/` | clean (this is plan-only) |
147
+ | No-edits | `git diff --stat .agent-src.uncondensed/rules/` | clean (this is plan-only) |
148
148
 
149
149
  ## § 5 — Open questions
150
150
 
@@ -166,6 +166,6 @@ Reference / examples / mechanics. Body migrates into
166
166
  spec; flagged by Council R2 to prevent inconsistent implementer
167
167
  calls.
168
168
  5. **`think-before-action` / `context-hygiene` / `augment-source-of-
169
- truth` boundary.** Currently `compress-and-keep` (auto). Council
169
+ truth` boundary.** Currently `condense-and-keep` (auto). Council
170
170
  did not flag for promotion; revisit only if the swap ADR (#1)
171
171
  forces a re-projection.
@@ -6,7 +6,7 @@ keep-beta-until: 2026-08-12
6
6
  # Rule-Interaction Matrix
7
7
 
8
8
  > **Audience:** rule authors and reviewers — anyone editing
9
- > `.agent-src.uncompressed/rules/*.md` or proposing a new always-rule.
9
+ > `.agent-src.uncondensed/rules/*.md` or proposing a new always-rule.
10
10
  > **Authoritative source:** [`rule-interactions.yml`](rule-interactions.yml).
11
11
  > **Linter:** `scripts/lint_rule_interactions.py` (run via `task lint-rule-interactions`).
12
12
 
@@ -73,8 +73,8 @@ The YAML uses six relation kinds. Definitions:
73
73
  conflict: … # what triggers both
74
74
  resolution: … # what the agent does
75
75
  evidence:
76
- - .agent-src.uncompressed/rules/non-destructive-by-default.md#the-iron-law
77
- - .agent-src.uncompressed/rules/autonomous-execution.md#hard-floor--see-non-destructive-by-default
76
+ - .agent-src.uncondensed/rules/non-destructive-by-default.md#the-iron-law
77
+ - .agent-src.uncondensed/rules/autonomous-execution.md#hard-floor--see-non-destructive-by-default
78
78
  ```
79
79
 
80
80
  `rules: [a, b]` is ordered: `a` is senior (wins on conflict), `b` is
@@ -117,7 +117,7 @@ source of truth and weaken it. Canonical contracts:
117
117
  | Decision-trace shape (what the engine emits per phase) | [`decision-trace-v1.md`](decision-trace-v1.md) |
118
118
  | Memory contract (entries, scopes, retention) | [`agent-memory-contract.md`](agent-memory-contract.md) |
119
119
  | Memory visibility in the trace (`affected` keys) | [`memory-visibility-v1.md`](memory-visibility-v1.md) |
120
- | AI-Council consultation flow | [`../skills/ai-council/SKILL.md`](../../.agent-src.uncompressed/skills/ai-council/SKILL.md) |
120
+ | AI-Council consultation flow | [`../skills/ai-council/SKILL.md`](../../.agent-src.uncondensed/skills/ai-council/SKILL.md) |
121
121
 
122
122
  Where an `always`-rule **does** interact with one of these surfaces
123
123
  (e.g. `non-destructive-by-default` gating a memory-driven action), the
@@ -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 ...