@event4u/agent-config 3.3.0 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (561) hide show
  1. package/.agent-src/README.md +2 -2
  2. package/.agent-src/commands/agent-handoff.md +31 -2
  3. package/.agent-src/commands/agent-status.md +5 -5
  4. package/.agent-src/commands/agents/audit.md +8 -8
  5. package/.agent-src/commands/agents/init.md +25 -1
  6. package/.agent-src/commands/agents/optimize.md +3 -3
  7. package/.agent-src/commands/agents/user.md +1 -1
  8. package/.agent-src/commands/agents.md +1 -1
  9. package/.agent-src/commands/analyze-reference-repo.md +1 -1
  10. package/.agent-src/commands/check-current-md.md +8 -8
  11. package/.agent-src/commands/{compress.md → condense.md} +55 -55
  12. package/.agent-src/commands/context/create.md +7 -4
  13. package/.agent-src/commands/context/refactor.md +3 -1
  14. package/.agent-src/commands/feature/dev.md +1 -1
  15. package/.agent-src/commands/feature/explore.md +1 -1
  16. package/.agent-src/commands/feature/plan.md +10 -8
  17. package/.agent-src/commands/feature/refactor.md +3 -1
  18. package/.agent-src/commands/feature/roadmap.md +7 -4
  19. package/.agent-src/commands/fix/portability.md +3 -3
  20. package/.agent-src/commands/fix/refs.md +4 -4
  21. package/.agent-src/commands/ghostwriter.md +2 -2
  22. package/.agent-src/commands/memory/learn-low-impact.md +3 -3
  23. package/.agent-src/commands/module/explore.md +34 -8
  24. package/.agent-src/commands/optimize/agents-dir.md +9 -7
  25. package/.agent-src/commands/optimize/augmentignore.md +2 -2
  26. package/.agent-src/commands/optimize/skills.md +9 -9
  27. package/.agent-src/commands/post-as.md +1 -1
  28. package/.agent-src/commands/project-analyze.md +2 -2
  29. package/.agent-src/commands/project-health.md +3 -2
  30. package/.agent-src/commands/research/deep.md +1 -1
  31. package/.agent-src/commands/research/report.md +1 -1
  32. package/.agent-src/commands/research.md +1 -1
  33. package/.agent-src/commands/roadmap/ai-council.md +1 -1
  34. package/.agent-src/commands/roadmap/create.md +9 -4
  35. package/.agent-src/commands/rule-compliance-audit.md +1 -1
  36. package/.agent-src/commands/upstream-contribute.md +14 -14
  37. package/.agent-src/commands/video/from-script.md +1 -1
  38. package/.agent-src/commands/video/scene.md +1 -1
  39. package/.agent-src/commands/video/stitch.md +1 -1
  40. package/.agent-src/commands/video/storyboard.md +1 -1
  41. package/.agent-src/commands/video.md +1 -1
  42. package/.agent-src/contexts/augment-infrastructure.md +1 -1
  43. package/.agent-src/contexts/authority/commit-mechanics.md +15 -0
  44. package/.agent-src/contexts/authority/kernel-rule-edits.md +3 -3
  45. package/.agent-src/contexts/authority/scope-mechanics.md +1 -1
  46. package/.agent-src/contexts/communication/rules-auto/augment-source-of-truth-mechanics.md +28 -28
  47. package/.agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +4 -4
  48. package/.agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +2 -2
  49. package/.agent-src/contexts/contracts/artifact-engagement-flow.md +6 -6
  50. package/.agent-src/contexts/contracts/command-suggestion-flow.md +3 -3
  51. package/.agent-src/contexts/contracts/emergency-triage-block.md +4 -4
  52. package/.agent-src/contexts/contracts/frugality-charter.md +3 -3
  53. package/.agent-src/contexts/documentation-hierarchy.md +14 -7
  54. package/.agent-src/contexts/execution/autonomy-examples.md +1 -1
  55. package/.agent-src/contexts/execution/cheap-question-mechanics.md +39 -2
  56. package/.agent-src/contexts/execution/roadmap-process-loop.md +28 -5
  57. package/.agent-src/contexts/override-system.md +5 -5
  58. package/.agent-src/ghostwriter/fictional-fixture-v1.md +1 -1
  59. package/.agent-src/personas/advisors/first-principles.md +1 -1
  60. package/.agent-src/personas/hollywood-director.md +1 -1
  61. package/.agent-src/rules/architecture.md +5 -1
  62. package/.agent-src/rules/augment-edit-discipline.md +5 -5
  63. package/.agent-src/rules/augment-source-of-truth.md +15 -15
  64. package/.agent-src/rules/commit-conventions.md +1 -1
  65. package/.agent-src/rules/commit-policy.md +10 -0
  66. package/.agent-src/rules/domain-adoption-policy.md +3 -3
  67. package/.agent-src/rules/fast-path-marker-visibility.md +3 -3
  68. package/.agent-src/rules/finance-safety-floor.md +1 -1
  69. package/.agent-src/rules/framework-neutrality-in-generic-skills.md +8 -8
  70. package/.agent-src/rules/git-history-discipline.md +1 -1
  71. package/.agent-src/rules/improve-before-implement.md +2 -2
  72. package/.agent-src/rules/language-and-tone.md +2 -2
  73. package/.agent-src/rules/media-governance-routing.md +5 -5
  74. package/.agent-src/rules/no-attribution-footers.md +1 -0
  75. package/.agent-src/rules/no-cheap-questions.md +3 -0
  76. package/.agent-src/rules/no-decorative-emojis-in-git-surfaces.md +111 -0
  77. package/.agent-src/rules/no-pr-progress-comments.md +118 -0
  78. package/.agent-src/rules/no-roadmap-references.md +3 -3
  79. package/.agent-src/rules/non-destructive-by-default.md +1 -1
  80. package/.agent-src/rules/persona-governance.md +3 -3
  81. package/.agent-src/rules/preservation-guard.md +15 -15
  82. package/.agent-src/rules/roadmap-ci-steps-policy.md +7 -3
  83. package/.agent-src/rules/rule-type-governance.md +1 -1
  84. package/.agent-src/rules/skill-quality.md +1 -1
  85. package/.agent-src/rules/{caveman-speak.md → telegraph-speak.md} +15 -15
  86. package/.agent-src/rules/token-optimizer-maintenance.md +6 -6
  87. package/.agent-src/skills/agent-docs-writing/SKILL.md +17 -11
  88. package/.agent-src/skills/agents-md-thin-root/SKILL.md +9 -9
  89. package/.agent-src/skills/check-refs/SKILL.md +2 -2
  90. package/.agent-src/skills/code-refactoring/SKILL.md +2 -2
  91. package/.agent-src/skills/command-writing/SKILL.md +19 -19
  92. package/.agent-src/skills/comp-banding/SKILL.md +1 -1
  93. package/.agent-src/skills/condense-memory/SKILL.md +131 -0
  94. package/.agent-src/skills/context-authoring/SKILL.md +2 -2
  95. package/.agent-src/skills/context-document/SKILL.md +5 -3
  96. package/.agent-src/skills/copilot-agents-optimization/SKILL.md +3 -3
  97. package/.agent-src/skills/description-assist/SKILL.md +2 -2
  98. package/.agent-src/skills/git-workflow/SKILL.md +1 -1
  99. package/.agent-src/skills/guideline-writing/SKILL.md +5 -5
  100. package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +4 -4
  101. package/.agent-src/skills/lint-skills/SKILL.md +3 -3
  102. package/.agent-src/skills/md-language-check/SKILL.md +2 -2
  103. package/.agent-src/skills/module-detect-on-the-fly/SKILL.md +138 -0
  104. package/.agent-src/skills/module-management/SKILL.md +166 -94
  105. package/.agent-src/skills/override-management/SKILL.md +1 -1
  106. package/.agent-src/skills/persona-writing/SKILL.md +5 -5
  107. package/.agent-src/skills/positioning-strategy/SKILL.md +1 -1
  108. package/.agent-src/skills/project-docs/SKILL.md +6 -4
  109. package/.agent-src/skills/readme-reviewer/SKILL.md +2 -2
  110. package/.agent-src/skills/roadmap-management/SKILL.md +13 -1
  111. package/.agent-src/skills/roadmap-writing/SKILL.md +4 -2
  112. package/.agent-src/skills/rule-refactor/SKILL.md +5 -5
  113. package/.agent-src/skills/rule-writing/SKILL.md +18 -18
  114. package/.agent-src/skills/script-writing/SKILL.md +1 -1
  115. package/.agent-src/skills/skill-improvement-pipeline/SKILL.md +6 -6
  116. package/.agent-src/skills/skill-management/SKILL.md +21 -21
  117. package/.agent-src/skills/skill-reviewer/SKILL.md +2 -2
  118. package/.agent-src/skills/skill-writing/SKILL.md +8 -8
  119. package/.agent-src/skills/skill-writing/evals/triggers.json +1 -1
  120. package/.agent-src/skills/token-optimizer/SKILL.md +4 -4
  121. package/.agent-src/skills/unit-economics-modeling/SKILL.md +1 -1
  122. package/.agent-src/skills/upstream-contribute/SKILL.md +17 -17
  123. package/.agent-src/templates/AGENTS.md +1 -0
  124. package/.agent-src/templates/agent-settings.md +24 -13
  125. package/.agent-src/templates/agents/agent-project-settings.example.yml +61 -2
  126. package/.agent-src/templates/command.md +5 -5
  127. package/.agent-src/templates/contexts.md +1 -1
  128. package/.agent-src/templates/copilot-instructions.md +8 -8
  129. package/.agent-src/templates/features.md +1 -1
  130. package/.agent-src/templates/hooks/pre-commit-frontmatter +2 -2
  131. package/.agent-src/templates/hooks/pre-commit-roadmap-progress +3 -3
  132. package/.agent-src/templates/persona.md +2 -2
  133. package/.agent-src/templates/roadmaps.md +1 -1
  134. package/.agent-src/templates/rule.md +13 -13
  135. package/.agent-src/templates/scripts/memory_lookup.py +1 -1
  136. package/.agent-src/templates/scripts/memory_status.py +2 -2
  137. package/.agent-src/templates/scripts/work_engine/_lib/agent_settings.py +195 -1
  138. package/.agent-src/templates/scripts/work_engine/orchestration.py +1 -1
  139. package/.agent-src/templates/skill-archive-note.md +5 -5
  140. package/.agent-src/templates/skill.md +1 -1
  141. package/.claude-plugin/marketplace.json +4 -4
  142. package/AGENTS.md +16 -17
  143. package/CHANGELOG.md +216 -3
  144. package/CONTRIBUTING.md +31 -12
  145. package/README.md +21 -12
  146. package/config/agent-settings.template.yml +22 -2
  147. package/config/discovery/unassigned-artefacts.yml +24 -24
  148. package/config/profiles/full.ini +1 -1
  149. package/dist/cli/agent-config.js +52 -3
  150. package/dist/cli/agent-config.js.map +1 -1
  151. package/dist/cli/commands/uiServe.js +9 -0
  152. package/dist/cli/commands/uiServe.js.map +1 -1
  153. package/dist/cli/registry.js +2 -1
  154. package/dist/cli/registry.js.map +1 -1
  155. package/dist/discovery/deprecation-report.md +1 -1
  156. package/dist/discovery/discovery-manifest.json +649 -606
  157. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  158. package/dist/discovery/discovery-manifest.summary.md +4 -4
  159. package/dist/discovery/orphan-report.md +1 -1
  160. package/dist/discovery/packs.json +439 -437
  161. package/dist/discovery/trust-report.md +5 -5
  162. package/dist/discovery/workspaces.json +450 -448
  163. package/dist/install/atomic.js +92 -0
  164. package/dist/install/atomic.js.map +1 -0
  165. package/dist/install/conflict.js +196 -0
  166. package/dist/install/conflict.js.map +1 -0
  167. package/dist/install/detect.js +218 -0
  168. package/dist/install/detect.js.map +1 -0
  169. package/dist/install/paths.js +82 -0
  170. package/dist/install/paths.js.map +1 -0
  171. package/dist/install/plan.js +157 -0
  172. package/dist/install/plan.js.map +1 -0
  173. package/dist/install/txlog.js +140 -0
  174. package/dist/install/txlog.js.map +1 -0
  175. package/dist/install/types.js +19 -0
  176. package/dist/install/types.js.map +1 -0
  177. package/dist/install/wizard-plan.js +184 -0
  178. package/dist/install/wizard-plan.js.map +1 -0
  179. package/dist/mcp/registry-manifest.json +4 -4
  180. package/dist/router.json +67 -19
  181. package/dist/server/app.js +6 -0
  182. package/dist/server/app.js.map +1 -1
  183. package/dist/server/routes/install.js +358 -0
  184. package/dist/server/routes/install.js.map +1 -0
  185. package/dist/server/routes/wizard.js +468 -32
  186. package/dist/server/routes/wizard.js.map +1 -1
  187. package/dist/server/routes/workspace.js +396 -0
  188. package/dist/server/routes/workspace.js.map +1 -0
  189. package/dist/server/schemas/settings.js +5 -3
  190. package/dist/server/schemas/settings.js.map +1 -1
  191. package/dist/ui/assets/index-BDAhhpDV.js +40 -0
  192. package/dist/ui/assets/index-BDAhhpDV.js.map +1 -0
  193. package/dist/ui/assets/index-BXZILUxe.css +1 -0
  194. package/dist/ui/index.html +2 -2
  195. package/docs/MIGRATION.md +1 -1
  196. package/docs/adrs/cost/0001-hard-stop-hook.md +1 -1
  197. package/docs/adrs/router/0001-three-tier-routing.md +4 -4
  198. package/docs/adrs/schema/0001-json-schema-frontmatter.md +1 -1
  199. package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +4 -4
  200. package/docs/adrs/{caveman → telegraph}/0001-default-off-until-bench.md +9 -9
  201. package/docs/adrs/telegraph/README.md +9 -0
  202. package/docs/architecture/augment-projection.md +4 -4
  203. package/docs/architecture/claude-bundle.md +1 -1
  204. package/docs/architecture/current-onboard-baseline.md +3 -3
  205. package/docs/architecture/multi-tool-projection.md +10 -10
  206. package/docs/architecture/source-projection.md +27 -27
  207. package/docs/architecture.md +19 -15
  208. package/docs/archive/CHANGELOG-pre-2.11.0.md +2 -2
  209. package/docs/archive/CHANGELOG-pre-2.15.0.md +3 -3
  210. package/docs/archive/CHANGELOG-pre-2.16.0.md +1 -1
  211. package/docs/archive/CHANGELOG-pre-2.2.0.md +70 -70
  212. package/docs/archive/CHANGELOG-pre-2.20.0.md +2 -2
  213. package/docs/archive/CHANGELOG-pre-2.25.0.md +15 -15
  214. package/docs/archive/CHANGELOG-pre-3.0.0.md +4 -4
  215. package/docs/archive/CHANGELOG-pre-3.1.0.md +2 -2
  216. package/docs/archive/CHANGELOG-pre-3.2.0.md +3 -3
  217. package/docs/benchmark.md +65 -0
  218. package/docs/benchmarks.md +16 -16
  219. package/docs/catalog.md +17 -15
  220. package/docs/contracts/CHANGELOG-conventions.md +1 -1
  221. package/docs/contracts/STABILITY.md +2 -2
  222. package/docs/contracts/adoption-signal-floor.md +110 -0
  223. package/docs/contracts/adr-chat-history-split.md +4 -4
  224. package/docs/contracts/adr-command-suggestion.md +4 -4
  225. package/docs/contracts/adr-gtm-context-spine.md +1 -1
  226. package/docs/contracts/adr-implement-ticket-runtime.md +4 -4
  227. package/docs/contracts/adr-install-user-type-axis.md +1 -1
  228. package/docs/contracts/adr-layout.md +2 -2
  229. package/docs/contracts/adr-product-ui-track.md +10 -10
  230. package/docs/contracts/adr-user-types-axis.md +3 -3
  231. package/docs/contracts/adr-wing4-context-spine.md +1 -1
  232. package/docs/contracts/agent-memory-contract.md +3 -3
  233. package/docs/contracts/agents-md-tech-stack.md +2 -2
  234. package/docs/contracts/ai-council-config.md +2 -2
  235. package/docs/contracts/at-rest-encryption.md +4 -0
  236. package/docs/contracts/audit-log-v1.md +1 -1
  237. package/docs/contracts/benchmark-ab-contract.md +101 -0
  238. package/docs/contracts/benchmark-corpus-spec.md +1 -1
  239. package/docs/contracts/branch-protection-policy.md +98 -0
  240. package/docs/contracts/ci-cost-budget.md +106 -0
  241. package/docs/contracts/ci-green-floor.md +141 -0
  242. package/docs/contracts/command-clusters.md +6 -6
  243. package/docs/contracts/command-surface-tiers.md +2 -2
  244. package/docs/contracts/command-taxonomy.md +2 -2
  245. package/docs/contracts/{compression-default-kill-criterion.md → condensation-default-kill-criterion.md} +29 -29
  246. package/docs/contracts/config-presets.md +1 -1
  247. package/docs/contracts/context-paths.md +3 -3
  248. package/docs/contracts/context-spine.md +1 -1
  249. package/docs/contracts/cost-summary-schema.md +12 -12
  250. package/docs/contracts/cross-wing-handoff.md +4 -4
  251. package/docs/contracts/daily-workspace.md +4 -0
  252. package/docs/contracts/decision-trace-v1.md +2 -2
  253. package/docs/contracts/discovery-manifest.md +4 -4
  254. package/docs/contracts/explain-modes.md +4 -0
  255. package/docs/contracts/file-ownership-matrix.json +3493 -3318
  256. package/docs/contracts/file-ownership-matrix.md +3 -3
  257. package/docs/contracts/frontmatter-contract.md +4 -4
  258. package/docs/contracts/ghostwriter-schema.md +3 -3
  259. package/docs/contracts/gui-wizard.md +110 -97
  260. package/docs/contracts/harness-expectations.md +123 -0
  261. package/docs/contracts/host-agent-protocol.md +4 -0
  262. package/docs/contracts/implement-ticket-flow.md +9 -9
  263. package/docs/contracts/install-scopes.md +77 -0
  264. package/docs/contracts/iron-law-overrides.txt +1 -1
  265. package/docs/contracts/kernel-membership.md +26 -26
  266. package/docs/contracts/linear-ai-rules-inclusion.md +1 -1
  267. package/docs/contracts/linter-structural-model.md +2 -2
  268. package/docs/contracts/load-context-budget-model.md +4 -4
  269. package/docs/contracts/load-context-schema.md +13 -13
  270. package/docs/contracts/local-analytics.md +4 -0
  271. package/docs/contracts/local-knowledge-ingestion.md +1 -1
  272. package/docs/contracts/mcp-cloud-scope.md +2 -2
  273. package/docs/contracts/mcp-phase-1-scope.md +3 -3
  274. package/docs/contracts/measurement-baseline.md +5 -5
  275. package/docs/contracts/mental-models.md +30 -30
  276. package/docs/contracts/multi-tool-projection-fidelity.md +4 -4
  277. package/docs/contracts/namespace.md +4 -4
  278. package/docs/contracts/orchestration-dsl-v1.md +7 -7
  279. package/docs/contracts/package-self-orientation.md +12 -12
  280. package/docs/contracts/persona-schema.md +6 -6
  281. package/docs/contracts/pilot/language-and-tone.md +1 -1
  282. package/docs/contracts/plain-language-surface.md +117 -0
  283. package/docs/contracts/profile-system.md +3 -3
  284. package/docs/contracts/release-pr-gating.md +103 -0
  285. package/docs/contracts/role-experience.md +3 -3
  286. package/docs/contracts/rule-classification.md +13 -13
  287. package/docs/contracts/rule-interactions.md +4 -4
  288. package/docs/contracts/rule-interactions.yml +30 -30
  289. package/docs/contracts/rule-priority-hierarchy.md +13 -13
  290. package/docs/contracts/rule-router.md +2 -2
  291. package/docs/contracts/safety-model.md +1 -1
  292. package/docs/contracts/skill-distribution-channels.md +61 -0
  293. package/docs/contracts/skill-domains.md +2 -2
  294. package/docs/contracts/smoke-contracts.md +5 -5
  295. package/docs/contracts/telegraph-telemetry.md +83 -0
  296. package/docs/contracts/trust-and-safety.md +5 -5
  297. package/docs/contracts/ui-stack-extension.md +7 -7
  298. package/docs/contracts/ui-track-flow.md +9 -9
  299. package/docs/contracts/user-type-schema.md +4 -4
  300. package/docs/contracts/workflow-packs.md +4 -4
  301. package/docs/contracts/workspace-documents.md +4 -0
  302. package/docs/customization.md +28 -8
  303. package/docs/decisions/ADR-001-kernel-swap-deferred.md +6 -6
  304. package/docs/decisions/ADR-002-kernel-bucket-overrides.md +11 -11
  305. package/docs/decisions/ADR-003-flat-cluster-subs-and-colon-syntax.md +2 -2
  306. package/docs/decisions/ADR-004-rule-governance-pruning.md +4 -4
  307. package/docs/decisions/ADR-005-subagent-worktrees.md +7 -7
  308. package/docs/decisions/ADR-011-domain-pack-readiness.md +6 -6
  309. package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +3 -3
  310. package/docs/decisions/ADR-015-discovery-manifest-contract.md +3 -3
  311. package/docs/decisions/ADR-017-monorepo-physical-layout.md +10 -10
  312. package/docs/decisions/ADR-018-trust-and-safety-layer.md +6 -6
  313. package/docs/decisions/ADR-019-router-json-dist-location.md +2 -2
  314. package/docs/decisions/ADR-020-global-only-consumer-scope.md +2 -2
  315. package/docs/decisions/ADR-021-deployment-shape.md +3 -3
  316. package/docs/decisions/ADR-022-daily-workspace-decomposition.md +1 -1
  317. package/docs/decisions/ADR-027-changelog-machine-vs-manual.md +2 -2
  318. package/docs/decisions/ADR-028-root-layout.md +7 -7
  319. package/docs/decisions/ADR-029-multi-workspace-deferred.md +2 -2
  320. package/docs/decisions/ADR-rule-kernel-and-router.md +5 -5
  321. package/docs/deploy/connector-setup.md +2 -2
  322. package/docs/deploy/policy-cookbook.md +2 -2
  323. package/docs/deploy/team-deployment-posture.md +20 -0
  324. package/docs/development.md +17 -17
  325. package/docs/distribution/registries.md +32 -0
  326. package/docs/distribution/registry-submissions.md +85 -0
  327. package/docs/distribution/telemetry-schema.md +1 -1
  328. package/docs/getting-started-by-role.md +45 -3
  329. package/docs/getting-started.md +2 -2
  330. package/docs/guidelines/agent-infra/5w2h-analysis.md +3 -3
  331. package/docs/guidelines/agent-infra/ask-when-uncertain-demos.md +1 -1
  332. package/docs/guidelines/agent-infra/asking-and-brevity-examples.md +3 -3
  333. package/docs/guidelines/agent-infra/carve-out-predicates.md +3 -3
  334. package/docs/guidelines/agent-infra/critical-thinking.md +4 -4
  335. package/docs/guidelines/agent-infra/direct-answers-demos.md +1 -1
  336. package/docs/guidelines/agent-infra/first-principles.md +2 -2
  337. package/docs/guidelines/agent-infra/inversion-thinking.md +5 -5
  338. package/docs/guidelines/agent-infra/layered-settings.md +56 -2
  339. package/docs/guidelines/agent-infra/mental-models.md +3 -3
  340. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +2 -2
  341. package/docs/guidelines/agent-infra/rule-type-governance.md +1 -1
  342. package/docs/guidelines/agent-infra/scqa-framework.md +5 -5
  343. package/docs/guidelines/agent-infra/self-improvement-pipeline.md +2 -2
  344. package/docs/guidelines/agent-infra/six-hats.md +3 -3
  345. package/docs/guidelines/agent-infra/skill-quality-checklist.md +5 -5
  346. package/docs/guidelines/agent-infra/systems-thinking.md +1 -1
  347. package/docs/guidelines/agent-infra/verify-before-complete-demos.md +1 -1
  348. package/docs/guidelines/augment-portability-patterns.md +4 -4
  349. package/docs/guidelines/cross-role-handoff.md +2 -2
  350. package/docs/guidelines/php/php-coding-patterns.md +1 -1
  351. package/docs/guidelines/prompt-templates.md +6 -6
  352. package/docs/maintainers/dev-mode.md +1 -1
  353. package/docs/mcp.md +1 -1
  354. package/docs/parity/bench.json +3 -3
  355. package/docs/parity/ruflo.md +2 -2
  356. package/docs/profiles.md +11 -11
  357. package/docs/quality.md +11 -11
  358. package/docs/safety.md +3 -3
  359. package/docs/setup/mcp-client-config.md +1 -1
  360. package/docs/setup/mcp-r2-bootstrap.md +1 -1
  361. package/docs/setup/mcp-server-docker.md +3 -3
  362. package/docs/setup/per-ide/windsurf.md +1 -1
  363. package/docs/skills-catalog.md +8 -7
  364. package/docs/troubleshooting.md +1 -1
  365. package/docs/walkthroughs/daily-workspace-a11y.md +87 -0
  366. package/llms.txt +7 -6
  367. package/package.json +1 -1
  368. package/scripts/__pycache__/validate_frontmatter.cpython-312.pyc +0 -0
  369. package/scripts/_archive/README.md +2 -2
  370. package/scripts/_archive/_backfill_skill_domains.py +3 -3
  371. package/scripts/_archive/_bootstrap_tier_frontmatter.py +3 -3
  372. package/scripts/_archive/_p43_bodies.py +10 -10
  373. package/scripts/_archive/{_p43_compress.py → _p43_condense.py} +5 -5
  374. package/scripts/_archive/_p4_migrate.py +7 -7
  375. package/scripts/_archive/_phase2_shim_helper.py +1 -1
  376. package/scripts/_archive/_pilot_council_question.py +5 -5
  377. package/scripts/_cli/explain_last/inputs.py +1 -1
  378. package/scripts/_lib/__pycache__/__init__.cpython-312.pyc +0 -0
  379. package/scripts/_lib/__pycache__/agent_src.cpython-312.pyc +0 -0
  380. package/scripts/_lib/agent_settings.py +195 -1
  381. package/scripts/_lib/agent_src.py +19 -19
  382. package/scripts/_lib/bench_ab_cache.py +162 -0
  383. package/scripts/_lib/bench_ab_scoring.py +209 -0
  384. package/scripts/_lib/{bench_caveman.py → bench_telegraph.py} +21 -21
  385. package/scripts/_lib/{bench_caveman_report.py → bench_telegraph_report.py} +21 -21
  386. package/scripts/_lib/claude_desktop_bundler.py +5 -5
  387. package/scripts/_lib/module_detection.py +223 -0
  388. package/scripts/_lib/scope_guard.sh +162 -0
  389. package/scripts/_phase4_bucket.py +3 -3
  390. package/scripts/_pilot_measure.py +4 -4
  391. package/scripts/_tmp_scan_framework_leakage.py +1 -1
  392. package/scripts/adoption_report.py +195 -0
  393. package/scripts/adoption_snapshot.py +219 -0
  394. package/scripts/adoption_status.py +166 -0
  395. package/scripts/ai-video/lib/parse-blueprint.sh +1 -1
  396. package/scripts/ai_council/advisors.py +5 -5
  397. package/scripts/ai_council/compile_corpus.py +1 -1
  398. package/scripts/ai_council/one_off_archive/2026-05/_one_off_budget_v2_audit.py +3 -3
  399. package/scripts/ai_council/one_off_archive/2026-05/_one_off_context_layer_v1_review.py +2 -2
  400. package/scripts/ai_council/one_off_archive/2026-05/_one_off_inject_quiet_flag.py +1 -1
  401. package/scripts/ai_council/one_off_archive/2026-05/_one_off_measure_v2.sh +1 -1
  402. package/scripts/ai_council/one_off_archive/2026-05/_one_off_measure_verbosity.sh +1 -1
  403. package/scripts/ai_council/one_off_archive/2026-05/_one_off_nondestructive_inline_audit.py +3 -3
  404. package/scripts/ai_council/one_off_archive/2026-05/_one_off_per_task.sh +1 -1
  405. package/scripts/ai_council/one_off_archive/2026-05/_one_off_phase6_trigger_jaccard.py +1 -1
  406. package/scripts/ai_council/one_off_archive/2026-05/_one_off_phase_2a_budget_rebalance.py +6 -6
  407. package/scripts/ai_council/one_off_archive/2026-05/_one_off_rebalancing_audit.py +1 -1
  408. package/scripts/ai_council/one_off_archive/2026-05/_one_off_tier_retrofit.py +6 -6
  409. package/scripts/annotate_discovery.py +13 -13
  410. package/scripts/apply_modules_config.py +290 -0
  411. package/scripts/audit_adr_coverage.py +2 -2
  412. package/scripts/audit_auto_rules.py +2 -2
  413. package/scripts/audit_cloud_compatibility.py +3 -3
  414. package/scripts/audit_command_surface.py +9 -9
  415. package/scripts/audit_likelihood.py +2 -2
  416. package/scripts/audit_user_type_axis.py +2 -2
  417. package/scripts/bench_ab_cache_dispatch.py +68 -0
  418. package/scripts/bench_ab_clone.py +170 -0
  419. package/scripts/bench_ab_diff.py +227 -0
  420. package/scripts/bench_ab_integrity.py +143 -0
  421. package/scripts/bench_ab_run.py +235 -0
  422. package/scripts/bench_ab_task_runner.py +369 -0
  423. package/scripts/bench_ab_tracka_run.py +202 -0
  424. package/scripts/{bench_compress_memory.py → bench_condense_memory.py} +16 -16
  425. package/scripts/bench_run.py +33 -33
  426. package/scripts/bench_runner.py +2 -2
  427. package/scripts/bootstrap.sh +99 -0
  428. package/scripts/build_cloud_bundle.py +6 -6
  429. package/scripts/build_discovery_manifest.py +7 -7
  430. package/scripts/build_linear_digest.py +3 -3
  431. package/scripts/build_rule_trigger_matrix.py +8 -8
  432. package/scripts/chat_history.py +5 -5
  433. package/scripts/check_always_budget.py +11 -5
  434. package/scripts/check_augment_description_cap.py +3 -3
  435. package/scripts/check_cluster_patterns.py +2 -2
  436. package/scripts/check_command_count_messaging.py +3 -3
  437. package/scripts/{check_compression.py → check_condensation.py} +34 -34
  438. package/scripts/{check_compressed_paths.py → check_condensed_paths.py} +8 -8
  439. package/scripts/check_context_paths.py +7 -7
  440. package/scripts/check_council_layout.py +2 -2
  441. package/scripts/check_council_references.py +9 -9
  442. package/scripts/check_iron_law_prominence.py +2 -2
  443. package/scripts/check_kernel_rule_bundle.py +2 -2
  444. package/scripts/check_module_management_neutral.py +149 -0
  445. package/scripts/check_no_roadmap_refs.py +9 -9
  446. package/scripts/check_portability.py +3 -3
  447. package/scripts/check_public_catalog_links.py +4 -4
  448. package/scripts/check_references.py +7 -6
  449. package/scripts/check_release_pr_shape.py +112 -0
  450. package/scripts/check_reply_consistency.py +3 -3
  451. package/scripts/check_safety_floor_untouched.py +1 -1
  452. package/scripts/check_template_pin_drift.py +5 -5
  453. package/scripts/check_token_optimizer_freshness.py +3 -3
  454. package/scripts/ci_status.py +301 -0
  455. package/scripts/ci_time_ratio.py +1 -1
  456. package/scripts/cleanup_other_scope.sh +146 -0
  457. package/scripts/compile_router.py +10 -10
  458. package/scripts/{compress.py → condense.py} +64 -64
  459. package/scripts/condense.sh +18 -0
  460. package/scripts/{compress_memory.py → condense_memory.py} +33 -33
  461. package/scripts/config/presets.py +2 -2
  462. package/scripts/config/profiles.py +1 -1
  463. package/scripts/cost_by_conversation.py +3 -3
  464. package/scripts/cost_summary.py +7 -7
  465. package/scripts/count_token_optimizer_usage.sh +1 -1
  466. package/scripts/gen_discovery_baseline.py +5 -5
  467. package/scripts/generate_index.py +6 -6
  468. package/scripts/generate_ownership_matrix.py +10 -10
  469. package/scripts/generate_pack_manifests.py +1 -1
  470. package/scripts/ghostwriter_fixture_allowlist.txt +1 -1
  471. package/scripts/install +3 -3
  472. package/scripts/install-hooks.sh +6 -6
  473. package/scripts/install.py +273 -45
  474. package/scripts/install.sh +187 -1
  475. package/scripts/inventory_frontmatter.py +2 -2
  476. package/scripts/iron_law_sha.py +3 -3
  477. package/scripts/lint_agents_layout.py +14 -7
  478. package/scripts/lint_agents_md.py +4 -4
  479. package/scripts/lint_archived_skills.py +3 -3
  480. package/scripts/lint_artefact_frontmatter.py +2 -2
  481. package/scripts/lint_bench_ab.py +172 -0
  482. package/scripts/lint_bench_corpus.py +1 -1
  483. package/scripts/lint_command_tiers.py +5 -5
  484. package/scripts/lint_context_spine_usage.py +1 -1
  485. package/scripts/lint_framework_leakage.py +7 -7
  486. package/scripts/lint_framework_leakage_allowlist.json +152 -84
  487. package/scripts/lint_ghostwriter_source.py +3 -3
  488. package/scripts/lint_handoffs.py +1 -1
  489. package/scripts/lint_load_context.py +11 -11
  490. package/scripts/lint_media_policy_linkage.py +5 -5
  491. package/scripts/lint_namespace.py +1 -1
  492. package/scripts/lint_no_new_atomic_commands.py +2 -2
  493. package/scripts/lint_orchestration_dsl.py +1 -1
  494. package/scripts/lint_pack_boundaries.py +2 -2
  495. package/scripts/lint_persona_governance.py +4 -4
  496. package/scripts/lint_role_experiences.py +237 -0
  497. package/scripts/lint_rule_interactions.py +2 -2
  498. package/scripts/lint_rule_tiers.py +1 -1
  499. package/scripts/lint_trust_coherence.py +2 -2
  500. package/scripts/mcp_registry_submit.sh +187 -0
  501. package/scripts/mcp_server/tools.py +1 -1
  502. package/scripts/measure_frugality_savings.py +10 -10
  503. package/scripts/measure_patterns.py +1 -1
  504. package/scripts/measure_projection_bytes.py +5 -5
  505. package/scripts/measure_rule_budget.py +3 -3
  506. package/scripts/measure_skill_reduction.py +1 -1
  507. package/scripts/memory_lookup.py +1 -1
  508. package/scripts/memory_status.py +2 -2
  509. package/scripts/migrate_command_suggestions.py +3 -3
  510. package/scripts/mine_session.py +1 -1
  511. package/scripts/move_artefact.py +3 -3
  512. package/scripts/new_skill.py +2 -2
  513. package/scripts/pack_mcp_content.py +9 -9
  514. package/scripts/plan_physical_move.py +6 -6
  515. package/scripts/print_required_checks.py +196 -0
  516. package/scripts/probe_skill_registration.py +413 -0
  517. package/scripts/propose_modules_config.py +145 -0
  518. package/scripts/prototype_lint_contradictions.py +1 -1
  519. package/scripts/recruit_preflight.sh +152 -0
  520. package/scripts/refine_ticket_detect.py +3 -3
  521. package/scripts/release.py +20 -0
  522. package/scripts/render_benchmark_md.py +308 -0
  523. package/scripts/roadmap_progress_hook.py +1 -1
  524. package/scripts/run_skill_evals.py +2 -2
  525. package/scripts/runtime_registry.py +4 -4
  526. package/scripts/schemas/command.schema.json +4 -4
  527. package/scripts/schemas/rule.schema.json +5 -5
  528. package/scripts/schemas/skill.schema.json +3 -3
  529. package/scripts/schemas/user-type.schema.json +1 -1
  530. package/scripts/score_skill_selection.py +1 -1
  531. package/scripts/skill_collision_clusters.py +2 -2
  532. package/scripts/skill_linter.py +81 -81
  533. package/scripts/skill_overlap.py +5 -5
  534. package/scripts/skill_tools/audit_persona_coverage.py +2 -2
  535. package/scripts/skill_tools/audit_user_type_coverage.py +2 -2
  536. package/scripts/skill_tools/run_block_d_eval.py +1 -1
  537. package/scripts/skill_tools/score_skill_relevance.py +1 -1
  538. package/scripts/skill_tools/suggest_skill_for_task.py +1 -1
  539. package/scripts/skill_trigger_eval.py +3 -3
  540. package/scripts/smoke/kernel.sh +7 -1
  541. package/scripts/smoke/router.sh +5 -5
  542. package/scripts/smoke/skills.sh +1 -1
  543. package/scripts/smoke_quickstart.py +1 -1
  544. package/scripts/snapshot_agent_outputs.py +3 -3
  545. package/scripts/spotcheck_thin_root.py +1 -1
  546. package/scripts/{caveman_stats.py → telegraph_stats.py} +18 -18
  547. package/scripts/update_counts.py +1 -1
  548. package/scripts/validate_decision_engine.py +1 -1
  549. package/scripts/validate_frontmatter.py +1 -1
  550. package/scripts/validate_safe_paths.py +3 -3
  551. package/scripts/{validate_caveman_carveouts.py → validate_telegraph_carveouts.py} +7 -7
  552. package/scripts/verify_roadmap_closure.py +6 -6
  553. package/templates/consumer-settings/ONBOARDING.md +41 -0
  554. package/.agent-src/commands/install-via-agent.md +0 -129
  555. package/.agent-src/skills/compress-memory/SKILL.md +0 -131
  556. package/dist/ui/assets/index-D-DY1ywI.js +0 -35
  557. package/dist/ui/assets/index-D-DY1ywI.js.map +0 -1
  558. package/dist/ui/assets/index-Dqfhmg-d.css +0 -1
  559. package/docs/adrs/caveman/README.md +0 -9
  560. package/docs/contracts/caveman-telemetry.md +0 -83
  561. package/scripts/compress.sh +0 -18
@@ -0,0 +1,187 @@
1
+ #!/usr/bin/env bash
2
+ # Interactive MCP registry submission helper.
3
+ #
4
+ # Phase C Step 1 of road-to-adoption-proof-and-ci-green.md. Turns the
5
+ # `punkpeye/awesome-mcp-servers` submission from "figure out the fork
6
+ # + branch + PR shape" into one terminal command + one button-click
7
+ # in the browser.
8
+ #
9
+ # What it does (in order):
10
+ #
11
+ # 1. Verify gh auth status — needs the maintainer's GitHub identity.
12
+ # 2. Resolve the registry repo (default: punkpeye/awesome-mcp-servers).
13
+ # 3. Fork into the authenticated user's account (idempotent).
14
+ # 4. Clone the fork into a temp dir; create a topic branch.
15
+ # 5. Pre-fill the awesome-list entry from
16
+ # docs/distribution/registries.md § Submission template.
17
+ # 6. Commit + push the branch.
18
+ # 7. Open a PR with the body pre-populated; print the PR URL.
19
+ #
20
+ # CLI:
21
+ #
22
+ # scripts/mcp_registry_submit.sh [--dry-run] [--registry <owner/repo>]
23
+ # [--workdir <path>] [--branch <name>]
24
+ #
25
+ # --dry-run Validate everything but never fork / commit / push / open PR.
26
+ # Prints the prepared entry text + branch name. Used by
27
+ # tests/test_mcp_registry_submit.sh.
28
+ # --registry Override the registry repo (default
29
+ # punkpeye/awesome-mcp-servers).
30
+ # --workdir Override the workdir (default mktemp -d).
31
+ # --branch Override the topic branch name (default
32
+ # add-event4u-agent-config-YYYYMMDD).
33
+ #
34
+ # Exit codes:
35
+ #
36
+ # 0 — happy path or successful dry-run.
37
+ # 1 — auth check failed or upstream registry unreachable.
38
+ # 2 — invalid CLI args.
39
+ # 3 — entry text validation failed (e.g. submission template missing
40
+ # from docs/distribution/registries.md).
41
+ #
42
+ # Hard-Floor note: the script writes to the maintainer's GitHub
43
+ # identity. Always run --dry-run first; the live path requires a
44
+ # maintainer-side `yes` at the final prompt.
45
+
46
+ set -euo pipefail
47
+
48
+ DRY_RUN=false
49
+ REGISTRY="punkpeye/awesome-mcp-servers"
50
+ WORKDIR=""
51
+ BRANCH=""
52
+
53
+ while [ $# -gt 0 ]; do
54
+ case "$1" in
55
+ --dry-run) DRY_RUN=true; shift ;;
56
+ --registry) REGISTRY="$2"; shift 2 ;;
57
+ --workdir) WORKDIR="$2"; shift 2 ;;
58
+ --branch) BRANCH="$2"; shift 2 ;;
59
+ -h|--help)
60
+ sed -n '2,36p' "$0" | sed 's/^# //'
61
+ exit 0
62
+ ;;
63
+ *) echo "mcp_registry_submit: unknown arg: $1" >&2; exit 2 ;;
64
+ esac
65
+ done
66
+
67
+ REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
68
+ REGISTRIES_DOC="$REPO_ROOT/docs/distribution/registries.md"
69
+ TODAY=$(date -u +%Y%m%d)
70
+ BRANCH=${BRANCH:-add-event4u-agent-config-${TODAY}}
71
+
72
+ _die() { echo "❌ $1" >&2; exit "${2:-1}"; }
73
+ _step() { echo "▸ $1"; }
74
+
75
+ # 1. Verify gh CLI + auth status.
76
+ _step "Verifying gh CLI + auth status"
77
+ if ! command -v gh >/dev/null 2>&1; then
78
+ _die "gh CLI not found in PATH — install: https://cli.github.com/" 1
79
+ fi
80
+ if [ "$DRY_RUN" = false ]; then
81
+ if ! gh auth status >/dev/null 2>&1; then
82
+ _die "gh auth status failed — run 'gh auth login' first" 1
83
+ fi
84
+ fi
85
+
86
+ # 2. Extract the submission template from registries.md.
87
+ _step "Extracting submission template from registries.md"
88
+ if [ ! -f "$REGISTRIES_DOC" ]; then
89
+ _die "docs/distribution/registries.md not found at $REGISTRIES_DOC" 3
90
+ fi
91
+ ENTRY=$(awk '/^```markdown$/{flag=1;next}/^```$/{flag=0}flag' "$REGISTRIES_DOC" | head -3)
92
+ if [ -z "$ENTRY" ]; then
93
+ _die "submission template not found inside ```markdown``` fence in registries.md" 3
94
+ fi
95
+ echo " entry: $ENTRY"
96
+
97
+ # 3. Decide workdir.
98
+ if [ -z "$WORKDIR" ]; then
99
+ WORKDIR=$(mktemp -d "${TMPDIR:-/tmp}/mcp-registry-submit-XXXXXX")
100
+ fi
101
+ _step "Workdir: $WORKDIR"
102
+
103
+ # 4. Dry-run gate — print the plan and stop.
104
+ if [ "$DRY_RUN" = true ]; then
105
+ cat <<EOF
106
+
107
+ DRY-RUN — no fork / clone / commit / push / PR. Plan:
108
+
109
+ registry : $REGISTRY
110
+ branch : $BRANCH
111
+ workdir : $WORKDIR
112
+ entry : $ENTRY
113
+
114
+ PR title : Add event4u/agent-config — universal AI agent OS
115
+ PR body : (assembled from README hero + AGENTS.md emergency-triage block)
116
+ PR target : ${REGISTRY}#main
117
+
118
+ Re-run without --dry-run to execute. The live path needs maintainer 'yes' at the final prompt.
119
+ EOF
120
+ exit 0
121
+ fi
122
+
123
+ # 5. Live path — fork, clone, branch, edit, commit, push, open PR.
124
+ _step "Forking $REGISTRY into the authenticated identity"
125
+ gh repo fork "$REGISTRY" --clone=false || _die "fork failed" 1
126
+
127
+ FORK_REPO="$(gh api user --jq .login)/$(basename "$REGISTRY")"
128
+ _step "Fork resolved to $FORK_REPO"
129
+
130
+ _step "Cloning $FORK_REPO into $WORKDIR"
131
+ cd "$WORKDIR"
132
+ gh repo clone "$FORK_REPO" registry-fork
133
+ cd registry-fork
134
+
135
+ # Add upstream + sync default branch.
136
+ DEFAULT_BRANCH=$(gh repo view "$REGISTRY" --json defaultBranchRef --jq .defaultBranchRef.name)
137
+ git remote add upstream "https://github.com/$REGISTRY.git"
138
+ git fetch upstream "$DEFAULT_BRANCH"
139
+ git checkout -b "$BRANCH" "upstream/$DEFAULT_BRANCH"
140
+
141
+ _step "Pre-filling the awesome-list entry"
142
+ # The awesome-list shape varies by upstream — assume README.md and look
143
+ # for the agent-tooling / community section; append our entry there.
144
+ # (The maintainer reviews the diff before the PR opens, so a wrong
145
+ # section is recoverable.)
146
+ TARGET_FILE="README.md"
147
+ if [ ! -f "$TARGET_FILE" ]; then
148
+ _die "no README.md in fork — registry shape changed; bail out" 1
149
+ fi
150
+ echo "$ENTRY" >> "$TARGET_FILE"
151
+ git add "$TARGET_FILE"
152
+ git commit -m "Add event4u/agent-config — universal AI agent OS"
153
+
154
+ _step "Pushing branch $BRANCH to fork"
155
+ git push -u origin "$BRANCH"
156
+
157
+ _step "Opening PR against $REGISTRY"
158
+ PR_URL=$(gh pr create \
159
+ --repo "$REGISTRY" \
160
+ --base "$DEFAULT_BRANCH" \
161
+ --head "$FORK_REPO:$BRANCH" \
162
+ --title "Add event4u/agent-config — universal AI agent OS" \
163
+ --body "$(cat <<'EOF'
164
+ Adds [`event4u/agent-config`](https://github.com/event4u-app/agent-config) to the registry.
165
+
166
+ `event4u/agent-config` is a universal AI agent OS — audited skills,
167
+ governance rules, commands, and templates for Claude Code, Cursor,
168
+ Windsurf, Copilot. Bring your own provider; the package never sees
169
+ keys.
170
+
171
+ - Repo: https://github.com/event4u-app/agent-config
172
+ - npm: https://www.npmjs.com/package/@event4u/agent-config
173
+ - Quickstart: `npx -y @event4u/agent-config init` (browser wizard)
174
+
175
+ Submitted per
176
+ https://github.com/event4u-app/agent-config/blob/main/docs/distribution/registries.md.
177
+ EOF
178
+ )")
179
+
180
+ echo ""
181
+ echo "✅ PR opened: $PR_URL"
182
+ echo ""
183
+ echo "Next step: update docs/distribution/registry-submissions.md row 1"
184
+ echo " → status: pending → submitted"
185
+ echo " → PR link: $PR_URL"
186
+
187
+ exit 0
@@ -132,7 +132,7 @@ async def _lint_skills_handler(
132
132
 
133
133
  Arguments:
134
134
  paths: optional list of repo-relative paths to lint. Empty /
135
- missing → lint the full ``.agent-src.uncompressed/`` tree
135
+ missing → lint the full ``.agent-src.uncondensed/`` tree
136
136
  via ``gather_all_candidate_files``.
137
137
 
138
138
  Never spawns ``git`` (no ``--changed`` mode); never writes; mirrors
@@ -9,7 +9,7 @@ Metrics:
9
9
  A. footprint — per-rule char/token count, kernel/tier breakdown
10
10
  B. fillers — filler-phrase prevalence in chat-history corpus
11
11
  (heuristic signal, not full transcript)
12
- C. compressionuncompressedcompressed char delta per rule
12
+ C. condensationuncondensedcondensed char delta per rule
13
13
  D. redundancy — cross-ref overlap across "Interactions:" /
14
14
  "See also" sections in the canon
15
15
 
@@ -29,7 +29,7 @@ CANON_RULES = [
29
29
  ("no-cheap-questions", "kernel"),
30
30
  ("ask-when-uncertain", "kernel"),
31
31
  ("user-interaction", "tier_1"),
32
- ("caveman-speak", "tier_1"),
32
+ ("telegraph-speak", "tier_1"),
33
33
  ("token-efficiency", "tier_2"),
34
34
  ]
35
35
  CHARTER = "frugality-charter"
@@ -60,8 +60,8 @@ def metric_a_footprint(root: Path) -> dict:
60
60
  tier1_total = 0
61
61
  tier2_total = 0
62
62
  for name, tier in CANON_RULES:
63
- compressed = root / ".agent-src" / "rules" / f"{name}.md"
64
- chars = len(_read(compressed))
63
+ condensed = root / ".agent-src" / "rules" / f"{name}.md"
64
+ chars = len(_read(condensed))
65
65
  tokens = chars // 4 # rough 4-char/token approximation
66
66
  rows.append({"rule": name, "tier": tier, "chars": chars, "tokens_approx": tokens})
67
67
  if tier == "kernel":
@@ -112,15 +112,15 @@ def metric_b_fillers(corpus: Path) -> dict:
112
112
  }
113
113
 
114
114
 
115
- def metric_c_compression(root: Path) -> dict:
116
- """Uncompressedcompressed char delta per rule."""
115
+ def metric_c_condensation(root: Path) -> dict:
116
+ """Uncondensedcondensed char delta per rule."""
117
117
  rows = []
118
118
  for name, _ in CANON_RULES:
119
- un = len(_read(root / ".agent-src.uncompressed" / "rules" / f"{name}.md"))
119
+ un = len(_read(root / ".agent-src.uncondensed" / "rules" / f"{name}.md"))
120
120
  co = len(_read(root / ".agent-src" / "rules" / f"{name}.md"))
121
121
  delta = un - co
122
122
  ratio = round(co / un, 3) if un else 0
123
- rows.append({"rule": name, "uncompressed_chars": un, "compressed_chars": co, "delta": delta, "ratio": ratio})
123
+ rows.append({"rule": name, "uncondensed_chars": un, "condensed_chars": co, "delta": delta, "ratio": ratio})
124
124
  return {"rules": rows}
125
125
 
126
126
 
@@ -128,7 +128,7 @@ def metric_d_redundancy(root: Path) -> dict:
128
128
  """Cross-ref section count + total xref-block size."""
129
129
  rows = []
130
130
  for name, _ in CANON_RULES:
131
- path = root / ".agent-src.uncompressed" / "rules" / f"{name}.md"
131
+ path = root / ".agent-src.uncondensed" / "rules" / f"{name}.md"
132
132
  text = _read(path)
133
133
  xref_count = len(XREF_HEADERS.findall(text))
134
134
  # naive: chars after last xref header to EOF
@@ -148,7 +148,7 @@ def main() -> int:
148
148
  "phase": "phase_0_baseline",
149
149
  "metric_a_footprint": metric_a_footprint(root),
150
150
  "metric_b_fillers": metric_b_fillers(corpus),
151
- "metric_c_compression": metric_c_compression(root),
151
+ "metric_c_condensation": metric_c_condensation(root),
152
152
  "metric_d_redundancy": metric_d_redundancy(root),
153
153
  }
154
154
 
@@ -33,7 +33,7 @@ from pathlib import Path
33
33
  from typing import Iterable
34
34
 
35
35
  ROOT = Path(__file__).resolve().parent.parent
36
- SKILLS_DIR = ROOT / ".agent-src.uncompressed" / "skills"
36
+ SKILLS_DIR = ROOT / ".agent-src.uncondensed" / "skills"
37
37
 
38
38
  # Tier assignments mirror agents/roadmaps/road-to-stronger-skills.md.
39
39
  # "compliant" = already meets the target patterns (the four Phase-3.1 judges).
@@ -11,8 +11,8 @@ Usage:
11
11
  python3 scripts/measure_projection_bytes.py --json # machine-readable
12
12
  python3 scripts/measure_projection_bytes.py --regenerate
13
13
  # runs `task clean-tools && task generate-tools` with *all* tools
14
- # enabled (via temporary .agent-tools.yml override) before measuring,
15
- # then restores the original `.agent-tools.yml`. Use this to produce
14
+ # enabled (via temporary agents/.agent-tools.yml override) before measuring,
15
+ # then restores the original `agents/.agent-tools.yml`. Use this to produce
16
16
  # a complete table when the local repo only enables a subset.
17
17
 
18
18
  Output is intentionally non-cached and read fresh from disk every run.
@@ -34,7 +34,7 @@ PROJECT_ROOT = Path(__file__).resolve().parent.parent
34
34
  # (surface, kind, projection-method). Surface paths are relative to the repo
35
35
  # root. `kind` is "dir" (walk recursively) or "file" (single file size).
36
36
  SURFACES: list[tuple[str, str, str]] = [
37
- (".agent-src.uncompressed", "dir", "verbose source (input)"),
37
+ (".agent-src.uncondensed", "dir", "verbose source (input)"),
38
38
  (".agent-src", "dir", "source projection (path-rewrite + .npmignore)"),
39
39
  (".augment", "dir", "Augment Code — copies (rules) + symlinks (skills/cmds)"),
40
40
  (".claude", "dir", "Claude Code — pure symlinks"),
@@ -95,7 +95,7 @@ def collect() -> list[dict]:
95
95
 
96
96
 
97
97
  def _temporarily_enable_all_tools() -> str | None:
98
- tools_file = PROJECT_ROOT / ".agent-tools.yml"
98
+ tools_file = PROJECT_ROOT / "agents" / ".agent-tools.yml"
99
99
  if not tools_file.exists():
100
100
  return None
101
101
  original = tools_file.read_text()
@@ -118,7 +118,7 @@ def regenerate_all() -> None:
118
118
  subprocess.run(["task", "generate-tools"], check=True, capture_output=True)
119
119
  finally:
120
120
  if backup is not None:
121
- (PROJECT_ROOT / ".agent-tools.yml").write_text(backup)
121
+ (PROJECT_ROOT / "agents" / ".agent-tools.yml").write_text(backup)
122
122
 
123
123
 
124
124
  def render_table(rows: list[dict]) -> str:
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env python3
2
2
  """Measure rule-bucket char counts (kernel + auto) for the rule-kernel roadmap.
3
3
 
4
- Source of truth: `.agent-src.uncompressed/rules/*.md`. Frontmatter (YAML
4
+ Source of truth: `.agent-src.uncondensed/rules/*.md`. Frontmatter (YAML
5
5
  between two `---` lines at file start) is stripped before counting; only
6
6
  the rule body counts toward the bucket.
7
7
 
@@ -97,8 +97,8 @@ def measure_rule(path: Path) -> dict[str, object]:
97
97
  def collect() -> list[dict[str, object]]:
98
98
  """Collect rule measurements from every source root (multi-root aware).
99
99
 
100
- Pre-move: reads .agent-src.uncompressed/rules/*.md.
101
- Post-move (ADR-017): reads packages/*/.agent-src.uncompressed/rules/*.md.
100
+ Pre-move: reads .agent-src.uncondensed/rules/*.md.
101
+ Post-move (ADR-017): reads packages/*/.agent-src.uncondensed/rules/*.md.
102
102
  Deduplicates on logical rule id (stem) — first root wins.
103
103
  """
104
104
  seen: set[str] = set()
@@ -29,7 +29,7 @@ except ImportError:
29
29
  sys.exit(2)
30
30
 
31
31
  REPO_ROOT = Path(__file__).resolve().parent.parent
32
- SKILLS_DIR = REPO_ROOT / ".agent-src.uncompressed" / "skills"
32
+ SKILLS_DIR = REPO_ROOT / ".agent-src.uncondensed" / "skills"
33
33
  TARGET_REDUCTION = 0.40
34
34
  PHASE_3_USER_TYPES = ("consultant", "creator")
35
35
 
@@ -516,7 +516,7 @@ def retrieve_v1(
516
516
 
517
517
  Wraps :func:`retrieve` and projects the internal ``Hit`` shape into
518
518
  the shape defined by
519
- ``schemas/retrieval-v1.schema.json``. Unknown types are reported as
519
+ ``internal/schemas/retrieval-v1.schema.json``. Unknown types are reported as
520
520
  ``status: unknown_type`` for that slice only, rather than failing
521
521
  the whole call.
522
522
  """
@@ -41,7 +41,7 @@ _CACHE_ENV = "AGENT_MEMORY_STATUS"
41
41
  _CACHE_FILE = Path(".agent-memory") / "status.cache"
42
42
 
43
43
  # Retrieval contract version served by the file-backed fallback.
44
- # Source of truth: schemas/retrieval-v1.schema.json.
44
+ # Source of truth: internal/schemas/retrieval-v1.schema.json.
45
45
  CONTRACT_VERSION = 1
46
46
  _FILE_BACKEND_VERSION = "0.0.0-file"
47
47
  _FILE_BACKEND_FEATURES = ("file-fallback",)
@@ -200,7 +200,7 @@ def status(refresh: bool = False) -> Result:
200
200
  def health(refresh: bool = False) -> dict:
201
201
  """Return a v1 retrieval-contract health envelope.
202
202
 
203
- Schema: ``schemas/retrieval-v1.schema.json`` (HealthResponse).
203
+ Schema: ``internal/schemas/retrieval-v1.schema.json`` (HealthResponse).
204
204
  Maps the three-state :func:`status` result onto the contract's
205
205
  ``ok | degraded | error`` so consumers can read
206
206
  ``contract_version`` without caring about the file-vs-package split.
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env python3
2
2
  """One-shot migration: inject the `suggestion:` frontmatter block into every
3
- command under `.agent-src.uncompressed/commands/`.
3
+ command under `.agent-src.uncondensed/commands/`.
4
4
 
5
5
  Source-of-truth table: `agents/settings/contexts/command-suggestion-eligibility.md`
6
6
  (locked at end of road-to-context-aware-command-suggestion Phase 1).
@@ -15,7 +15,7 @@ import sys
15
15
  from pathlib import Path
16
16
 
17
17
  ROOT = Path(__file__).resolve().parent.parent
18
- COMMANDS_DIR = ROOT / ".agent-src.uncompressed" / "commands"
18
+ COMMANDS_DIR = ROOT / ".agent-src.uncondensed" / "commands"
19
19
 
20
20
  INELIGIBLE: dict[str, str] = {
21
21
  "agent-handoff": "Explicit fresh-chat handoff — must be deliberate, never inferred from prose.",
@@ -25,7 +25,7 @@ INELIGIBLE: dict[str, str] = {
25
25
  "chat-history": "Status display only; no NL trigger distinct from 'show status'.",
26
26
  "chat-history-clear": "Destructive log wipe — must be deliberate.",
27
27
  "chat-history-resume": "Explicit resume mechanic with foreign/returning state machine.",
28
- "compress": "Package-internal tooling; only the event4u/agent-config repo runs this.",
28
+ "condense": "Package-internal tooling; only the event4u/agent-config repo runs this.",
29
29
  "copilot-agents-init": "Project init — only deliberately during onboarding.",
30
30
  "copilot-agents-optimize": "Maintenance refactor; only when the maintainer chooses to run it.",
31
31
  "do-and-judge": "Subagent orchestration — overlaps /work and judge skills; keep explicit.",
@@ -10,7 +10,7 @@ agent-memory contract.
10
10
  Strict gates: opt-in transcript access (``--confirm-transcript-access``
11
11
  required per invocation), ≤ 5 normalised facts per cycle, redaction
12
12
  applied to every yielded text. See
13
- ``.agent-src.uncompressed/commands/memory/mine-session.md`` for the
13
+ ``.agent-src.uncondensed/commands/memory/mine-session.md`` for the
14
14
  authored spec.
15
15
  """
16
16
 
@@ -40,7 +40,7 @@ def _find_artefact(slug: str, kind: str | None) -> tuple[Path, str, str]:
40
40
  """Return (physical_path, detected_kind, current_pack_id)."""
41
41
  hits: list[tuple[Path, str, str]] = []
42
42
  for pkg in sorted(PACKAGES.iterdir()):
43
- src = pkg / ".agent-src.uncompressed"
43
+ src = pkg / ".agent-src.uncondensed"
44
44
  if not src.is_dir():
45
45
  continue
46
46
  pid = "core" if pkg.name == "core" else pkg.name.removeprefix("pack-")
@@ -111,8 +111,8 @@ def main() -> int:
111
111
  return 0
112
112
 
113
113
  src_root = _move_root(src_md, kind)
114
- dest_pkg_src = _pack_dir(args.to) / ".agent-src.uncompressed"
115
- rel_under_pack = src_root.relative_to(_pack_dir(current_pack) / ".agent-src.uncompressed")
114
+ dest_pkg_src = _pack_dir(args.to) / ".agent-src.uncondensed"
115
+ rel_under_pack = src_root.relative_to(_pack_dir(current_pack) / ".agent-src.uncondensed")
116
116
  dest_root = dest_pkg_src / rel_under_pack
117
117
 
118
118
  print(f"plan: {kind} '{args.id}' : {current_pack} -> {args.to}")
@@ -3,7 +3,7 @@
3
3
 
4
4
  Phase 4.5 of the monorepo migration (ADR-017). Asks for pack, type,
5
5
  name, workspaces, and description, then drops a templated artefact
6
- into ``packages/<pack-dir>/.agent-src.uncompressed/<type>s/<name>/SKILL.md``.
6
+ into ``packages/<pack-dir>/.agent-src.uncondensed/<type>s/<name>/SKILL.md``.
7
7
 
8
8
  Type → directory mapping:
9
9
  - skill → skills/<name>/SKILL.md
@@ -130,7 +130,7 @@ def main() -> int:
130
130
  workspaces = args.workspace or vocab.get(pack, {}).get("workspaces") or ["engineering"]
131
131
 
132
132
  rel = TEMPLATES[kind].format(name=name)
133
- out = _pack_dir(pack) / ".agent-src.uncompressed" / rel
133
+ out = _pack_dir(pack) / ".agent-src.uncondensed" / rel
134
134
  if out.exists() and not args.force:
135
135
  print(f"error: {out.relative_to(ROOT)} exists (use --force)", file=sys.stderr)
136
136
  return 1
@@ -6,12 +6,12 @@ that drive the local stdio kernel, emits one JSON blob and a sidecar
6
6
  manifest for `internal/workers/mcp/`.
7
7
 
8
8
  Outputs (relative to repo root):
9
- - `internal/workers/mcp/content.json` — uncompressed, bundled by `wrangler deploy`.
9
+ - `internal/workers/mcp/content.json` — uncondensed, bundled by `wrangler deploy`.
10
10
  - `internal/workers/mcp/content.json.gz` — gzipped archival copy for R2.
11
11
  - `internal/workers/mcp/manifest.json` — manifest only (RCA / R2 sidecar).
12
12
 
13
13
  Hard-fail thresholds (Phase 2-5 council verdict D2):
14
- - Uncompressed JSON > 2 MB → SystemExit(1).
14
+ - Uncondensed JSON > 2 MB → SystemExit(1).
15
15
  - Empty content (zero URIs) → SystemExit(2). Catches a broken
16
16
  `.agent-src/` tree before deploy.
17
17
 
@@ -48,10 +48,10 @@ from mcp_server.resources import scan_contexts, scan_guidelines, scan_rules # n
48
48
  SCHEMA_VERSION = 1
49
49
  PACKER_VERSION = "1.0.0"
50
50
  # Worker bundle is the compact JSON; gzipped copy lives in R2. Cloudflare's
51
- # compressed-bundle limit is 3 MB (free) / 10 MB (paid); 778 KB gz today
52
- # (438 entries) leaves ample headroom. Hard-fail at 5 MB uncompressed so
51
+ # condensed-bundle limit is 3 MB (free) / 10 MB (paid); 778 KB gz today
52
+ # (438 entries) leaves ample headroom. Hard-fail at 5 MB uncondensed so
53
53
  # the build dies before the Worker upload does.
54
- MAX_UNCOMPRESSED_BYTES = 5 * 1024 * 1024
54
+ MAX_UNCONDENSED_BYTES = 5 * 1024 * 1024
55
55
 
56
56
 
57
57
  def _repo_root() -> Path:
@@ -224,10 +224,10 @@ def pack(root: Path, out_dir: Path) -> dict[str, Any]:
224
224
  payload = json.dumps(blob, ensure_ascii=False, sort_keys=True)
225
225
  payload_bytes = payload.encode("utf-8")
226
226
 
227
- if len(payload_bytes) > MAX_UNCOMPRESSED_BYTES:
227
+ if len(payload_bytes) > MAX_UNCONDENSED_BYTES:
228
228
  sys.stderr.write(
229
- f"pack: uncompressed content {len(payload_bytes)} bytes "
230
- f"exceeds limit {MAX_UNCOMPRESSED_BYTES}\n"
229
+ f"pack: uncondensed content {len(payload_bytes)} bytes "
230
+ f"exceeds limit {MAX_UNCONDENSED_BYTES}\n"
231
231
  )
232
232
  raise SystemExit(1)
233
233
 
@@ -237,7 +237,7 @@ def pack(root: Path, out_dir: Path) -> dict[str, Any]:
237
237
  # R2 archival copy hashes deterministically.
238
238
  with open(out_dir / "content.json.gz", "wb") as raw:
239
239
  with gzip.GzipFile(
240
- fileobj=raw, mode="wb", compresslevel=9, mtime=0
240
+ fileobj=raw, mode="wb", condenselevel=9, mtime=0
241
241
  ) as gz:
242
242
  gz.write(payload_bytes)
243
243
  (out_dir / "manifest.json").write_text(
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env python3
2
2
  """Plan + apply the physical monorepo migration (Phase 4).
3
3
 
4
- Reads every `.md` artefact under `.agent-src.uncompressed/`, decides
4
+ Reads every `.md` artefact under `.agent-src.uncondensed/`, decides
5
5
  its destination under `packages/core/` or `packages/pack-<id>/` using
6
6
  the deterministic rules from
7
7
  `agents/roadmaps/monorepo-phase-4-physical-package-layout.md` § Mapping
@@ -28,9 +28,9 @@ sys.path.insert(0, str(Path(__file__).resolve().parent))
28
28
  from validate_frontmatter import parse_frontmatter # noqa: E402
29
29
 
30
30
  ROOT = Path(__file__).resolve().parents[1]
31
- SRC = ROOT / ".agent-src.uncompressed"
31
+ SRC = ROOT / ".agent-src.uncondensed"
32
32
  PACKAGES = ROOT / "packages"
33
- CORE = PACKAGES / "core" / ".agent-src.uncompressed"
33
+ CORE = PACKAGES / "core" / ".agent-src.uncondensed"
34
34
  VOCAB_DIR = ROOT / "config" / "discovery"
35
35
  PLAN_OUT = ROOT / "dist" / "migration" / "move-plan.json"
36
36
  UNASSIGNED_YAML = VOCAB_DIR / "unassigned-artefacts.yml"
@@ -129,7 +129,7 @@ def _dest_for(src: Path, fm: dict[str, Any] | None, pack_ids: set[str]) -> tuple
129
129
  # meta = package-internal scaffolding; lives in core alongside the kernel.
130
130
  return CORE / rel, "primary pack: meta (package internals → core)", None
131
131
 
132
- dest_root = PACKAGES / f"pack-{primary}" / ".agent-src.uncompressed"
132
+ dest_root = PACKAGES / f"pack-{primary}" / ".agent-src.uncondensed"
133
133
  return dest_root / rel, f"primary pack: {primary}", None
134
134
 
135
135
 
@@ -182,7 +182,7 @@ def _find_owning_skill_fm(src: Path) -> dict[str, Any] | None:
182
182
  """For a non-SKILL.md file under skills/<name>/, return the sibling SKILL.md frontmatter.
183
183
 
184
184
  Looks first at the source location (pre-move) and then under
185
- ``packages/*/.agent-src.uncompressed/skills/<name>/SKILL.md`` so the
185
+ ``packages/*/.agent-src.uncondensed/skills/<name>/SKILL.md`` so the
186
186
  planner can resume mid-migration when the parent SKILL.md has already
187
187
  been relocated.
188
188
  """
@@ -196,7 +196,7 @@ def _find_owning_skill_fm(src: Path) -> dict[str, Any] | None:
196
196
  pkgs_root = ROOT / "packages"
197
197
  if pkgs_root.exists():
198
198
  for pkg in pkgs_root.iterdir():
199
- cand = pkg / ".agent-src.uncompressed" / "skills" / skill_name / "SKILL.md"
199
+ cand = pkg / ".agent-src.uncondensed" / "skills" / skill_name / "SKILL.md"
200
200
  if cand.exists():
201
201
  candidates.append(cand)
202
202
  for cand in candidates: