coding-os 0.3.20__tar.gz → 0.3.22__tar.gz

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 (1815) hide show
  1. coding_os-0.3.22/PKG-INFO +806 -0
  2. coding_os-0.3.22/README.md +739 -0
  3. coding_os-0.3.22/coding_os.egg-info/PKG-INFO +806 -0
  4. coding_os-0.3.22/coding_os.egg-info/SOURCES.txt +1713 -0
  5. coding_os-0.3.22/pyproject.toml +674 -0
  6. coding_os-0.3.22/src/adapters/claude/_claude_sdk_options.py +355 -0
  7. coding_os-0.3.22/src/adapters/claude/account_probe.py +154 -0
  8. coding_os-0.3.22/src/adapters/claude/adapter.yaml +197 -0
  9. coding_os-0.3.22/src/adapters/claude/sdk_dispatcher.py +469 -0
  10. coding_os-0.3.22/src/adapters/claude/settings.template.json +841 -0
  11. coding_os-0.3.22/src/adapters/codex/_codex_pricing.py +81 -0
  12. coding_os-0.3.22/src/adapters/codex/_codex_prompt.py +107 -0
  13. coding_os-0.3.22/src/adapters/codex/account_probe.py +137 -0
  14. coding_os-0.3.22/src/adapters/codex/adapter.yaml +330 -0
  15. coding_os-0.3.22/src/adapters/codex/hooks/codex-pretool-dispatch.sh +83 -0
  16. coding_os-0.3.22/src/adapters/codex/hooks/codex-stop-dispatch.sh +76 -0
  17. coding_os-0.3.22/src/adapters/codex/hooks/codex-userpromptsubmit-dispatch.sh +82 -0
  18. coding_os-0.3.22/src/adapters/codex/hooks.template.json +220 -0
  19. coding_os-0.3.22/src/adapters/codex/sdk_dispatcher.py +443 -0
  20. coding_os-0.3.22/src/cli/_board_cli_lifecycle.py +318 -0
  21. coding_os-0.3.22/src/cli/_doctor_run.py +180 -0
  22. coding_os-0.3.22/src/cli/_doctor_runtime.py +334 -0
  23. coding_os-0.3.22/src/cli/_doctor_schedule.py +149 -0
  24. coding_os-0.3.22/src/cli/_doctor_supervision.py +140 -0
  25. coding_os-0.3.22/src/cli/_graph_cli_shared.py +90 -0
  26. coding_os-0.3.22/src/cli/_hub_paths.py +71 -0
  27. coding_os-0.3.22/src/cli/_init_scaffold.py +486 -0
  28. coding_os-0.3.22/src/cli/_skill_project.py +346 -0
  29. coding_os-0.3.22/src/cli/_yaml_edit.py +79 -0
  30. coding_os-0.3.22/src/cli/add_stack.py +315 -0
  31. coding_os-0.3.22/src/cli/doctor.py +437 -0
  32. coding_os-0.3.22/src/cli/doctor_checks_runtime.py +38 -0
  33. coding_os-0.3.22/src/cli/hub_commands.py +472 -0
  34. coding_os-0.3.22/src/cli/install_commands.py +342 -0
  35. coding_os-0.3.22/src/cli/remove_stack.py +492 -0
  36. coding_os-0.3.22/src/cli/tail_command.py +412 -0
  37. coding_os-0.3.22/src/cli/update.py +404 -0
  38. coding_os-0.3.22/src/core/board_os/_mcp_create.py +489 -0
  39. coding_os-0.3.22/src/core/board_os/_mcp_reports.py +309 -0
  40. coding_os-0.3.22/src/core/board_os/_mcp_worklog.py +138 -0
  41. coding_os-0.3.22/src/core/board_os/migration.py +163 -0
  42. coding_os-0.3.22/src/core/board_os/sync.py +323 -0
  43. coding_os-0.3.22/src/core/doctor-config.yaml +75 -0
  44. coding_os-0.3.22/src/core/graph_os/tools/_graph_envelope.py +259 -0
  45. coding_os-0.3.22/src/core/graph_os/tools/_graph_export.py +481 -0
  46. coding_os-0.3.22/src/core/hooks/_cos_env_state.sh +413 -0
  47. coding_os-0.3.22/src/core/hooks/_helpers/auto_dispatch.py +255 -0
  48. coding_os-0.3.22/src/core/hooks/_helpers/check_timestamps.py +124 -0
  49. coding_os-0.3.22/src/core/hooks/_helpers/dispatch_summary.py +73 -0
  50. coding_os-0.3.22/src/core/hooks/_helpers/resolve_supervise_route.py +163 -0
  51. coding_os-0.3.22/src/core/hooks/_helpers/routing_evolution.py +104 -0
  52. coding_os-0.3.22/src/core/hooks/_helpers/task_readiness_check.py +157 -0
  53. coding_os-0.3.22/src/core/hooks/_helpers/tool_failure_capture.py +146 -0
  54. coding_os-0.3.22/src/core/hooks/_helpers/trajectory_autosnap.py +278 -0
  55. coding_os-0.3.22/src/core/hooks/_helpers/wal_guard.py +167 -0
  56. coding_os-0.3.22/src/core/hooks/_session_pulse.sh +384 -0
  57. coding_os-0.3.22/src/core/hooks/auto-brain-decay.sh +217 -0
  58. coding_os-0.3.22/src/core/hooks/auto-compose-roles.sh +106 -0
  59. coding_os-0.3.22/src/core/hooks/auto-dispatch-crossprovider.sh +55 -0
  60. coding_os-0.3.22/src/core/hooks/block-bad-patterns.sh +341 -0
  61. coding_os-0.3.22/src/core/hooks/cos-env.sh +350 -0
  62. coding_os-0.3.22/src/core/hooks/enforce-humanizer-audit.sh +86 -0
  63. coding_os-0.3.22/src/core/hooks/enforce-skill.sh +150 -0
  64. coding_os-0.3.22/src/core/hooks/enforce-task-readiness.sh +63 -0
  65. coding_os-0.3.22/src/core/hooks/nudge-humanizer.sh +72 -0
  66. coding_os-0.3.22/src/core/hooks/record-verify-auto.sh +103 -0
  67. coding_os-0.3.22/src/core/hooks/registry.yaml +1363 -0
  68. coding_os-0.3.22/src/core/hooks/resolve-supervise-route.sh +90 -0
  69. coding_os-0.3.22/src/core/hooks/session-context.sh +412 -0
  70. coding_os-0.3.22/src/core/logging_os/__init__.py +37 -0
  71. coding_os-0.3.22/src/core/logging_os/api.py +127 -0
  72. coding_os-0.3.22/src/core/logging_os/clock.py +27 -0
  73. coding_os-0.3.22/src/core/rules/skill-enforcement.md +76 -0
  74. coding_os-0.3.22/src/core/rules/timestamp-discipline.md +81 -0
  75. coding_os-0.3.22/src/core/rules/transparency-banner.md +72 -0
  76. coding_os-0.3.22/src/core/scaffold_manifest.json +15132 -0
  77. coding_os-0.3.22/src/core/scheduled/_state.py +113 -0
  78. coding_os-0.3.22/src/core/schemas/adapter.schema.json +552 -0
  79. coding_os-0.3.22/src/core/scripts/docs-lint.sh +228 -0
  80. coding_os-0.3.22/src/core/scripts/install-adapter.sh +278 -0
  81. coding_os-0.3.22/src/core/scripts/link-stack-skills.sh +59 -0
  82. coding_os-0.3.22/src/core/scripts/log-latest.sh +106 -0
  83. coding_os-0.3.22/src/core/scripts/log-write.sh +134 -0
  84. coding_os-0.3.22/src/core/skills/api-design/SKILL.md +232 -0
  85. coding_os-0.3.22/src/core/skills/clean-code/SKILL.md +586 -0
  86. coding_os-0.3.22/src/core/skills/humanizer/NOTICE +58 -0
  87. coding_os-0.3.22/src/core/skills/humanizer/SKILL.md +122 -0
  88. coding_os-0.3.22/src/core/skills/humanizer/references/false-positives.md +54 -0
  89. coding_os-0.3.22/src/core/skills/humanizer/references/patterns.md +278 -0
  90. coding_os-0.3.22/src/core/skills/i18n/SKILL.md +180 -0
  91. coding_os-0.3.22/src/core/subsystems.yaml +202 -0
  92. coding_os-0.3.22/src/core/thinking_os/_db_migrations.py +2360 -0
  93. coding_os-0.3.22/src/core/thinking_os/_db_pool.py +135 -0
  94. coding_os-0.3.22/src/core/thinking_os/account_status.py +191 -0
  95. coding_os-0.3.22/src/core/thinking_os/dispatcher.py +429 -0
  96. coding_os-0.3.22/src/core/thinking_os/dispatcher_helpers.py +129 -0
  97. coding_os-0.3.22/src/core/thinking_os/tools/_cognition_dispatch.py +460 -0
  98. coding_os-0.3.22/src/core/thinking_os/tools/_cognition_routing.py +230 -0
  99. coding_os-0.3.22/src/core/thinking_os/tools/_cognition_shared.py +133 -0
  100. coding_os-0.3.22/src/core/thinking_os/tools/_cognition_supervise.py +403 -0
  101. coding_os-0.3.22/src/core/thinking_os/tools/_dispatch_persistence.py +191 -0
  102. coding_os-0.3.22/src/core/thinking_os/tools/_dispatch_request.py +227 -0
  103. coding_os-0.3.22/src/core/thinking_os/tools/_docs_hints.py +157 -0
  104. coding_os-0.3.22/src/core/thinking_os/tools/_routing_weights.py +126 -0
  105. coding_os-0.3.22/src/core/thinking_os/tools/trajectory.py +181 -0
  106. coding_os-0.3.22/src/core/web/routes/_board_autospawn.py +139 -0
  107. coding_os-0.3.22/src/core/web/routes/cognition.py +428 -0
  108. coding_os-0.3.22/src/core/web/routes/cognition_account_views.py +67 -0
  109. coding_os-0.3.22/src/core/web/routes/cognition_dispatch_views.py +344 -0
  110. coding_os-0.3.22/src/core/web/routes/scheduled.py +255 -0
  111. coding_os-0.3.22/src/core/web/server.py +303 -0
  112. coding_os-0.3.22/src/core/web/ui/dist/assets/index-D-AKdP4m.js +63 -0
  113. coding_os-0.3.22/src/core/web/ui/dist/assets/index-qIBSb3Dw.css +1 -0
  114. coding_os-0.3.22/src/core/web/ui/dist/index.html +45 -0
  115. coding_os-0.3.22/src/scripts/ablation_probe.py +276 -0
  116. coding_os-0.3.22/src/scripts/rule_audit.py +248 -0
  117. coding_os-0.3.22/src/templates/_base/base.yaml +65 -0
  118. coding_os-0.3.22/tests/test_account_status.py +353 -0
  119. coding_os-0.3.22/tests/test_adapter_parity.py +229 -0
  120. coding_os-0.3.22/tests/test_auto_dispatch_crossprovider.py +218 -0
  121. coding_os-0.3.22/tests/test_check_timestamps.py +99 -0
  122. coding_os-0.3.22/tests/test_claude_dispatcher_options.py +245 -0
  123. coding_os-0.3.22/tests/test_codex_pricing.py +130 -0
  124. coding_os-0.3.22/tests/test_cognition_cost_adapter_split.py +219 -0
  125. coding_os-0.3.22/tests/test_config_routes.py +211 -0
  126. coding_os-0.3.22/tests/test_cos_env_panel_resolution.py +333 -0
  127. coding_os-0.3.22/tests/test_dispatch_model_alias.py +72 -0
  128. coding_os-0.3.22/tests/test_doctor_supervision.py +106 -0
  129. coding_os-0.3.22/tests/test_doctor_supervision_exercised.py +68 -0
  130. coding_os-0.3.22/tests/test_file_size_budget.py +217 -0
  131. coding_os-0.3.22/tests/test_hooks_task_readiness.py +150 -0
  132. coding_os-0.3.22/tests/test_hub_log_retention.py +97 -0
  133. coding_os-0.3.22/tests/test_hub_settings_model_routing.py +254 -0
  134. coding_os-0.3.22/tests/test_no_hardcoded_anthropic.py +131 -0
  135. coding_os-0.3.22/tests/test_skill_ref_integrity.py +133 -0
  136. coding_os-0.3.22/tests/test_stack_rule_refresh.py +176 -0
  137. coding_os-0.3.22/tests/test_supervision_trigger.py +246 -0
  138. coding_os-0.3.22/tests/test_test_governor.py +460 -0
  139. coding_os-0.3.22/tests/test_timestamp_discipline.py +205 -0
  140. coding_os-0.3.22/tests/test_verification_matrix.py +106 -0
  141. coding_os-0.3.22/tests/test_wal_guard.py +239 -0
  142. coding_os-0.3.20/PKG-INFO +0 -752
  143. coding_os-0.3.20/README.md +0 -685
  144. coding_os-0.3.20/coding_os.egg-info/PKG-INFO +0 -752
  145. coding_os-0.3.20/coding_os.egg-info/SOURCES.txt +0 -1672
  146. coding_os-0.3.20/pyproject.toml +0 -674
  147. coding_os-0.3.20/src/adapters/claude/_claude_sdk_options.py +0 -340
  148. coding_os-0.3.20/src/adapters/claude/adapter.yaml +0 -193
  149. coding_os-0.3.20/src/adapters/claude/sdk_dispatcher.py +0 -460
  150. coding_os-0.3.20/src/adapters/claude/settings.template.json +0 -808
  151. coding_os-0.3.20/src/adapters/codex/adapter.yaml +0 -261
  152. coding_os-0.3.20/src/adapters/codex/hooks/codex-pretool-dispatch.sh +0 -82
  153. coding_os-0.3.20/src/adapters/codex/hooks/codex-stop-dispatch.sh +0 -73
  154. coding_os-0.3.20/src/adapters/codex/hooks/codex-userpromptsubmit-dispatch.sh +0 -74
  155. coding_os-0.3.20/src/adapters/codex/hooks.template.json +0 -208
  156. coding_os-0.3.20/src/adapters/codex/sdk_dispatcher.py +0 -498
  157. coding_os-0.3.20/src/cli/_board_cli_lifecycle.py +0 -310
  158. coding_os-0.3.20/src/cli/_doctor_run.py +0 -176
  159. coding_os-0.3.20/src/cli/_doctor_runtime.py +0 -305
  160. coding_os-0.3.20/src/cli/_doctor_schedule.py +0 -147
  161. coding_os-0.3.20/src/cli/_graph_cli_shared.py +0 -90
  162. coding_os-0.3.20/src/cli/_hub_paths.py +0 -35
  163. coding_os-0.3.20/src/cli/_init_scaffold.py +0 -412
  164. coding_os-0.3.20/src/cli/_skill_project.py +0 -343
  165. coding_os-0.3.20/src/cli/add_stack.py +0 -315
  166. coding_os-0.3.20/src/cli/doctor.py +0 -433
  167. coding_os-0.3.20/src/cli/doctor_checks_runtime.py +0 -34
  168. coding_os-0.3.20/src/cli/hub_commands.py +0 -463
  169. coding_os-0.3.20/src/cli/install_commands.py +0 -328
  170. coding_os-0.3.20/src/cli/remove_stack.py +0 -492
  171. coding_os-0.3.20/src/cli/tail_command.py +0 -408
  172. coding_os-0.3.20/src/cli/update.py +0 -359
  173. coding_os-0.3.20/src/core/board_os/_mcp_create.py +0 -489
  174. coding_os-0.3.20/src/core/board_os/_mcp_reports.py +0 -309
  175. coding_os-0.3.20/src/core/board_os/_mcp_worklog.py +0 -138
  176. coding_os-0.3.20/src/core/board_os/migration.py +0 -163
  177. coding_os-0.3.20/src/core/board_os/sync.py +0 -320
  178. coding_os-0.3.20/src/core/doctor-config.yaml +0 -75
  179. coding_os-0.3.20/src/core/graph_os/tools/_graph_envelope.py +0 -242
  180. coding_os-0.3.20/src/core/graph_os/tools/_graph_export.py +0 -468
  181. coding_os-0.3.20/src/core/hooks/_cos_env_state.sh +0 -389
  182. coding_os-0.3.20/src/core/hooks/_helpers/routing_evolution.py +0 -104
  183. coding_os-0.3.20/src/core/hooks/_helpers/tool_failure_capture.py +0 -146
  184. coding_os-0.3.20/src/core/hooks/_helpers/trajectory_autosnap.py +0 -278
  185. coding_os-0.3.20/src/core/hooks/auto-brain-decay.sh +0 -184
  186. coding_os-0.3.20/src/core/hooks/auto-compose-roles.sh +0 -83
  187. coding_os-0.3.20/src/core/hooks/block-bad-patterns.sh +0 -315
  188. coding_os-0.3.20/src/core/hooks/cos-env.sh +0 -350
  189. coding_os-0.3.20/src/core/hooks/enforce-skill.sh +0 -125
  190. coding_os-0.3.20/src/core/hooks/record-verify-auto.sh +0 -77
  191. coding_os-0.3.20/src/core/hooks/registry.yaml +0 -1261
  192. coding_os-0.3.20/src/core/hooks/session-context.sh +0 -729
  193. coding_os-0.3.20/src/core/logging_os/__init__.py +0 -33
  194. coding_os-0.3.20/src/core/logging_os/api.py +0 -127
  195. coding_os-0.3.20/src/core/rules/skill-enforcement.md +0 -75
  196. coding_os-0.3.20/src/core/rules/transparency-banner.md +0 -37
  197. coding_os-0.3.20/src/core/scaffold_manifest.json +0 -14684
  198. coding_os-0.3.20/src/core/scheduled/_state.py +0 -113
  199. coding_os-0.3.20/src/core/schemas/adapter.schema.json +0 -457
  200. coding_os-0.3.20/src/core/scripts/docs-lint.sh +0 -228
  201. coding_os-0.3.20/src/core/scripts/install-adapter.sh +0 -266
  202. coding_os-0.3.20/src/core/scripts/link-stack-skills.sh +0 -52
  203. coding_os-0.3.20/src/core/scripts/log-latest.sh +0 -106
  204. coding_os-0.3.20/src/core/scripts/log-write.sh +0 -134
  205. coding_os-0.3.20/src/core/skills/api-design/SKILL.md +0 -232
  206. coding_os-0.3.20/src/core/skills/clean-code/SKILL.md +0 -563
  207. coding_os-0.3.20/src/core/skills/i18n/SKILL.md +0 -126
  208. coding_os-0.3.20/src/core/subsystems.yaml +0 -202
  209. coding_os-0.3.20/src/core/thinking_os/_db_migrations.py +0 -2316
  210. coding_os-0.3.20/src/core/thinking_os/_db_pool.py +0 -117
  211. coding_os-0.3.20/src/core/thinking_os/dispatcher.py +0 -410
  212. coding_os-0.3.20/src/core/thinking_os/dispatcher_helpers.py +0 -48
  213. coding_os-0.3.20/src/core/thinking_os/tools/_cognition_dispatch.py +0 -416
  214. coding_os-0.3.20/src/core/thinking_os/tools/_cognition_routing.py +0 -230
  215. coding_os-0.3.20/src/core/thinking_os/tools/_cognition_shared.py +0 -133
  216. coding_os-0.3.20/src/core/thinking_os/tools/_cognition_supervise.py +0 -403
  217. coding_os-0.3.20/src/core/thinking_os/tools/_dispatch_persistence.py +0 -171
  218. coding_os-0.3.20/src/core/thinking_os/tools/_dispatch_request.py +0 -162
  219. coding_os-0.3.20/src/core/thinking_os/tools/_docs_hints.py +0 -157
  220. coding_os-0.3.20/src/core/thinking_os/tools/_routing_weights.py +0 -126
  221. coding_os-0.3.20/src/core/thinking_os/tools/trajectory.py +0 -181
  222. coding_os-0.3.20/src/core/web/routes/_board_autospawn.py +0 -140
  223. coding_os-0.3.20/src/core/web/routes/cognition.py +0 -425
  224. coding_os-0.3.20/src/core/web/routes/cognition_dispatch_views.py +0 -269
  225. coding_os-0.3.20/src/core/web/routes/scheduled.py +0 -255
  226. coding_os-0.3.20/src/core/web/server.py +0 -297
  227. coding_os-0.3.20/src/core/web/ui/dist/assets/index-B_Yj08fK.css +0 -1
  228. coding_os-0.3.20/src/core/web/ui/dist/assets/index-DX7SGU5L.js +0 -63
  229. coding_os-0.3.20/src/core/web/ui/dist/index.html +0 -45
  230. coding_os-0.3.20/src/scripts/rule_audit.py +0 -247
  231. coding_os-0.3.20/src/templates/_base/base.yaml +0 -59
  232. coding_os-0.3.20/tests/test_adapter_parity.py +0 -196
  233. coding_os-0.3.20/tests/test_claude_dispatcher_options.py +0 -214
  234. coding_os-0.3.20/tests/test_config_routes.py +0 -202
  235. coding_os-0.3.20/tests/test_cos_env_panel_resolution.py +0 -281
  236. coding_os-0.3.20/tests/test_file_size_budget.py +0 -168
  237. coding_os-0.3.20/tests/test_hub_settings_model_routing.py +0 -254
  238. coding_os-0.3.20/tests/test_no_hardcoded_anthropic.py +0 -130
  239. coding_os-0.3.20/tests/test_skill_ref_integrity.py +0 -89
  240. coding_os-0.3.20/tests/test_test_governor.py +0 -416
  241. coding_os-0.3.20/tests/test_verification_matrix.py +0 -72
  242. {coding_os-0.3.20 → coding_os-0.3.22}/LICENSE +0 -0
  243. {coding_os-0.3.20 → coding_os-0.3.22}/coding_os.egg-info/dependency_links.txt +0 -0
  244. {coding_os-0.3.20 → coding_os-0.3.22}/coding_os.egg-info/entry_points.txt +0 -0
  245. {coding_os-0.3.20 → coding_os-0.3.22}/coding_os.egg-info/requires.txt +0 -0
  246. {coding_os-0.3.20 → coding_os-0.3.22}/coding_os.egg-info/top_level.txt +0 -0
  247. {coding_os-0.3.20 → coding_os-0.3.22}/setup.cfg +0 -0
  248. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/claude/README.md +0 -0
  249. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/claude/_claude_sdk_result.py +0 -0
  250. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/claude/_claude_sdk_telemetry.py +0 -0
  251. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/claude/_install_helpers/extract_stacks.py +0 -0
  252. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/claude/_install_helpers/update_mcp_json.py +0 -0
  253. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/claude/chat_provider.py +0 -0
  254. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/claude/hooks/README.md +0 -0
  255. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/claude/hooks/agent_memory_sync.py +0 -0
  256. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/claude/hooks/ensure-agent-memory-link.sh +0 -0
  257. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/claude/hooks/sync-agent-memory.sh +0 -0
  258. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/claude/install.sh +0 -0
  259. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/claude/presence_provider.py +0 -0
  260. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/claude/settings.local.template.json +0 -0
  261. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/claude/update_mcp_json.py +0 -0
  262. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/codex/chat_provider.py +0 -0
  263. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/codex/commands/formula-f1.md +0 -0
  264. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/codex/commands/formula-f10.md +0 -0
  265. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/codex/commands/formula-f11.md +0 -0
  266. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/codex/commands/formula-f2.md +0 -0
  267. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/codex/commands/formula-f3.md +0 -0
  268. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/codex/commands/formula-f4.md +0 -0
  269. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/codex/commands/formula-f5.md +0 -0
  270. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/codex/commands/formula-f6.md +0 -0
  271. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/codex/commands/formula-f7.md +0 -0
  272. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/codex/commands/formula-f8.md +0 -0
  273. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/codex/commands/formula-f9.md +0 -0
  274. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/codex/enable_codex_hooks.py +0 -0
  275. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/codex/ensure_codex_mcp.py +0 -0
  276. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/codex/hooks/codex-merge-hook-output.py +0 -0
  277. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/codex/hooks/codex-normalize-edit.py +0 -0
  278. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/codex/hooks/codex-postedit-dispatch.sh +0 -0
  279. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/codex/hooks/codex-posttool-dispatch.sh +0 -0
  280. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/codex/hooks/codex-preedit-dispatch.sh +0 -0
  281. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/codex/hooks/codex-sessionend-dispatch.sh +0 -0
  282. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/codex/hooks/codex-sessionstart-dispatch.sh +0 -0
  283. {coding_os-0.3.20 → coding_os-0.3.22}/src/adapters/codex/install.sh +0 -0
  284. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/__init__.py +0 -0
  285. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_board_cli_outcome.py +0 -0
  286. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_board_cli_shared.py +0 -0
  287. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_board_cli_validate.py +0 -0
  288. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_board_cli_views.py +0 -0
  289. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_cli_paths.py +0 -0
  290. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_data_types.py +0 -0
  291. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_doctor_adapters.py +0 -0
  292. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_doctor_cognition.py +0 -0
  293. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_doctor_graph_embeddings.py +0 -0
  294. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_doctor_graph_pipeline.py +0 -0
  295. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_doctor_graph_storage.py +0 -0
  296. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_doctor_hook_coverage.py +0 -0
  297. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_doctor_mcp.py +0 -0
  298. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_doctor_presence.py +0 -0
  299. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_doctor_project.py +0 -0
  300. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_doctor_shared.py +0 -0
  301. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_doctor_stacks.py +0 -0
  302. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_graph_cli_group.py +0 -0
  303. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_graph_cli_ingest.py +0 -0
  304. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_graph_cli_query.py +0 -0
  305. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_graph_cli_reindex.py +0 -0
  306. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_hub_service.py +0 -0
  307. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_init_boundaries.py +0 -0
  308. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_init_git.py +0 -0
  309. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_init_helpers.py +0 -0
  310. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_init_indexing.py +0 -0
  311. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_init_materialize.py +0 -0
  312. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_init_phase.py +0 -0
  313. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_init_preview.py +0 -0
  314. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_init_registries.py +0 -0
  315. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_init_summary.py +0 -0
  316. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_init_target.py +0 -0
  317. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_init_world.py +0 -0
  318. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_module_rules_cascade.py +0 -0
  319. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_render_agents_md.py +0 -0
  320. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_render_ci.py +0 -0
  321. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_render_docker.py +0 -0
  322. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_render_errors.py +0 -0
  323. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_resources.py +0 -0
  324. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_stack_parsers.py +0 -0
  325. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_stack_relocation.py +0 -0
  326. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/_update_manifest.py +0 -0
  327. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/adapter_registry.py +0 -0
  328. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/adopt_command.py +0 -0
  329. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/aggregator.py +0 -0
  330. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/board_commands.py +0 -0
  331. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/brain_commands.py +0 -0
  332. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/cognition.py +0 -0
  333. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/config_composer.py +0 -0
  334. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/core_version.py +0 -0
  335. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/cron_commands.py +0 -0
  336. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/db_reset.py +0 -0
  337. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/doc_commands.py +0 -0
  338. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/doctor_board.py +0 -0
  339. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/doctor_checks_bootstrap.py +0 -0
  340. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/doctor_checks_core.py +0 -0
  341. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/doctor_checks_modules.py +0 -0
  342. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/doctor_checks_quality.py +0 -0
  343. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/doctor_checks_registry.py +0 -0
  344. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/doctor_checks_scaffold.py +0 -0
  345. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/doctor_extras.py +0 -0
  346. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/doctor_graph.py +0 -0
  347. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/doctor_tokens.py +0 -0
  348. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/graph_commands.py +0 -0
  349. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/hook_renderer.py +0 -0
  350. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/init_command.py +0 -0
  351. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/list_adapters.py +0 -0
  352. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/list_stacks.py +0 -0
  353. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/logs_commands.py +0 -0
  354. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/main.py +0 -0
  355. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/materialize_file.py +0 -0
  356. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/mcp_start.py +0 -0
  357. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/module_commands.py +0 -0
  358. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/pr_commands.py +0 -0
  359. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/preset_commands.py +0 -0
  360. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/preset_registry.py +0 -0
  361. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/project_overrides.py +0 -0
  362. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/registry.py +0 -0
  363. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/renderer.py +0 -0
  364. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/runtime_commands.py +0 -0
  365. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/setup.py +0 -0
  366. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/skill_commands.py +0 -0
  367. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/skill_registry.py +0 -0
  368. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/skills_list.py +0 -0
  369. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/stack_lint.py +0 -0
  370. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/stack_maturity.py +0 -0
  371. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/stack_registry.py +0 -0
  372. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/subsystems.py +0 -0
  373. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/supervision_commands.py +0 -0
  374. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/sync_all.py +0 -0
  375. {coding_os-0.3.20 → coding_os-0.3.22}/src/cli/verify_since_edit.py +0 -0
  376. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/__init__.py +0 -0
  377. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/__init__.py +0 -0
  378. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/_agent_runtime.py +0 -0
  379. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/_gates_override.py +0 -0
  380. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/_gates_result.py +0 -0
  381. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/_mcp_board.py +0 -0
  382. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/_mcp_cards.py +0 -0
  383. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/_mcp_edit.py +0 -0
  384. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/_mcp_forge.py +0 -0
  385. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/_mcp_git_links.py +0 -0
  386. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/_mcp_history.py +0 -0
  387. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/_mcp_lifecycle.py +0 -0
  388. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/_mcp_pick.py +0 -0
  389. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/_mcp_ready.py +0 -0
  390. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/_mcp_reclaim.py +0 -0
  391. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/_mcp_reposition.py +0 -0
  392. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/_mcp_shared.py +0 -0
  393. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/_mcp_stranded.py +0 -0
  394. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/_mcp_task_ids.py +0 -0
  395. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/_workflow_deps.py +0 -0
  396. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/_workflow_frontmatter.py +0 -0
  397. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/_workflow_gates.py +0 -0
  398. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/_workflow_types.py +0 -0
  399. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/_workflow_wip.py +0 -0
  400. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/config.py +0 -0
  401. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/git_coherence.py +0 -0
  402. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/hub_adapter_manifest.py +0 -0
  403. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/mcp_tools.py +0 -0
  404. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/parser.py +0 -0
  405. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/presence.py +0 -0
  406. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/transition-gates.yaml +0 -0
  407. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/transition_gates.py +0 -0
  408. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/transition_gates_cli.py +0 -0
  409. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/transition_gates_validator.py +0 -0
  410. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/verify-suites.yaml +0 -0
  411. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/verify_suites.py +0 -0
  412. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/verify_suites_cli.py +0 -0
  413. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/board_os/workflow.py +0 -0
  414. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/commands/board.md +0 -0
  415. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/commands/classify.md +0 -0
  416. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/commands/compose.md +0 -0
  417. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/commands/daily.md +0 -0
  418. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/commands/diagnose.md +0 -0
  419. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/commands/memory-search.md +0 -0
  420. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/commands/new-project.md +0 -0
  421. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/commands/retro.md +0 -0
  422. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/commands/review.md +0 -0
  423. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/commands/task.md +0 -0
  424. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/commands/verify.md +0 -0
  425. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/docs/thinking_os-final-edition.md +0 -0
  426. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/__init__.py +0 -0
  427. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/backend.py +0 -0
  428. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/backends/__init__.py +0 -0
  429. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/backends/_sqlite_connection.py +0 -0
  430. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/backends/_sqlite_links.py +0 -0
  431. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/backends/_sqlite_read.py +0 -0
  432. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/backends/_sqlite_write.py +0 -0
  433. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/backends/sqlite_backend.py +0 -0
  434. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/bench/__init__.py +0 -0
  435. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/bench/_baselines.py +0 -0
  436. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/bench/_coverage.py +0 -0
  437. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/bench/fixtures.py +0 -0
  438. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/bench/harness.py +0 -0
  439. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/bench/persian_precision.py +0 -0
  440. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/bench/scale_500k.py +0 -0
  441. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/bench/third_party.py +0 -0
  442. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/bench/token_cost.py +0 -0
  443. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/bench/viewer_fps.py +0 -0
  444. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/communities.py +0 -0
  445. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/enterprise.py +0 -0
  446. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/entry_points.py +0 -0
  447. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/__init__.py +0 -0
  448. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_code_shell_emit.py +0 -0
  449. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_contracts_events.py +0 -0
  450. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_contracts_go.py +0 -0
  451. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_contracts_js.py +0 -0
  452. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_contracts_php.py +0 -0
  453. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_contracts_python.py +0 -0
  454. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_contracts_shared.py +0 -0
  455. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_extract_base.py +0 -0
  456. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_generic_edges_native.py +0 -0
  457. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_generic_edges_table.py +0 -0
  458. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_generic_nodes.py +0 -0
  459. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_generic_spec.py +0 -0
  460. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_go_calls.py +0 -0
  461. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_go_package.py +0 -0
  462. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_go_regex.py +0 -0
  463. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_go_symbols.py +0 -0
  464. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_go_types.py +0 -0
  465. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_go_uids.py +0 -0
  466. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_md_read_next.py +0 -0
  467. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_md_resolve.py +0 -0
  468. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_md_sections.py +0 -0
  469. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_md_uids.py +0 -0
  470. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_php_calls.py +0 -0
  471. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_php_symbols.py +0 -0
  472. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_php_uids.py +0 -0
  473. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_python_decls.py +0 -0
  474. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_python_emit.py +0 -0
  475. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_python_tree_sitter.py +0 -0
  476. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_python_uids.py +0 -0
  477. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_python_visitor.py +0 -0
  478. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_ts_calls.py +0 -0
  479. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_ts_decls.py +0 -0
  480. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_ts_nodes.py +0 -0
  481. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_ts_regex_calls.py +0 -0
  482. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_ts_regex_decls.py +0 -0
  483. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_ts_regex_imports.py +0 -0
  484. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_ts_symbols.py +0 -0
  485. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/_ts_uids.py +0 -0
  486. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/code_generic.py +0 -0
  487. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/code_go.py +0 -0
  488. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/code_json.py +0 -0
  489. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/code_php.py +0 -0
  490. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/code_python.py +0 -0
  491. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/code_shell.py +0 -0
  492. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/code_toml.py +0 -0
  493. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/code_ts.py +0 -0
  494. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/code_yaml.py +0 -0
  495. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/contracts.py +0 -0
  496. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/md_links.py +0 -0
  497. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/extractors/task_deps.py +0 -0
  498. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/groups/__init__.py +0 -0
  499. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/groups/cross_repo.py +0 -0
  500. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/groups/manifest.py +0 -0
  501. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/ingest/__init__.py +0 -0
  502. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/ingest/base.py +0 -0
  503. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/ingest/github.py +0 -0
  504. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/ingest/zip.py +0 -0
  505. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/toolchain.py +0 -0
  506. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/tools/__init__.py +0 -0
  507. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/tools/_analysis_contracts.py +0 -0
  508. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/tools/_analysis_impact.py +0 -0
  509. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/tools/_analysis_rename.py +0 -0
  510. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/tools/_doctor_edges.py +0 -0
  511. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/tools/_doctor_orphans.py +0 -0
  512. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/tools/_doctor_paths.py +0 -0
  513. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/tools/_graph_analysis.py +0 -0
  514. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/tools/_graph_centrality.py +0 -0
  515. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/tools/_graph_doctor.py +0 -0
  516. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/tools/_graph_export_processes.py +0 -0
  517. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/tools/_graph_hygiene.py +0 -0
  518. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/tools/_graph_insights.py +0 -0
  519. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/tools/_graph_lookup.py +0 -0
  520. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/tools/_graph_paths.py +0 -0
  521. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/tools/_graph_ranking.py +0 -0
  522. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/tools/_graph_read.py +0 -0
  523. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/tools/_graph_references.py +0 -0
  524. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/tools/_graph_similar.py +0 -0
  525. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/tools/_graph_walk.py +0 -0
  526. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/tools/_reindex_layers.py +0 -0
  527. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/tools/_reindex_routing.py +0 -0
  528. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/tools/_reindex_state.py +0 -0
  529. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/tools/graph.py +0 -0
  530. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/tools/reindex_dispatch.py +0 -0
  531. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/tree_sitter_overlay.py +0 -0
  532. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/types.py +0 -0
  533. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/vec_index.py +0 -0
  534. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/viewer/__init__.py +0 -0
  535. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/viewer/exporter.py +0 -0
  536. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/graph_os/viewer/template.py +0 -0
  537. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_cos_env_io.sh +0 -0
  538. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_cos_env_log.sh +0 -0
  539. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_cos_env_paths.sh +0 -0
  540. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/_doc_sync_symbols.py +0 -0
  541. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/_paths.py +0 -0
  542. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/advance_role.py +0 -0
  543. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/auto_compose.py +0 -0
  544. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/auto_validate_lessons.py +0 -0
  545. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/branch_guard_check.py +0 -0
  546. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/branch_guard_pr.py +0 -0
  547. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/branch_guard_refs.py +0 -0
  548. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/branch_guard_trunk.py +0 -0
  549. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/check_commit_message.py +0 -0
  550. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/check_dangerous_rm.py +0 -0
  551. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/check_git_bypass.py +0 -0
  552. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/check_git_destructive.py +0 -0
  553. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/check_runtime_cost.py +0 -0
  554. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/check_settings_write.py +0 -0
  555. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/consume_override.py +0 -0
  556. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/context_budget.py +0 -0
  557. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/cos_say_json.py +0 -0
  558. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/destructive_edit_check.py +0 -0
  559. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/detect_status_transition.py +0 -0
  560. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/digest_regen.py +0 -0
  561. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/doc_sync_check.py +0 -0
  562. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/drain_embedding_outbox.py +0 -0
  563. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/extract_additional_context.py +0 -0
  564. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/extract_commit_msg_arg.py +0 -0
  565. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/git_command_parse.py +0 -0
  566. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/git_settings_fields.py +0 -0
  567. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/graph_context_match.py +0 -0
  568. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/graph_marker_check.py +0 -0
  569. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/jit_recall.py +0 -0
  570. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/json_field.py +0 -0
  571. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/narrative_signal.py +0 -0
  572. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/observation_count.py +0 -0
  573. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/pre_commit_batch.py +0 -0
  574. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/pre_commit_fake_input.py +0 -0
  575. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/presence_gc.py +0 -0
  576. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/presence_write.py +0 -0
  577. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/read_stdin.py +0 -0
  578. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/recover_indirect.py +0 -0
  579. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/session_recap.py +0 -0
  580. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/skill_primer.py +0 -0
  581. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/task_sync.py +0 -0
  582. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/trajectory_startup.py +0 -0
  583. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/turn_summary.py +0 -0
  584. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/validate_task_frontmatter.py +0 -0
  585. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/wip_limit_check.py +0 -0
  586. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/wip_lines.py +0 -0
  587. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/work_log_append.py +0 -0
  588. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/_helpers/wrap_dispatch_output.py +0 -0
  589. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/advance-role.sh +0 -0
  590. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/agent-presence.sh +0 -0
  591. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/auto-graph-reconcile-shell.sh +0 -0
  592. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/auto-regen-doc-index.sh +0 -0
  593. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/auto-reindex-docs.sh +0 -0
  594. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/auto-task-sync.sh +0 -0
  595. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/auto-trace-rotate.sh +0 -0
  596. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/block-dangerous-commands.sh +0 -0
  597. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/block-hardcoded-literals.sh +0 -0
  598. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/block-migration-conflict.sh +0 -0
  599. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/block-protected-files.sh +0 -0
  600. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/block-secrets.sh +0 -0
  601. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/block-shared-tree-edit.sh +0 -0
  602. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/block-uv-heredoc.sh +0 -0
  603. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/branch-guard.sh +0 -0
  604. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/capture-observation.sh +0 -0
  605. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/capture-tool-failure.sh +0 -0
  606. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/capture-work-log.sh +0 -0
  607. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/check-agents-md-refs.sh +0 -0
  608. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/check-agents-md-size.sh +0 -0
  609. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/check-capture-worked.sh +0 -0
  610. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/check-doc-size.sh +0 -0
  611. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/check-mcp-extras.sh +0 -0
  612. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/check-state.sh +0 -0
  613. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/classify-task-mode.sh +0 -0
  614. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/drain-embedding-outbox.sh +0 -0
  615. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/enforce-anti-ambiguity.sh +0 -0
  616. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/enforce-commit-message.sh +0 -0
  617. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/enforce-doc-anchor.sh +0 -0
  618. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/enforce-doc-sync.sh +0 -0
  619. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/enforce-graph-context.sh +0 -0
  620. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/enforce-graph-first-read.sh +0 -0
  621. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/enforce-memory-check.sh +0 -0
  622. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/enforce-rename-plan.sh +0 -0
  623. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/enforce-scaffold-boundary.sh +0 -0
  624. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/enforce-task-body.sh +0 -0
  625. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/enforce-task-start.sh +0 -0
  626. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/enforce-task-transition.sh +0 -0
  627. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/enforce-template.sh +0 -0
  628. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/enforce-verify.sh +0 -0
  629. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/enforce-wip-limit.sh +0 -0
  630. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/enforce-zoom.sh +0 -0
  631. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/ensure-hub-up.sh +0 -0
  632. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/inject-mcp-caller-session.sh +0 -0
  633. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/jit-recall.sh +0 -0
  634. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/link-commit-to-task.sh +0 -0
  635. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/lint-task.sh +0 -0
  636. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/nudge-docs-first.sh +0 -0
  637. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/nudge-git-mode.sh +0 -0
  638. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/nudge-graph-os.sh +0 -0
  639. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/nudge-learn-narrative.sh +0 -0
  640. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/nudge-model-routing.sh +0 -0
  641. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/nudge-reentry.sh +0 -0
  642. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/nudge-reuse-first.sh +0 -0
  643. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/nudge-task-discovery.sh +0 -0
  644. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/nudge-thinking-os.sh +0 -0
  645. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/pr-reap.sh +0 -0
  646. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/reclaim-sweep.sh +0 -0
  647. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/record-verify.sh +0 -0
  648. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/regen-reminder.sh +0 -0
  649. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/remind-daily.sh +0 -0
  650. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/remind-dogfood.sh +0 -0
  651. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/remind-learn-validate.sh +0 -0
  652. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/rules-primer.sh +0 -0
  653. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/search-enforce-inventory.sh +0 -0
  654. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/search-verify-remaining.sh +0 -0
  655. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/session-end.sh +0 -0
  656. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/session-skill-primer.sh +0 -0
  657. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/snapshot-transcript.sh +0 -0
  658. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/sync-task-current.sh +0 -0
  659. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/test-first-reminder.sh +0 -0
  660. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/test-governor.sh +0 -0
  661. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/thinking_os-gate.sh +0 -0
  662. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/track-backtrack.sh +0 -0
  663. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/track-discovery.sh +0 -0
  664. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/track-skill.sh +0 -0
  665. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/validate-task-frontmatter.sh +0 -0
  666. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/verify-rename-callers.sh +0 -0
  667. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/warn-abandoned-task.sh +0 -0
  668. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/warn-destructive-edit.sh +0 -0
  669. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/warn-diff-size.sh +0 -0
  670. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/warn-graph-empty.sh +0 -0
  671. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/warn-mcp-down.sh +0 -0
  672. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/hooks/write-state.sh +0 -0
  673. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/logging_os/bridge.py +0 -0
  674. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/logging_os/config.py +0 -0
  675. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/logging_os/fingerprint.py +0 -0
  676. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/logging_os/redact.py +0 -0
  677. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/logging_os/render.py +0 -0
  678. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/logging_os/sinks.py +0 -0
  679. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/rules/anti-overengineering.md +0 -0
  680. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/rules/api-contract-discipline.md +0 -0
  681. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/rules/dimension-registry.md +0 -0
  682. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/rules/git-workflow.md +0 -0
  683. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/rules/memory.md +0 -0
  684. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/rules/model-routing.md +0 -0
  685. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/rules/test-discipline.md +0 -0
  686. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/rules/thinking_os.md +0 -0
  687. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/runtime_paths.yaml +0 -0
  688. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/scheduled/__init__.py +0 -0
  689. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/scheduled/_activity.py +0 -0
  690. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/scheduled/_nightly_board.py +0 -0
  691. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/scheduled/_nightly_index.py +0 -0
  692. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/scheduled/_nightly_memory.py +0 -0
  693. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/scheduled/config.py +0 -0
  694. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/scheduled/dep_reconcile.py +0 -0
  695. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/scheduled/error_sweep.py +0 -0
  696. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/scheduled/nightly.py +0 -0
  697. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/scheduled/responsive_extract.py +0 -0
  698. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/schemas/preset.schema.json +0 -0
  699. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/schemas/skill.schema.json +0 -0
  700. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/schemas/stack.schema.json +0 -0
  701. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/scripts/_lib.sh +0 -0
  702. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/scripts/docs-nav-fix.sh +0 -0
  703. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/scripts/docs-staleness-check.sh +0 -0
  704. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/scripts/log-search.sh +0 -0
  705. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/scripts/ref-resolve.sh +0 -0
  706. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/a11y/SKILL.md +0 -0
  707. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/a11y/assets/a11y-checklist.md +0 -0
  708. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/a11y/references/aria-and-focus.md +0 -0
  709. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/a11y/references/rn-accessibility.md +0 -0
  710. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/a11y/references/screen-reader-testing.md +0 -0
  711. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/agent-memory/SKILL.md +0 -0
  712. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/agent-memory/assets/memory-checklist.md +0 -0
  713. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/agent-memory/references/memory-recipes.md +0 -0
  714. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/api-design/assets/api-design-checklist.md +0 -0
  715. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/api-design/references/error-envelope.md +0 -0
  716. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/api-design/references/idempotency-pagination.md +0 -0
  717. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/api-design/references/rest-contracts.md +0 -0
  718. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/auth-patterns/SKILL.md +0 -0
  719. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/auth-patterns/assets/auth-checklist.md +0 -0
  720. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/auth-patterns/references/jwt-and-service-tokens.md +0 -0
  721. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/auth-patterns/references/passkeys-2fa.md +0 -0
  722. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/auth-patterns/references/sessions-vs-jwt.md +0 -0
  723. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/auth-patterns/scripts/cookie-flag-check.py +0 -0
  724. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/backend-fundamentals/SKILL.md +0 -0
  725. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/backend-fundamentals/assets/backend-checklist.md +0 -0
  726. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/backend-fundamentals/references/backend-patterns.md +0 -0
  727. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/backend-fundamentals/scripts/check_layering.py +0 -0
  728. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/clean-code/references/algorithmic-efficiency.md +0 -0
  729. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/clean-code/references/error-handling.md +0 -0
  730. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/clean-code/references/file-design.md +0 -0
  731. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/clean-code/references/output-contract.md +0 -0
  732. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/clean-code/scripts/audit-fail-closed.py +0 -0
  733. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/codebase-explorer/SKILL.md +0 -0
  734. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/codebase-explorer/assets/reading-checklist.md +0 -0
  735. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/codebase-explorer/references/reading-strategies.md +0 -0
  736. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/codebase-explorer/scripts/outline.py +0 -0
  737. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/db-design/SKILL.md +0 -0
  738. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/db-design/assets/migration-template.sql +0 -0
  739. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/db-design/references/migration-discipline.md +0 -0
  740. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/db-design/references/postgres-patterns.md +0 -0
  741. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/db-design/scripts/migration-safety.sh +0 -0
  742. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/deployment-cicd/SKILL.md +0 -0
  743. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/deployment-cicd/assets/deploy-checklist.md +0 -0
  744. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/deployment-cicd/references/pipeline-and-release.md +0 -0
  745. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/deployment-cicd/scripts/lint_workflow.py +0 -0
  746. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/docker/SKILL.md +0 -0
  747. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/docker/assets/dockerfile-checklist.md +0 -0
  748. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/docker/references/compose-patterns.md +0 -0
  749. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/docker/references/dockerfile-optimization.md +0 -0
  750. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/docker/scripts/lint_dockerfile.sh +0 -0
  751. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/docker/versions.json +0 -0
  752. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/end-to-end-testing/SKILL.md +0 -0
  753. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/end-to-end-testing/assets/e2e-checklist.md +0 -0
  754. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/end-to-end-testing/references/maestro.md +0 -0
  755. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/end-to-end-testing/references/playwright.md +0 -0
  756. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/end-to-end-testing/scripts/lint_e2e.py +0 -0
  757. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/end-to-end-testing/versions.json +0 -0
  758. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/frontend-design/SKILL.md +0 -0
  759. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/frontend-design/assets/design-checklist.md +0 -0
  760. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/frontend-design/references/design-principles.md +0 -0
  761. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/frontend-design/scripts/check_contrast.py +0 -0
  762. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/frontend-fundamentals/SKILL.md +0 -0
  763. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/frontend-fundamentals/assets/frontend-checklist.md +0 -0
  764. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/frontend-fundamentals/references/rendering-and-state.md +0 -0
  765. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/frontend-fundamentals/scripts/check_frontend.py +0 -0
  766. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/graph-explorer/SKILL.md +0 -0
  767. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/graph-explorer/scripts/explain-impact.sh +0 -0
  768. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/graphql/SKILL.md +0 -0
  769. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/grpc-microservices/SKILL.md +0 -0
  770. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/hexagonal-architecture/SKILL.md +0 -0
  771. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/hexagonal-architecture/assets/folder-scaffold.md +0 -0
  772. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/hexagonal-architecture/references/anti-patterns.md +0 -0
  773. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/hexagonal-architecture/references/go-fiber-layout.md +0 -0
  774. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/hexagonal-architecture/references/python-fastapi-layout.md +0 -0
  775. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/hexagonal-architecture/references/react-native-layout.md +0 -0
  776. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/incident-response/SKILL.md +0 -0
  777. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/incident-response/assets/incident-checklist.md +0 -0
  778. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/incident-response/references/severity-and-runbook.md +0 -0
  779. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/incident-response/scripts/classify_severity.py +0 -0
  780. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/linux-sysadmin/SKILL.md +0 -0
  781. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/linux-sysadmin/assets/hardening-checklist.md +0 -0
  782. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/linux-sysadmin/references/ssh-hardening.md +0 -0
  783. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/linux-sysadmin/references/systemd-and-services.md +0 -0
  784. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/linux-sysadmin/scripts/triage.sh +0 -0
  785. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/linux-sysadmin/versions.json +0 -0
  786. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/llm-patterns/SKILL.md +0 -0
  787. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/llm-patterns/assets/llm-feature-checklist.md +0 -0
  788. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/llm-patterns/references/rag-and-evals.md +0 -0
  789. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/llm-patterns/scripts/estimate_tokens.py +0 -0
  790. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/messaging-queues/SKILL.md +0 -0
  791. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/mobile-fundamentals/SKILL.md +0 -0
  792. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/mobile-fundamentals/assets/mobile-launch-checklist.md +0 -0
  793. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/mobile-fundamentals/references/navigation-and-deep-links.md +0 -0
  794. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/mobile-fundamentals/references/offline-sync.md +0 -0
  795. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/node-backend/SKILL.md +0 -0
  796. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/node-backend/assets/node-checklist.md +0 -0
  797. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/node-backend/references/async-and-errors.md +0 -0
  798. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/node-backend/references/event-loop.md +0 -0
  799. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/node-backend/scripts/check_package.py +0 -0
  800. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/node-backend/versions.json +0 -0
  801. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/observability/SKILL.md +0 -0
  802. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/observability/assets/observability-checklist.md +0 -0
  803. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/observability/references/instrumentation.md +0 -0
  804. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/observability/scripts/lint_logging.py +0 -0
  805. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/payments/SKILL.md +0 -0
  806. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/performance/SKILL.md +0 -0
  807. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/performance/assets/perf-checklist.md +0 -0
  808. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/performance/references/mobile-performance.md +0 -0
  809. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/performance/references/web-vitals.md +0 -0
  810. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/php/SKILL.md +0 -0
  811. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/php/assets/php-checklist.md +0 -0
  812. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/php/references/modern-php.md +0 -0
  813. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/php/references/security.md +0 -0
  814. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/php/scripts/scan_php_smells.py +0 -0
  815. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/php/versions.json +0 -0
  816. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/pr-mode-driver/SKILL.md +0 -0
  817. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/realtime-websockets/SKILL.md +0 -0
  818. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/redis/SKILL.md +0 -0
  819. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/redis/assets/redis-checklist.md +0 -0
  820. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/redis/references/operations.md +0 -0
  821. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/redis/references/patterns.md +0 -0
  822. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/redis/scripts/analyze_info.py +0 -0
  823. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/redis/versions.json +0 -0
  824. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/search/SKILL.md +0 -0
  825. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/search/references/grep.md +0 -0
  826. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/search/scripts/verify-count.sh +0 -0
  827. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/search-infra/SKILL.md +0 -0
  828. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/security-mobile/SKILL.md +0 -0
  829. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/security-mobile/assets/mobile-security-checklist.md +0 -0
  830. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/security-mobile/references/masvs-l1-checklist.md +0 -0
  831. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/security-web/SKILL.md +0 -0
  832. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/security-web/assets/security-web-checklist.md +0 -0
  833. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/security-web/references/owasp-top-10.md +0 -0
  834. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/security-web/references/supply-chain.md +0 -0
  835. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/security-web/scripts/csp-check.sh +0 -0
  836. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/shell-scripting/SKILL.md +0 -0
  837. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/shell-scripting/assets/script-checklist.md +0 -0
  838. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/shell-scripting/references/argument-parsing.md +0 -0
  839. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/shell-scripting/references/bash-robustness.md +0 -0
  840. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/shell-scripting/scripts/lint_script.sh +0 -0
  841. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/shell-scripting/scripts/new_script.py +0 -0
  842. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/shell-scripting/versions.json +0 -0
  843. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/sql-authoring/SKILL.md +0 -0
  844. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/sql-authoring/assets/query-review-checklist.md +0 -0
  845. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/sql-authoring/references/query-patterns.md +0 -0
  846. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/sql-authoring/references/reading-explain.md +0 -0
  847. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/sql-authoring/scripts/analyze_plan.py +0 -0
  848. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/sql-authoring/versions.json +0 -0
  849. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/state-management/SKILL.md +0 -0
  850. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/state-management/references/tanstack-query-recipes.md +0 -0
  851. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/state-management/references/zustand-recipes.md +0 -0
  852. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/supabase/SKILL.md +0 -0
  853. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/supabase/assets/supabase-checklist.md +0 -0
  854. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/supabase/references/realtime-and-storage.md +0 -0
  855. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/supabase/references/rls-and-auth.md +0 -0
  856. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/supabase/scripts/check_rls.py +0 -0
  857. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/supabase/versions.json +0 -0
  858. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/task-driver/SKILL.md +0 -0
  859. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/task-driver/scripts/task-lint.sh +0 -0
  860. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/technical-writing/SKILL.md +0 -0
  861. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/technical-writing/assets/doc-checklist.md +0 -0
  862. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/technical-writing/references/doc-anatomy.md +0 -0
  863. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/technical-writing/references/writing-craft.md +0 -0
  864. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/technical-writing/scripts/new_doc.py +0 -0
  865. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/terraform-k8s/SKILL.md +0 -0
  866. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/testing-strategy/SKILL.md +0 -0
  867. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/testing-strategy/assets/test-review-checklist.md +0 -0
  868. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/testing-strategy/references/test-types.md +0 -0
  869. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/testing-strategy/scripts/coverage_gate.py +0 -0
  870. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/thinking_os/SKILL.md +0 -0
  871. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/thinking_os/scripts/classify.sh +0 -0
  872. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/typescript/SKILL.md +0 -0
  873. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/typescript/assets/typescript-checklist.md +0 -0
  874. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/typescript/references/strictness.md +0 -0
  875. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/typescript/references/type-system.md +0 -0
  876. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/typescript/scripts/check_tsconfig.py +0 -0
  877. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/skills/typescript/versions.json +0 -0
  878. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/__init__.py +0 -0
  879. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/_agent_markers.py +0 -0
  880. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/_board_bridge.py +0 -0
  881. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/_cognition_artifacts.py +0 -0
  882. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/_cognition_registry.py +0 -0
  883. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/_db_paths.py +0 -0
  884. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/_doc_chunking.py +0 -0
  885. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/_doc_sources.py +0 -0
  886. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/_doc_store.py +0 -0
  887. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/_formula_signals.py +0 -0
  888. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/_health_report.py +0 -0
  889. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/_server_runtime.py +0 -0
  890. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/_supervision_policy.py +0 -0
  891. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/_tools_docs.py +0 -0
  892. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/_tools_graph_insights.py +0 -0
  893. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/_tools_graph_query.py +0 -0
  894. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/_tools_learning.py +0 -0
  895. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/_tools_memory.py +0 -0
  896. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/_tools_metrics.py +0 -0
  897. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/_tools_recall.py +0 -0
  898. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/_tools_routing.py +0 -0
  899. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/_tools_task_flow.py +0 -0
  900. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/_tools_task_records.py +0 -0
  901. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/_tools_tasks.py +0 -0
  902. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/adapter_registry.py +0 -0
  903. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/agents/README.md +0 -0
  904. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/agents/analyst.md +0 -0
  905. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/agents/architect.md +0 -0
  906. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/agents/debugger.md +0 -0
  907. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/agents/deployer.md +0 -0
  908. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/agents/distiller.md +0 -0
  909. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/agents/documenter.md +0 -0
  910. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/agents/implementer.md +0 -0
  911. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/agents/internal/session_observer.md +0 -0
  912. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/agents/observer.md +0 -0
  913. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/agents/onboarder.md +0 -0
  914. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/agents/refactorer.md +0 -0
  915. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/agents/repairer.md +0 -0
  916. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/agents/researcher.md +0 -0
  917. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/agents/reviewer.md +0 -0
  918. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/agents/security_auditor.md +0 -0
  919. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/background.py +0 -0
  920. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/bootstrap_outcomes.py +0 -0
  921. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/budget.py +0 -0
  922. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/capture.py +0 -0
  923. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/cognition.py +0 -0
  924. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/cognition_schemas.py +0 -0
  925. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/compress.py +0 -0
  926. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/concepts.py +0 -0
  927. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/dashboard.py +0 -0
  928. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/database.py +0 -0
  929. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/decay.py +0 -0
  930. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/digest.py +0 -0
  931. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/dispatchers/__init__.py +0 -0
  932. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/dispatchers/default.py +0 -0
  933. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/distill.py +0 -0
  934. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/doc_indexer.py +0 -0
  935. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/embedding_outbox.py +0 -0
  936. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/embeddings.py +0 -0
  937. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/formula_composer.py +0 -0
  938. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/gate_marker.py +0 -0
  939. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/graph.py +0 -0
  940. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/graph_indexer.py +0 -0
  941. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/health_check.py +0 -0
  942. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/impact.py +0 -0
  943. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/memory_gc.py +0 -0
  944. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/migrator_embeddings.py +0 -0
  945. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/precision.py +0 -0
  946. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/presets/registry.yaml +0 -0
  947. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/project_settings.py +0 -0
  948. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/record_outcome.py +0 -0
  949. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/repair.py +0 -0
  950. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/retrieval_quality.py +0 -0
  951. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/roles/analyst.yaml +0 -0
  952. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/roles/architect.yaml +0 -0
  953. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/roles/debugger.yaml +0 -0
  954. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/roles/deployer.yaml +0 -0
  955. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/roles/documenter.yaml +0 -0
  956. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/roles/implementer.yaml +0 -0
  957. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/roles/observer.yaml +0 -0
  958. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/roles/refactorer.yaml +0 -0
  959. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/roles/researcher.yaml +0 -0
  960. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/roles/reviewer.yaml +0 -0
  961. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/roles/security_auditor.yaml +0 -0
  962. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/roles_state.py +0 -0
  963. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/sanitizer.py +0 -0
  964. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/server.py +0 -0
  965. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/session_enrich.py +0 -0
  966. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/session_observe_worker.py +0 -0
  967. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/session_startup.py +0 -0
  968. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/session_summary.py +0 -0
  969. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/situations/registry.yaml +0 -0
  970. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/supervision.py +0 -0
  971. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/task_analyzer.py +0 -0
  972. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/task_parser.py +0 -0
  973. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/task_sync.py +0 -0
  974. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/__init__.py +0 -0
  975. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/_cognition_audit.py +0 -0
  976. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/_cognition_classify.py +0 -0
  977. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/_docs_headers.py +0 -0
  978. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/_docs_retrieval.py +0 -0
  979. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/_envelope_errors.py +0 -0
  980. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/_envelope_gating.py +0 -0
  981. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/_envelope_size.py +0 -0
  982. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/_envelope_subgraph.py +0 -0
  983. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/_envelope_trim.py +0 -0
  984. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/_learning_extract.py +0 -0
  985. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/_learning_generalize.py +0 -0
  986. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/_learning_mining.py +0 -0
  987. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/_learning_mining_logs.py +0 -0
  988. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/_learning_narrative.py +0 -0
  989. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/_learning_store.py +0 -0
  990. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/_learning_suggest.py +0 -0
  991. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/_learning_validate.py +0 -0
  992. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/_memory_ranking.py +0 -0
  993. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/_memory_search.py +0 -0
  994. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/_memory_semantic.py +0 -0
  995. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/_routing_failures.py +0 -0
  996. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/_routing_skill.py +0 -0
  997. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/_routing_stats.py +0 -0
  998. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/_shared.py +0 -0
  999. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/cognition.py +0 -0
  1000. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/docs.py +0 -0
  1001. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/learning.py +0 -0
  1002. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/logs.py +0 -0
  1003. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/memory.py +0 -0
  1004. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/metrics.py +0 -0
  1005. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/retrieve.py +0 -0
  1006. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/routing.py +0 -0
  1007. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tools/tasks.py +0 -0
  1008. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/thinking_os/tracing.py +0 -0
  1009. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/__init__.py +0 -0
  1010. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/_cache.py +0 -0
  1011. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/_deps.py +0 -0
  1012. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/_envelope.py +0 -0
  1013. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/_project_context.py +0 -0
  1014. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/chat_providers.py +0 -0
  1015. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/init_jobs.py +0 -0
  1016. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/__init__.py +0 -0
  1017. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/_board_git.py +0 -0
  1018. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/_board_presence.py +0 -0
  1019. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/_board_shared.py +0 -0
  1020. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/_board_tasks.py +0 -0
  1021. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/_board_views.py +0 -0
  1022. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/_bounded_read.py +0 -0
  1023. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/_cognition_base.py +0 -0
  1024. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/_cognition_chat_lookup.py +0 -0
  1025. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/_cognition_chat_prompts.py +0 -0
  1026. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/_cognition_chat_sdk.py +0 -0
  1027. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/_cognition_serialize.py +0 -0
  1028. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/_config_adapters.py +0 -0
  1029. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/_config_codex_toml.py +0 -0
  1030. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/_config_mcp.py +0 -0
  1031. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/_config_mutate.py +0 -0
  1032. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/_config_read.py +0 -0
  1033. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/_config_shared.py +0 -0
  1034. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/_graph_export.py +0 -0
  1035. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/_graph_shared.py +0 -0
  1036. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/_hub_init.py +0 -0
  1037. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/_hub_init_routes.py +0 -0
  1038. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/_hub_scan.py +0 -0
  1039. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/_hub_shared.py +0 -0
  1040. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/_presence_context.py +0 -0
  1041. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/_presence_runtime.py +0 -0
  1042. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/_stream_snapshots.py +0 -0
  1043. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/board.py +0 -0
  1044. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/cognition_chat.py +0 -0
  1045. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/cognition_onboarding.py +0 -0
  1046. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/config.py +0 -0
  1047. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/graph.py +0 -0
  1048. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/health.py +0 -0
  1049. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/hooks.py +0 -0
  1050. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/hub.py +0 -0
  1051. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/logs.py +0 -0
  1052. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/metrics.py +0 -0
  1053. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/observability.py +0 -0
  1054. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/patterns.py +0 -0
  1055. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/presence.py +0 -0
  1056. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/roles.py +0 -0
  1057. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/search.py +0 -0
  1058. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/sessions.py +0 -0
  1059. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/settings.py +0 -0
  1060. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/routes/stream.py +0 -0
  1061. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/security.py +0 -0
  1062. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/ui/dist/assets/graph-BbrS1Nv2.js +0 -0
  1063. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/ui/dist/assets/logo-C_DJT4rG.png +0 -0
  1064. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/ui/dist/assets/rolldown-runtime-Dd_uD5pT.js +0 -0
  1065. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/ui/dist/cos-board-tokens.css +0 -0
  1066. {coding_os-0.3.20 → coding_os-0.3.22}/src/core/web/ui/dist/favicon.png +0 -0
  1067. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/__init__.py +0 -0
  1068. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/_audit_cognition.py +0 -0
  1069. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/_audit_graph.py +0 -0
  1070. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/_audit_harness.py +0 -0
  1071. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/_commit_msg_body.sh +0 -0
  1072. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/_post_commit_body.sh +0 -0
  1073. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/_pre_commit_body.sh +0 -0
  1074. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/_prepare_commit_msg_body.sh +0 -0
  1075. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/audit_mcp_tools.py +0 -0
  1076. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/bench_sdk_dispatcher.py +0 -0
  1077. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/capture_golden.py +0 -0
  1078. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/check_graph_phantoms.py +0 -0
  1079. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/check_split_parity.py +0 -0
  1080. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/context_budget.py +0 -0
  1081. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/dev/audit_doc_links.py +0 -0
  1082. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/dev/audit_scaffold_module_tags.py +0 -0
  1083. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/dev/backfill_doc_headers.py +0 -0
  1084. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/dev/backfill_nav_lines.py +0 -0
  1085. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/dev/fix_nav_placement.py +0 -0
  1086. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/dev/inspect_sdk_options.py +0 -0
  1087. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/dev/migrate_check_ids.py +0 -0
  1088. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/dev/strip_purpose_blocks.py +0 -0
  1089. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/dump_openapi.py +0 -0
  1090. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/e2e_dispatch_tool.py +0 -0
  1091. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/eval_taskset.py +0 -0
  1092. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/generate_manifest.py +0 -0
  1093. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/golden_sections.py +0 -0
  1094. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/graph_demo.py +0 -0
  1095. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/install-git-hooks.sh +0 -0
  1096. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/migrate_embeddings_minilm_to_bge_m3.py +0 -0
  1097. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/mypy_ratchet.py +0 -0
  1098. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/operational_eval.py +0 -0
  1099. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/probe_agent_session_resolver.py +0 -0
  1100. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/prune_deleted_path.py +0 -0
  1101. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/refactor_agent_dual_mode.py +0 -0
  1102. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/refresh_skill_versions.py +0 -0
  1103. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/regen_doc_index.py +0 -0
  1104. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/regen_doctor_schema.py +0 -0
  1105. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/regen_rules.py +0 -0
  1106. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/rename_formulas_to_semantic.py +0 -0
  1107. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/smoke_db_connections.py +0 -0
  1108. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/smoke_doc_header.py +0 -0
  1109. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/smoke_graph_e2e.py +0 -0
  1110. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/smoke_sdk_dispatch.py +0 -0
  1111. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/smoke_uid_resolver.py +0 -0
  1112. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/verify_dispatchers.py +0 -0
  1113. {coding_os-0.3.20 → coding_os-0.3.22}/src/scripts/verify_phase_c_e2e.py +0 -0
  1114. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/__init__.py +0 -0
  1115. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/Makefile.base +0 -0
  1116. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/coding-os.yaml.template +0 -0
  1117. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/dimension-registry.template.md +0 -0
  1118. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/domain-config.template.json +0 -0
  1119. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/fragments/anatomy-map.md.tmpl +0 -0
  1120. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/fragments/context-discipline.md.tmpl +0 -0
  1121. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/fragments/core-loop.md.tmpl +0 -0
  1122. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/fragments/engineering-routing.md.tmpl +0 -0
  1123. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/fragments/header.md.tmpl +0 -0
  1124. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/fragments/identity.md.tmpl +0 -0
  1125. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/fragments/principles.md.tmpl +0 -0
  1126. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/fragments/retrieval-routing.md.tmpl +0 -0
  1127. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/fragments/session-handoff.md.tmpl +0 -0
  1128. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/fragments/skills.md.tmpl +0 -0
  1129. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/fragments/ssot-map.md.tmpl +0 -0
  1130. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/fragments/stop-conditions.md.tmpl +0 -0
  1131. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/fragments/subagent-dispatch.md.tmpl +0 -0
  1132. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/fragments/task-authoring.md.tmpl +0 -0
  1133. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/fragments/task-logging.md.tmpl +0 -0
  1134. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/fragments/tool-routing.md.tmpl +0 -0
  1135. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/fragments/verification-matrix.md.tmpl +0 -0
  1136. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/lang/dart/analysis_options.yaml +0 -0
  1137. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/lang/php/phpcs.xml.dist +0 -0
  1138. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/lang/python/pyproject.toml +0 -0
  1139. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/lang/rust/clippy.toml +0 -0
  1140. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/lang/rust/rustfmt.toml +0 -0
  1141. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/lang/typescript/eslint.config.js +0 -0
  1142. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/lang/typescript/tsconfig.json +0 -0
  1143. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/lang/typescript/vitest.config.ts +0 -0
  1144. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/changes.log +0 -0
  1145. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/00-index.md +0 -0
  1146. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/_meta/feature-dependency-tree.md +0 -0
  1147. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/_meta/foundation-map.md +0 -0
  1148. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/_meta/questions.md +0 -0
  1149. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/_meta/roadmap.md +0 -0
  1150. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/api-contracts/00-index.md +0 -0
  1151. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/api-contracts/error-format.md +0 -0
  1152. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/architecture/00-index.md +0 -0
  1153. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/architecture/adr/00-index.md +0 -0
  1154. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/engineering/00-index.md +0 -0
  1155. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/governance/00-index.md +0 -0
  1156. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/governance/_templates/doc-cheat-sheet.md +0 -0
  1157. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/governance/_templates/playbook-template.md +0 -0
  1158. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/governance/_templates/post-mortem-template.md +0 -0
  1159. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/governance/_templates/runbook-template.md +0 -0
  1160. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/governance/_templates/security-review-template.md +0 -0
  1161. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/governance/_templates/task-detail.md +0 -0
  1162. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/governance/agent-workflow.md +0 -0
  1163. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/governance/anatomy-contract.md +0 -0
  1164. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/governance/critical-rules.md +0 -0
  1165. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/governance/decision-records.md +0 -0
  1166. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/governance/docs-first-protocol.md +0 -0
  1167. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/governance/docs-system.md +0 -0
  1168. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/governance/gdpr-compliance.md +0 -0
  1169. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/governance/mcp-tool-inventory.md +0 -0
  1170. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/governance/risk-register.md +0 -0
  1171. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/governance/scaffold-boundary-contract.md +0 -0
  1172. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/governance/task-lifecycle.md +0 -0
  1173. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/governance/wrapper-derivation.md +0 -0
  1174. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/insights/00-index.md +0 -0
  1175. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/ops/00-index.md +0 -0
  1176. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/ops/runbooks/00-index.md +0 -0
  1177. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/playbooks/00-index.md +0 -0
  1178. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/playbooks/research-validation.md +0 -0
  1179. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/playbooks/security-review.md +0 -0
  1180. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/prd/00-index.md +0 -0
  1181. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/prd/01-snapshot-vision.md +0 -0
  1182. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/docs/workflow/workflow-guide.md +0 -0
  1183. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/scaffold/src/shared/README.md +0 -0
  1184. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/skill-enforcement.template.md +0 -0
  1185. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_base/task-detail.template.md +0 -0
  1186. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_presets/ai-saas.yaml +0 -0
  1187. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_presets/django-next.yaml +0 -0
  1188. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_presets/dotnet-react.yaml +0 -0
  1189. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_presets/flutter-baas.yaml +0 -0
  1190. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_presets/go-react.yaml +0 -0
  1191. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_presets/hexagonal-product.yaml +0 -0
  1192. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_presets/jamstack.yaml +0 -0
  1193. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_presets/laravel-vue.yaml +0 -0
  1194. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_presets/mean.yaml +0 -0
  1195. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_presets/mern.yaml +0 -0
  1196. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_presets/nest-angular.yaml +0 -0
  1197. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_presets/nextjs-fastapi.yaml +0 -0
  1198. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_presets/nuxt-fullstack.yaml +0 -0
  1199. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_presets/pern.yaml +0 -0
  1200. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_presets/rails-react.yaml +0 -0
  1201. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_presets/rn-api.yaml +0 -0
  1202. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_presets/rust-svelte.yaml +0 -0
  1203. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_presets/spring-react.yaml +0 -0
  1204. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_presets/t3-style.yaml +0 -0
  1205. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_presets/tall.yaml +0 -0
  1206. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/_presets/wordpress-cms.yaml +0 -0
  1207. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/angular/rules/frontend.md +0 -0
  1208. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/angular/scaffold/docs/engineering/accessibility.md +0 -0
  1209. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/angular/scaffold/docs/engineering/angular-rules.md +0 -0
  1210. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/angular/scaffold/docs/playbooks/angular-app.md +0 -0
  1211. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/angular/scaffold/src/frontend/angular.json +0 -0
  1212. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/angular/scaffold/src/frontend/package.json +0 -0
  1213. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/angular/scaffold/src/frontend/src/app/app.component.ts +0 -0
  1214. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/angular/scaffold/src/frontend/src/app/app.config.ts +0 -0
  1215. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/angular/scaffold/src/frontend/src/app/app.routes.ts +0 -0
  1216. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/angular/scaffold/src/frontend/src/app/core/global-error-handler.ts +0 -0
  1217. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/angular/scaffold/src/frontend/src/app/health/health.component.ts +0 -0
  1218. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/angular/scaffold/src/frontend/src/app/health/health.service.spec.ts +0 -0
  1219. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/angular/scaffold/src/frontend/src/app/health/health.service.ts +0 -0
  1220. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/angular/scaffold/src/frontend/src/index.html +0 -0
  1221. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/angular/scaffold/src/frontend/src/main.ts +0 -0
  1222. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/angular/scaffold/src/frontend/src/styles.css +0 -0
  1223. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/angular/scaffold/src/frontend/tsconfig.app.json +0 -0
  1224. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/angular/scaffold/src/frontend/tsconfig.json +0 -0
  1225. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/angular/scaffold/src/frontend/tsconfig.spec.json +0 -0
  1226. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/angular/scaffold-boundary.yaml +0 -0
  1227. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/angular/skills/angular/SKILL.md +0 -0
  1228. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/angular/skills/angular/references/anatomy.md +0 -0
  1229. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/angular/stack.yaml +0 -0
  1230. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/aspnet-core/rules/backend.md +0 -0
  1231. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/aspnet-core/scaffold/docs/engineering/aspnet-core-rules.md +0 -0
  1232. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/aspnet-core/scaffold/docs/playbooks/aspnet-core-service.md +0 -0
  1233. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/aspnet-core/scaffold/src/backend/Backend.csproj +0 -0
  1234. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/aspnet-core/scaffold/src/backend/Backend.sln +0 -0
  1235. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/aspnet-core/scaffold/src/backend/Common/ExceptionHandlingMiddleware.cs +0 -0
  1236. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/aspnet-core/scaffold/src/backend/Features/Health/HealthEndpoints.cs +0 -0
  1237. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/aspnet-core/scaffold/src/backend/Features/Health/HealthService.cs +0 -0
  1238. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/aspnet-core/scaffold/src/backend/Program.cs +0 -0
  1239. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/aspnet-core/scaffold/src/backend/tests/Backend.Tests/Backend.Tests.csproj +0 -0
  1240. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/aspnet-core/scaffold/src/backend/tests/Backend.Tests/HealthServiceTests.cs +0 -0
  1241. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/aspnet-core/scaffold-boundary.yaml +0 -0
  1242. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/aspnet-core/skills/aspnet-core/SKILL.md +0 -0
  1243. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/aspnet-core/skills/aspnet-core/references/anatomy.md +0 -0
  1244. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/aspnet-core/stack.yaml +0 -0
  1245. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/astro/rules/frontend.md +0 -0
  1246. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/astro/scaffold/docs/engineering/astro-rules.md +0 -0
  1247. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/astro/scaffold/docs/playbooks/astro-app.md +0 -0
  1248. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/astro/scaffold/docs/playbooks/content-seo.md +0 -0
  1249. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/astro/scaffold/src/frontend/astro.config.mjs +0 -0
  1250. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/astro/scaffold/src/frontend/package.json +0 -0
  1251. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/astro/scaffold/src/frontend/src/components/Greeting.astro +0 -0
  1252. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/astro/scaffold/src/frontend/src/content/posts/hello.md +0 -0
  1253. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/astro/scaffold/src/frontend/src/content.config.ts +0 -0
  1254. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/astro/scaffold/src/frontend/src/lib/problem.test.ts +0 -0
  1255. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/astro/scaffold/src/frontend/src/lib/problem.ts +0 -0
  1256. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/astro/scaffold/src/frontend/src/pages/api/health.ts +0 -0
  1257. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/astro/scaffold/src/frontend/src/pages/index.astro +0 -0
  1258. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/astro/scaffold/src/frontend/tsconfig.json +0 -0
  1259. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/astro/scaffold/src/frontend/vitest.config.ts +0 -0
  1260. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/astro/scaffold-boundary.yaml +0 -0
  1261. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/astro/skills/astro/SKILL.md +0 -0
  1262. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/astro/skills/astro/references/anatomy.md +0 -0
  1263. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/astro/stack.yaml +0 -0
  1264. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/csharp-plain/scaffold/src/backend/Backend.csproj +0 -0
  1265. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/csharp-plain/scaffold/src/backend/Program.cs +0 -0
  1266. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/csharp-plain/scaffold-boundary.yaml +0 -0
  1267. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/csharp-plain/stack.yaml +0 -0
  1268. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/django/rules/backend.md +0 -0
  1269. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/django/scaffold/docs/engineering/anti-ambiguity.md +0 -0
  1270. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/django/scaffold/docs/engineering/backend-rules.md +0 -0
  1271. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/django/scaffold/docs/engineering/glossary.md +0 -0
  1272. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/django/scaffold/docs/engineering/logging-standards.md +0 -0
  1273. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/django/scaffold/docs/engineering/naming-conventions.md +0 -0
  1274. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/django/scaffold/docs/engineering/secrets-rotation-runbook.md +0 -0
  1275. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/django/scaffold/docs/playbooks/backend-api.md +0 -0
  1276. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/django/scaffold/src/backend/config/__init__.py +0 -0
  1277. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/django/scaffold/src/backend/config/settings.py +0 -0
  1278. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/django/scaffold/src/backend/config/urls.py +0 -0
  1279. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/django/scaffold/src/backend/config/wsgi.py +0 -0
  1280. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/django/scaffold/src/backend/manage.py +0 -0
  1281. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/django/scaffold/src/backend/pyproject.toml +0 -0
  1282. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/django/scaffold/src/backend/tests/test_health.py +0 -0
  1283. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/django/scaffold-boundary.yaml +0 -0
  1284. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/django/skills/python-django/SKILL.md +0 -0
  1285. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/django/skills/python-django/references/anatomy.md +0 -0
  1286. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/django/skills/python-django/scripts/new_endpoint.py +0 -0
  1287. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/django/stack.yaml +0 -0
  1288. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/fastapi/rules/backend.md +0 -0
  1289. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/fastapi/scaffold/docs/engineering/fastapi-rules.md +0 -0
  1290. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/fastapi/scaffold/docs/playbooks/fastapi-service.md +0 -0
  1291. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/fastapi/scaffold/src/backend/app/__init__.py +0 -0
  1292. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/fastapi/scaffold/src/backend/app/main.py +0 -0
  1293. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/fastapi/scaffold/src/backend/pyproject.toml +0 -0
  1294. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/fastapi/scaffold/src/backend/tests/test_health.py +0 -0
  1295. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/fastapi/scaffold-boundary.yaml +0 -0
  1296. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/fastapi/skills/python-fastapi/SKILL.md +0 -0
  1297. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/fastapi/skills/python-fastapi/references/anatomy.md +0 -0
  1298. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/fastapi/skills/python-fastapi/scripts/new_endpoint.py +0 -0
  1299. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/fastapi/stack.yaml +0 -0
  1300. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/flutter/rules/mobile.md +0 -0
  1301. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/flutter/scaffold/docs/engineering/flutter-rules.md +0 -0
  1302. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/flutter/scaffold/docs/playbooks/flutter-app.md +0 -0
  1303. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/flutter/scaffold/src/mobile/lib/core/error_mapper.dart +0 -0
  1304. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/flutter/scaffold/src/mobile/lib/core/router.dart +0 -0
  1305. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/flutter/scaffold/src/mobile/lib/main.dart +0 -0
  1306. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/flutter/scaffold/src/mobile/lib/screens/health_screen.dart +0 -0
  1307. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/flutter/scaffold/src/mobile/lib/services/health_service.dart +0 -0
  1308. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/flutter/scaffold/src/mobile/lib/state/health_provider.dart +0 -0
  1309. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/flutter/scaffold/src/mobile/pubspec.yaml +0 -0
  1310. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/flutter/scaffold/src/mobile/test/health_provider_test.dart +0 -0
  1311. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/flutter/scaffold-boundary.yaml +0 -0
  1312. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/flutter/skills/flutter/SKILL.md +0 -0
  1313. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/flutter/skills/flutter/references/anatomy.md +0 -0
  1314. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/flutter/stack.yaml +0 -0
  1315. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go/rules/backend.md +0 -0
  1316. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go/scaffold/docs/engineering/go-rules.md +0 -0
  1317. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go/scaffold/docs/playbooks/go-service.md +0 -0
  1318. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go/scaffold/src/backend/cmd/api/main.go +0 -0
  1319. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go/scaffold/src/backend/cmd/api/main_test.go +0 -0
  1320. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go/scaffold/src/backend/go.mod +0 -0
  1321. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go/scaffold-boundary.yaml +0 -0
  1322. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go/skills/go-patterns/SKILL.md +0 -0
  1323. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go/skills/go-patterns/assets/go-checklist.md +0 -0
  1324. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go/skills/go-patterns/references/anatomy.md +0 -0
  1325. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go/skills/go-patterns/references/go-2026-idioms.md +0 -0
  1326. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go/skills/go-patterns/scripts/new_endpoint.py +0 -0
  1327. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go/skills/go-patterns/versions.json +0 -0
  1328. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go/stack.yaml +0 -0
  1329. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go-fiber/rules/backend.md +0 -0
  1330. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go-fiber/scaffold/docs/engineering/fiber-rules.md +0 -0
  1331. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go-fiber/scaffold/docs/playbooks/fiber-service.md +0 -0
  1332. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go-fiber/scaffold/src/backend/cmd/api/main.go +0 -0
  1333. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go-fiber/scaffold/src/backend/cmd/api/main_test.go +0 -0
  1334. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go-fiber/scaffold/src/backend/go.mod +0 -0
  1335. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go-fiber/scaffold/src/backend/go.sum +0 -0
  1336. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go-fiber/scaffold/src/backend/osv-scanner.toml +0 -0
  1337. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go-fiber/scaffold-boundary.yaml +0 -0
  1338. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go-fiber/skills/go-fiber/SKILL.md +0 -0
  1339. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go-fiber/skills/go-fiber/assets/fiber-checklist.md +0 -0
  1340. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go-fiber/skills/go-fiber/references/anatomy.md +0 -0
  1341. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go-fiber/skills/go-fiber/references/fiber-v3-patterns.md +0 -0
  1342. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go-fiber/skills/go-fiber/scripts/new_endpoint.py +0 -0
  1343. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go-fiber/skills/go-fiber/versions.json +0 -0
  1344. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go-fiber/stack.yaml +0 -0
  1345. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go-plain/scaffold/src/backend/go.mod +0 -0
  1346. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go-plain/scaffold/src/backend/main.go +0 -0
  1347. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go-plain/scaffold-boundary.yaml +0 -0
  1348. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/go-plain/stack.yaml +0 -0
  1349. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/java-plain/scaffold/src/backend/mvnw +0 -0
  1350. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/java-plain/scaffold/src/backend/pom.xml +0 -0
  1351. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/java-plain/scaffold/src/backend/src/main/java/com/example/app/Main.java +0 -0
  1352. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/java-plain/scaffold-boundary.yaml +0 -0
  1353. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/java-plain/stack.yaml +0 -0
  1354. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/laravel/rules/backend.md +0 -0
  1355. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/laravel/scaffold/docs/engineering/laravel-rules.md +0 -0
  1356. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/laravel/scaffold/docs/playbooks/laravel-service.md +0 -0
  1357. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/laravel/scaffold/src/backend/app/Exceptions/Handler.php +0 -0
  1358. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/laravel/scaffold/src/backend/app/Http/Controllers/HealthController.php +0 -0
  1359. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/laravel/scaffold/src/backend/app/Support/HealthStatus.php +0 -0
  1360. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/laravel/scaffold/src/backend/composer.json +0 -0
  1361. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/laravel/scaffold/src/backend/phpunit.xml +0 -0
  1362. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/laravel/scaffold/src/backend/public/index.php +0 -0
  1363. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/laravel/scaffold/src/backend/routes/api.php +0 -0
  1364. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/laravel/scaffold/src/backend/tests/Unit/HealthStatusTest.php +0 -0
  1365. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/laravel/scaffold-boundary.yaml +0 -0
  1366. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/laravel/skills/laravel/SKILL.md +0 -0
  1367. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/laravel/skills/laravel/references/anatomy.md +0 -0
  1368. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/laravel/stack.yaml +0 -0
  1369. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/meta/rules/graph-first.md +0 -0
  1370. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/meta/rules/hook-author.md +0 -0
  1371. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/meta/rules/mcp-tool-author.md +0 -0
  1372. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/meta/rules/meta-engineering.md +0 -0
  1373. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/meta/scaffold-boundary.yaml +0 -0
  1374. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/meta/skills/claude-sdk-integration/SKILL.md +0 -0
  1375. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/meta/skills/claude-sdk-integration/assets/sdk-checklist.md +0 -0
  1376. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/meta/skills/claude-sdk-integration/scripts/check_model_ids.py +0 -0
  1377. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/meta/skills/graph-os-authoring/SKILL.md +0 -0
  1378. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/meta/skills/graph-os-authoring/assets/graph-os-checklist.md +0 -0
  1379. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/meta/skills/graph-os-authoring/scripts/new_extractor.py +0 -0
  1380. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/meta/skills/hook-authoring/SKILL.md +0 -0
  1381. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/meta/skills/hook-authoring/assets/hook-checklist.md +0 -0
  1382. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/meta/skills/hook-authoring/scripts/new_hook.sh +0 -0
  1383. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/meta/skills/mcp-tool-authoring/SKILL.md +0 -0
  1384. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/meta/skills/mcp-tool-authoring/assets/mcp-tool-checklist.md +0 -0
  1385. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/meta/skills/mcp-tool-authoring/scripts/new_tool.py +0 -0
  1386. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/meta/skills/meta-engineering/SKILL.md +0 -0
  1387. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/meta/skills/meta-engineering/assets/meta-edit-checklist.md +0 -0
  1388. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/meta/skills/meta-engineering/scripts/which_layer.py +0 -0
  1389. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/meta/skills/python-meta-server/SKILL.md +0 -0
  1390. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/meta/skills/python-meta-server/assets/meta-server-checklist.md +0 -0
  1391. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/meta/skills/python-meta-server/scripts/check_envelope.py +0 -0
  1392. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/meta/skills/react-vite-hub/SKILL.md +0 -0
  1393. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/meta/skills/react-vite-hub/assets/hub-ui-checklist.md +0 -0
  1394. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/meta/skills/react-vite-hub/scripts/check_vite_env.py +0 -0
  1395. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/meta/stack.yaml +0 -0
  1396. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nestjs/rules/backend.md +0 -0
  1397. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nestjs/scaffold/docs/engineering/nestjs-rules.md +0 -0
  1398. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nestjs/scaffold/docs/playbooks/nestjs-service.md +0 -0
  1399. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nestjs/scaffold/src/backend/nest-cli.json +0 -0
  1400. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nestjs/scaffold/src/backend/package.json +0 -0
  1401. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nestjs/scaffold/src/backend/src/app.module.ts +0 -0
  1402. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nestjs/scaffold/src/backend/src/common/all-exceptions.filter.ts +0 -0
  1403. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nestjs/scaffold/src/backend/src/health/health.controller.ts +0 -0
  1404. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nestjs/scaffold/src/backend/src/health/health.module.ts +0 -0
  1405. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nestjs/scaffold/src/backend/src/health/health.service.spec.ts +0 -0
  1406. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nestjs/scaffold/src/backend/src/health/health.service.ts +0 -0
  1407. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nestjs/scaffold/src/backend/src/main.ts +0 -0
  1408. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nestjs/scaffold/src/backend/tsconfig.json +0 -0
  1409. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nestjs/scaffold/src/backend/vitest.config.ts +0 -0
  1410. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nestjs/scaffold-boundary.yaml +0 -0
  1411. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nestjs/skills/nestjs/SKILL.md +0 -0
  1412. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nestjs/skills/nestjs/references/anatomy.md +0 -0
  1413. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nestjs/stack.yaml +0 -0
  1414. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nextjs/rules/frontend.md +0 -0
  1415. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nextjs/scaffold/docs/design/00-index.md +0 -0
  1416. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nextjs/scaffold/docs/design/colors-tokens.md +0 -0
  1417. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nextjs/scaffold/docs/design/components-patterns.md +0 -0
  1418. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nextjs/scaffold/docs/design/motion-accessibility.md +0 -0
  1419. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nextjs/scaffold/docs/design/typography-spacing.md +0 -0
  1420. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nextjs/scaffold/docs/engineering/accessibility-web.md +0 -0
  1421. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nextjs/scaffold/docs/engineering/copywriting-standard.md +0 -0
  1422. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nextjs/scaffold/docs/engineering/formatting-rules.md +0 -0
  1423. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nextjs/scaffold/docs/engineering/frontend-rendering-rules.md +0 -0
  1424. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nextjs/scaffold/docs/engineering/frontend-rules.md +0 -0
  1425. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nextjs/scaffold/docs/engineering/i18n-policy.md +0 -0
  1426. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nextjs/scaffold/docs/pages-content-spec/00-index.md +0 -0
  1427. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nextjs/scaffold/docs/playbooks/content-seo.md +0 -0
  1428. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nextjs/scaffold/docs/playbooks/docs-governance.md +0 -0
  1429. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nextjs/scaffold/docs/playbooks/frontend-ui.md +0 -0
  1430. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nextjs/scaffold/src/frontend/app/layout.tsx +0 -0
  1431. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nextjs/scaffold/src/frontend/app/page.tsx +0 -0
  1432. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nextjs/scaffold/src/frontend/eslint.config.js +0 -0
  1433. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nextjs/scaffold/src/frontend/lib/greeting.test.ts +0 -0
  1434. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nextjs/scaffold/src/frontend/lib/greeting.ts +0 -0
  1435. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nextjs/scaffold/src/frontend/package.json +0 -0
  1436. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nextjs/scaffold/src/frontend/tsconfig.json +0 -0
  1437. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nextjs/scaffold/src/frontend/vitest.config.ts +0 -0
  1438. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nextjs/scaffold-boundary.yaml +0 -0
  1439. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nextjs/skills/nextjs-react/SKILL.md +0 -0
  1440. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nextjs/skills/nextjs-react/references/anatomy.md +0 -0
  1441. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nextjs/skills/nextjs-react/scripts/new_component.py +0 -0
  1442. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/nextjs/stack.yaml +0 -0
  1443. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/node-express/rules/backend.md +0 -0
  1444. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/node-express/scaffold/docs/engineering/express-rules.md +0 -0
  1445. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/node-express/scaffold/docs/playbooks/express-service.md +0 -0
  1446. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/node-express/scaffold/src/backend/package.json +0 -0
  1447. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/node-express/scaffold/src/backend/src/index.ts +0 -0
  1448. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/node-express/scaffold/src/backend/src/middleware/error-handler.ts +0 -0
  1449. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/node-express/scaffold/src/backend/src/routes/health.test.ts +0 -0
  1450. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/node-express/scaffold/src/backend/src/routes/health.ts +0 -0
  1451. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/node-express/scaffold/src/backend/tsconfig.json +0 -0
  1452. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/node-express/scaffold/src/backend/types/express-bootstrap.d.ts +0 -0
  1453. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/node-express/scaffold-boundary.yaml +0 -0
  1454. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/node-express/skills/node-express/SKILL.md +0 -0
  1455. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/node-express/skills/node-express/references/anatomy.md +0 -0
  1456. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/node-express/stack.yaml +0 -0
  1457. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/python/scaffold/docs/engineering/python-rules.md +0 -0
  1458. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/python/scaffold/docs/playbooks/python-library.md +0 -0
  1459. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/python/stack.yaml +0 -0
  1460. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rails/rules/backend.md +0 -0
  1461. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rails/scaffold/docs/engineering/rails-rules.md +0 -0
  1462. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rails/scaffold/docs/playbooks/rails-service.md +0 -0
  1463. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rails/scaffold/src/backend/Gemfile +0 -0
  1464. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rails/scaffold/src/backend/app/controllers/application_controller.rb +0 -0
  1465. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rails/scaffold/src/backend/app/controllers/health_controller.rb +0 -0
  1466. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rails/scaffold/src/backend/app/models/health.rb +0 -0
  1467. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rails/scaffold/src/backend/config/application.rb +0 -0
  1468. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rails/scaffold/src/backend/config/boot.rb +0 -0
  1469. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rails/scaffold/src/backend/config/routes.rb +0 -0
  1470. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rails/scaffold/src/backend/config.ru +0 -0
  1471. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rails/scaffold/src/backend/spec/rails_helper.rb +0 -0
  1472. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rails/scaffold/src/backend/spec/requests/health_spec.rb +0 -0
  1473. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rails/scaffold-boundary.yaml +0 -0
  1474. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rails/skills/rails/SKILL.md +0 -0
  1475. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rails/skills/rails/references/anatomy.md +0 -0
  1476. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rails/stack.yaml +0 -0
  1477. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/react-native/rules/mobile.md +0 -0
  1478. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/react-native/scaffold/docs/engineering/accessibility-mobile.md +0 -0
  1479. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/react-native/scaffold/docs/engineering/mobile-rules.md +0 -0
  1480. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/react-native/scaffold/docs/engineering/offline-first.md +0 -0
  1481. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/react-native/scaffold/docs/playbooks/mobile-app.md +0 -0
  1482. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/react-native/scaffold/src/mobile/App.tsx +0 -0
  1483. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/react-native/scaffold/src/mobile/eslint.config.js +0 -0
  1484. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/react-native/scaffold/src/mobile/package.json +0 -0
  1485. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/react-native/scaffold/src/mobile/src/greeting.test.ts +0 -0
  1486. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/react-native/scaffold/src/mobile/src/greeting.ts +0 -0
  1487. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/react-native/scaffold/src/mobile/tsconfig.json +0 -0
  1488. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/react-native/scaffold/src/mobile/vitest.config.ts +0 -0
  1489. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/react-native/scaffold-boundary.yaml +0 -0
  1490. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/react-native/skills/react-native-mobile/SKILL.md +0 -0
  1491. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/react-native/skills/react-native-mobile/assets/rn-mobile-checklist.md +0 -0
  1492. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/react-native/skills/react-native-mobile/references/anatomy.md +0 -0
  1493. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/react-native/skills/react-native-mobile/references/rn-2026-practices.md +0 -0
  1494. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/react-native/skills/react-native-mobile/scripts/new_screen.py +0 -0
  1495. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/react-native/skills/react-native-mobile/versions.json +0 -0
  1496. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/react-native/skills/react-native-patterns/SKILL.md +0 -0
  1497. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/react-native/skills/react-native-patterns/assets/rn-review-checklist.md +0 -0
  1498. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/react-native/skills/react-native-patterns/references/anatomy.md +0 -0
  1499. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/react-native/skills/react-native-patterns/references/list-performance.md +0 -0
  1500. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/react-native/skills/react-native-patterns/scripts/scan_rn_perf.py +0 -0
  1501. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/react-native/stack.yaml +0 -0
  1502. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/ruby-plain/scaffold/src/backend/Gemfile +0 -0
  1503. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/ruby-plain/scaffold/src/backend/main.rb +0 -0
  1504. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/ruby-plain/scaffold-boundary.yaml +0 -0
  1505. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/ruby-plain/stack.yaml +0 -0
  1506. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rust-axum/rules/backend.md +0 -0
  1507. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rust-axum/scaffold/docs/engineering/rust-axum-rules.md +0 -0
  1508. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rust-axum/scaffold/docs/playbooks/rust-axum-service.md +0 -0
  1509. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rust-axum/scaffold/src/backend/Cargo.toml +0 -0
  1510. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rust-axum/scaffold/src/backend/src/app.rs +0 -0
  1511. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rust-axum/scaffold/src/backend/src/error.rs +0 -0
  1512. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rust-axum/scaffold/src/backend/src/main.rs +0 -0
  1513. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rust-axum/scaffold/src/backend/src/routes/health.rs +0 -0
  1514. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rust-axum/scaffold/src/backend/src/routes/mod.rs +0 -0
  1515. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rust-axum/scaffold-boundary.yaml +0 -0
  1516. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rust-axum/skills/rust/SKILL.md +0 -0
  1517. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rust-axum/skills/rust/references/anatomy.md +0 -0
  1518. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rust-axum/stack.yaml +0 -0
  1519. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rust-plain/scaffold/src/backend/Cargo.toml +0 -0
  1520. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rust-plain/scaffold/src/backend/src/main.rs +0 -0
  1521. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rust-plain/scaffold-boundary.yaml +0 -0
  1522. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/rust-plain/stack.yaml +0 -0
  1523. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/spring-boot/rules/backend.md +0 -0
  1524. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/spring-boot/scaffold/docs/engineering/spring-boot-rules.md +0 -0
  1525. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/spring-boot/scaffold/docs/playbooks/spring-boot-service.md +0 -0
  1526. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/spring-boot/scaffold/src/backend/mvnw +0 -0
  1527. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/spring-boot/scaffold/src/backend/pom.xml +0 -0
  1528. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/spring-boot/scaffold/src/backend/src/main/java/com/example/app/Application.java +0 -0
  1529. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/spring-boot/scaffold/src/backend/src/main/java/com/example/app/common/GlobalExceptionHandler.java +0 -0
  1530. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/spring-boot/scaffold/src/backend/src/main/java/com/example/app/health/HealthController.java +0 -0
  1531. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/spring-boot/scaffold/src/backend/src/main/java/com/example/app/health/HealthService.java +0 -0
  1532. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/spring-boot/scaffold/src/backend/src/main/java/com/example/app/health/HealthStatus.java +0 -0
  1533. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/spring-boot/scaffold/src/backend/src/test/java/com/example/app/health/HealthServiceTest.java +0 -0
  1534. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/spring-boot/scaffold-boundary.yaml +0 -0
  1535. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/spring-boot/skills/spring-boot/SKILL.md +0 -0
  1536. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/spring-boot/skills/spring-boot/references/anatomy.md +0 -0
  1537. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/spring-boot/stack.yaml +0 -0
  1538. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/svelte-sveltekit/rules/frontend.md +0 -0
  1539. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/svelte-sveltekit/scaffold/docs/engineering/svelte-sveltekit-rules.md +0 -0
  1540. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/svelte-sveltekit/scaffold/docs/playbooks/svelte-sveltekit-app.md +0 -0
  1541. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/svelte-sveltekit/scaffold/src/frontend/package.json +0 -0
  1542. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/svelte-sveltekit/scaffold/src/frontend/src/app.html +0 -0
  1543. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/svelte-sveltekit/scaffold/src/frontend/src/hooks.server.ts +0 -0
  1544. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/svelte-sveltekit/scaffold/src/frontend/src/lib/components/Greeting.svelte +0 -0
  1545. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/svelte-sveltekit/scaffold/src/frontend/src/lib/stores/count.test.ts +0 -0
  1546. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/svelte-sveltekit/scaffold/src/frontend/src/lib/stores/count.ts +0 -0
  1547. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/svelte-sveltekit/scaffold/src/frontend/src/routes/+layout.svelte +0 -0
  1548. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/svelte-sveltekit/scaffold/src/frontend/src/routes/+page.svelte +0 -0
  1549. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/svelte-sveltekit/scaffold/src/frontend/src/routes/+page.ts +0 -0
  1550. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/svelte-sveltekit/scaffold/src/frontend/src/routes/health/+server.ts +0 -0
  1551. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/svelte-sveltekit/scaffold/src/frontend/svelte.config.js +0 -0
  1552. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/svelte-sveltekit/scaffold/src/frontend/tsconfig.json +0 -0
  1553. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/svelte-sveltekit/scaffold/src/frontend/vite.config.ts +0 -0
  1554. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/svelte-sveltekit/scaffold/src/frontend/vitest.config.ts +0 -0
  1555. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/svelte-sveltekit/scaffold-boundary.yaml +0 -0
  1556. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/svelte-sveltekit/skills/svelte/SKILL.md +0 -0
  1557. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/svelte-sveltekit/skills/svelte/references/anatomy.md +0 -0
  1558. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/svelte-sveltekit/stack.yaml +0 -0
  1559. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/typescript-plain/scaffold/src/index.ts +0 -0
  1560. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/typescript-plain/scaffold/tsconfig.json +0 -0
  1561. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/typescript-plain/scaffold-boundary.yaml +0 -0
  1562. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/typescript-plain/stack.yaml +0 -0
  1563. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/vue-nuxt/rules/frontend.md +0 -0
  1564. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/vue-nuxt/scaffold/docs/engineering/nuxt-rules.md +0 -0
  1565. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/vue-nuxt/scaffold/docs/playbooks/nuxt-app.md +0 -0
  1566. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/vue-nuxt/scaffold/src/frontend/app.vue +0 -0
  1567. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/vue-nuxt/scaffold/src/frontend/nuxt.config.ts +0 -0
  1568. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/vue-nuxt/scaffold/src/frontend/package.json +0 -0
  1569. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/vue-nuxt/scaffold/src/frontend/pages/index.test.ts +0 -0
  1570. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/vue-nuxt/scaffold/src/frontend/pages/index.vue +0 -0
  1571. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/vue-nuxt/scaffold/src/frontend/vitest.config.ts +0 -0
  1572. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/vue-nuxt/scaffold-boundary.yaml +0 -0
  1573. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/vue-nuxt/skills/vue-nuxt/SKILL.md +0 -0
  1574. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/vue-nuxt/skills/vue-nuxt/references/anatomy.md +0 -0
  1575. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/vue-nuxt/stack.yaml +0 -0
  1576. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/wordpress/rules/backend.md +0 -0
  1577. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/wordpress/scaffold/docs/engineering/wordpress-rules.md +0 -0
  1578. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/wordpress/scaffold/docs/playbooks/wordpress-service.md +0 -0
  1579. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/wordpress/scaffold/src/backend/composer.json +0 -0
  1580. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/wordpress/scaffold/src/backend/phpcs.xml.dist +0 -0
  1581. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/wordpress/scaffold/src/backend/phpunit.xml +0 -0
  1582. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/wordpress/scaffold/src/backend/plugin/inc/health.php +0 -0
  1583. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/wordpress/scaffold/src/backend/plugin/plugin.php +0 -0
  1584. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/wordpress/scaffold/src/backend/tests/HealthStatusTest.php +0 -0
  1585. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/wordpress/scaffold/src/backend/theme/functions.php +0 -0
  1586. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/wordpress/scaffold/src/backend/theme/style.css +0 -0
  1587. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/wordpress/scaffold-boundary.yaml +0 -0
  1588. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/wordpress/skills/wordpress/SKILL.md +0 -0
  1589. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/wordpress/skills/wordpress/assets/wp-checklist.md +0 -0
  1590. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/wordpress/skills/wordpress/references/wp-development.md +0 -0
  1591. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/wordpress/skills/wordpress/references/wp-security.md +0 -0
  1592. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/wordpress/skills/wordpress/scripts/scan_wp_smells.py +0 -0
  1593. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/wordpress/skills/wordpress/versions.json +0 -0
  1594. {coding_os-0.3.20 → coding_os-0.3.22}/src/templates/wordpress/stack.yaml +0 -0
  1595. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_adapter_capacity_errors.py +0 -0
  1596. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_adapter_registry.py +0 -0
  1597. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_adapter_session_marker_probe_parity.py +0 -0
  1598. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_adapters_claude.py +0 -0
  1599. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_adapters_codex.py +0 -0
  1600. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_adapters_skills.py +0 -0
  1601. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_add_stack.py +0 -0
  1602. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_agent_memory_sync.py +0 -0
  1603. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_agent_presence_state.py +0 -0
  1604. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_agent_presence_visuals.py +0 -0
  1605. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_aggregator.py +0 -0
  1606. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_all_stacks_render_smoke.py +0 -0
  1607. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_analyze_info.py +0 -0
  1608. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_analyze_plan.py +0 -0
  1609. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_anatomy_contract.py +0 -0
  1610. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_api_types_drift.py +0 -0
  1611. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_audit_doc_links.py +0 -0
  1612. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_block_dangerous_commands.py +0 -0
  1613. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_block_secrets.py +0 -0
  1614. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_block_shared_tree_edit.py +0 -0
  1615. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_board_chat_ref.py +0 -0
  1616. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_board_commands_agent_detect.py +0 -0
  1617. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_board_diff_routes.py +0 -0
  1618. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_board_extract_idempotency.py +0 -0
  1619. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_board_retrievals.py +0 -0
  1620. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_board_routes_attribution.py +0 -0
  1621. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_bounded_read.py +0 -0
  1622. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_brain_hardening.py +0 -0
  1623. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_branch_guard_evasion.py +0 -0
  1624. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_branch_guard_pr_mode.py +0 -0
  1625. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_branch_guard_trunk_allows.py +0 -0
  1626. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_branch_guard_trunk_blocks.py +0 -0
  1627. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_branding.py +0 -0
  1628. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_capture_and_prune_regressions.py +0 -0
  1629. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_chat_live_contract.py +0 -0
  1630. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_chat_new_route.py +0 -0
  1631. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_chat_port.py +0 -0
  1632. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_chat_presence_write.py +0 -0
  1633. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_check_contrast.py +0 -0
  1634. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_check_envelope.py +0 -0
  1635. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_check_frontend.py +0 -0
  1636. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_check_layering.py +0 -0
  1637. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_check_model_ids.py +0 -0
  1638. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_check_package.py +0 -0
  1639. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_check_rls.py +0 -0
  1640. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_check_tsconfig.py +0 -0
  1641. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_check_vite_env.py +0 -0
  1642. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_ci_pass_gates.py +0 -0
  1643. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_classify_severity.py +0 -0
  1644. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_cli.py +0 -0
  1645. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_cli_init_flags.py +0 -0
  1646. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_cli_init_interactive.py +0 -0
  1647. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_cli_materialize_file.py +0 -0
  1648. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_cli_setup.py +0 -0
  1649. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_cli_update.py +0 -0
  1650. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_codex_chat_provider.py +0 -0
  1651. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_codex_dispatchers.py +0 -0
  1652. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_codex_formula_commands.py +0 -0
  1653. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_cognition_dispatch_obs.py +0 -0
  1654. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_cognition_roles_route.py +0 -0
  1655. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_cognition_routes.py +0 -0
  1656. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_cognition_serialize.py +0 -0
  1657. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_config_composer.py +0 -0
  1658. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_context_budget.py +0 -0
  1659. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_core_has_no_adapter_sdk_imports.py +0 -0
  1660. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_core_version.py +0 -0
  1661. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_core_version_release_check.py +0 -0
  1662. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_cos_env_block_log.py +0 -0
  1663. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_cos_say_db_bridge.py +0 -0
  1664. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_coverage_gate.py +0 -0
  1665. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_cron_commands.py +0 -0
  1666. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_dispatch_trace.py +0 -0
  1667. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_doc_index_regen.py +0 -0
  1668. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_doctor.py +0 -0
  1669. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_doctor_board_git_tracked.py +0 -0
  1670. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_doctor_stack_rules_fresh.py +0 -0
  1671. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_doctor_structure.py +0 -0
  1672. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_doctor_suppress.py +0 -0
  1673. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_enforce_commit_message_symlink_resolution.py +0 -0
  1674. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_enforcement_globs_live.py +0 -0
  1675. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_estimate_tokens.py +0 -0
  1676. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_expected_tables_fresh.py +0 -0
  1677. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_extract_commit_msg_arg.py +0 -0
  1678. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_file_size_scanner.py +0 -0
  1679. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_formula_composer.py +0 -0
  1680. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_fresh_project_anchor.py +0 -0
  1681. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_git_index_lock.py +0 -0
  1682. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_golden_parity.py +0 -0
  1683. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_graph_cli_parity.py +0 -0
  1684. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hook_fanout_budget.py +0 -0
  1685. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hook_parity.py +0 -0
  1686. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hook_registry_integration.py +0 -0
  1687. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hook_renderer.py +0 -0
  1688. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hooks_blocks.py +0 -0
  1689. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hooks_env_resolution.py +0 -0
  1690. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hooks_env_shape.py +0 -0
  1691. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hooks_fail_closed.py +0 -0
  1692. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hooks_file_size.py +0 -0
  1693. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hooks_gates.py +0 -0
  1694. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hooks_jit_rules.py +0 -0
  1695. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hooks_new.py +0 -0
  1696. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hooks_phase_e_anchors.py +0 -0
  1697. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hooks_phase_e_blocks.py +0 -0
  1698. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hooks_phase_f_diagnostics.py +0 -0
  1699. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hooks_phase_f_memory.py +0 -0
  1700. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hooks_phase_f_session.py +0 -0
  1701. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hooks_phase_m.py +0 -0
  1702. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hooks_protected_files.py +0 -0
  1703. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hooks_stack_scoped_rules.py +0 -0
  1704. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hooks_workflow_integrity.py +0 -0
  1705. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hub_adapter_manifest.py +0 -0
  1706. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hub_agents_cross_project.py +0 -0
  1707. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hub_bind_guard.py +0 -0
  1708. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hub_init_route_catalog.py +0 -0
  1709. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hub_init_route_init.py +0 -0
  1710. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hub_init_route_wizard.py +0 -0
  1711. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hub_mcp_codex_toml.py +0 -0
  1712. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hub_mcp_scope.py +0 -0
  1713. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hub_projects.py +0 -0
  1714. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hub_registry_crud.py +0 -0
  1715. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hub_security_gate.py +0 -0
  1716. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hub_settings_auto_spawn.py +0 -0
  1717. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hub_settings_claude_auth.py +0 -0
  1718. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hub_settings_git.py +0 -0
  1719. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_hub_staleness.py +0 -0
  1720. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_init_dry_run_preview.py +0 -0
  1721. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_init_graph_index.py +0 -0
  1722. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_init_jobs.py +0 -0
  1723. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_init_setup_mode.py +0 -0
  1724. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_inject_mcp_caller_session.py +0 -0
  1725. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_install_script.py +0 -0
  1726. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_jit_recall.py +0 -0
  1727. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_link_commit_to_task.py +0 -0
  1728. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_lint_e2e.py +0 -0
  1729. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_lint_logging.py +0 -0
  1730. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_lint_workflow.py +0 -0
  1731. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_list_stacks.py +0 -0
  1732. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_logs_client_route.py +0 -0
  1733. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_logs_route.py +0 -0
  1734. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_makefile_materialize.py +0 -0
  1735. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_manifest_fresh.py +0 -0
  1736. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_modularity_toggle_cascade.py +0 -0
  1737. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_modularity_toggle_state.py +0 -0
  1738. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_module_gating_smoke.py +0 -0
  1739. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_multi_agent_dispatch.py +0 -0
  1740. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_mypy_ratchet.py +0 -0
  1741. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_narrative_signal.py +0 -0
  1742. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_new_extractor.py +0 -0
  1743. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_new_tool.py +0 -0
  1744. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_no_hardcoded_stacks.py +0 -0
  1745. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_no_phantom_tool_refs.py +0 -0
  1746. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_nudge_git_mode.py +0 -0
  1747. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_nudge_graph_routing.py +0 -0
  1748. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_nudge_reentry.py +0 -0
  1749. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_nudge_reuse_first.py +0 -0
  1750. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_observability_routes.py +0 -0
  1751. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_onboard_route.py +0 -0
  1752. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_onboarder_role.py +0 -0
  1753. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_onboarding_status_route.py +0 -0
  1754. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_outline.py +0 -0
  1755. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_panel_isolation.py +0 -0
  1756. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_patterns_route.py +0 -0
  1757. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_persona_integration.py +0 -0
  1758. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_phase_n_behavioral.py +0 -0
  1759. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_phase_n_e2e.py +0 -0
  1760. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_plugin_overlay_wiring.py +0 -0
  1761. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_post_commit_tasklog.py +0 -0
  1762. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_pre_commit_batch.py +0 -0
  1763. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_pre_commit_no_deadlock.py +0 -0
  1764. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_pre_commit_reap_timeout.py +0 -0
  1765. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_prepare_commit_msg.py +0 -0
  1766. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_presence_agents_route.py +0 -0
  1767. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_presence_classifier_parity.py +0 -0
  1768. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_presence_context_capture.py +0 -0
  1769. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_presence_sdk_uuid.py +0 -0
  1770. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_project_context.py +0 -0
  1771. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_project_overrides.py +0 -0
  1772. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_rag_pipeline.py +0 -0
  1773. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_refresh_skill_versions.py +0 -0
  1774. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_registry.py +0 -0
  1775. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_remove_stack.py +0 -0
  1776. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_renderer.py +0 -0
  1777. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_role_registry.py +0 -0
  1778. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_roles_endpoint.py +0 -0
  1779. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_route_path_traversal.py +0 -0
  1780. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_rules_fresh.py +0 -0
  1781. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_scaffold_module_tags.py +0 -0
  1782. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_scan_php_smells.py +0 -0
  1783. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_scan_rn_perf.py +0 -0
  1784. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_scan_wp_smells.py +0 -0
  1785. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_scheduled_route.py +0 -0
  1786. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_script_entrypoints.py +0 -0
  1787. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_sdk_presence.py +0 -0
  1788. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_secret_fixture_policy.py +0 -0
  1789. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_session_context_cadence.py +0 -0
  1790. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_session_options_parity.py +0 -0
  1791. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_session_recap.py +0 -0
  1792. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_sessions_route.py +0 -0
  1793. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_shared_convention_docs.py +0 -0
  1794. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_skill_frontmatter.py +0 -0
  1795. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_skill_registry.py +0 -0
  1796. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_stack_maturity.py +0 -0
  1797. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_stack_registry.py +0 -0
  1798. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_stream_dedup.py +0 -0
  1799. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_sync_all.py +0 -0
  1800. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_sync_task_current_clear.py +0 -0
  1801. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_task_analyzer.py +0 -0
  1802. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_template_scaffold_base.py +0 -0
  1803. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_template_scaffold_bundles.py +0 -0
  1804. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_template_scaffold_docs.py +0 -0
  1805. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_template_scaffold_overlays.py +0 -0
  1806. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_tool_failure_capture.py +0 -0
  1807. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_update_manifest_filters.py +0 -0
  1808. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_warn_abandoned_task.py +0 -0
  1809. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_warn_destructive_edit.py +0 -0
  1810. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_warn_diff_size.py +0 -0
  1811. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_web_server.py +0 -0
  1812. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_wheel_contents.py +0 -0
  1813. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_wheel_hub_smoke.py +0 -0
  1814. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_wheel_packaging.py +0 -0
  1815. {coding_os-0.3.20 → coding_os-0.3.22}/tests/test_which_layer.py +0 -0
@@ -0,0 +1,806 @@
1
+ Metadata-Version: 2.4
2
+ Name: coding-os
3
+ Version: 0.3.22
4
+ Summary: The cognitive operating system that gives AI agents memory, structure, and discipline
5
+ Author-email: Kourosh Ebrahimzadeh <info@coding-os.dev>
6
+ License-Expression: Apache-2.0
7
+ Project-URL: Homepage, https://github.com/kouroshez/coding-os
8
+ Project-URL: Repository, https://github.com/kouroshez/coding-os
9
+ Project-URL: Issues, https://github.com/kouroshez/coding-os/issues
10
+ Keywords: ai,coding-agent,mcp,llm,cli,hexagonal,claude,codex
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Operating System :: MacOS :: MacOS X
14
+ Classifier: Operating System :: POSIX :: Linux
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Topic :: Software Development :: Code Generators
19
+ Requires-Python: >=3.10
20
+ Description-Content-Type: text/markdown
21
+ License-File: LICENSE
22
+ Requires-Dist: mcp>=1.27.0
23
+ Requires-Dist: pydantic>=2.12.5
24
+ Requires-Dist: click>=8.1.0
25
+ Requires-Dist: pyyaml>=6.0
26
+ Requires-Dist: jinja2>=3.1.0
27
+ Requires-Dist: jsonschema>=4.17.0
28
+ Requires-Dist: fastapi>=0.115.0
29
+ Requires-Dist: uvicorn[standard]>=0.30.0
30
+ Requires-Dist: sse-starlette>=2.1.0
31
+ Requires-Dist: claude-agent-sdk<0.3.0,>=0.2.110
32
+ Requires-Dist: anyio>=4.0.0
33
+ Requires-Dist: networkx>=3.0
34
+ Provides-Extra: rag
35
+ Requires-Dist: sentence-transformers>=2.7.0; extra == "rag"
36
+ Requires-Dist: numpy>=1.24.0; extra == "rag"
37
+ Provides-Extra: graph-os
38
+ Requires-Dist: sentence-transformers>=2.7.0; extra == "graph-os"
39
+ Requires-Dist: numpy<3.0.0,>=1.24.0; extra == "graph-os"
40
+ Requires-Dist: usearch>=2.16; extra == "graph-os"
41
+ Requires-Dist: sqlite-vec>=0.1.9; extra == "graph-os"
42
+ Requires-Dist: tree-sitter<0.27.0,>=0.25.0; extra == "graph-os"
43
+ Requires-Dist: tree-sitter-python<0.26.0,>=0.25.0; extra == "graph-os"
44
+ Requires-Dist: tree-sitter-typescript<0.26.0,>=0.23.0; extra == "graph-os"
45
+ Requires-Dist: tree-sitter-bash<0.26.0,>=0.25.0; extra == "graph-os"
46
+ Requires-Dist: tree-sitter-yaml<0.8.0,>=0.6.1; extra == "graph-os"
47
+ Requires-Dist: tree-sitter-go<0.26.0,>=0.23.0; extra == "graph-os"
48
+ Requires-Dist: tree-sitter-php<0.26.0,>=0.23.0; extra == "graph-os"
49
+ Requires-Dist: pathspec>=0.12.1; extra == "graph-os"
50
+ Requires-Dist: tree-sitter-rust<0.26.0,>=0.23.0; extra == "graph-os"
51
+ Requires-Dist: tree-sitter-ruby<0.26.0,>=0.23.0; extra == "graph-os"
52
+ Requires-Dist: tree-sitter-java<0.26.0,>=0.23.0; extra == "graph-os"
53
+ Requires-Dist: tree-sitter-c<0.26.0,>=0.23.0; extra == "graph-os"
54
+ Requires-Dist: tree-sitter-cpp<0.26.0,>=0.23.0; extra == "graph-os"
55
+ Requires-Dist: tree-sitter-c-sharp<0.26.0,>=0.23.0; extra == "graph-os"
56
+ Requires-Dist: tree-sitter-scala<0.27.0,>=0.23.0; extra == "graph-os"
57
+ Requires-Dist: tree-sitter-kotlin>=1.0.0; extra == "graph-os"
58
+ Requires-Dist: tree-sitter-lua>=0.4.0; extra == "graph-os"
59
+ Provides-Extra: board-os
60
+ Requires-Dist: aiohttp>=3.9.0; extra == "board-os"
61
+ Requires-Dist: watchdog>=4.0.0; extra == "board-os"
62
+ Provides-Extra: web
63
+ Provides-Extra: claude-sdk
64
+ Provides-Extra: codex-sdk
65
+ Requires-Dist: openai-codex<0.145.0,>=0.144.4; extra == "codex-sdk"
66
+ Dynamic: license-file
67
+
68
+ # coding-os
69
+
70
+ [![PyPI](https://img.shields.io/pypi/v/coding-os?color=blue&label=pypi)](https://pypi.org/project/coding-os/)
71
+ [![license](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](./LICENSE)
72
+ [![python](https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12-blue)](./pyproject.toml)
73
+ [![CI](https://github.com/kouroshez/coding-os/actions/workflows/ci.yml/badge.svg)](https://github.com/kouroshez/coding-os/actions/workflows/ci.yml)
74
+ [![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/kouroshez/coding-os/badge)](https://scorecard.dev/viewer/?uri=github.com/kouroshez/coding-os)
75
+ [![cli](https://img.shields.io/badge/cli-cos-informational)](./docs/architecture/meta-project.md)
76
+
77
+ > **Coding OS — the cognitive operating system that gives AI agents memory, structure, and discipline.**
78
+ > Teaches AI agents *how to think* (thinking_os) and *how to code*
79
+ > (workflow, hooks, skills, rules) — agent-agnostic so the same kernel
80
+ > serves Claude Code and OpenAI Codex without rewriting. **Modular by
81
+ > design**: take only what you need — even just the knowledge graph
82
+ > (`--profile lite --enable-module graph`).
83
+ >
84
+ > Website: <https://coding-os.dev> · Community: <https://community.coding-os.dev>
85
+
86
+ ![Coding OS — knowledge graph, Scrumban board, and an enforced engineering loop for AI coding agents](docs/assets/hero-card.webp)
87
+
88
+ <table>
89
+ <tr>
90
+ <td align="center" width="34%">
91
+ <h3>💛 Sponsor</h3>
92
+ <a href="https://github.com/sponsors/kouroshez"><b>GitHub Sponsors</b></a><br/>
93
+ <a href="https://coding-os.dev/donate">One-off donation</a>
94
+ <br/><sub>Keeps a single maintainer shipping</sub>
95
+ </td>
96
+ <td align="center" width="33%">
97
+ <h3>💬 Community</h3>
98
+ <a href="https://community.coding-os.dev"><b>Forum</b></a><br/>
99
+ <a href="https://github.com/kouroshez/coding-os/discussions">Discussions</a>
100
+ <br/><sub>Questions, setups, rough edges</sub>
101
+ </td>
102
+ <td align="center" width="33%">
103
+ <h3>⭐ Star</h3>
104
+ <a href="https://github.com/kouroshez/coding-os"><b>Follow the repo</b></a><br/>
105
+ <a href="./CHANGELOG.md">Read the changelog</a>
106
+ <br/><sub>The cheapest way to help</sub>
107
+ </td>
108
+ </tr>
109
+ </table>
110
+
111
+ **Free, and staying that way.** Apache-2.0, no paid tier, no telemetry, no
112
+ gated features — the kernel you run is the whole thing. Sponsorship buys
113
+ maintenance time, not access.
114
+
115
+ ### Right-sized by construction
116
+
117
+ Loading a whole skill catalogue into every prompt is how agents run out of
118
+ context before they run out of task. coding-os narrows it twice.
119
+
120
+ **At `cos init`** — a project installs only the stacks it declares. A
121
+ WordPress project gets the `wordpress` skill and never sees `go-patterns`,
122
+ `rails` or `spring-boot`. Alongside them sit the stack-agnostic ones —
123
+ `clean-code`, `testing-strategy`, `api-design`, `a11y`, `security-web` —
124
+ which apply to any codebase.
125
+
126
+ **On every turn** — what is on disk is not what is in context. A generated
127
+ rules table maps file globs to skills, and the matching skill loads only
128
+ when you are about to write a file it governs. Editing a React component
129
+ loads `nextjs-react`; nothing else comes with it.
130
+
131
+ Three real installs, each from a `cos init` run, showing what the declared
132
+ stacks actually add on top of the seven stack-agnostic rules everyone gets:
133
+
134
+ | Preset | Always-on rules | The stack-specific ones | Stack skills on disk |
135
+ |---|---:|---|---|
136
+ | `wordpress-cms` | 8 | `wordpress-backend` | `wordpress` |
137
+ | `mern` | 9 | `nextjs-frontend`, `node-express-backend` | `nextjs-react`, `node-express` |
138
+ | `hexagonal-product` | 11 | `fastapi-backend`, `go-backend`, `go-fiber-backend`, `react-native-mobile` | `go-fiber`, `go-patterns`, `python-fastapi`, `react-native-mobile`, `react-native-patterns` |
139
+
140
+ In the WordPress install, **zero files under `.claude/` mention `go-fiber`,
141
+ `rails` or `spring-boot`**, and the polyglot install has zero mentioning
142
+ WordPress anywhere. (Two governance contract docs do name other stacks — as
143
+ examples of the naming convention, not as instructions.) That is the difference
144
+ between a scoped install and a prompt directory that grows with every stack the
145
+ tool has ever supported.
146
+
147
+ **What that actually costs — measured, not asserted.** A scaffold writes 395–461
148
+ files; **9 to 12 of them ever enter the prompt**. Running the real `cos init`
149
+ for all 21 shipped presets and summing only what is resident:
150
+
151
+ | Project shape | Always-on tokens | Share of a 200k window |
152
+ |---|---:|---:|
153
+ | `t3-style` (Next.js) — the leanest | 12,704 | 6.4% |
154
+ | `wordpress-cms` | 12,738 | 6.4% |
155
+ | `mern` / `pern` (Express + Next.js) | 13,158 | 6.6% |
156
+ | `hexagonal-product` (Go + Fiber + FastAPI + React Native) | 13,972 | 7.0% |
157
+
158
+ ```bash
159
+ uv run python src/scripts/context_budget.py --all-presets
160
+ ```
161
+
162
+ The spread across every profile is **12.7k–14.0k tokens**, because 9,266 of
163
+ those tokens are the stack-agnostic rules everyone gets and the per-stack
164
+ overlays are only 199–1,171 each. Skills, slash commands, hooks and MCP tool
165
+ schemas are **not** in that number — they load on demand.
166
+
167
+ Two things this figure is not: it is not free (7% of the window is 7% of the
168
+ window), and it is not the **15,634 tokens (7.8%)** this meta-repo itself carries
169
+ — it pays for four kernel-only `meta-*` rules a consumer never receives
170
+ (`uv run python src/scripts/context_budget.py --project .` reproduces it). The
171
+ full accounting, the cache economics, and what is still *unmeasured* about
172
+ instruction density are in
173
+ [context-budget.md](docs/engineering/context-budget.md).
174
+
175
+ Disable a module and its rules, tools and slash commands leave with it — see
176
+ [Modular by design](#modular-by-design--take-only-what-you-need).
177
+
178
+ ---
179
+
180
+ ## Prerequisites
181
+
182
+ | Tool | Min version | Why | macOS install |
183
+ |---|---|---|---|
184
+ | Python | 3.10 | CLI, MCP server, extractors | `brew install python@3.12` |
185
+ | [uv](https://docs.astral.sh/uv/) | 0.5 | Fast Python installer + tool runner | `curl -LsSf https://astral.sh/uv/install.sh \| sh` |
186
+ | Bash | 4 | Hook scripts use 4.x features (macOS ships 3.2) | `brew install bash` |
187
+ | Node.js | 20 | **Only** if rebuilding the Hub UI under `src/core/web/ui/` | `brew install node@20` |
188
+ | Docker | 24 | **Only** for the Docker quickstart below | `brew install --cask docker` |
189
+ | `jq`, `perl` | any | **Optional** — faster hook path. Both degrade to Python, so an image without them is fully enforced, just slower per tool call. | preinstalled on macOS |
190
+
191
+ Linux: replace `brew install …` with your distro's package manager
192
+ (`apt`, `dnf`, `pacman`). Windows: WSL 2 + the same Linux steps.
193
+ `cos doctor --bootstrap` checks all of the above, including whether the hook
194
+ layer has a JSON/stdin parser at all — without one every gate fails closed.
195
+
196
+ ## Install
197
+
198
+ Two paths to the same install — pick by preference, not capability. Both end
199
+ with the `cos` CLI on your PATH and the Hub reachable at
200
+ `http://127.0.0.1:9188`.
201
+
202
+ ### Path A — one command, then click
203
+
204
+ Preflights prerequisites, installs the CLI, and boots the Hub:
205
+
206
+ ```bash
207
+ curl -fsSL https://raw.githubusercontent.com/kouroshez/coding-os/main/install.sh | bash
208
+ # …or, from a checkout: bash install.sh
209
+ ```
210
+
211
+ Then open the Hub and press **New project**. The Composer picks a preset (or your
212
+ own stack mix), asks one sentence about the project, and scaffolds it — docs,
213
+ board, knowledge graph, and agent setup included.
214
+ ([ADR-0007](docs/architecture/adr/0007-gui-first-install-path.md))
215
+
216
+ ### Path B — native `uv`, scripted
217
+
218
+ ```bash
219
+ # 1. Install the cos CLI globally, from PyPI
220
+ uv tool install coding-os # upgrade later: uv tool upgrade coding-os
221
+
222
+ # …or from a checkout, if you intend to work ON coding-os itself:
223
+ # git clone https://github.com/kouroshez/coding-os.git && cd coding-os
224
+ # uv tool install --editable . # upgrade later: git pull (editable is live)
225
+
226
+ # 2. Verify
227
+ cos --version # → coding-os, version X.Y.Z
228
+ cos doctor --bootstrap # preflight: python/bash/git/uv/sed prerequisites
229
+ cos doctor # full health sweep (must be all-green)
230
+
231
+ # 3. Spawn a new project, scaffolded with an agent + a stack
232
+ # --agent takes several at once: --agent claude,codex
233
+ cos init --agent claude --template django --name my-shop --yes
234
+ cd my-shop # adapter installer ran for you and wrote
235
+ # .claude/, .mcp.json, .coding-os/
236
+
237
+ # 4. Boot the multi-project Web Hub: graph + board + cognition + search
238
+ cos hub start # → http://127.0.0.1:9188
239
+ ```
240
+
241
+ Open `http://127.0.0.1:9188` in your browser. You will see the
242
+ knowledge graph of `my-shop`, the Scrumban board, the cognition
243
+ trace timeline, and unified search across all retrieval layers.
244
+
245
+ **The Hub is optional.** The CLI-only loop is complete on its own: `cd
246
+ my-shop`, open your agent (e.g. `claude` — MCP + hooks are already
247
+ wired), then `cos daily` / `cos task-create` / `cos task-start` — `cos init`
248
+ prints the exact first commands for your project. Every project ships its own
249
+ guide at `docs/workflow/workflow-guide.md`. For an existing repo, use
250
+ `cos adopt` instead of `init`.
251
+
252
+ For Codex, swap `--agent claude` for `--agent codex` (or pass
253
+ both — `--agent claude,codex`) — everything else is identical. Each agent's
254
+ installer is `src/adapters/<agent>/install.sh`; `cos init` runs it
255
+ for you and re-runs it on `cos update`.
256
+
257
+ ### Modular by design — take only what you need
258
+
259
+ coding-os is not all-or-nothing. The **kernel** (session lifecycle + safety) is
260
+ always on; everything else is a **subsystem module** you switch on or off:
261
+ `docs` · `tasks` (Scrumban) · `graph` · `memory` · `cognition` ·
262
+ `observability` · `hub-extras` · `cicd`. Named **profiles** curate the set, so
263
+ the agent's MCP tool surface stays as small as you want it.
264
+
265
+ Wanted just the knowledge graph? That is the entire install:
266
+
267
+ ```bash
268
+ cos init --agent claude --name my-app --profile lite --enable-module graph --yes
269
+ ```
270
+
271
+ `lite` is kernel-only; `core` adds docs, tasks, graph and the Hub hooks;
272
+ `standard` *(the recommended default)* adds memory + observability; `full` is
273
+ everything. What each one actually delivers, from four `cos init` runs:
274
+
275
+ | Profile | Modules off | Always-on rules | Skills on disk | Hooks that self-skip |
276
+ |---|---:|---:|---:|---:|
277
+ | `lite` | 8 | 7 | 43 | 52 |
278
+ | `core` | 4 | 7 | 45 | 26 |
279
+ | `standard` | 2 | 8 | 46 | 12 |
280
+ | `full` | 0 | 9 | 46 | 0 |
281
+
282
+ The gate is a derived allowlist (`.coding-os/disabled-hook-scripts`) that a
283
+ disabled hook reads when it sources `cos-env.sh` — so a module you turned off
284
+ costs nothing at runtime. **The 14 safety-category hooks are never on that list,
285
+ at any profile** — secret-blocking, destructive-command and branch guards cannot
286
+ be switched off by choosing a leaner install. Verify on your own project:
287
+
288
+ ```bash
289
+ cos module list # what you ended up with
290
+ wc -l .coding-os/disabled-hook-scripts # what stopped firing
291
+ ```
292
+
293
+ Start lean and change your mind later — from the project root,
294
+ `cos module enable memory`. `--profile` and `--disable-module` are **unioned**:
295
+ they can only remove. `--enable-module` is the escape that keeps one on and
296
+ pulls its dependencies with it — passing the same id to both flags is an error,
297
+ not an override. `cos init --help` lists the live ids straight from
298
+ `src/core/subsystems.yaml`, `cos module list` shows what you ended up with, and
299
+ Hub **Config → Modules** — or the Composer's *Advanced* section at create
300
+ time — flips any of it later. Full model:
301
+ [meta-project.md § subsystem modules](docs/architecture/meta-project.md#the-fourth-axis--subsystem-modules-which-kernel-surfaces-ship).
302
+
303
+ ## Run with Docker (Hub layer; native for projects)
304
+
305
+ **Architecture split** — adopted because each layer wants a different
306
+ deploy shape:
307
+
308
+ | Layer | Runs where | Why |
309
+ |---|---|---|
310
+ | **Hub** (web panel: graph · board · cognition · search) | **Docker** (production-shaped) | Reproducible build · isolated runtime · same image dev → CI → prod |
311
+ | **Consumer projects** (each project's `.coding-os/`, MCP server, skills, adapters) | **Host (native)** | Agent runtimes (Claude Code / Codex CLI) live on the host filesystem · `cos init` factory writes alongside your source · IDE/editor needs direct paths |
312
+
313
+ The Hub container **reads** the host's projects via a read-only bind
314
+ mount and the host's registry file, so every absolute path stays
315
+ valid inside the container — no path translation.
316
+
317
+ ### Quickstart
318
+
319
+ ```bash
320
+ docker compose up
321
+ # → http://127.0.0.1:9188
322
+ ```
323
+
324
+ By default, `docker-compose.yml` bind-mounts `$HOME` read-only at
325
+ the same path inside the container so `cos registry scan ~` finds
326
+ every `.coding-os/` directory below it. Hub state (SQLite, traces)
327
+ lives in the `cos-state` named volume and survives `down` / `up`.
328
+
329
+ Project auto-discovery, narrowing the mount for production, and manual
330
+ `docker run` (no compose): [docs/engineering/hub-architecture.md § Docker
331
+ deployment](./docs/engineering/hub-architecture.md#docker-deployment-hub-layer).
332
+
333
+ ## MCP server wire-up (Claude / Codex)
334
+
335
+ `cos init` writes `.mcp.json` at the project root automatically. If
336
+ you ever need to register the MCP server manually (e.g. another tool
337
+ that reads MCP configs), this is the shape every adapter installs:
338
+
339
+ ```json
340
+ {
341
+ "mcpServers": {
342
+ "coding-os": { "command": "cos", "args": ["server-start"] }
343
+ }
344
+ }
345
+ ```
346
+
347
+ Verify the wire is live in your agent runtime:
348
+
349
+ - **Claude Code:** `cos doctor` shows `mcp.coding-os = ok`; the CLI
350
+ exposes `cos_*` tools via `ToolSearch("select:<tool>")`.
351
+ - **Codex CLI:** `codex --mcp-list` lists `coding-os`.
352
+
353
+ If the server isn't found, re-run `bash src/adapters/<agent>/install.sh`
354
+ from the project root, then restart the agent.
355
+
356
+ ---
357
+
358
+ ## What it is
359
+
360
+ `coding-os` is a three-layer composition (DNA → mRNA → phenotype):
361
+
362
+ ```
363
+ src/core/ ──► src/adapters/<agent>/ ──► src/templates/<stack>/ ──► consumer project
364
+ (DNA) (mRNA) (phenotype) (organism)
365
+ ```
366
+
367
+ | Layer | What it owns |
368
+ | ---------------- | ------------------------------------------------------------------ |
369
+ | `src/core/` | MCP server, hooks, rules, skills — **agent-agnostic, stack-agnostic** |
370
+ | `src/adapters/` | Per-agent translation: `.claude/`, `.codex/` rendering |
371
+ | `src/templates/` | Per-stack overlays: 27 stacks, 11 CI-verified — `cos list-stacks` marks each `verified` or `experimental` |
372
+ | `src/cli/` | The `cos` factory CLI that composes the three layers |
373
+
374
+ Adding a new stack or a new agent is a pure YAML + Markdown change.
375
+ No Python edits required.
376
+
377
+ ## What it does
378
+
379
+ 1. **Complexity Gate** — classifies problems before acting (Cynefin:
380
+ CLEAR / COMPLICATED / COMPLEX / CHAOTIC / CONFUSION).
381
+ 2. **Cognitive Cycle** — CLASSIFY → ORIENT → PLAN → EXECUTE → VERIFY.
382
+ The kernel rule (`src/core/rules/thinking_os.md`) is always
383
+ active; the deep skill loads only when the gate returns COMPLICATED
384
+ or COMPLEX.
385
+ 3. **Self-learning memory** — SQLite-backed observations, metrics,
386
+ and learned patterns across sessions (`cos_search`, `cos_learn_*`).
387
+ 4. **Hook enforcement** — hooks gate writes, edits, prompts,
388
+ sessions, and stops (exact count in `src/core/hooks/registry.yaml`).
389
+ Adapter parity matrix in `docs/engineering/`.
390
+ 5. **Four-layer retrieval** — agent memory (`cos_search`) · doc RAG
391
+ (`cos_doc_search`) · task graph (`cos_task_*`) · knowledge graph
392
+ (`cos_graph_*`).
393
+ 6. **Intent enforcement** — when the user uses exhaustive vocabulary
394
+ ("all" / "every" / "completely" / "until done", matched in English
395
+ and one additional language), the Stop hook refuses premature "done"
396
+ until an evidence bundle is recorded.
397
+ 7. **Upgrade path** — `cos update` keeps every consumer project in
398
+ sync with `coding-os` without touching user content.
399
+
400
+ ## The Web Hub (`http://127.0.0.1:9188`)
401
+
402
+ One FastAPI + Vite/React singleton serves **every** registered project through
403
+ `/api/p/<slug>/*` — `cos hub start` boots it, `cos hub status` reports health.
404
+ It is genuinely optional: the CLI loop is complete without it. What it adds is
405
+ one surface where the board, the knowledge graph, agent memory, live agent
406
+ presence and the hook stream are the *same* state the agent reads, not a
407
+ dashboard rendered beside it.
408
+
409
+ ![Hub home listing four registered projects and the agents live in each](docs/assets/hub/hub-home.webp)
410
+
411
+ Hub home is the entry point: register an existing `.coding-os/` folder, scan a
412
+ directory for them, or scaffold a new project from a preset. Each project card
413
+ carries the agents attached to it right now — the model each is running, the
414
+ complexity gate it recorded, and the role it holds in the current chain.
415
+
416
+ ### Overview — what the agent is doing, in one screen
417
+
418
+ Agents live, spend against budget, WIP against cap, and the hook stream as it
419
+ fires. `block-dangerous-commands 15s ago` is not a log line scraped after the
420
+ fact — it is the same enforcement record the gate wrote when it ran.
421
+
422
+ ![Workspace Overview with live agent, cost, WIP counters and the recent hook stream](docs/assets/hub/workspace-overview.webp)
423
+
424
+ ### The board — Scrumban with enforced WIP
425
+
426
+ Seven columns; the three that gate flow carry a cap — in progress, testing,
427
+ emergency. `1 / 1 WIP` is not decoration: `cos task-move` refuses to overfill a
428
+ capped column, so the board cannot drift from what is actually being worked on.
429
+ Columns holding nothing collapse to a labelled rail and hand their width to the
430
+ columns holding work — then expand back into full drop zones the moment you
431
+ start dragging a card.
432
+
433
+ ![Scrumban board with three empty columns collapsed to rails and WIP counters on the rest](docs/assets/hub/board-flat.webp)
434
+
435
+ Group by swimlane instead of flat, and open any card for its outcome contract,
436
+ its lifecycle chips, and every commit that touched it with the real diff inline.
437
+ The task is the pointer; the code is the evidence.
438
+
439
+ ### Chat — the agent, with the project already loaded
440
+
441
+ A session started here inherits the project's MCP server, hooks, rules and
442
+ board. Pick the model, the reasoning effort, and which semantic role should
443
+ answer; the quick actions under the composer are the openings that actually pay
444
+ off — *resume where we left off*, *map the subsystems*, *review my current
445
+ changes*.
446
+
447
+ ![Chat landing with model, effort and role pickers above six quick actions](docs/assets/hub/chat-streamos.webp)
448
+
449
+ ### Search — one query, four retrieval layers
450
+
451
+ Memory, docs, tasks and the graph answer the same query in parallel, each in its
452
+ own section with its own count. A layer still in flight shows `…`, never a zero —
453
+ an unanswered layer and an empty one are different facts, and a summary that
454
+ conflates them is worse than one that waits.
455
+
456
+ ![Unified search returning 24 results for one query across docs, tasks and the graph](docs/assets/hub/search-query.webp)
457
+
458
+ ### The graph — ask the codebase structurally
459
+
460
+ Sigma.js over the extracted code + doc graph. The left spine is containment, the
461
+ tabs switch between the blended overview, pure containment, dependencies and
462
+ detected communities, and the budget control decides how much of the graph to
463
+ draw. The badge is honest about coverage: it names the sample **and** the
464
+ whole-graph total, so a capped view can never read as a complete one. This is
465
+ the surface behind `cos_graph_*` — the reason an agent answers "who calls this?"
466
+ without grepping the tree.
467
+
468
+ ![Knowledge graph canvas showing 800 of 78,128 nodes with view-mode tabs and a depth budget](docs/assets/hub/graph-explorer.webp)
469
+
470
+ ### Memory — the lessons, and how far each one has travelled
471
+
472
+ Agent memory is not a log. Every lesson carries a confidence and a tier, and it
473
+ only becomes durable once separate sessions confirm it — so the page states the
474
+ exact rule it enforces (≥70% confidence *and* three confirmations) and how many
475
+ lessons have actually cleared it. Filter by type, source or confidence floor,
476
+ and run the distillation loop on demand instead of waiting for the nightly one.
477
+
478
+ ![Agent Memory tab showing 102 lessons, the validation rule, and type and source filters](docs/assets/hub/memory.webp)
479
+
480
+ ### Diagnostics — every hook that fired, and why
481
+
482
+ The log tail is structured, not a text blob: filter by level floor, scope glob,
483
+ message substring or a relative window, and follow it live. Alongside it sit the
484
+ doctor probes, observability charts, and per-session cognition traces.
485
+
486
+ ![Diagnostics Logs tab with level, scope, substring and window filters over a structured event table](docs/assets/hub/diag-logs.webp)
487
+
488
+ ### Modules — turn subsystems off and the tools go with them
489
+
490
+ The kernel is always on. Everything else is a switch, and disabling one gates
491
+ its MCP tools and self-skips its hooks. `Owns` is the blast radius of that
492
+ switch. `Depends on` is enforced, not advisory — `tasks` needs `docs`, so `docs`
493
+ cannot be disabled first, and the button that would break it is disabled with
494
+ the reason attached rather than failing after the click.
495
+
496
+ ![Config Modules tab showing subsystem toggles, owned artifacts and dependency direction](docs/assets/hub/config-modules.webp)
497
+
498
+ Also in the Hub: per-project **Git** and supervision settings, and a
499
+ **Marketplace** for community skills and stacks (rolling out).
500
+ Source: `src/core/web/`; UI: `src/core/web/ui/` (`make ui-dev` for HMR).
501
+
502
+ ## Architecture
503
+
504
+ ```
505
+ coding-os/
506
+ ├── src/ # All importable code (Python src-layout)
507
+ │ ├── cli/ # Factory entrypoint (`cos` command)
508
+ │ ├── core/ # Agent-agnostic brain (DNA)
509
+ │ │ ├── thinking_os/ # MCP server: memory, learning, metrics, cognition
510
+ │ │ ├── graph_os/ # Polyglot knowledge graph (SQLite backend)
511
+ │ │ ├── board_os/ # Scrumban task system
512
+ │ │ ├── web/ # Hub UI + FastAPI backbone
513
+ │ │ ├── hooks/ # Hook scripts (SSOT: registry.yaml)
514
+ │ │ ├── rules/ # Always-active rules + auto-generated artifacts
515
+ │ │ ├── skills/ # Universal skills
516
+ │ │ └── scripts/ # Kernel-internal regen tooling
517
+ │ ├── adapters/ # Per-agent translation (mRNA, adapter.yaml manifests)
518
+ │ │ ├── claude/ # Claude Code adapter
519
+ │ │ └── codex/ # OpenAI Codex CLI/Desktop adapter
520
+ │ ├── templates/ # Per-stack scaffolds (phenotype, stack.yaml-driven)
521
+ │ │ ├── _base/ # Generic base + fragments/
522
+ │ │ ├── django/ # Django + DRF + PostgreSQL
523
+ │ │ ├── nextjs/ # Next.js + React + TypeScript + Tailwind
524
+ │ │ ├── fastapi/ # FastAPI + Pydantic + SQLAlchemy
525
+ │ │ ├── go/ # Go stdlib + chi router
526
+ │ │ ├── go-fiber/ # Go + Fiber v3
527
+ │ │ ├── react-native/ # React Native + Expo
528
+ │ │ ├── python/ # Python library / CLI / MCP server
529
+ │ │ ├── meta/ # Meta-stack (for coding-os contributors)
530
+ │ │ └── … # 27 stacks (11 CI-verified) — `cos list-stacks`
531
+ │ └── scripts/ # Maintenance + regen tooling
532
+ ├── tests/ # cross-cutting tests
533
+ ├── docs/ # Governance, engineering, playbooks, architecture
534
+ └── .coding-os/ # Per-project runtime state (gitignored)
535
+ ```
536
+
537
+ ## Command index (highlights · 99 `cos` subcommands total)
538
+
539
+ ```
540
+ Project lifecycle init · adopt · setup · add-adapter · add-stack · update · materialize · eject
541
+ Modules module list · module enable · module disable (per-project surface control)
542
+ Diagnostics doctor · health · list-stacks · list-adapters · hooks-dir · hooks-log
543
+ Hub hub start · hub status · hub stop
544
+ Board board · task-create · task-start · task-move · task-done · daily · retro · wip
545
+ Cognition cognition trace · trace-replay · trace-summary
546
+ Supervision supervision show · enable · disable · set (per-role adapter/model/effort)
547
+ Graph 29 graph-* subcommands (build · find · deps · analysis · review);
548
+ 22 mirror a cos_graph_* MCP tool one-for-one, enforced by a parity test
549
+ ```
550
+
551
+ Full catalogue with flows: [docs/architecture/meta-project.md](./docs/architecture/meta-project.md).
552
+
553
+ ## Slash commands (25 commands)
554
+
555
+ The `cos` CLI above is the *factory*. Inside an agent session you also get
556
+ **slash commands** — packaged workflows invoked by typing `/`: 11 workflow
557
+ commands (`/board`, `/daily`, `/retro`, `/task`, `/classify`, `/compose`,
558
+ `/memory-search`, `/verify`, `/review`, `/diagnose`, `/new-project`) and 14
559
+ `/role-*` commands (the semantic roles of the cognition chain). They ship in
560
+ `.claude/commands/` (and `.codex/commands/`) and are version-controlled, so
561
+ every teammate gets them on clone. Day-to-day usage:
562
+ [docs/workflow/workflow-guide.md](./docs/workflow/workflow-guide.md).
563
+
564
+ ## MCP tools (`cos_*` family, all `ok / fail` envelope)
565
+
566
+ One MCP server (launched by `.mcp.json` → `cos server-start`) exposes every
567
+ `cos_*` tool across ten families: health, memory (`cos_search`), learning,
568
+ metrics, routing, docs (`cos_doc_search`), tasks (`cos_task_*`), graph
569
+ (`cos_graph_*`, 22 tools), cognition (`cos_compose_chain`), and retrieval.
570
+ Per-tool docs + envelope spec:
571
+ [docs/governance/mcp-tool-inventory.md](./docs/governance/mcp-tool-inventory.md).
572
+
573
+ ## The knowledge graph — why it changes the economics
574
+
575
+ Most "AI coding" tools answer structural questions ("who calls this?",
576
+ "what breaks if I rename it?", "where does this data flow?") by *reading
577
+ files* until the agent guesses an answer. That burns tokens, slows the
578
+ loop, and produces hallucinations the moment a caller lives in a file
579
+ the agent didn't open.
580
+
581
+ coding-os ships a precomputed knowledge graph as the **third retrieval
582
+ layer** alongside memory and docs. Every commit refreshes 23 node kinds
583
+ (functions, methods, classes, modules, routes, MCP tools, docs,
584
+ headings, frontmatter, hooks, rules, skills, tasks, …) and 18 edge
585
+ types (`contains`, `calls`, `imports`, `inherits_from`,
586
+ `handles_route`, `has_param_type`, `references_doc`, `is_decorated_by`,
587
+ `links_to`, …). The agent then asks the graph — `cos_graph_references`,
588
+ `cos_graph_impact`, `cos_graph_rename_plan` — and gets a small,
589
+ high-confidence JSON envelope back.
590
+
591
+ ### Benchmark — graph envelope vs a competent agent, on public repos
592
+
593
+ The number to beat is **not** "read every matching file" — no sensible agent
594
+ does that. It is what a good agent actually does: grep, then open a bounded
595
+ window around the matches in the few highest-hit files. That is the default
596
+ baseline, and every figure below is measured against it on public checkouts you
597
+ can reproduce.
598
+
599
+ ```bash
600
+ uv run --extra graph_os python src/core/graph_os/bench/third_party.py \
601
+ --repo https://github.com/django/django --ref 5.2 --queries 10
602
+ ```
603
+
604
+ Median savings over the highest-degree symbols per repo — `--queries 10` on the
605
+ public checkouts, 8 on this one (`min` in brackets — the honest worst case):
606
+
607
+ | Repo | `.py` files | `references` | `impact` (3 hops) | `rename_plan` |
608
+ |---|---:|---:|---:|---:|
609
+ | psf/requests @ v2.32.5 | 36 | **77.7%** (41.9) | 24.2% (−53.8) | **74.8%** (43.7) |
610
+ | fastapi/fastapi @ 0.116.1 | 1,129 | **79.5%** (−3.4) | **−6.8%** (−85.6) | **82.4%** (11.0) |
611
+ | django/django @ 5.2 | 2,818 | **76.8%** (50.3) | 70.8% (18.5) | **77.1%** (51.1) |
612
+ | this repo | 3,317 | **79.7%** (65.9) | 74.0% (64.7) | **79.7%** (65.7) |
613
+
614
+ Every number below is a **token cost**. The harness measures what each approach
615
+ spends, not whether its answer is better; it emits no accuracy metric and has not
616
+ been run against a code-retrieval benchmark. Read the tables as a cost result and
617
+ nothing more ([limits](docs/engineering/third-party-token-bench.md#honest-limits)).
618
+
619
+ Read it as three findings, including the one that does not flatter us:
620
+
621
+ 1. **"Who calls this?" and "what does a rename touch?" are a consistent ~75–82%
622
+ cheaper**, across repos spanning two orders of magnitude in size. This is the
623
+ robust win and the reason the graph-first rule exists.
624
+ 2. **A 3-hop blast radius is size-dependent, and on mid-size repos it can cost
625
+ *more* than reading.** `impact` is +71–74% on django and this repo, +24% on
626
+ requests, and **−7% on fastapi**. A wide transitive envelope is not free;
627
+ reach for `depth=3` when the codebase is large enough to make reading worse.
628
+ 3. **Against bare `grep` output alone on a small repo, the graph loses badly**
629
+ (−169% on requests). If match lines answer the question, they are the right
630
+ tool. The graph earns its keep when you need the *complete* set.
631
+
632
+ That completeness is the part a token count cannot show. Every envelope carries
633
+ `total_count` and its own truncation flags, so the agent knows whether it has
634
+ the whole answer — grep never tells you what it missed. The harness enforces the
635
+ same discipline on itself: an envelope whose traversal was capped is reported as
636
+ incomplete and **never scored as a saving**. (The previous version of this table
637
+ did exactly that — it published "508 impacted, 98.3% saved" from a
638
+ `walk_truncated` envelope whose real count, at a sufficient budget, is 1,494.)
639
+
640
+ Method, the other two baselines, and the limits — including that
641
+ highest-degree probe selection favours the graph — are in
642
+ [third-party-token-bench.md](docs/engineering/third-party-token-bench.md).
643
+
644
+ ### Coverage, budgets, health — the anti-hallucination contract
645
+
646
+ Every coverage-sensitive tool reports its own incompleteness
647
+ (`total_count` · `result_truncated` · `walk_truncated` — never silent),
648
+ all 23 node kinds answer end-to-end in 0–23 ms, `cos_graph_doctor`
649
+ sweeps stale nodes, and every Write/Edit re-indexes just the touched
650
+ file. The full contract — budget knobs, per-kind latency, Hub view
651
+ modes, and the probe-then-widen workflow — lives in
652
+ [graph_os-queries.md § Coverage, budgets, and benchmarks](./docs/engineering/graph_os-queries.md#coverage-budgets-and-benchmarks-readme-deep-dive).
653
+
654
+ Deep dive: [docs/engineering/graph_os-queries.md](./docs/engineering/graph_os-queries.md)
655
+ · [docs/engineering/graph-hallucination-cures.md](./docs/engineering/graph-hallucination-cures.md)
656
+ · [docs/governance/mcp-tool-inventory.md](./docs/governance/mcp-tool-inventory.md).
657
+
658
+ ## Supported agents
659
+
660
+ | Agent | Hook coverage | Skills | MCP server | Notes |
661
+ | --- | --- | --- | --- | --- |
662
+ | Claude Code | Full for its native events ✅ | Native skills | ✅ | No native `SessionEnd`. |
663
+ | Codex CLI | Full for supported Codex events ✅ | Native agent skills | ✅ | Includes Bash, Read, `apply_patch`, MCP, prompt, compact, subagent, permission, Stop, and SessionEnd hooks. |
664
+ | Codex Desktop | Same project hook/config contract as Codex CLI ✅ | Native agent skills | ✅ | Project hooks require trust/review; Hub observability is native, while Hub interactive chat is still Claude-only. |
665
+
666
+ Parity matrix + reasoning: [docs/engineering/adapter-parity.md](./docs/engineering/adapter-parity.md)
667
+ (the 2026-04-25 workflow audit is a historical snapshot predating Codex parity).
668
+
669
+ ## Agent supervision — pick the model per role (opt-in)
670
+
671
+ Off by default. Turn it on and every role — the 11 in the canonical chain plus
672
+ the `distiller`, `onboarder` and `repairer` specialists — can run on its own
673
+ adapter, model, and reasoning effort: a cheap model reviewing, an expensive one
674
+ architecting. It works with a **single** adapter too, since routing across one
675
+ provider's own model tiers is the common case rather than a fallback.
676
+
677
+ ```bash
678
+ cos supervision enable
679
+ cos supervision set --orchestrator-model claude-sonnet-5 # project default
680
+ cos supervision set --role reviewer --role-model claude-haiku-4-5 --role-effort low
681
+ cos supervision set --role architect --role-model claude-opus-4-8 --role-effort xhigh
682
+ cos supervision show
683
+ ```
684
+
685
+ With more than one adapter installed, a role can cross runtimes entirely —
686
+ review on Codex while architecture stays on Claude:
687
+
688
+ ```bash
689
+ cos supervision set --role reviewer --role-adapter codex
690
+ ```
691
+
692
+ Eligibility is **probed, not declared**: an adapter is offered for a role when
693
+ its dispatcher resolves at load time, so an adapter whose CLI or SDK is missing
694
+ is never silently routed to. Model catalogs come from `adapter.yaml`, and an
695
+ adapter that publishes none (Codex takes a freeform `-m`) accepts the model you
696
+ type. A new runtime is therefore configurable the day it is installed.
697
+
698
+ When a provider reports a rate limit, only the **model pool** that hit it goes
699
+ into a persistent cooldown — providers meter each pool separately, so an
700
+ exhausted Opus pool must not stop a reviewer running on Haiku. Recovery is one
701
+ half-open probe, not a retry storm against a limit that cannot succeed.
702
+
703
+ Same policy from the Hub (**Config → Settings**), the CLI, or MCP — no Hub
704
+ required. Disabled means disabled: no probe, no state write, no tokens.
705
+
706
+ Full contract: [docs/engineering/agent-supervision.md](./docs/engineering/agent-supervision.md)
707
+ · operator guide: [docs/playbooks/agent-supervision-setup.md](./docs/playbooks/agent-supervision-setup.md)
708
+
709
+ ## Configuration
710
+
711
+ `.coding-os.yaml` at every project root:
712
+
713
+ ```yaml
714
+ version: "1.0"
715
+ agents: [claude, codex]
716
+ templates: [django, nextjs]
717
+ state_dir: .coding-os
718
+ code_extensions: [py, ts, tsx]
719
+ verify:
720
+ backend: "make lint-backend && make test-backend"
721
+ frontend: "cd src/frontend && npm run lint && npm test"
722
+ protected_files:
723
+ - "*/migrations/*.py"
724
+ ```
725
+
726
+ ## Adding a new stack (zero Python changes)
727
+
728
+ Create `src/templates/<id>/stack.yaml` plus skills, rules, and scaffold
729
+ docs — the CLI auto-discovers it (`cos list-stacks`), then
730
+ `make manifest-regen && make regen-rules` refreshes the derived
731
+ artifacts. The same pattern works for new **adapters**
732
+ (`src/adapters/<id>/adapter.yaml` + `install.sh`). Step-by-step:
733
+ [docs/playbooks/template-authoring.md](./docs/playbooks/template-authoring.md)
734
+ · [docs/playbooks/adapter-authoring.md](./docs/playbooks/adapter-authoring.md).
735
+
736
+ ## Project structure (for contributors)
737
+
738
+ ```bash
739
+ make verify-hooks # shellcheck + bash -n on every hook
740
+ make verify # matrix-targeted tests for what changed
741
+ make test-mcp # MCP self-test (cold start)
742
+ make docs-lint # markdown structure + link integrity
743
+ cos health # cross-project health summary
744
+ make manifest-regen # refresh src/core/scaffold_manifest.json
745
+ make regen-rules # refresh dimension-registry + skill-enforcement
746
+ ```
747
+
748
+ CI runs the matrix on every PR. See `.github/workflows/ci.yml`.
749
+
750
+ ## Documentation
751
+
752
+ | Doc | What's in it |
753
+ | ----------------------------------------------------------------------------------- | ----------------------------------------------------------- |
754
+ | [AGENTS.md](./AGENTS.md) | **Agent entry point** — Core Loop, Critical Rules, Verification Matrix |
755
+ | [docs/architecture/meta-project.md](./docs/architecture/meta-project.md) | Hexagonal design, DNA/mRNA/phenotype, propagation matrix |
756
+ | [docs/governance/critical-rules.md](./docs/governance/critical-rules.md) | 27 critical rules with rationale + repair steps |
757
+ | [docs/governance/mcp-tool-inventory.md](./docs/governance/mcp-tool-inventory.md) | Per-tool spec + envelope contract |
758
+ | [docs/governance/agent-workflow.md](./docs/governance/agent-workflow.md) | Domain routing, task protocol, memory contract |
759
+ | [docs/engineering/graph_os-queries.md](./docs/engineering/graph_os-queries.md) | When to query the graph vs grep |
760
+ | [docs/engineering/hub-architecture.md](./docs/engineering/hub-architecture.md) | Hub: FastAPI ↔ React SPA contract |
761
+ | [docs/engineering/agent-supervision.md](./docs/engineering/agent-supervision.md) | Per-role adapter/model routing, capacity breaker, trigger modes |
762
+ | [docs/playbooks/](./docs/playbooks/) | Hook authoring · adapter authoring · template authoring · MCP tool authoring |
763
+ | [docs/adapters/](./docs/adapters/) | Claude SDK · Codex CLI integration |
764
+ | [CONTRIBUTING.md](./CONTRIBUTING.md) | Setup, contribution loop, PR checklist |
765
+ | [SECURITY.md](./SECURITY.md) | Vulnerability disclosure policy |
766
+ | [GOVERNANCE.md](./GOVERNANCE.md) | Decision model, quality gates, becoming a maintainer |
767
+ | [KNOWN_LIMITATIONS.md](./KNOWN_LIMITATIONS.md) | Honest constraints + the ratchets that shrink them |
768
+ | [docs/governance/stability-contract.md](./docs/governance/stability-contract.md) | What 1.0 freezes + the deprecation ladder |
769
+ | [CHANGELOG.md](./CHANGELOG.md) | Release notes |
770
+
771
+ ## Troubleshooting
772
+
773
+ | Symptom | Cause | Fix |
774
+ |---|---|---|
775
+ | `cos: command not found` after `uv tool install` | `~/.local/bin` (or uv's tool dir) not on `PATH` | `uv tool update-shell` then open a new shell |
776
+ | `cos doctor` reports `mcp.coding-os = absent` | Adapter installer hasn't run for this project | `bash src/adapters/<agent>/install.sh` from project root, then restart the agent runtime |
777
+ | `cos hub start` fails with `Address already in use :9188` | Port 9188 busy (likely an old Hub still running) | `lsof -ti:9188 \| xargs kill` then re-run; or `cos hub start --port 9999` |
778
+ | `make verify` complains `bash: declare -A …` | macOS default bash 3.2 doesn't have associative arrays | `brew install bash` (Makefile picks up `/opt/homebrew/bin/bash` automatically) |
779
+ | `cos init` fails on `npm ci` step | Node.js missing or below 20 | Install Node ≥20 (`brew install node@20`); only required if your template touches `src/core/web/ui/` |
780
+ | Docker build OOM on `npm ci` | Default Docker memory < 4 GB | Docker Desktop → Settings → Resources → bump memory to 4 GB+ |
781
+ | `ToolSearch` returns `InputValidationError` for a `cos_*` tool | First-call schema not loaded (Claude defers MCP schemas) | `ToolSearch("select:cos_<name>")` first, then call the tool |
782
+ | Codex hook is skipped | Project/hash trust is missing, the hooks feature is disabled, or the event/matcher is unsupported | Run `/hooks`, confirm `[features] hooks = true`, then inspect `cos hooks-list --agent codex` |
783
+ | Hub rejects the meta-repo checkout with `sits inside … already a coding-os project` | A stray `.coding-os/` exists higher up (e.g. `~/.coding-os/` from a test run) — fixed 2026-05-23: only **registered** ancestors block | Update + restart Hub: `git pull && cos hub stop && cos hub start`. If still blocking, the ancestor is genuinely registered: `cos registry remove <ancestor-path>` |
784
+
785
+ Still stuck? Run `cos doctor --verbose` and open a
786
+ [discussion](https://github.com/kouroshez/coding-os/discussions)
787
+ with the output attached.
788
+
789
+ ## Support / Community
790
+
791
+ If coding-os saves you time, a star helps others find it. These links also
792
+ live in the Hub footer (never inside the new-project Composer).
793
+
794
+ - ★ Star / follow on GitHub: <https://github.com/kouroshez/coding-os>
795
+ - Sponsor the project: <https://github.com/sponsors/kouroshez> · <https://coding-os.dev/donate>
796
+ - Questions / ideas: <https://github.com/kouroshez/coding-os/discussions>
797
+ - Community forum: <https://community.coding-os.dev>
798
+
799
+ ## License
800
+
801
+ Apache License 2.0 — see [LICENSE](./LICENSE). Copyright 2026
802
+ Kourosh Ebrahimzadeh and coding-os contributors.
803
+
804
+ Development began in April 2026; the full history is preserved in this
805
+ repository. Release automation (release-please) starts at the 0.3.0
806
+ baseline (2026-05-20) — see [CHANGELOG.md](./CHANGELOG.md).