@ahmed-g-gad/apothem 0.1.1

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 (674) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/LICENSE +21 -0
  3. package/LICENSES/MIT.txt +18 -0
  4. package/LICENSES/PSF-2.0.txt +47 -0
  5. package/README.md +549 -0
  6. package/bin/README.md +37 -0
  7. package/bin/apothem.mjs +78 -0
  8. package/package.json +75 -0
  9. package/pyproject.toml +347 -0
  10. package/src/apothem/README.md +52 -0
  11. package/src/apothem/__init__.py +66 -0
  12. package/src/apothem/__main__.py +28 -0
  13. package/src/apothem/_vendor/.keep +0 -0
  14. package/src/apothem/_vendor/__init__.py +25 -0
  15. package/src/apothem/_vendor/attr/__init__.py +104 -0
  16. package/src/apothem/_vendor/attr/__init__.pyi +389 -0
  17. package/src/apothem/_vendor/attr/_cmp.py +160 -0
  18. package/src/apothem/_vendor/attr/_cmp.pyi +13 -0
  19. package/src/apothem/_vendor/attr/_compat.py +99 -0
  20. package/src/apothem/_vendor/attr/_config.py +31 -0
  21. package/src/apothem/_vendor/attr/_funcs.py +497 -0
  22. package/src/apothem/_vendor/attr/_make.py +3406 -0
  23. package/src/apothem/_vendor/attr/_next_gen.py +674 -0
  24. package/src/apothem/_vendor/attr/_typing_compat.pyi +15 -0
  25. package/src/apothem/_vendor/attr/_version_info.py +89 -0
  26. package/src/apothem/_vendor/attr/_version_info.pyi +9 -0
  27. package/src/apothem/_vendor/attr/converters.py +162 -0
  28. package/src/apothem/_vendor/attr/converters.pyi +19 -0
  29. package/src/apothem/_vendor/attr/exceptions.py +95 -0
  30. package/src/apothem/_vendor/attr/exceptions.pyi +17 -0
  31. package/src/apothem/_vendor/attr/filters.py +72 -0
  32. package/src/apothem/_vendor/attr/filters.pyi +6 -0
  33. package/src/apothem/_vendor/attr/py.typed +0 -0
  34. package/src/apothem/_vendor/attr/setters.py +79 -0
  35. package/src/apothem/_vendor/attr/setters.pyi +20 -0
  36. package/src/apothem/_vendor/attr/validators.py +750 -0
  37. package/src/apothem/_vendor/attr/validators.pyi +140 -0
  38. package/src/apothem/_vendor/attr.LICENSE +21 -0
  39. package/src/apothem/_vendor/attrs/__init__.py +72 -0
  40. package/src/apothem/_vendor/attrs/__init__.pyi +314 -0
  41. package/src/apothem/_vendor/attrs/converters.py +3 -0
  42. package/src/apothem/_vendor/attrs/exceptions.py +3 -0
  43. package/src/apothem/_vendor/attrs/filters.py +3 -0
  44. package/src/apothem/_vendor/attrs/py.typed +0 -0
  45. package/src/apothem/_vendor/attrs/setters.py +3 -0
  46. package/src/apothem/_vendor/attrs/validators.py +3 -0
  47. package/src/apothem/_vendor/attrs.LICENSE +21 -0
  48. package/src/apothem/_vendor/jsonschema/__init__.py +120 -0
  49. package/src/apothem/_vendor/jsonschema/__main__.py +6 -0
  50. package/src/apothem/_vendor/jsonschema/_format.py +546 -0
  51. package/src/apothem/_vendor/jsonschema/_keywords.py +449 -0
  52. package/src/apothem/_vendor/jsonschema/_legacy_keywords.py +449 -0
  53. package/src/apothem/_vendor/jsonschema/_types.py +204 -0
  54. package/src/apothem/_vendor/jsonschema/_typing.py +29 -0
  55. package/src/apothem/_vendor/jsonschema/_utils.py +355 -0
  56. package/src/apothem/_vendor/jsonschema/benchmarks/__init__.py +5 -0
  57. package/src/apothem/_vendor/jsonschema/benchmarks/const_vs_enum.py +30 -0
  58. package/src/apothem/_vendor/jsonschema/benchmarks/contains.py +28 -0
  59. package/src/apothem/_vendor/jsonschema/benchmarks/import_benchmark.py +31 -0
  60. package/src/apothem/_vendor/jsonschema/benchmarks/issue232/issue.json +2653 -0
  61. package/src/apothem/_vendor/jsonschema/benchmarks/issue232.py +25 -0
  62. package/src/apothem/_vendor/jsonschema/benchmarks/json_schema_test_suite.py +12 -0
  63. package/src/apothem/_vendor/jsonschema/benchmarks/nested_schemas.py +56 -0
  64. package/src/apothem/_vendor/jsonschema/benchmarks/subcomponents.py +42 -0
  65. package/src/apothem/_vendor/jsonschema/benchmarks/unused_registry.py +35 -0
  66. package/src/apothem/_vendor/jsonschema/benchmarks/useless_applicator_schemas.py +106 -0
  67. package/src/apothem/_vendor/jsonschema/benchmarks/useless_keywords.py +32 -0
  68. package/src/apothem/_vendor/jsonschema/benchmarks/validator_creation.py +14 -0
  69. package/src/apothem/_vendor/jsonschema/cli.py +292 -0
  70. package/src/apothem/_vendor/jsonschema/exceptions.py +490 -0
  71. package/src/apothem/_vendor/jsonschema/protocols.py +230 -0
  72. package/src/apothem/_vendor/jsonschema/validators.py +1410 -0
  73. package/src/apothem/_vendor/jsonschema.LICENSE +19 -0
  74. package/src/apothem/_vendor/jsonschema_specifications/__init__.py +12 -0
  75. package/src/apothem/_vendor/jsonschema_specifications/_core.py +38 -0
  76. package/src/apothem/_vendor/jsonschema_specifications/schemas/draft201909/metaschema.json +42 -0
  77. package/src/apothem/_vendor/jsonschema_specifications/schemas/draft201909/vocabularies/applicator +56 -0
  78. package/src/apothem/_vendor/jsonschema_specifications/schemas/draft201909/vocabularies/content +17 -0
  79. package/src/apothem/_vendor/jsonschema_specifications/schemas/draft201909/vocabularies/core +57 -0
  80. package/src/apothem/_vendor/jsonschema_specifications/schemas/draft201909/vocabularies/format +14 -0
  81. package/src/apothem/_vendor/jsonschema_specifications/schemas/draft201909/vocabularies/meta-data +37 -0
  82. package/src/apothem/_vendor/jsonschema_specifications/schemas/draft201909/vocabularies/validation +98 -0
  83. package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/metaschema.json +58 -0
  84. package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/applicator +48 -0
  85. package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/content +17 -0
  86. package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/core +51 -0
  87. package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/format-annotation +14 -0
  88. package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/format-assertion +14 -0
  89. package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/meta-data +37 -0
  90. package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/unevaluated +15 -0
  91. package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/validation +98 -0
  92. package/src/apothem/_vendor/jsonschema_specifications/schemas/draft3/metaschema.json +172 -0
  93. package/src/apothem/_vendor/jsonschema_specifications/schemas/draft4/metaschema.json +149 -0
  94. package/src/apothem/_vendor/jsonschema_specifications/schemas/draft6/metaschema.json +153 -0
  95. package/src/apothem/_vendor/jsonschema_specifications/schemas/draft7/metaschema.json +166 -0
  96. package/src/apothem/_vendor/jsonschema_specifications.LICENSE +19 -0
  97. package/src/apothem/_vendor/referencing/__init__.py +7 -0
  98. package/src/apothem/_vendor/referencing/_attrs.py +31 -0
  99. package/src/apothem/_vendor/referencing/_attrs.pyi +21 -0
  100. package/src/apothem/_vendor/referencing/_core.py +739 -0
  101. package/src/apothem/_vendor/referencing/exceptions.py +165 -0
  102. package/src/apothem/_vendor/referencing/jsonschema.py +642 -0
  103. package/src/apothem/_vendor/referencing/py.typed +0 -0
  104. package/src/apothem/_vendor/referencing/retrieval.py +94 -0
  105. package/src/apothem/_vendor/referencing/typing.py +61 -0
  106. package/src/apothem/_vendor/referencing.LICENSE +19 -0
  107. package/src/apothem/_vendor/rpds/__init__.py +251 -0
  108. package/src/apothem/_vendor/typing_extensions.LICENSE +279 -0
  109. package/src/apothem/_vendor/typing_extensions.py +4317 -0
  110. package/src/apothem/_vendor/vendor.txt +22 -0
  111. package/src/apothem/_vendor/yaml/__init__.py +389 -0
  112. package/src/apothem/_vendor/yaml/composer.py +138 -0
  113. package/src/apothem/_vendor/yaml/constructor.py +748 -0
  114. package/src/apothem/_vendor/yaml/cyaml.py +100 -0
  115. package/src/apothem/_vendor/yaml/dumper.py +61 -0
  116. package/src/apothem/_vendor/yaml/emitter.py +1137 -0
  117. package/src/apothem/_vendor/yaml/error.py +74 -0
  118. package/src/apothem/_vendor/yaml/events.py +85 -0
  119. package/src/apothem/_vendor/yaml/loader.py +63 -0
  120. package/src/apothem/_vendor/yaml/nodes.py +48 -0
  121. package/src/apothem/_vendor/yaml/parser.py +588 -0
  122. package/src/apothem/_vendor/yaml/reader.py +185 -0
  123. package/src/apothem/_vendor/yaml/representer.py +388 -0
  124. package/src/apothem/_vendor/yaml/resolver.py +226 -0
  125. package/src/apothem/_vendor/yaml/scanner.py +1435 -0
  126. package/src/apothem/_vendor/yaml/serializer.py +110 -0
  127. package/src/apothem/_vendor/yaml/tokens.py +103 -0
  128. package/src/apothem/_vendor/yaml.LICENSE +20 -0
  129. package/src/apothem/agents/README.md +60 -0
  130. package/src/apothem/agents/codebase-explorer.md +91 -0
  131. package/src/apothem/agents/convention-auditor.md +93 -0
  132. package/src/apothem/agents/dependency-auditor.md +97 -0
  133. package/src/apothem/agents/fact-checker.md +84 -0
  134. package/src/apothem/agents/mcp-builder.md +86 -0
  135. package/src/apothem/agents/memory-auditor.md +93 -0
  136. package/src/apothem/agents/prompt-evaluator.md +87 -0
  137. package/src/apothem/agents/quality-gate.md +103 -0
  138. package/src/apothem/agents/refactor-surgeon.md +74 -0
  139. package/src/apothem/agents/research-scout.md +73 -0
  140. package/src/apothem/agents/security-scanner.md +83 -0
  141. package/src/apothem/agents/test-runner.md +84 -0
  142. package/src/apothem/audit/README.md +73 -0
  143. package/src/apothem/audit/_scan_lib.py +182 -0
  144. package/src/apothem/audit/analyze_graph.py +260 -0
  145. package/src/apothem/audit/build_capability_graph.py +607 -0
  146. package/src/apothem/audit/build_inventory.py +657 -0
  147. package/src/apothem/audit/build_plans_provenance.py +997 -0
  148. package/src/apothem/audit/check_links.py +389 -0
  149. package/src/apothem/audit/classify_artifacts.py +381 -0
  150. package/src/apothem/audit/deprecated-tokens.txt +10 -0
  151. package/src/apothem/audit/execute_plans_migration.py +491 -0
  152. package/src/apothem/audit/known-projects.txt +15 -0
  153. package/src/apothem/audit/render_capability_index.py +467 -0
  154. package/src/apothem/audit/render_inventory.py +405 -0
  155. package/src/apothem/audit/scan_ai_surfaces.py +1125 -0
  156. package/src/apothem/audit/scan_ai_surfaces_coarse.py +261 -0
  157. package/src/apothem/audit/scan_drift_features.py +143 -0
  158. package/src/apothem/audit/scan_frontmatter.py +293 -0
  159. package/src/apothem/audit/scan_header_coverage.py +1134 -0
  160. package/src/apothem/audit/scan_plan_leakage.py +540 -0
  161. package/src/apothem/audit/scan_plans_discipline.py +188 -0
  162. package/src/apothem/audit/scan_secrets_pii.py +245 -0
  163. package/src/apothem/audit/scan_stale_tokens.py +296 -0
  164. package/src/apothem/audit/synthesize_drift.py +205 -0
  165. package/src/apothem/benchmarks/README.md +33 -0
  166. package/src/apothem/benchmarks/__init__.py +3 -0
  167. package/src/apothem/benchmarks/bench_agents.py +63 -0
  168. package/src/apothem/benchmarks/bench_hooks.py +93 -0
  169. package/src/apothem/benchmarks/bench_install.py +58 -0
  170. package/src/apothem/benchmarks/bench_tests.py +93 -0
  171. package/src/apothem/benchmarks/bench_validate_ecosystem.py +84 -0
  172. package/src/apothem/cli/README.md +33 -0
  173. package/src/apothem/cli/__init__.py +229 -0
  174. package/src/apothem/cli/_cmd_completion.py +88 -0
  175. package/src/apothem/cli/_cmd_diff.py +181 -0
  176. package/src/apothem/cli/_cmd_doctor.py +143 -0
  177. package/src/apothem/cli/_cmd_harnesses.py +167 -0
  178. package/src/apothem/cli/_cmd_install.py +327 -0
  179. package/src/apothem/cli/_cmd_migrate_workspace.py +143 -0
  180. package/src/apothem/cli/_cmd_profile.py +341 -0
  181. package/src/apothem/cli/_cmd_status.py +180 -0
  182. package/src/apothem/cli/_cmd_uninstall.py +215 -0
  183. package/src/apothem/cli/_cmd_update.py +397 -0
  184. package/src/apothem/cli/_cmd_verify.py +194 -0
  185. package/src/apothem/cli/_common_flags.py +90 -0
  186. package/src/apothem/cli/_epilogs.py +296 -0
  187. package/src/apothem/cli/_helpers.py +857 -0
  188. package/src/apothem/cli/_json_formatter.py +21 -0
  189. package/src/apothem/cli/_materialize.py +376 -0
  190. package/src/apothem/cli/completions/apothem.bash +30 -0
  191. package/src/apothem/cli/completions/apothem.fish +19 -0
  192. package/src/apothem/cli/completions/apothem.ps1 +27 -0
  193. package/src/apothem/cli/completions/apothem.zsh +42 -0
  194. package/src/apothem/cli/reference_export.py +126 -0
  195. package/src/apothem/commands/README.md +125 -0
  196. package/src/apothem/commands/a11y-audit.md +203 -0
  197. package/src/apothem/commands/architecture-review.md +194 -0
  198. package/src/apothem/commands/audit.md +165 -0
  199. package/src/apothem/commands/code-audit.md +218 -0
  200. package/src/apothem/commands/code-review.md +193 -0
  201. package/src/apothem/commands/dependency-audit.md +209 -0
  202. package/src/apothem/commands/docs-review.md +199 -0
  203. package/src/apothem/commands/elevate.md +285 -0
  204. package/src/apothem/commands/eval.md +149 -0
  205. package/src/apothem/commands/fortress.md +172 -0
  206. package/src/apothem/commands/freshify.md +168 -0
  207. package/src/apothem/commands/github-deploy-fresh.md +178 -0
  208. package/src/apothem/commands/github-deploy-next.md +167 -0
  209. package/src/apothem/commands/perf-audit.md +198 -0
  210. package/src/apothem/commands/plan-amend.md +104 -0
  211. package/src/apothem/commands/plan-audit.md +127 -0
  212. package/src/apothem/commands/plan-design.md +257 -0
  213. package/src/apothem/commands/plan-execute.md +495 -0
  214. package/src/apothem/commands/plan-generate.md +351 -0
  215. package/src/apothem/commands/plan-review.md +555 -0
  216. package/src/apothem/commands/plan-spec.md +359 -0
  217. package/src/apothem/commands/plan-status.md +222 -0
  218. package/src/apothem/commands/plan.md +173 -0
  219. package/src/apothem/commands/projectify.md +142 -0
  220. package/src/apothem/commands/release-readiness.md +142 -0
  221. package/src/apothem/commands/research-analysis.md +241 -0
  222. package/src/apothem/commands/research-design.md +231 -0
  223. package/src/apothem/commands/research-disseminate.md +225 -0
  224. package/src/apothem/commands/research-experiment.md +232 -0
  225. package/src/apothem/commands/research-ideate.md +213 -0
  226. package/src/apothem/commands/research-paper.md +252 -0
  227. package/src/apothem/commands/research-proposal.md +220 -0
  228. package/src/apothem/commands/research-publish.md +255 -0
  229. package/src/apothem/commands/research-review.md +251 -0
  230. package/src/apothem/commands/research-sources.md +266 -0
  231. package/src/apothem/commands/research-spec.md +255 -0
  232. package/src/apothem/commands/research-synthesis.md +233 -0
  233. package/src/apothem/commands/research-theory.md +218 -0
  234. package/src/apothem/commands/research.md +181 -0
  235. package/src/apothem/commands/security-audit.md +196 -0
  236. package/src/apothem/commands/supply-chain-audit.md +192 -0
  237. package/src/apothem/commands/test-suite.md +146 -0
  238. package/src/apothem/commands/threat-model-audit.md +199 -0
  239. package/src/apothem/commands/ux-review.md +202 -0
  240. package/src/apothem/commands/workflow.md +162 -0
  241. package/src/apothem/conformity/README.md +173 -0
  242. package/src/apothem/conformity/__init__.py +1 -0
  243. package/src/apothem/conformity/_grep_base.py +93 -0
  244. package/src/apothem/conformity/agent_capability_grep.py +306 -0
  245. package/src/apothem/conformity/agents_md_coverage_grep.py +382 -0
  246. package/src/apothem/conformity/agnosticism_grep.py +311 -0
  247. package/src/apothem/conformity/always_on_budget_grep.py +318 -0
  248. package/src/apothem/conformity/bare_except_grep.py +115 -0
  249. package/src/apothem/conformity/binding_reciprocity_grep.py +151 -0
  250. package/src/apothem/conformity/brand_mark_grep.py +272 -0
  251. package/src/apothem/conformity/commented_out_code_grep.py +176 -0
  252. package/src/apothem/conformity/completion_claim_grep.py +169 -0
  253. package/src/apothem/conformity/conventional_commit_grep.py +319 -0
  254. package/src/apothem/conformity/copilot_instructions_presence_grep.py +324 -0
  255. package/src/apothem/conformity/cross_platform_matrix_grep.py +297 -0
  256. package/src/apothem/conformity/determinism_grep.py +306 -0
  257. package/src/apothem/conformity/diagram_staleness_grep.py +154 -0
  258. package/src/apothem/conformity/dynamism_grep.py +284 -0
  259. package/src/apothem/conformity/editorconfig_presence_grep.py +281 -0
  260. package/src/apothem/conformity/file_header_grep.py +502 -0
  261. package/src/apothem/conformity/freshness_token_grep.py +233 -0
  262. package/src/apothem/conformity/frontmatter_grep.py +274 -0
  263. package/src/apothem/conformity/frontmatter_value_grep.py +386 -0
  264. package/src/apothem/conformity/gate.py +1386 -0
  265. package/src/apothem/conformity/gitattributes_presence_grep.py +238 -0
  266. package/src/apothem/conformity/harden_runner_grep.py +320 -0
  267. package/src/apothem/conformity/hedging_grep.py +129 -0
  268. package/src/apothem/conformity/license_author_consistency_grep.py +204 -0
  269. package/src/apothem/conformity/link_check.py +327 -0
  270. package/src/apothem/conformity/magic_number_grep.py +182 -0
  271. package/src/apothem/conformity/multi_surface_coherence_grep.py +620 -0
  272. package/src/apothem/conformity/naming_grep.py +224 -0
  273. package/src/apothem/conformity/no_global_plans_grep.py +339 -0
  274. package/src/apothem/conformity/no_toplevel_docs_grep.py +120 -0
  275. package/src/apothem/conformity/oidc_trusted_publishing_grep.py +291 -0
  276. package/src/apothem/conformity/option_annotation_grep.py +352 -0
  277. package/src/apothem/conformity/orphan_output_grep.py +206 -0
  278. package/src/apothem/conformity/permissions_minimum_scope_grep.py +299 -0
  279. package/src/apothem/conformity/plain_language_grep.py +559 -0
  280. package/src/apothem/conformity/plan_next_step_consistency_grep.py +450 -0
  281. package/src/apothem/conformity/plan_suite_structure_grep.py +534 -0
  282. package/src/apothem/conformity/plans_discipline_language_grep.py +245 -0
  283. package/src/apothem/conformity/production_ready_pr_grep.py +200 -0
  284. package/src/apothem/conformity/recommend_next_step_grep.py +250 -0
  285. package/src/apothem/conformity/redundancy_grep.py +401 -0
  286. package/src/apothem/conformity/reference_token_grep.py +230 -0
  287. package/src/apothem/conformity/registry_capability_consistency_grep.py +368 -0
  288. package/src/apothem/conformity/secret_leak_grep.py +193 -0
  289. package/src/apothem/conformity/semver_stability_grep.py +358 -0
  290. package/src/apothem/conformity/smoke_install_grep.py +194 -0
  291. package/src/apothem/conformity/static_version_grep.py +284 -0
  292. package/src/apothem/conformity/token_efficiency_grep.py +185 -0
  293. package/src/apothem/conformity/unpinned_action_grep.py +115 -0
  294. package/src/apothem/conformity/user_confirm_grep.py +74 -0
  295. package/src/apothem/conformity/workflow_concurrency_grep.py +283 -0
  296. package/src/apothem/harnesses/README.md +63 -0
  297. package/src/apothem/harnesses/__init__.py +16 -0
  298. package/src/apothem/harnesses/_shared/README.md +36 -0
  299. package/src/apothem/harnesses/_shared/__init__.py +12 -0
  300. package/src/apothem/harnesses/_shared/install_driver.py +281 -0
  301. package/src/apothem/harnesses/_shared/install_driver_apply.py +612 -0
  302. package/src/apothem/harnesses/_shared/install_driver_backup.py +535 -0
  303. package/src/apothem/harnesses/_shared/install_driver_converters.py +310 -0
  304. package/src/apothem/harnesses/_shared/install_driver_lifecycle.py +495 -0
  305. package/src/apothem/harnesses/_shared/install_driver_materialize.py +675 -0
  306. package/src/apothem/harnesses/_shared/install_driver_merge.py +656 -0
  307. package/src/apothem/harnesses/_shared/install_driver_pathsafety.py +137 -0
  308. package/src/apothem/harnesses/_shared/install_driver_planvalidation.py +240 -0
  309. package/src/apothem/harnesses/_shared/install_driver_removal.py +366 -0
  310. package/src/apothem/harnesses/_shared/install_driver_treeops.py +248 -0
  311. package/src/apothem/harnesses/_shared/install_driver_types.py +330 -0
  312. package/src/apothem/harnesses/_shared/wrapper_factories.py +448 -0
  313. package/src/apothem/harnesses/antigravity/STANDARD-CONVENTION-PIN.md +91 -0
  314. package/src/apothem/harnesses/antigravity/__init__.py +70 -0
  315. package/src/apothem/harnesses/antigravity/capabilities.yml +40 -0
  316. package/src/apothem/harnesses/antigravity/install.py +63 -0
  317. package/src/apothem/harnesses/antigravity/templates/GEMINI.md +40 -0
  318. package/src/apothem/harnesses/antigravity/templates/plugin.json +5 -0
  319. package/src/apothem/harnesses/antigravity/uninstall.py +22 -0
  320. package/src/apothem/harnesses/antigravity/update.py +10 -0
  321. package/src/apothem/harnesses/antigravity/verify.py +11 -0
  322. package/src/apothem/harnesses/claude_code/STANDARD-CONVENTION-PIN.md +65 -0
  323. package/src/apothem/harnesses/claude_code/__init__.py +107 -0
  324. package/src/apothem/harnesses/claude_code/capabilities.yml +42 -0
  325. package/src/apothem/harnesses/claude_code/install.py +147 -0
  326. package/src/apothem/harnesses/claude_code/templates/settings.json +351 -0
  327. package/src/apothem/harnesses/claude_code/uninstall.py +23 -0
  328. package/src/apothem/harnesses/claude_code/update.py +10 -0
  329. package/src/apothem/harnesses/claude_code/verify.py +11 -0
  330. package/src/apothem/harnesses/codebuddy/STANDARD-CONVENTION-PIN.md +74 -0
  331. package/src/apothem/harnesses/codebuddy/__init__.py +49 -0
  332. package/src/apothem/harnesses/codebuddy/capabilities.yml +34 -0
  333. package/src/apothem/harnesses/codebuddy/install.py +40 -0
  334. package/src/apothem/harnesses/codebuddy/templates/apothem-rules.md +37 -0
  335. package/src/apothem/harnesses/codebuddy/uninstall.py +25 -0
  336. package/src/apothem/harnesses/codebuddy/update.py +10 -0
  337. package/src/apothem/harnesses/codebuddy/verify.py +11 -0
  338. package/src/apothem/harnesses/codex/STANDARD-CONVENTION-PIN.md +79 -0
  339. package/src/apothem/harnesses/codex/__init__.py +72 -0
  340. package/src/apothem/harnesses/codex/capabilities.yml +40 -0
  341. package/src/apothem/harnesses/codex/install.py +69 -0
  342. package/src/apothem/harnesses/codex/templates/AGENTS.md +40 -0
  343. package/src/apothem/harnesses/codex/templates/hooks.json +127 -0
  344. package/src/apothem/harnesses/codex/uninstall.py +23 -0
  345. package/src/apothem/harnesses/codex/update.py +10 -0
  346. package/src/apothem/harnesses/codex/verify.py +11 -0
  347. package/src/apothem/harnesses/cursor/STANDARD-CONVENTION-PIN.md +79 -0
  348. package/src/apothem/harnesses/cursor/__init__.py +48 -0
  349. package/src/apothem/harnesses/cursor/capabilities.yml +42 -0
  350. package/src/apothem/harnesses/cursor/install.py +38 -0
  351. package/src/apothem/harnesses/cursor/templates/apothem-rules.mdc +40 -0
  352. package/src/apothem/harnesses/cursor/uninstall.py +25 -0
  353. package/src/apothem/harnesses/cursor/update.py +10 -0
  354. package/src/apothem/harnesses/cursor/verify.py +11 -0
  355. package/src/apothem/harnesses/gemini_cli/STANDARD-CONVENTION-PIN.md +102 -0
  356. package/src/apothem/harnesses/gemini_cli/__init__.py +52 -0
  357. package/src/apothem/harnesses/gemini_cli/capabilities.yml +43 -0
  358. package/src/apothem/harnesses/gemini_cli/install.py +43 -0
  359. package/src/apothem/harnesses/gemini_cli/templates/GEMINI.md +38 -0
  360. package/src/apothem/harnesses/gemini_cli/uninstall.py +25 -0
  361. package/src/apothem/harnesses/gemini_cli/update.py +10 -0
  362. package/src/apothem/harnesses/gemini_cli/verify.py +11 -0
  363. package/src/apothem/harnesses/github_copilot/STANDARD-CONVENTION-PIN.md +84 -0
  364. package/src/apothem/harnesses/github_copilot/__init__.py +47 -0
  365. package/src/apothem/harnesses/github_copilot/capabilities.yml +42 -0
  366. package/src/apothem/harnesses/github_copilot/install.py +40 -0
  367. package/src/apothem/harnesses/github_copilot/templates/copilot-instructions.md +33 -0
  368. package/src/apothem/harnesses/github_copilot/uninstall.py +25 -0
  369. package/src/apothem/harnesses/github_copilot/update.py +10 -0
  370. package/src/apothem/harnesses/github_copilot/verify.py +11 -0
  371. package/src/apothem/harnesses/glm/STANDARD-CONVENTION-PIN.md +77 -0
  372. package/src/apothem/harnesses/glm/__init__.py +56 -0
  373. package/src/apothem/harnesses/glm/capabilities.yml +33 -0
  374. package/src/apothem/harnesses/glm/install.py +45 -0
  375. package/src/apothem/harnesses/glm/templates/glm.toml +58 -0
  376. package/src/apothem/harnesses/glm/uninstall.py +25 -0
  377. package/src/apothem/harnesses/glm/update.py +10 -0
  378. package/src/apothem/harnesses/glm/verify.py +11 -0
  379. package/src/apothem/harnesses/hermes/STANDARD-CONVENTION-PIN.md +57 -0
  380. package/src/apothem/harnesses/hermes/__init__.py +33 -0
  381. package/src/apothem/harnesses/hermes/capabilities.yml +36 -0
  382. package/src/apothem/harnesses/hermes/install.py +17 -0
  383. package/src/apothem/harnesses/hermes/materializer.py +35 -0
  384. package/src/apothem/harnesses/hermes/uninstall.py +33 -0
  385. package/src/apothem/harnesses/hermes/update.py +10 -0
  386. package/src/apothem/harnesses/hermes/verify.py +11 -0
  387. package/src/apothem/harnesses/kimi_code/STANDARD-CONVENTION-PIN.md +128 -0
  388. package/src/apothem/harnesses/kimi_code/__init__.py +59 -0
  389. package/src/apothem/harnesses/kimi_code/capabilities.yml +40 -0
  390. package/src/apothem/harnesses/kimi_code/install.py +42 -0
  391. package/src/apothem/harnesses/kimi_code/templates/AGENTS.md +43 -0
  392. package/src/apothem/harnesses/kimi_code/uninstall.py +27 -0
  393. package/src/apothem/harnesses/kimi_code/update.py +10 -0
  394. package/src/apothem/harnesses/kimi_code/verify.py +11 -0
  395. package/src/apothem/harnesses/kiro/STANDARD-CONVENTION-PIN.md +77 -0
  396. package/src/apothem/harnesses/kiro/__init__.py +49 -0
  397. package/src/apothem/harnesses/kiro/capabilities.yml +36 -0
  398. package/src/apothem/harnesses/kiro/install.py +39 -0
  399. package/src/apothem/harnesses/kiro/templates/apothem-rules.md +36 -0
  400. package/src/apothem/harnesses/kiro/uninstall.py +25 -0
  401. package/src/apothem/harnesses/kiro/update.py +10 -0
  402. package/src/apothem/harnesses/kiro/verify.py +11 -0
  403. package/src/apothem/harnesses/open_claw/STANDARD-CONVENTION-PIN.md +62 -0
  404. package/src/apothem/harnesses/open_claw/__init__.py +35 -0
  405. package/src/apothem/harnesses/open_claw/capabilities.yml +35 -0
  406. package/src/apothem/harnesses/open_claw/install.py +17 -0
  407. package/src/apothem/harnesses/open_claw/materializer.py +36 -0
  408. package/src/apothem/harnesses/open_claw/uninstall.py +32 -0
  409. package/src/apothem/harnesses/open_claw/update.py +10 -0
  410. package/src/apothem/harnesses/open_claw/verify.py +11 -0
  411. package/src/apothem/harnesses/opencode/STANDARD-CONVENTION-PIN.md +76 -0
  412. package/src/apothem/harnesses/opencode/__init__.py +35 -0
  413. package/src/apothem/harnesses/opencode/capabilities.yml +43 -0
  414. package/src/apothem/harnesses/opencode/install.py +17 -0
  415. package/src/apothem/harnesses/opencode/materializer.py +31 -0
  416. package/src/apothem/harnesses/opencode/uninstall.py +34 -0
  417. package/src/apothem/harnesses/opencode/update.py +10 -0
  418. package/src/apothem/harnesses/opencode/verify.py +11 -0
  419. package/src/apothem/harnesses/qwen_code/STANDARD-CONVENTION-PIN.md +87 -0
  420. package/src/apothem/harnesses/qwen_code/__init__.py +37 -0
  421. package/src/apothem/harnesses/qwen_code/capabilities.yml +43 -0
  422. package/src/apothem/harnesses/qwen_code/install.py +19 -0
  423. package/src/apothem/harnesses/qwen_code/materializer.py +174 -0
  424. package/src/apothem/harnesses/qwen_code/templates/QWEN.md +30 -0
  425. package/src/apothem/harnesses/qwen_code/uninstall.py +34 -0
  426. package/src/apothem/harnesses/qwen_code/update.py +10 -0
  427. package/src/apothem/harnesses/qwen_code/verify.py +11 -0
  428. package/src/apothem/harnesses/trae/STANDARD-CONVENTION-PIN.md +70 -0
  429. package/src/apothem/harnesses/trae/__init__.py +49 -0
  430. package/src/apothem/harnesses/trae/capabilities.yml +34 -0
  431. package/src/apothem/harnesses/trae/install.py +38 -0
  432. package/src/apothem/harnesses/trae/templates/apothem-rules.md +37 -0
  433. package/src/apothem/harnesses/trae/uninstall.py +25 -0
  434. package/src/apothem/harnesses/trae/update.py +10 -0
  435. package/src/apothem/harnesses/trae/verify.py +11 -0
  436. package/src/apothem/harnesses/windsurf/STANDARD-CONVENTION-PIN.md +91 -0
  437. package/src/apothem/harnesses/windsurf/__init__.py +52 -0
  438. package/src/apothem/harnesses/windsurf/capabilities.yml +40 -0
  439. package/src/apothem/harnesses/windsurf/install.py +41 -0
  440. package/src/apothem/harnesses/windsurf/templates/apothem-rules.md +37 -0
  441. package/src/apothem/harnesses/windsurf/uninstall.py +25 -0
  442. package/src/apothem/harnesses/windsurf/update.py +10 -0
  443. package/src/apothem/harnesses/windsurf/verify.py +11 -0
  444. package/src/apothem/harnesses/zed/STANDARD-CONVENTION-PIN.md +92 -0
  445. package/src/apothem/harnesses/zed/__init__.py +57 -0
  446. package/src/apothem/harnesses/zed/capabilities.yml +38 -0
  447. package/src/apothem/harnesses/zed/install.py +41 -0
  448. package/src/apothem/harnesses/zed/templates/apothem-rules.md +32 -0
  449. package/src/apothem/harnesses/zed/uninstall.py +28 -0
  450. package/src/apothem/harnesses/zed/update.py +10 -0
  451. package/src/apothem/harnesses/zed/verify.py +11 -0
  452. package/src/apothem/hooks/README.md +81 -0
  453. package/src/apothem/hooks/__init__.py +24 -0
  454. package/src/apothem/hooks/askuserquestion_validator.py +380 -0
  455. package/src/apothem/hooks/dispatch.py +296 -0
  456. package/src/apothem/hooks/emit_hook_context.py +444 -0
  457. package/src/apothem/hooks/hooks.json +318 -0
  458. package/src/apothem/hooks/lib/README.md +39 -0
  459. package/src/apothem/hooks/lib/__init__.py +18 -0
  460. package/src/apothem/hooks/lib/bootstrap.ps1 +129 -0
  461. package/src/apothem/hooks/lib/bootstrap.sh +103 -0
  462. package/src/apothem/hooks/lib/events.py +51 -0
  463. package/src/apothem/hooks/lib/find-pwsh.ps1 +78 -0
  464. package/src/apothem/hooks/lib/find-pwsh.sh +76 -0
  465. package/src/apothem/hooks/lib/find-python.ps1 +63 -0
  466. package/src/apothem/hooks/lib/find-python.sh +97 -0
  467. package/src/apothem/hooks/lib/log.py +43 -0
  468. package/src/apothem/hooks/lib/resolve_root.py +264 -0
  469. package/src/apothem/hooks/messages/postcompact.md +14 -0
  470. package/src/apothem/hooks/messages/posttooluse-proactive-compaction.md +46 -0
  471. package/src/apothem/hooks/messages/precompact.md +14 -0
  472. package/src/apothem/hooks/messages/pretooluse-askuserquestion-recommended.md +65 -0
  473. package/src/apothem/hooks/messages/pretooluse-bash-plan-guard.md +97 -0
  474. package/src/apothem/hooks/messages/pretooluse-bash.md +39 -0
  475. package/src/apothem/hooks/messages/pretooluse-conformity.md +70 -0
  476. package/src/apothem/hooks/messages/pretooluse-dependency-guard.md +21 -0
  477. package/src/apothem/hooks/messages/pretooluse-edit-header-guard.md +61 -0
  478. package/src/apothem/hooks/messages/pretooluse-edit.md +21 -0
  479. package/src/apothem/hooks/messages/pretooluse-eval-guard.md +39 -0
  480. package/src/apothem/hooks/messages/pretooluse-notebookedit.md +11 -0
  481. package/src/apothem/hooks/messages/pretooluse-write-header-guard.md +45 -0
  482. package/src/apothem/hooks/messages/pretooluse-write-plan-guard.md +72 -0
  483. package/src/apothem/hooks/messages/pretooluse-write.md +21 -0
  484. package/src/apothem/hooks/messages/sessionstart.md +15 -0
  485. package/src/apothem/hooks/messages/stop.md +27 -0
  486. package/src/apothem/hooks/proactive_compaction_tracker.py +327 -0
  487. package/src/apothem/hooks/session_start_bootstrap.py +472 -0
  488. package/src/apothem/lib/README.md +42 -0
  489. package/src/apothem/lib/__init__.py +13 -0
  490. package/src/apothem/lib/atomic_io.py +189 -0
  491. package/src/apothem/lib/auditor.py +687 -0
  492. package/src/apothem/lib/clean_slate.py +396 -0
  493. package/src/apothem/lib/contexts.py +352 -0
  494. package/src/apothem/lib/data_home.py +255 -0
  495. package/src/apothem/lib/frontmatter.py +101 -0
  496. package/src/apothem/lib/harness_materializer.py +213 -0
  497. package/src/apothem/lib/harness_protocol.py +59 -0
  498. package/src/apothem/lib/harness_registry.py +282 -0
  499. package/src/apothem/lib/harness_registry_data.py +843 -0
  500. package/src/apothem/lib/install_ledger.py +347 -0
  501. package/src/apothem/lib/learning.py +540 -0
  502. package/src/apothem/lib/memory.py +347 -0
  503. package/src/apothem/lib/parallel_sweep.py +234 -0
  504. package/src/apothem/lib/plan_tiers.py +200 -0
  505. package/src/apothem/lib/plugin_bootstrap.py +132 -0
  506. package/src/apothem/lib/plugin_tree.py +599 -0
  507. package/src/apothem/lib/profile.py +755 -0
  508. package/src/apothem/lib/profile_projection.py +198 -0
  509. package/src/apothem/lib/propagation-manifest.yaml +878 -0
  510. package/src/apothem/lib/propagation.py +220 -0
  511. package/src/apothem/lib/python_resolver.py +189 -0
  512. package/src/apothem/lib/reporter.py +62 -0
  513. package/src/apothem/lib/workspace_migration.py +323 -0
  514. package/src/apothem/output-styles/README.md +41 -0
  515. package/src/apothem/output-styles/concise-engineer.md +49 -0
  516. package/src/apothem/output-styles/default-architect.md +52 -0
  517. package/src/apothem/output-styles/default.md +113 -0
  518. package/src/apothem/output-styles/forensic-auditor.md +63 -0
  519. package/src/apothem/py.typed +0 -0
  520. package/src/apothem/rules/README.md +121 -0
  521. package/src/apothem/rules/agent-capability-discipline-matrix.md +89 -0
  522. package/src/apothem/rules/agent-capability-discipline.md +78 -0
  523. package/src/apothem/rules/agent-orchestration-patterns.md +144 -0
  524. package/src/apothem/rules/agent-orchestration.md +65 -0
  525. package/src/apothem/rules/agents-md-convention.md +86 -0
  526. package/src/apothem/rules/agile-sprints-elements.md +135 -0
  527. package/src/apothem/rules/agile-sprints.md +64 -0
  528. package/src/apothem/rules/agnostic-posture-checklist.md +47 -0
  529. package/src/apothem/rules/agnostic-posture.md +48 -0
  530. package/src/apothem/rules/authoritative-referencing-quotation.md +50 -0
  531. package/src/apothem/rules/authoritative-referencing.md +66 -0
  532. package/src/apothem/rules/authority-inquiry-categories.md +58 -0
  533. package/src/apothem/rules/authority-inquiry.md +54 -0
  534. package/src/apothem/rules/auto-memory-topic-files.md +86 -0
  535. package/src/apothem/rules/auto-memory.md +67 -0
  536. package/src/apothem/rules/bidirectional-binding.md +123 -0
  537. package/src/apothem/rules/canonical-layout-reporting-tiers.md +212 -0
  538. package/src/apothem/rules/canonical-layout.md +60 -0
  539. package/src/apothem/rules/clean-architecture-layers.md +186 -0
  540. package/src/apothem/rules/clean-room-generation-protocols.md +124 -0
  541. package/src/apothem/rules/clean-room-generation.md +59 -0
  542. package/src/apothem/rules/code-craft-conventions.md +101 -0
  543. package/src/apothem/rules/code-craft-markdown.md +138 -0
  544. package/src/apothem/rules/code-craft-python.md +154 -0
  545. package/src/apothem/rules/code-craft-shell.md +192 -0
  546. package/src/apothem/rules/cognitive-identity-techniques.md +180 -0
  547. package/src/apothem/rules/cognitive-identity.md +81 -0
  548. package/src/apothem/rules/context-management-budget.md +46 -0
  549. package/src/apothem/rules/context-management-protocol.md +161 -0
  550. package/src/apothem/rules/context-management-scratch.md +128 -0
  551. package/src/apothem/rules/context-management.md +85 -0
  552. package/src/apothem/rules/definitiveness-virtues.md +67 -0
  553. package/src/apothem/rules/definitiveness.md +58 -0
  554. package/src/apothem/rules/determinism.md +81 -0
  555. package/src/apothem/rules/disclosure-ledger-markers.md +58 -0
  556. package/src/apothem/rules/disclosure-ledger.md +52 -0
  557. package/src/apothem/rules/dynamism.md +38 -0
  558. package/src/apothem/rules/etc-extension.md +57 -0
  559. package/src/apothem/rules/expertise-posture-elements.md +68 -0
  560. package/src/apothem/rules/expertise-posture.md +54 -0
  561. package/src/apothem/rules/freshness-facade.md +64 -0
  562. package/src/apothem/rules/harness-adapter-shape-schemas.md +162 -0
  563. package/src/apothem/rules/harness-adapter-shape.md +42 -0
  564. package/src/apothem/rules/host-discovery-manifests.md +50 -0
  565. package/src/apothem/rules/host-discovery.md +56 -0
  566. package/src/apothem/rules/i18n-discipline-locale-cohorts.md +120 -0
  567. package/src/apothem/rules/i18n-discipline.md +70 -0
  568. package/src/apothem/rules/interactive-questions-canonical-shapes.md +590 -0
  569. package/src/apothem/rules/interactive-questions-detail.md +41 -0
  570. package/src/apothem/rules/interactive-questions-sweep-matchers.md +184 -0
  571. package/src/apothem/rules/interactive-questions.md +89 -0
  572. package/src/apothem/rules/large-file-generation.md +112 -0
  573. package/src/apothem/rules/large-file-reading.md +59 -0
  574. package/src/apothem/rules/living-docs.md +85 -0
  575. package/src/apothem/rules/multi-agent-workflow.md +57 -0
  576. package/src/apothem/rules/operational-mandates-expanded.md +78 -0
  577. package/src/apothem/rules/operational-mandates.md +88 -0
  578. package/src/apothem/rules/option-annotation-form.md +60 -0
  579. package/src/apothem/rules/option-annotation.md +45 -0
  580. package/src/apothem/rules/own-voice-reimplementation.md +86 -0
  581. package/src/apothem/rules/performance-discipline.md +91 -0
  582. package/src/apothem/rules/persistent-conventions-vigilance-checklist.md +54 -0
  583. package/src/apothem/rules/persistent-conventions-vigilance.md +61 -0
  584. package/src/apothem/rules/plain-language.md +56 -0
  585. package/src/apothem/rules/planning-techniques.md +130 -0
  586. package/src/apothem/rules/pre-emission-gate-bars.md +86 -0
  587. package/src/apothem/rules/pre-emission-gate.md +54 -0
  588. package/src/apothem/rules/production-ready-prs-surfaces.md +162 -0
  589. package/src/apothem/rules/production-ready-prs.md +83 -0
  590. package/src/apothem/rules/propagation.md +63 -0
  591. package/src/apothem/rules/recommend-next-step.md +106 -0
  592. package/src/apothem/rules/refactoring-discipline.md +76 -0
  593. package/src/apothem/rules/session-closure.md +44 -0
  594. package/src/apothem/rules/sota-elevation-exemplars.md +76 -0
  595. package/src/apothem/rules/sota-elevation.md +52 -0
  596. package/src/apothem/rules/source-accessibility.md +58 -0
  597. package/src/apothem/rules/surgical-manipulation.md +48 -0
  598. package/src/apothem/rules/systemic-participation-relations.md +108 -0
  599. package/src/apothem/rules/systemic-participation.md +70 -0
  600. package/src/apothem/rules/ten-dimension-check-dimensions.md +52 -0
  601. package/src/apothem/rules/ten-dimension-check.md +59 -0
  602. package/src/apothem/rules/token-budget-discipline.md +81 -0
  603. package/src/apothem/rules/token-efficiency-rewrite-protocol.md +79 -0
  604. package/src/apothem/rules/token-efficiency-rewrite.md +77 -0
  605. package/src/apothem/rules/tool-use-discipline.md +48 -0
  606. package/src/apothem/rules/visual-leverage.md +102 -0
  607. package/src/apothem/schemas/NOTICE.md +9 -0
  608. package/src/apothem/schemas/README.md +104 -0
  609. package/src/apothem/schemas/__init__.py +176 -0
  610. package/src/apothem/schemas/advisory-finding.schema.json +111 -0
  611. package/src/apothem/schemas/agent.schema.json +106 -0
  612. package/src/apothem/schemas/authorship-header.txt +1 -0
  613. package/src/apothem/schemas/cohort-manifest.yaml +248 -0
  614. package/src/apothem/schemas/cohort-metadata-vocabulary.yaml +168 -0
  615. package/src/apothem/schemas/cohort.schema.json +113 -0
  616. package/src/apothem/schemas/command.schema.json +68 -0
  617. package/src/apothem/schemas/compatibility-matrix.yaml +432 -0
  618. package/src/apothem/schemas/context-fragment.schema.json +64 -0
  619. package/src/apothem/schemas/freshness-token-denylist.txt +51 -0
  620. package/src/apothem/schemas/handoff-manifest.yaml +353 -0
  621. package/src/apothem/schemas/header-exceptions.txt +141 -0
  622. package/src/apothem/schemas/header-visibility.yaml +39 -0
  623. package/src/apothem/schemas/learning-signal.schema.json +46 -0
  624. package/src/apothem/schemas/memory-record.schema.json +61 -0
  625. package/src/apothem/schemas/output-style.schema.json +40 -0
  626. package/src/apothem/schemas/plan.schema.json +51 -0
  627. package/src/apothem/schemas/plugin.schema.json +83 -0
  628. package/src/apothem/schemas/profile.example.yaml +70 -0
  629. package/src/apothem/schemas/profile.minimal.yaml +6 -0
  630. package/src/apothem/schemas/profile.schema.json +396 -0
  631. package/src/apothem/schemas/reference-token-denylist.txt +25 -0
  632. package/src/apothem/schemas/skill.schema.json +75 -0
  633. package/src/apothem/skills/README.md +93 -0
  634. package/src/apothem/skills/dependency-upgrade/SKILL.md +105 -0
  635. package/src/apothem/skills/dev-toolkit/SKILL.md +120 -0
  636. package/src/apothem/skills/diagram-authoring/SKILL.md +113 -0
  637. package/src/apothem/skills/document-authoring/SKILL.md +118 -0
  638. package/src/apothem/skills/ecosystem-audit/SKILL.md +108 -0
  639. package/src/apothem/skills/ecosystem-audit/references/audit-fortress.md +85 -0
  640. package/src/apothem/skills/ecosystem-audit/references/procedure.md +162 -0
  641. package/src/apothem/skills/eval-harness/SKILL.md +88 -0
  642. package/src/apothem/skills/incident-runbook/SKILL.md +92 -0
  643. package/src/apothem/skills/multi-source-research/SKILL.md +90 -0
  644. package/src/apothem/skills/plan-suite/SKILL.md +118 -0
  645. package/src/apothem/skills/plan-suite/master_template.md +1324 -0
  646. package/src/apothem/skills/projectify/SKILL.md +117 -0
  647. package/src/apothem/skills/prompt-engineering/SKILL.md +122 -0
  648. package/src/apothem/skills/refactor-extract/SKILL.md +85 -0
  649. package/src/apothem/skills/research-suite/SKILL.md +170 -0
  650. package/src/apothem/skills/research-suite/references/directory-structure.md +47 -0
  651. package/src/apothem/skills/research-suite/references/lifecycle.md +67 -0
  652. package/src/apothem/skills/research-suite/references/principal-investigator-framework.md +37 -0
  653. package/src/apothem/skills/research-suite/references/rigor-mandates.md +30 -0
  654. package/src/apothem/skills/research-suite/research_template.md +476 -0
  655. package/src/apothem/skills/secret-rotation/SKILL.md +87 -0
  656. package/src/apothem/skills/source-synthesis/SKILL.md +92 -0
  657. package/src/apothem/skills/surgical-guard/SKILL.md +118 -0
  658. package/src/apothem/skills/test-authoring/SKILL.md +85 -0
  659. package/src/apothem/skills/vuln-triage/SKILL.md +91 -0
  660. package/src/apothem/skills/workflow/SKILL.md +139 -0
  661. package/src/apothem/statuslines/README.md +26 -0
  662. package/src/apothem/statuslines/__init__.py +20 -0
  663. package/src/apothem/statuslines/conformity.json +5 -0
  664. package/src/apothem/statuslines/render.py +334 -0
  665. package/src/apothem/statuslines/statusline.md +50 -0
  666. package/src/apothem/templates/README.md +43 -0
  667. package/src/apothem/templates/agents-md-template.md +80 -0
  668. package/src/apothem/templates/consideration-log.md +39 -0
  669. package/src/apothem/templates/expertise-gap-log.md +56 -0
  670. package/src/apothem/templates/master-index-template.md +93 -0
  671. package/src/apothem/templates/potency-map.md +53 -0
  672. package/src/apothem/templates/preservation-audit.md +60 -0
  673. package/src/apothem/templates/question-resolution-audit.md +52 -0
  674. package/src/apothem/templates/trace-matrix-template.md +77 -0
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: "surgical-manipulation"
3
+ description: "Every mutation of an existing artifact is surgical — a precise, minimal, anchor-bounded or managed-block edit that touches only the span the change requires, never a blunt whole-file overwrite where a scoped edit suffices, and never a strip of a surrounding banner or unrelated content. The mutation produces a minimal diff attested against the host's green conformity baseline (the golden-corpus invariant). The surgical-edit + reactive-guard mechanism is the surgical-guard skill."
4
+ pathFilter: "**/*.py, **/*.md, **/*.mdx, **/*.json, **/*.yaml, **/*.yml, **/*.toml, **/*.sh, **/*.ps1, **/*.ts, **/*.js, **/*.mjs, **/*.css, **/*.mdc"
5
+ alwaysApply: false
6
+ ---
7
+
8
+ <!-- SPDX-License-Identifier: MIT -->
9
+
10
+ # Rule: Surgical Manipulation — Minimal, Anchor-Bounded Mutation
11
+
12
+ ## What this rule enforces
13
+
14
+ Every mutation of an **existing** artifact MUST be **surgical**: a precise, minimal edit scoped to an anchor — a managed-block sentinel region, a contiguous span, or the smallest range the change requires. It MUST NOT be a blunt whole-file overwrite where a scoped edit suffices, and MUST NOT strip a surrounding authorship banner or unrelated content. The diff is minimal — only the lines the change requires move — and is attested against the host's green conformity baseline: the **minimal-diff golden-corpus invariant** (a surgical edit that leaves every gate green). The cohort mandates this discipline; its operating mechanism — surgical edit plus a reactive post-edit quality guard — is the `surgical-guard` skill.
15
+
16
+ ## Pre-conditions
17
+
18
+ Applies whenever an existing artifact is mutated (an Edit, an in-place rewrite, a managed-block refresh). It does NOT apply to green-field file creation (no existing content to preserve) — that is authoring, governed by `rules/clean-room-generation.md`. Trivial-scope single-line edits inherit the discipline at the touch site (preserve surroundings) without further ceremony.
19
+
20
+ ## Required behavior
21
+
22
+ ### 1. Anchor before mutate
23
+
24
+ Locate the precise mutation site first (locate-before-read): a sentinel-delimited managed block, an anchor-bounded span, or the smallest contiguous range the change needs. Read only that range plus a tight buffer. The anchor is the scope contract — the edit touches it and nothing outside it.
25
+
26
+ ### 2. Minimal diff
27
+
28
+ Apply the change as the smallest diff that satisfies it. Everything outside the anchor MUST stay byte-for-byte unchanged — including the SPDX authorship banner, surrounding comments, and unrelated declarations. A whole-file overwrite where an anchor-bounded edit suffices is non-conformant; a managed-block refresh replaces only the sentinel-delimited content, never the boundaries.
29
+
30
+ ### 3. Golden-corpus attestation
31
+
32
+ After the mutation, the host's conformity gate MUST be green and the diff minimal — the golden-corpus invariant. A mutation that turns a gate red, or sweeps far beyond its stated scope, fails the invariant and is reduced to its surgical minimum before acceptance.
33
+
34
+ ### 4. Reactive guard
35
+
36
+ Non-trivial mutations MUST be reviewed reactively (a diff pass) for the systematic failure modes of generated changes — swallowed errors, hollow tests, docs-vs-code drift — via the `surgical-guard` skill before the change is accepted.
37
+
38
+ ## Failure tells
39
+
40
+ A whole-file overwrite where a three-line anchor-bounded edit would suffice. A diff that strips or relocates the SPDX banner during an unrelated change. A managed-block edit that rewrites the sentinel boundaries instead of the enclosed content. A mutation that sweeps unrelated lines into its diff. A change accepted while a conformity gate it touched is red (golden-corpus breach).
41
+
42
+ ## Bindings (§0.j five-direction)
43
+
44
+ - **Drives →** Every mutation of an existing artifact across the host (anchor-bounded minimal diff). The minimal-diff golden-corpus attestation on every non-trivial change. The reactive post-edit guard pass.
45
+ - **Driven by ←** The WS-E surgical-manipulation mandate; the harness installation discipline's managed-block (`sentinel_merge`) convention.
46
+ - **Satisfies →** The MAXIMAL golden-corpus end-state (internally consistent, minimally-diffed, gate-conformant).
47
+ - **Established by ↑** `skills/surgical-guard/SKILL.md` (the surgical-edit + reactive-guard mechanism this rule mandates); the harness-installation managed-block discipline.
48
+ - **Cross-bound with ↔** `skills/surgical-guard/SKILL.md` (the mechanism). `rules/code-craft-python.md` + sibling code-craft rules (scoped, atomic refactoring is the per-language form of surgical mutation). `rules/interactive-questions.md` (§6 — destructive mutations route per-file through the canonical destructive-op floor). `rules/clean-room-generation.md` (governs green-field authoring; this rule governs mutation of existing artifacts). `rules/pre-emission-gate.md` (the golden-corpus attestation is verified at the gate). `rules/refactoring-discipline.md` (a refactor's edits are surgical, anchor-bounded mutations).
@@ -0,0 +1,108 @@
1
+ ---
2
+ name: "systemic-participation-relations"
3
+ description: "Path-filtered companion rule carrying the operational detail of M14 systemic participation — the four systemic relations table, sibling-convention convergence detail, index/registry update table, the three orphan classes, the three silo classes, retirement discipline, and the cross-component reference graph invariant. Demand-loaded when the parent `systemic-participation.md` rule's anchors surface on host-project component touches."
4
+ pathFilter: "**/src/**, **/lib/**, **/tests/**, **/docs/**, **/.github/**, **/migrations/**, **/__init__.py, **/CONTRIBUTING.md, **/CODEOWNERS"
5
+ alwaysApply: false
6
+ ---
7
+
8
+ <!-- SPDX-License-Identifier: MIT -->
9
+
10
+ # Rule: Systemic-Participation Relations (Companion Sub-Rule)
11
+
12
+ ## Purpose
13
+
14
+ Carry the operational detail of M14 systemic participation that the parent rule `rules/systemic-participation.md` anchors. The companion is path-filtered: it loads when the assistant edits any host-project component class (source modules, libraries, tests, documentation, CI workflows under `.github/`, migrations, package `__init__.py`, contribution surfaces). The parent rule retains the canonical directive paragraph, the pre-conditions, the disclosure surface, and the failure-tells catalog; this companion carries the seven sub-section bodies that operationalize the directive at the component-touch surface.
15
+
16
+ ## Obligations
17
+
18
+ ### 1. The Four Systemic Relations
19
+
20
+ Every newly-introduced component declares four relations:
21
+
22
+ | Relation | What it names | Why |
23
+ |---|---|---|
24
+ | **Upstream** | What triggers, depends on, or invokes this component | The reader can answer "what causes this to run / be loaded / be referenced?" |
25
+ | **Downstream** | What consumes this component's output / behavior / surface | The reader can answer "what would break if this were removed?" |
26
+ | **Peers** | Sibling components of the same kind (other tests, other docs, other workflows, other modules) | The reader can answer "what convention does this follow, and what conventions does it bind?" |
27
+ | **Enforcers** | Host quality gates that govern this component (CI workflows, linters, type-checkers, security scans, code review owners) | The reader can answer "what gates pass / fail when this changes?" |
28
+
29
+ The four relations MUST be declared in two places: inline in the artifact (header comment, frontmatter, or a dedicated `## Bindings` section per `rules/bidirectional-binding.md`) AND in the host's adjacent registry (the index file the host maintains for components of this kind).
30
+
31
+ ### 2. Sibling-Convention Convergence
32
+
33
+ Every newly-introduced component **converges with its peers** on every observable convention:
34
+
35
+ - **Naming.** The component's filename, identifier, header, ID, slug match the peers' naming convention (kebab-case / snake_case / PascalCase / camelCase / etc.).
36
+ - **Layout.** The component's directory placement matches where the peers live. A new test under the host's tests directory; a new doc page under the host's docs directory; a new CI workflow under `.github/workflows/`.
37
+ - **Frontmatter / header / preamble.** When peers carry a frontmatter contract or a header-comment shape, the new component carries the same contract / shape with the same field set (host-discovered required fields per `rules/host-discovery.md`).
38
+ - **Internal idioms.** The component's body uses the same idioms its peers use — same fixture pattern in tests, same heading hierarchy in docs, same action-pinning policy in CI workflows, same import order in source files, same logging surface in scripts.
39
+
40
+ **Sibling-convergence threshold.** When the host has at least three peer components of the same kind, the dominant observable convention is the ratified convention; new components honor it. When the host has fewer than three peers, the observable conventions are advisory; the new component adopts one and the choice is recorded in the disclosure ledger so future siblings converge on the same.
41
+
42
+ ### 3. Index / Registry Update — Same-Change Discipline
43
+
44
+ Every newly-introduced component updates the host's adjacent registries **in the same change-set**:
45
+
46
+ | Component class | Registry update |
47
+ |---|---|
48
+ | **Test file** | Picked up by the host's existing test discovery without configuration changes; if the host maintains an explicit test index (e.g., `tests/__init__.py`, `tests/index.json`, a `tox.ini` envlist), the new test is added |
49
+ | **Documentation page** | Listed in the host's TOC / nav / sidebar / index page; cross-linked from contextually-related pages with reciprocal links per `rules/bidirectional-binding.md` |
50
+ | **CI workflow** | If the host's `CONTRIBUTING.md` documents the CI section, the new workflow is mentioned; if the host has a workflow-index file, the new workflow is added |
51
+ | **Source module** | Added to the host's `__init__.py` / module index / package manifest so it is importable through the public API surface |
52
+ | **Configuration entry** | Documented in the configuration's reference page; default value declared; environment-variable mapping (where applicable) noted |
53
+ | **Schema / migration** | Indexed in the host's migration directory; numbered or timestamped per the host's convention; downstream-consumer code that depends on the new schema updated in the same change-set |
54
+
55
+ The same-change discipline forbids "I'll add the index entry in a follow-up": the follow-up never lands, the artifact persists as an orphan in the meantime, and orphans are structural failures.
56
+
57
+ ### 4. Orphan Prevention — The Three Orphan Classes
58
+
59
+ An orphan is an artifact satisfying any one of the three conditions enumerated at `rules/canonical-layout.md` §3:
60
+
61
+ - **No consumer.** Nothing in the host's reference graph reads / imports / executes / links / references the artifact.
62
+ - **No index entry.** The artifact is not listed in the enclosing directory's index where the host maintains one.
63
+ - **No producer attribution.** The artifact carries no provenance — no frontmatter `provenance:` field, no header comment naming the producer, no record in the producer's report.
64
+
65
+ This rule extends the orphan-prevention discipline from `rules/canonical-layout.md` (which governs orphans within multi-step work session outputs) to **every** newly-introduced component in the host project (regardless of whether the component originated from multi-step work or a single-step touch).
66
+
67
+ ### 5. Silo Prevention — The Three Silo Classes
68
+
69
+ A silo is a newly-introduced component satisfying any one of:
70
+
71
+ - **Convention divergence.** The component's observable conventions (naming, layout, frontmatter, internal idioms) diverge from peer components of the same kind without explicit justification.
72
+ - **Functional duplication.** The component performs a function the host already provides through an existing component, without explicit justification (e.g., a new utility function alongside an equivalent existing helper; a new test fixture alongside an equivalent existing fixture; a new doc page alongside an equivalent existing page).
73
+ - **Scope drift.** The component bundles concerns that belong to multiple existing components, blurring the host's existing scope boundaries (e.g., a new module mixing domain logic and infrastructure concerns; a new doc page combining tutorial and reference material).
74
+
75
+ Silo recovery: the silo is either (a) merged into the existing component it duplicates, (b) refactored to converge with peer conventions, or (c) split along the host's existing scope boundaries. Recovery happens in the same change-set as the silo's introduction; deferred recovery leaves the host's reference graph in a divergent state.
76
+
77
+ ### 6. Retirement Discipline — Symmetric to Introduction
78
+
79
+ When apothem removes a component, the four relations are unwound:
80
+
81
+ - **Upstream.** Triggers / dependencies that point at the removed component are updated or removed in the same change-set. A CI workflow's `runs-on` reference to a removed runner; a configuration entry's reference to a removed environment variable.
82
+ - **Downstream.** Consumers that depend on the removed component are updated or removed in the same change-set. Code that imports the removed module; documentation pages that link to the removed page.
83
+ - **Peers.** Sibling components that share registry entries with the removed component update their entries (e.g., a `__init__.py` that exported the removed module).
84
+ - **Enforcers.** CI workflows / linters that referenced the removed component's path-filter or surface are updated. Removed-component-related warnings are deleted from the warning suppression list.
85
+
86
+ The retirement is **complete** at the change-set boundary. A removed component whose downstream references persist is itself a finding (broken-reference orphan).
87
+
88
+ ### 7. Cross-Component Reference Graph
89
+
90
+ The host's reference graph is the union of every component's four relations:
91
+
92
+ - **Connectivity.** Every component is reachable from at least one entry point (the host's main entry, the host's documentation root, the host's CI configuration). Unreachable components are orphans.
93
+ - **Acyclicity (where applicable).** Module dependency graphs that the host's language requires acyclic (Python, ES modules, Rust, Go) honor the constraint. Documentation cross-references may form cycles (forward + back-reference is a feature, not a violation).
94
+ - **Density.** Sparse references (a component referenced from only one site) are inspected for whether the component is over-isolated or under-developed; dense references (a component referenced from many sites) are inspected for whether the component has become a god-object peer.
95
+
96
+ The reference-graph state is the host's **systemic invariant**. Every change preserves the invariant or surfaces the invariant change as a finding.
97
+
98
+ ## Enforcement
99
+
100
+ Path-filtered (the nine glob patterns in this rule's `pathFilter` field), always-on at every seriousness level when in scope. Demand-loaded companion to `rules/systemic-participation.md`. The parent rule carries the canonical M14 directive, pre-conditions, disclosure surface, and failure-tells catalog; this companion carries the seven operational sub-sections (four relations, sibling convergence, index/registry update, orphan classes, silo classes, retirement, reference graph).
101
+
102
+ ## Bindings (§0.j five-direction)
103
+
104
+ - **Drives →** ● The four-relations declaration at every newly-introduced host-project component (the §1 table is the operational floor). ● The sibling-convergence walk at §2. ● The index / registry update at §3 across every component class. ● The orphan-recovery and silo-recovery actions at §4 and §5. ● The retirement-discipline unwinding at §6. ● The reference-graph invariant preservation at §7.
105
+ - **Satisfies →** ● the fifteen-mandate registry row **M14 — Ecosystem Systemicity** (operational detail tier). ● `rules/systemic-participation.md` companion-sub-rule anchors.
106
+ - **Established by ↑** ● `rules/systemic-participation.md` (parent-rule anchor). ● the fifteen-mandate registry (ratifies M14). ● the Pre-Emission Gate row 14.
107
+ - **Gated by ←** ● The path-filter (nine glob patterns covering host-project component classes) — this rule demand-loads only on component touches. ● `rules/systemic-participation.md` always-on baseline (parent rule must be live for the anchors to surface).
108
+ - **Cross-bound with ↔** ↔ `rules/systemic-participation.md` (parent rule; companion-sub-rule anchors bind this companion). ↔ `rules/canonical-layout.md` (M12 — orphan-prevention discipline at §3 of that rule extends through this companion's §4 to all newly-introduced components). ↔ `rules/bidirectional-binding.md` (M10 — the four systemic relations populate the M10 five-direction binding section). ↔ `rules/host-discovery.md` (M1 — sibling-convergence walks the host-discovery surface). ↔ `rules/code-craft-conventions.md` (universal-delegation stub's sibling-convergence enforcement at §2 binds here for code-language artifacts). ↔ `rules/disclosure-ledger.md` (M2 — systemic-participation outcomes recorded in the ledger).
@@ -0,0 +1,70 @@
1
+ ---
2
+ name: "systemic-participation"
3
+ description: "Every artifact apothem introduces into a host project joins the host as a systemic participant — declares its upstream / downstream / peers / enforcers; honors sibling conventions; lands at the host's canonical layout; updates the host's index registries in the same change. Silos (self-contained artifacts diverging from sibling conventions) and orphans (artifacts with no consumer / no index entry / no producer attribution) are structural failures, not aesthetic preferences."
4
+ pathFilter: ""
5
+ alwaysApply: true
6
+ ---
7
+
8
+ <!-- SPDX-License-Identifier: MIT -->
9
+
10
+ # Rule: Ecosystem Systemicity in the Host Project — No Orphans, No Silos
11
+
12
+ ## What this rule enforces
13
+
14
+ This rule binds **M14 — Ecosystem Systemicity in the Host Project**. Every artifact the agent produces in a host project — module, test fixture, CI workflow, documentation page, script, manifest, configuration entry, schema, migration, deployment artifact — MUST **join the host as a systemic participant**: it declares its **upstream** (what triggers it), **downstream** (what consumes it), **peers** (siblings of the same kind), and **enforcers** (the host quality gates that govern it). Introduction is **complete in the same change-set** — host registries / indexes / TOCs / linkbacks update, the sibling convention is honored, no parallel-but-divergent function is left for the reader to find. A **silo** (self-contained artifact diverging from sibling conventions or duplicating existing function) and an **orphan** (no consumer, no index entry, no place in the reference graph) are structural failures, not aesthetic preferences.
15
+
16
+ ## Pre-conditions
17
+
18
+ Applies in a host project that maintains a reference graph (a software project with imports, indexes, and registries) whenever apothem introduces a new component, modifies an existing component's systemic relations (rename, relocation, scope change), or removes one (retirement is the symmetric inverse); a plain chat, cowork, research, or writing session with no such graph is outside its scope. Trivial-scope edits per the trivial-vs-non-trivial threshold (≤ 5 lines AND no public-API change AND no behavioral shift) are exempt; the moment a change introduces a component or alters its place in the host's reference graph, the rule applies.
19
+
20
+ ## Required behavior
21
+
22
+ ### 1. The Four Systemic Relations
23
+
24
+ Every new component declares four relations — **upstream** (what triggers it), **downstream** (what consumes it), **peers** (siblings of its kind), **enforcers** (host gates governing it) — both inline in the artifact AND in the host's adjacent registry. (Companion Sub-Rule Anchor) See `rules/systemic-participation-relations.md` §1 for the full relations table.
25
+
26
+ ### 2. Sibling-Convention Convergence
27
+
28
+ Every new component converges with its peers on naming, layout, frontmatter / header shape, and internal idioms. At three or more peers, the dominant observable convention is ratified; below that, the adopted choice is recorded in the disclosure ledger. (Companion Sub-Rule Anchor) See `rules/systemic-participation-relations.md` §2 for the convergence detail and threshold rule.
29
+
30
+ ### 3. Index / Registry Update — Same-Change Discipline
31
+
32
+ Every new component updates the host's adjacent registries in the same change-set; a deferred index update leaves a transient orphan. (Companion Sub-Rule Anchor) See `rules/systemic-participation-relations.md` §3 for the per-class registry-update table (test file, documentation page, CI workflow, source module, configuration entry, schema / migration).
33
+
34
+ ### 4. Orphan Prevention — The Three Orphan Classes
35
+
36
+ An orphan has no consumer, no index entry, or no producer attribution. This extends `rules/canonical-layout.md` §3 from multi-step work outputs to every new component. (Companion Sub-Rule Anchor) See `rules/systemic-participation-relations.md` §4 for the three-class catalog and the canonical-layout extension clause.
37
+
38
+ ### 5. Silo Prevention — The Three Silo Classes
39
+
40
+ A silo exhibits convention divergence, functional duplication, or scope drift relative to host peers. Recovery (merge / refactor / split) lands in the same change-set as the introduction. (Companion Sub-Rule Anchor) See `rules/systemic-participation-relations.md` §5 for the three-class catalog and the recovery protocol.
41
+
42
+ ### 6. Retirement Discipline — Symmetric to Introduction
43
+
44
+ When a component is removed, its upstream / downstream / peer / enforcer references are unwound in the same change-set; a persistent downstream reference is a broken-reference orphan. (Companion Sub-Rule Anchor) See `rules/systemic-participation-relations.md` §6 for the per-relation unwinding detail.
45
+
46
+ ### 7. Cross-Component Reference Graph
47
+
48
+ The host's reference graph — the union of every component's four relations — carries connectivity, acyclicity-where-applicable, and density invariants. Every change preserves them or surfaces the change as a finding. (Companion Sub-Rule Anchor) See `rules/systemic-participation-relations.md` §7 for the three-invariant detail.
49
+
50
+ ## Disclosure surface
51
+
52
+ Every systemic-participation declaration is recorded in the disclosure ledger per `rules/disclosure-ledger.md`:
53
+
54
+ - `[Systemic — introduced: <component-path>; class: <test | doc | workflow | module | config | schema>; upstream: <list>; downstream: <list>; peers: <list>; enforcers: <list>; index-entry: added at <registry-path>]` for every new-component introduction.
55
+ - `[Systemic — convergence: <component-path>; sibling-convention adopted: <convention>; sibling-source: <peer-files>]` for every sibling-convergence outcome.
56
+ - `[Systemic — silo-recovery: <component-path>; resolution: <merge | refactor | split>; original-divergence: <description>]` for every silo recovery.
57
+ - `[Systemic — orphan-recovery: <component-path>; resolution: <consumer-added | index-added | provenance-added | retired>]` for every orphan recovery.
58
+ - `[Systemic — retired: <component-path>; class: <test | doc | workflow | module | config | schema>; downstream-cleanup: <list-of-updated-references>]` for every component retirement.
59
+
60
+ ## Failure tells
61
+
62
+ Sibling-convention drift; orphan introduction (no consumer / no index entry / no producer attribution); functional-duplication and scope-drift silos; broken-reference orphans from incomplete retirement; unjustified convention divergence in the ledger. (Companion Sub-Rule Anchor) See `rules/systemic-participation-relations.md` §§4–6 for the per-class diagnostic catalog.
63
+
64
+ ## Bindings (§0.j five-direction)
65
+
66
+ - **Drives →** ● Every newly-introduced component across every host project (the four-relations declaration is the systemic-participation floor). ● The orphan-prevention discipline's universal extension beyond multi-step work session outputs (this rule covers single-step touches; `rules/canonical-layout.md` covers multi-step work). ● Every component-retirement change-set (the symmetric retirement-discipline at §6 unwinds the four relations). ● The host's reference-graph invariant preservation across every change. ◐ The orphan-introduction-grep mechanical matcher at `conformity/orphan_output_grep.py` (operationalizes the §4 orphan-prevention discipline).
67
+ - **Satisfies →** ● the fifteen-mandate registry row **M14 — Ecosystem Systemicity**. ● the Pre-Emission Gate row 14 (M14 systemicity check).
68
+ - **Established by ↑** ● the fifteen-mandate registry (ratifies M14). ● the Pre-Emission Gate row 14. ● CM-22 Conventions Vigilance (the inward-axis analog M14 cross-maps to per the M↔CM cross-mapping declared at this rule's `Cross-bound with ↔` row).
69
+ - **Gated by ←** ● The §8.1 trivial-vs-non-trivial threshold (trivial-scope edits skip the four-relations declaration). ● `CLAUDE.md` always-loaded preamble.
70
+ - **Cross-bound with ↔** ↔ `rules/systemic-participation-relations.md` (path-filtered companion sub-rule carrying §1–§7 operational detail). ↔ `rules/persistent-conventions-vigilance.md` (CM-22 — the inward-axis analog M14 cross-maps to per `CLAUDE.md` PLAN-NOTES.md D1 cross-mapping table; CM-22 governs internal artifact lifecycle, M14 governs external systemic participation; both apply where both apply). ↔ `rules/canonical-layout.md` (M12 — orphan-prevention discipline at §3 of that rule extends here from multi-step work outputs to all newly-introduced components). ↔ `rules/bidirectional-binding.md` (M10 — the four systemic relations populate the M10 five-direction binding section). ↔ `rules/host-discovery.md` (M1 — sibling-convergence walks the host-discovery surface). ↔ `rules/code-craft-conventions.md` (universal-delegation stub's sibling-convergence enforcement at §2 binds here for code-language artifacts). ↔ `rules/disclosure-ledger.md` (M2 — systemic-participation outcomes are recorded in the ledger). ↔ `rules/harness-adapter-shape.md` (M14 sibling-convention convergence is the silo-prevention surface for harness adapters). ↔ `rules/agent-capability-discipline.md` (M14 — agent-capability matrix declares the four systemic relations across cohorts). ↔ `rules/living-docs.md` (M14 — a documented surface and its page are reciprocal participants; the page is the surface's downstream consumer). ↔ `rules/propagation.md` (the component-tier propagation this rule's M14 systemicity participates in).
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: "ten-dimension-check-dimensions"
3
+ description: "Path-filtered companion sub-rule carrying the verbatim per-dimension bodies (rigor / coherence / configurability / readability / orphanism / structurality / architecture / naming / scholarly referencing / examples-tests-docs) and per-dimension failure tells declared at the parent `ten-dimension-check.md` rule's anchor; demand-loaded on artifact-emission surfaces."
4
+ pathFilter: "**/*.md, **/*.py, **/*.sh, **/*.ps1, **/CLAUDE.md, **/rules/**, **/commands/**, **/skills/**, **/agents/**, **/docs/**"
5
+ alwaysApply: false
6
+ ---
7
+
8
+ <!-- SPDX-License-Identifier: MIT -->
9
+
10
+ # Rule: Ten-Dimension Check — Per-Dimension Bodies (Companion Sub-Rule)
11
+
12
+ ## Purpose
13
+
14
+ Carry the verbatim per-dimension bodies and per-dimension failure tells the parent rule `rules/ten-dimension-check.md` anchors. Path-filtered: loads on any artifact-emission surface (Markdown, Python, shell, PowerShell under the rules / commands / skills / agents / docs trees and the root `CLAUDE.md`). The parent owns the M3 standing directive, the multiplicative-failure clause, the trivial-work abbreviated check, the self-check-at-emission paragraph, the cross-cutting failure tells, and the disclosure surface; this companion owns the ten per-dimension bodies below.
15
+
16
+ ## Obligations
17
+
18
+ ### The Ten Dimensions — Per-Dimension Bodies
19
+
20
+ Every artifact MUST pass each of the ten dimensions individually before emission. The order is canonical; each carries one diagnostic failure tell.
21
+
22
+ 1. **Scientific rigor.** Claims are evidence-based; cause-effect statements are reproducible by inspection or experiment; folklore is excluded; falsifiability is stated where applicable. **Tell:** "this is faster" with no benchmark cited.
23
+
24
+ 2. **Consistency · Coherence · Integration · Validity.** No contradiction within the artifact or against its neighbors; every part belongs to one mental model; references resolve, data shapes align, schemas match, names exist, the artifact parses. **Tell:** a README that disagrees with the code it documents.
25
+
26
+ 3. **Configurability · Irredundancy · Consolidation.** Varying behavior is parameterized; values, rules, and patterns are not duplicated; downstream artifacts reference rather than copy; fragmentation is healed. **Tell:** the constant `60` repeated across three files.
27
+
28
+ 4. **Readability · Intuition · Cleanness.** Readable on first pass by a competent engineer new to the artifact; names telegraph purpose; surprising behavior is documented or removed; no trailing whitespace, mixed line endings, dead TODOs, or commented-out blocks. **Tell:** a function named `process_data` (intent-invisible).
29
+
30
+ 5. **Orphanism · Staleness.** No reference to a removed API, renamed identifier, deprecated tool, dead URL, or non-existent file; the artifact is itself reachable in the host's reference graph; verification dates are stamped where content is volatile. **Tell:** a reference to a file moved last sprint.
31
+
32
+ 6. **Structurality · Systemicity · Uniformity · Comprehensiveness.** The artifact has clear structure, behaves as part of a system rather than a heap, follows its peers' shape, and fully covers the surface it claims. **Tell:** a partial enumeration listing 3 of 5 cases without naming the omission.
33
+
34
+ 7. **Architecture.** Where the artifact is structural, layering is articulated, data and control flow are traceable, layer boundaries are respected, and violations are flagged. **Tell:** a domain function that imports an infrastructure adapter.
35
+
36
+ 8. **Naming conventions & uniformity.** One convention per scope, applied identically; identifier shapes match the host's idioms; names never lie about behavior; specificity is not baked into the names of generic things. **Tell:** mixed `camelCase` and `snake_case` in one Python module.
37
+
38
+ 9. **Scholarly / technical referencing.** Every reference — internal, external, symbolic, quoted — meets a scholarly bar: canonical permalinked form, access date where volatile, author or organization attribution, commit-pinned over branch-pointed, primary over secondary source, no phantom citation. **Tell:** "RFC 7234 says X" with no link, no section, no quote — and X is not in RFC 7234.
39
+
40
+ 10. **Examples · Tests · Docstrings · Documentation.** The artifact carries the minimum viable documentation surface for its kind: examples for invocables, tests or verification recipes for non-trivial logic, docstrings or header comments for scripts, README-equivalent coverage where the artifact is a directory or module. **Tell:** a public function with no docstring and no example.
41
+
42
+ ## Enforcement
43
+
44
+ Path-filtered (the glob list in this rule's `pathFilter` field), always-on at every seriousness level when in scope. Demand-loaded companion to `rules/ten-dimension-check.md`: the parent owns the M3 standing directive, multiplicative-failure clause, trivial-work abbreviated check, self-check-at-emission paragraph, cross-cutting failure tells, and disclosure surface; this companion owns the ten per-dimension bodies and their failure tells.
45
+
46
+ ## Bindings (§0.j five-direction)
47
+
48
+ - **Drives →** ● Every artifact-emission surface's per-dimension self-check (the ten verbatim per-dimension bodies enumerated above are the dimension-by-dimension specification the gate's bar 3 inspects). ● Every per-dimension failure-tell match at the pre-emission gate. ◐ The dimension-by-dimension marking on the gate attestation.
49
+ - **Satisfies →** ● the fifteen-mandate registry row **M3 — Ten Quality Dimensions** (per-dimension specification surface). ● `rules/ten-dimension-check.md` anchor (parent rule's pointer to this companion's full per-dimension fidelity).
50
+ - **Established by ↑** ● `rules/ten-dimension-check.md` (parent-rule anchor). ● the fifteen-mandate registry (ratifies M3). ● the Pre-Emission Gate row 3.
51
+ - **Gated by ←** ● The path-filter (the glob list in this rule's frontmatter) — this rule demand-loads only on artifact-emission-surface touches. ● `rules/ten-dimension-check.md` always-on baseline (parent rule's anchor must be live for the companion to demand-load coherently).
52
+ - **Cross-bound with ↔** ↔ `rules/ten-dimension-check.md` (parent rule; anchor binds this companion). ↔ `rules/pre-emission-gate.md` (M4 — bar 3 of the fifteen-bar gate inspects each of the ten verbatim per-dimension bodies enumerated here). ↔ `rules/code-craft-python.md` + `rules/code-craft-shell.md` + `rules/code-craft-markdown.md` + `rules/code-craft-conventions.md` (per-language code-craft rules apply dimensions 4, 7, 8, 10 with language-specific failure tells). ↔ `rules/disclosure-ledger.md` (M2 — deferred dimensions surface as deferrals per the parent rule's disclosure surface).
@@ -0,0 +1,59 @@
1
+ ---
2
+ name: "ten-dimension-check"
3
+ description: "Ten quality dimensions every host-project artifact passes before emission — rigor, coherence, configurability, readability, orphanism, structurality, architecture, naming, scholarly referencing, examples / tests / docs."
4
+ pathFilter: ""
5
+ alwaysApply: true
6
+ ---
7
+
8
+ <!-- SPDX-License-Identifier: MIT -->
9
+
10
+ # Rule: Ten Quality Dimensions
11
+
12
+ ## What this rule enforces
13
+
14
+ This rule binds **M3 — The Ten Quality Dimensions Applied to Every Artifact**. Every artifact the ecosystem produces in a host project MUST be evaluated against ten quality dimensions, maximally meticulously, before emission. The check is a discrete pre-emission step (per `rules/pre-emission-gate.md`) recorded in the working trace — never implicit, never delegated downstream.
15
+
16
+ Multiple-dimension failure is **multiplicative, not additive**: an artifact that is stale AND orphan AND inconsistently named AND undocumented is a candidate for retraction, not repair.
17
+
18
+ ## Pre-conditions
19
+
20
+ Applies to every host-project artifact above the trivial threshold per the trivial-vs-non-trivial threshold. Trivial work runs an abbreviated check covering dimensions 4 (readability), 5 (orphanism / staleness), and 8 (naming) only.
21
+
22
+ ## Required behavior
23
+
24
+ ### The Ten Dimensions (Companion Sub-Rule Anchor)
25
+
26
+ Every artifact MUST pass each dimension individually before emission. The ten dimensions, in canonical order:
27
+
28
+ 1. Scientific rigor.
29
+ 2. Consistency · Coherence · Integration · Validity.
30
+ 3. Configurability · Irredundancy · Consolidation.
31
+ 4. Readability · Intuition · Cleanness.
32
+ 5. Orphanism · Staleness.
33
+ 6. Structurality · Systemicity · Uniformity · Comprehensiveness.
34
+ 7. Architecture.
35
+ 8. Naming conventions & uniformity.
36
+ 9. Scholarly / technical referencing.
37
+ 10. Examples · Tests · Docstrings · Documentation.
38
+
39
+ (Companion Sub-Rule Anchor) See `rules/ten-dimension-check-dimensions.md` §The Ten Dimensions — Per-Dimension Bodies for the verbatim per-dimension bodies and per-dimension failure tells. The companion demand-loads on artifact-emission surfaces (Markdown, Python, shell, PowerShell under the rules / commands / skills / agents / docs trees and the root `CLAUDE.md`).
40
+
41
+ ### Self-check at emission
42
+
43
+ Before emitting / committing / handing off, the ten-bar self-check is recorded in the working trace as part of the fifteen-bar pre-emission gate attestation per `rules/pre-emission-gate.md`. Each dimension MUST be marked `pass` or `n/a (with reason)` — never silent, never aspirational.
44
+
45
+ ## Disclosure surface
46
+
47
+ A failed dimension is either fixed before emission (the standard path) or, when the failure is structural and exceeds the change's scope, surfaced via `rules/disclosure-ledger.md` as a `[Deferral — out-of-scope: dimension N — <description>; tracking: <where>]` marker. A deferred dimension MUST NOT carry a `pass` marking — it carries an explicit `defer` marking with the deferral's tracking location.
48
+
49
+ ## Failure tells
50
+
51
+ Per-dimension failure tells live at the companion. Cross-cutting tells: a `pass` marking while a checked condition demonstrably fails (an **M4** self-application breach); an attestation block missing the ten-dimension entries; a dimension marked `n/a` without a reason; a `pass` recorded without corresponding evidence in the working trace; an artifact compounding multiple failed dimensions (stale + orphan + mis-named + undocumented) emitted as repaired rather than retracted.
52
+
53
+ ## Bindings (§0.j five-direction)
54
+
55
+ - **Drives →** Every artifact's pre-emission gate attestation per `rules/pre-emission-gate.md` (the ten-dimension entries are operationalized here as bar 3 of the fifteen-bar gate). Every code-craft surface check at `rules/code-craft-{python,shell,markdown,conventions}.md` (per-language code-craft rules apply dimensions 4, 7, 8, 10 with language-specific failure tells). Every doc-emission step at `skills/*/SKILL.md` and `commands/*.md`.
56
+ - **Satisfies →** the fifteen-mandate registry row **M3 — Ten Quality Dimensions**. the Pre-Emission Gate row 3 (M3 ten-dimensions check).
57
+ - **Established by ↑** the fifteen-mandate registry (ratifies M3). the Pre-Emission Gate (the gate row 3 anchors the dimension check).
58
+ - **Gated by ←** The §8.1 trivial-vs-non-trivial threshold (trivial work runs the abbreviated check). `CLAUDE.md` always-loaded preamble.
59
+ - **Cross-bound with ↔** `rules/ten-dimension-check-dimensions.md` (path-filtered companion sub-rule carrying the verbatim per-dimension bodies and per-dimension failure tells). `rules/pre-emission-gate.md` (M4 — the ten-dimension check is bar 3 of the fifteen-bar gate). `rules/disclosure-ledger.md` (M2 — deferred dimensions surface as deferrals). `rules/operational-mandates.md` §CM-5 Best Solution (the dimension check is the outward-projection form of CM-5's "expert-grade" requirement). `rules/code-craft-python.md` and sibling per-language code-craft rules (per-dimension materialization for code). `rules/etc-extension.md` (dimension 6 Comprehensiveness — the etc.-extension obligation is the upstream behavior this dimension verifies at emission). `rules/source-accessibility.md` (dimension 9 Scholarly / technical referencing — source-trust selection is the upstream behavior this dimension verifies). `rules/authoritative-referencing.md` (dimension 9 — the authoritative-referencing standing mandate outward-projects this referencing dimension).
@@ -0,0 +1,81 @@
1
+ ---
2
+ name: "token-budget-discipline"
3
+ description: "Caps every always-on rule body at 500 substantive tokens; over-budget bodies decompose into path-filtered companion sub-rules per the established demand-load pattern; mechanical matcher and PreToolUse hook enforce the budget at write time."
4
+ pathFilter: ""
5
+ alwaysApply: true
6
+ ---
7
+
8
+ <!-- SPDX-License-Identifier: MIT -->
9
+
10
+ # Rule: Token-Budget Discipline for Always-On Rules
11
+
12
+ ## Purpose
13
+
14
+ Always-on rules load every session; body length multiplies every turn's cost. This rule caps each always-on body so the tier stays small and load-bearing — detail moves to the demand-load surface, where it costs only when relevant.
15
+
16
+ ## Obligations
17
+
18
+ ### 1. Ceiling and Warn Band
19
+
20
+ - **MAX_SUBSTANTIVE_TOKENS = 500.** Hard ceiling per always-on body. An always-on body over 500 MUST NOT ship.
21
+ - **WARN_BAND_THRESHOLD = 450.** Bodies at 450–500 pass but emit an advisory; the author SHOULD plan a companion before the ceiling triggers.
22
+
23
+ ### 2. Substantive-Token Counter
24
+
25
+ A substantive token is a whitespace-separated token in the body after excluding three regions:
26
+
27
+ 1. YAML frontmatter (between the head `---` delimiters).
28
+ 2. The trailing `## Bindings (§0.j five-direction)` section through end of file.
29
+ 3. Every line containing `(Companion Sub-Rule Anchor)`.
30
+
31
+ None of the three is a standing directive — frontmatter classifies, bindings point, pointer lines name surfaces — so none counts.
32
+
33
+ ### 3. Always-On Classification
34
+
35
+ A rule is always-on **iff** frontmatter declares `alwaysApply: true` AND `pathFilter:` is empty. Path-filtered rules (`alwaysApply: false` OR non-empty `pathFilter`) demand-load on glob match and are exempt — their cost is paid only when the filter activates.
36
+
37
+ ### 4. Decomposition Pattern (Companion Sub-Rule Anchor)
38
+
39
+ When an always-on body would exceed the ceiling, decompose along a natural path-filtered seam:
40
+
41
+ - Author a sibling at `rules/<parent-name>-<aspect>.md` with `alwaysApply: false` and a `pathFilter:` matching the demand-load triggers.
42
+ - Move detail (catalogs, sub-cases, exhaustive enumerations, executable specs, worked examples) to the companion.
43
+ - Trim the parent to load-bearing anchors plus the `(Companion Sub-Rule Anchor)` pointer naming the companion path.
44
+ - Cite the companion under the parent's `Cross-bound with ↔`.
45
+
46
+ Precedents: `rules/context-management.md` ↔ `rules/context-management-scratch.md`; `rules/interactive-questions.md` ↔ `rules/interactive-questions-sweep-matchers.md`.
47
+
48
+ ### 5. Reading Discipline
49
+
50
+ Mid-session, read only the needed segment: `Read` with `offset` / `limit`; `Grep` to locate first; `Glob` for traversal. NEVER full-read when a segment suffices.
51
+
52
+ ### 6. Mechanical Enforcement
53
+
54
+ `conformity/always_on_budget_grep.py` measures every `rules/*.md`; PreToolUse Write/Edit hooks fire it on rule edits; the pre-emission gate FAILs on any always-on body over the ceiling.
55
+
56
+ ## Seriousness Scaling
57
+
58
+ | Level | Enforcement |
59
+ |-------|-------------|
60
+ | EXPLORING | Advisory; warn-band notes only |
61
+ | PERSONAL_USE | Hard ceiling enforced on rule edits; existing over-budget rules surface as findings |
62
+ | SHARED | Hard ceiling enforced; over-budget edits blocked until decomposed |
63
+ | PUBLIC_LAUNCH | Full enforcement; matcher exit-non-zero blocks emission per the pre-emission gate |
64
+
65
+ ## Anti-Patterns
66
+
67
+ - **DON'T** add a paragraph to an always-on body for an edge case — **BECAUSE** the edge case belongs in a path-filtered companion that loads only when on the touch surface.
68
+ - **DON'T** raise the ceiling to fit content — **BECAUSE** the ceiling is the discipline; raising it inverts the gradient.
69
+ - **DON'T** count pointer lines toward the budget — **BECAUSE** the pointer is the demand-load handle, not a directive.
70
+
71
+ ## Enforcement
72
+
73
+ Always-on at every seriousness level, scaling per the table above. Implements the D1 token-budget ratification. Canonical specification for always-on rule body sizing.
74
+
75
+ ## Bindings (§0.j five-direction)
76
+
77
+ - **Drives →** Every always-on `rules/*.md` body's pre-emission size check; the mechanical matcher at `conformity/always_on_budget_grep.py`; the PreToolUse Write/Edit hook entries that fire the matcher on rule-file edits; every decomposition that splits an over-budget always-on rule into a path-filtered companion.
78
+ - **Satisfies →** the rules registry row "Token Budget Discipline"; the D1 ratification at the upstream specification §2.3 sub-mandate "Always-on rule body budget"; the validation gate sub-mandate "PreToolUse hook fires on rule edits; gate FAILs if any always-on body > 500 tokens substantive".
79
+ - **Established by ↑** The D1 / Q-014 operator ratification (aggressive token optimization with explicit budget enforcement); the demand-load companion-sub-rule pattern at `rules/context-management.md` ↔ `rules/context-management-scratch.md` (validated precedent).
80
+ - **Gated by ←** `CLAUDE.md` always-loaded preamble; the PreToolUse Write/Edit hook entries that wire the matcher.
81
+ - **Cross-bound with ↔** `rules/context-management.md` §7 Context Budget Discipline (the budget framework this rule tightens for the always-on tier); `rules/large-file-generation.md` (sibling write-side budget protocol; this rule extends to read-side / always-on-tier sizing); `rules/persistent-conventions-vigilance.md` §4 Ecosystem Gap Detection (the demand-load companion-sub-rule pattern is itself a gap-closure); `rules/performance-discipline.md` §1 per-class budgets (the budget methodology); `conformity/always_on_budget_grep.py` (the mechanical matcher); `rules/token-efficiency-rewrite.md` (sizing pair — this rule caps; that rule rewrites to fit the cap); `rules/large-file-reading.md` (read-side analogue of the always-on body-size ceiling; both rules optimize the same gradient on different surfaces).
@@ -0,0 +1,79 @@
1
+ ---
2
+ name: "token-efficiency-rewrite-protocol"
3
+ description: "The full token-efficiency rewrite protocol the always-on parent rule references: the L1 prose-scaffolding elimination classes (filler / throat-clearing / restatement / hedge-padding / ceremonial-scaffolding / connective-bloat), the per-class compression heuristics, the extract-discard-re-derive-verify procedure, and worked before/after examples. Demand-loads when the assistant rewrites an authoring surface for token efficiency."
4
+ pathFilter: "**/*.md, **/*.mdx, **/rules/**, **/skills/**, **/commands/**, **/agents/**, **/docs/**"
5
+ alwaysApply: false
6
+ ---
7
+
8
+ <!-- SPDX-License-Identifier: MIT -->
9
+
10
+ # Rule: Token-Efficiency Rewrite Protocol (Companion Sub-Rule)
11
+
12
+ ## Purpose
13
+
14
+ Carry the operational detail the parent `rules/token-efficiency-rewrite.md` references at its §2 anchor: the L1 prose-scaffolding elimination classes, the per-class compression heuristics, the extract → discard → re-derive → verify procedure, and worked before/after examples. The parent retains the always-on directive (the two preservation tiers, the anchor-preservation invariant, the semantic-regression gate, the same-change discipline, the when-not-to-rewrite carve-out); this companion carries the protocol bodies. Path-filtered: it loads when the assistant rewrites an authoring surface (Markdown / rules / skills / commands / agents / docs) for token efficiency.
15
+
16
+ ## Obligations
17
+
18
+ ### 1. The Rewrite Procedure — Extract, Discard, Re-Derive, Verify
19
+
20
+ A token-efficiency rewrite proceeds in four ordered steps:
21
+
22
+ 1. **Extract L2 + L3.** Enumerate the artifact's L2 substantive semantic content (every claim, contract, directive, condition, threshold, citation, observable fact) and its L3 structural anchors (headings the ecosystem cites, rule names, mandate identifiers, `(Companion Sub-Rule Anchor)` pointers, cross-reference paths, binding-block reciprocals, frontmatter, the SPDX banner). L2 + L3 is the invariant surface.
23
+ 2. **Discard L1.** Everything outside L2 + L3 is L1 prose scaffolding — eligible for removal per the §2 classes.
24
+ 3. **Re-derive minimal prose.** Re-author the artifact carrying L2 verbatim in meaning and L3 byte-identical, L1 removed. The re-derivation is a fresh minimal surface, not a cosmetic edit of the original, per `rules/clean-room-generation.md` §3.3.
25
+ 4. **Verify regression.** Confirm every L2 directive / contract / condition / threshold / citation is preserved (the semantic-regression gate) and every L3 anchor appears byte-identical (the anchor-preservation invariant). A softened directive, a dropped condition, or a lost heading blocks the rewrite until repaired.
26
+
27
+ ### 2. The L1 Elimination Classes
28
+
29
+ L1 prose scaffolding falls into six classes. Each is removable because its removal changes neither an L2 meaning nor an L3 anchor. (Token examples below are the rule's own subject matter — quoted, not authored, per the matcher self-citation exemption.)
30
+
31
+ - **L1.1 Filler / meta-commentary.** Sentences about the document itself rather than its content (`In this section we discuss …`, `It is important to note that …`, `As mentioned earlier …`). The framed content is L2; the frame is L1.
32
+ - **L1.2 Throat-clearing.** Opening sentences that delay substance (`Before diving in …`, `Let's begin by …`, `Without further ado …`). Replace with the substantive opening.
33
+ - **L1.3 Restatement.** A sentence re-stating the prior one in different words. Compress the pair to one.
34
+ - **L1.4 Hedge-padding.** Content-free qualifiers (`very`, `quite`, `somewhat`, `fairly`, `rather`, `kind of`). Delete the qualifier; the unqualified claim is stronger and shorter. (Distinct from the M8 binding-prescription hedging that is a definitiveness defect per `rules/definitiveness.md`; this is the no-information-padding subset.)
35
+ - **L1.5 Ceremonial scaffolding.** Announcer phrases before a self-evident structure (`Here are the steps:`, `The following list enumerates …`, `Consider the following table:`). The list / table is L2; the announcement is L1.
36
+ - **L1.6 Connective bloat.** Multi-word connectives with a one-word equivalent (`in order to` → `to`, `due to the fact that` → `because`, `at this point in time` → `now`, `in the event that` → `if`). Substitute the shorter form.
37
+
38
+ ### 3. Per-Class Compression Heuristics
39
+
40
+ Each class resolves on one test: **does removing or compressing the span change an L2 meaning or an L3 anchor?** If no, remove or compress; if yes, the span is L2 / L3 and MUST be preserved.
41
+
42
+ - **L1.1 / L1.2 / L1.5** — delete the span outright; the substance it framed stands alone.
43
+ - **L1.3** — keep the clause with the more specific L2 content; delete its restatement.
44
+ - **L1.4** — delete the qualifier word; leave the claim.
45
+ - **L1.6** — substitute the one-word equivalent in place.
46
+
47
+ The heuristic is conservative: when removal is uncertain (the span may carry an L2 nuance), the span is preserved. Token-efficiency never trades a directive's meaning for a shorter surface.
48
+
49
+ ### 4. Worked Examples
50
+
51
+ **Example A — filler + connective bloat (L1.1 + L1.6).**
52
+
53
+ - **Before:** "It is important to note that, in order to pass the gate, the artifact must carry a header." (18 words)
54
+ - **After:** "To pass the gate, the artifact must carry a header." (10 words)
55
+ - L2 preserved: the gate requires a header. L1 removed: the `It is important to note` frame; `in order to` → `to`.
56
+
57
+ **Example B — throat-clearing + restatement (L1.2 + L1.3).**
58
+
59
+ - **Before:** "Before we get into the specifics, let's establish the baseline. The baseline is the set of tests that pass before the change. In other words, the baseline is the pre-change passing tests." (32 words)
60
+ - **After:** "The baseline is the set of tests that pass before the change." (12 words)
61
+ - L2 preserved: the baseline definition. L1 removed: the throat-clearing opener and the `in other words` restatement.
62
+
63
+ **Example C — L3 anchor preserved under compression.**
64
+
65
+ - **Before:** "## Required behavior\n\nIt should be noted that the following section, namely the required-behavior section, mandates that every option carries a recommended marker."
66
+ - **After:** "## Required behavior\n\nEvery option carries a recommended marker."
67
+ - L3 preserved byte-identical: the `## Required behavior` heading (an anchor the ecosystem cites). L2 preserved: the option-marker mandate. L1 removed: the self-referential meta-commentary.
68
+
69
+ ## Enforcement
70
+
71
+ Path-filtered (the seven glob patterns in this rule's `pathFilter` field — `**/*.md`, `**/*.mdx`, `**/rules/**`, `**/skills/**`, `**/commands/**`, `**/agents/**`, `**/docs/**`), demand-loaded companion to `rules/token-efficiency-rewrite.md`. The parent carries the always-on directive (two preservation tiers, anchor-preservation invariant, semantic-regression gate, same-change discipline, when-not-to-rewrite carve-out); this companion carries the four-step procedure, the six L1 elimination classes, the per-class compression heuristics, and the worked examples. The mechanical matcher at `conformity/token_efficiency_grep.py` operationalizes the L3 anchor-diff zero-drift check.
72
+
73
+ ## Bindings (§0.j five-direction)
74
+
75
+ - **Drives →** Every token-efficiency rewrite's L1-elimination pass (the six §2 classes); the per-class compression decision (§3 heuristics); the four-step extract → discard → re-derive → verify procedure (§1).
76
+ - **Driven by ←** `rules/token-efficiency-rewrite.md` §2 (the parent's anchor to this companion's full protocol).
77
+ - **Satisfies →** The token-efficiency rewrite protocol's detail tier; the parent rule's promise that the full protocol, L1 elimination classes, and per-class compression heuristics live at the path-filtered companion.
78
+ - **Established by ↑** `rules/token-efficiency-rewrite.md` (parent-rule anchor); `rules/clean-room-generation.md` §3 / §5 (the re-writing and prose disciplines this protocol specializes for token efficiency).
79
+ - **Cross-bound with ↔** `rules/token-efficiency-rewrite.md` (parent rule; §2 anchor binds this companion). `rules/token-budget-discipline.md` (the always-on body sizing cap this rewrite fits content into). `rules/clean-room-generation.md` (§3 re-writing protocol + §5 prose discipline — L1 elimination is the token-efficiency projection of §5's sentence-level justification). `rules/definitiveness.md` (M8 — L1.4 hedge-padding is the no-information subset; binding-prescription hedging is the M8 defect). `rules/bidirectional-binding.md` (§2 — L3 anchor loss is a half-edge failure on the same axis). `conformity/token_efficiency_grep.py` (the mechanical matcher).
@@ -0,0 +1,77 @@
1
+ ---
2
+ name: "token-efficiency-rewrite"
3
+ description: "Rewrite protocol for token-efficient content — re-derives prose to a minimal surface while preserving L2 substantive semantics and L3 structural / load-bearing anchors; pairs with token-budget-discipline (sizing) and clean-room-generation §3 (re-writing protocol)."
4
+ pathFilter: ""
5
+ alwaysApply: true
6
+ ---
7
+
8
+ <!-- SPDX-License-Identifier: MIT -->
9
+
10
+ # Rule: Token-Efficiency Rewrite Protocol
11
+
12
+ ## Purpose
13
+
14
+ Token-efficiency is a rewrite discipline, not a one-shot compression. Where prose carries surplus tokens — filler, restatement, throat-clearing, paraphrase of the literal — the rewrite re-derives it to a minimal surface that preserves what matters and discards what does not. Operationalises the operator-ratified token-efficiency mandate alongside `rules/token-budget-discipline.md` (sizes the always-on tier) and `rules/clean-room-generation.md` §3 (the canonical re-writing protocol).
15
+
16
+ ## Obligations
17
+
18
+ ### 1. The Two Preservation Tiers
19
+
20
+ Every rewrite preserves two tiers:
21
+
22
+ - **L2 — Substantive semantic content.** Every claim, contract, directive, condition, threshold, citation, and observable fact the prose asserts. L2 is carried forward verbatim in **meaning**; expression MAY differ.
23
+ - **L3 — Structural / load-bearing anchors.** Section headings the ecosystem cites; rule names; mandate identifiers (M-N / CM-N); `(Companion Sub-Rule Anchor)` pointer lines; cross-reference paths; binding-block reciprocal pointers; frontmatter; header.
24
+
25
+ L2 + L3 are the invariant surface. Anything outside them is **L1 prose scaffolding** — eligible for compression.
26
+
27
+ ### 2. The Rewrite Discipline (Companion Sub-Rule Anchor)
28
+
29
+ The rewrite proceeds: extract L2 + L3 → discard L1 → re-derive minimal prose carrying L2 verbatim and L3 byte-identical → verify regression. Full protocol with worked examples, L1 elimination classes, and per-class compression heuristics lives at the path-filtered companion. (Companion Sub-Rule Anchor) See `rules/token-efficiency-rewrite-protocol.md`.
30
+
31
+ ### 3. Anchor-Preservation Invariant
32
+
33
+ Every L3 anchor in the pre-rewrite artifact MUST appear byte-identical in the post-rewrite artifact. A renamed heading, a deleted section anchor, a dropped `(Companion Sub-Rule Anchor)` pointer, a removed mandate-identifier — each is a structural failure on the same axis as a half-edge per `rules/bidirectional-binding.md` §2. The matcher `conformity/token_efficiency_grep.py` diffs L3 anchors pre / post and FAILs on any drift.
34
+
35
+ ### 4. Semantic-Regression Gate
36
+
37
+ Every directive, contract, condition, and threshold from the pre-rewrite artifact MUST survive into the post-rewrite artifact. The rewrite MUST NOT soften a directive (`must` → `should`), remove a condition, drop a threshold, or elide a citation. The regression gate at `rules/clean-room-generation.md` §3.5 applies in full; this rule extends it to the token-efficiency class with explicit L2 enumeration.
38
+
39
+ ### 5. Same-Change Discipline
40
+
41
+ A rewrite ships in one change-set: the rewritten prose AND the L3-anchor diff (mechanical zero-drift) AND the L2-preservation attestation (per `rules/pre-emission-gate.md`). Splitting rewrite from regression-verification across commits leaves the artifact in a non-conformant transient state.
42
+
43
+ ### 6. When Not to Rewrite
44
+
45
+ The rewrite is **inapplicable** (a no-op; the artifact passes the gate as-is) to:
46
+
47
+ - prose already minimal under the token-budget ceiling;
48
+ - L1-rich prose authored for didactic purposes (tutorials, worked examples whose teaching value depends on the scaffold);
49
+ - aspirational or quoted material whose source-fidelity invariant forbids re-derivation.
50
+
51
+ ## Seriousness Scaling
52
+
53
+ | Level | Enforcement |
54
+ |-------|-------------|
55
+ | EXPLORING | Advisory; rewrites authored on explicit operator request |
56
+ | PERSONAL_USE | Rewrite mandatory on over-budget always-on rules; L3 anchor-diff zero-drift verified |
57
+ | SHARED | Full discipline; semantic-regression gate runs on every rewrite |
58
+ | PUBLIC_LAUNCH | Full enforcement; matcher exit-non-zero blocks emission |
59
+
60
+ ## Anti-Patterns
61
+
62
+ - **DON'T** drop a section heading the ecosystem cites — **BECAUSE** L3 anchors are reciprocal-binding surfaces; their loss orphans every back-pointer.
63
+ - **DON'T** soften a `must` to a `should` to save a token — **BECAUSE** L2 directive strength is invariant under rewrite.
64
+ - **DON'T** collapse a closed enumeration to "etc." — **BECAUSE** exhaustiveness is L2 per `rules/definitiveness.md` §2; the closure is the contract.
65
+ - **DON'T** rewrite a tutorial's worked example to its bullet-form summary — **BECAUSE** the scaffold is the teaching surface, not L1 noise.
66
+
67
+ ## Enforcement
68
+
69
+ Always-on at every seriousness level, scaling per the table above. Canonical specification for the token-efficiency rewrite protocol; pairs with `rules/token-budget-discipline.md` (sizing) and `rules/clean-room-generation.md` §3 (re-writing).
70
+
71
+ ## Bindings (§0.j five-direction)
72
+
73
+ - **Drives →** Every token-efficiency rewrite across `rules/`, `commands/`, `skills/`, `agents/`, `docs/`; the mechanical matcher at `conformity/token_efficiency_grep.py`; the L3 anchor-diff zero-drift verification at every rewrite emission; the L2-preservation attestation at every rewrite's gate row.
74
+ - **Satisfies →** The token-efficiency rewrite directive; `CLAUDE.md` rules-registry row "Token-Efficiency Rewrite"; the ecosystem's always-on token-efficiency posture.
75
+ - **Established by ↑** The operator-ratified token-efficiency mandate and the precedent re-writing protocol at `rules/clean-room-generation.md` §3.
76
+ - **Gated by ←** `CLAUDE.md` always-loaded preamble; the PreToolUse Write/Edit hook entries that wire `conformity/token_efficiency_grep.py`.
77
+ - **Cross-bound with ↔** `rules/clean-room-generation.md` §3 (re-writing protocol; this rule is the token-efficiency specialisation of §3 with L2 / L3 tiers made explicit); `rules/token-budget-discipline.md` (sizing pair — that rule caps; this rule rewrites to fit the cap); `rules/large-file-generation.md` (CM-23 write-side incremental-append budget protocol; this rule complements at the read-side / always-on rewrite tier); `rules/pre-emission-gate.md` (bar inspection of L3 anchor-diff zero-drift and L2-preservation attestation); `rules/bidirectional-binding.md` §2 (L3 anchor loss is a half-edge failure on the same axis); `rules/definitiveness.md` (M8 — closed-enumeration exhaustiveness is L2 invariant); `rules/token-efficiency-rewrite-protocol.md` (path-filtered companion carrying the full protocol, L1 elimination classes, worked examples); `conformity/token_efficiency_grep.py` (the mechanical matcher).