dos-kernel 0.24.1__tar.gz → 0.25.0__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 (418) hide show
  1. {dos_kernel-0.24.1/src/dos_kernel.egg-info → dos_kernel-0.25.0}/PKG-INFO +54 -13
  2. dos_kernel-0.24.1/PKG-INFO → dos_kernel-0.25.0/README.md +49 -60
  3. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/pyproject.toml +20 -1
  4. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/__init__.py +1 -1
  5. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/cli.py +349 -54
  6. dos_kernel-0.25.0/src/dos/drivers/agt_backend.py +357 -0
  7. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/drivers/hook_dialects.py +68 -0
  8. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/efficiency.py +41 -8
  9. dos_kernel-0.25.0/src/dos/efficiency_trend.py +267 -0
  10. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/hook_install.py +61 -0
  11. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/improve.py +41 -2
  12. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/pretool_sensor.py +140 -3
  13. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/skills/EXAMPLES.md +1 -1
  14. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/skills/dos-dispatch/SKILL.md +1 -1
  15. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/skills/dos-next-up/SKILL.md +1 -1
  16. dos_kernel-0.25.0/src/dos/spend.py +276 -0
  17. dos_kernel-0.24.1/README.md → dos_kernel-0.25.0/src/dos_kernel.egg-info/PKG-INFO +101 -11
  18. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos_kernel.egg-info/SOURCES.txt +14 -0
  19. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos_kernel.egg-info/entry_points.txt +2 -0
  20. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos_mcp/server.py +66 -3
  21. dos_kernel-0.25.0/tests/test_agt_backend.py +267 -0
  22. dos_kernel-0.25.0/tests/test_efficiency_trend.py +156 -0
  23. dos_kernel-0.25.0/tests/test_efficiency_trend_cli.py +145 -0
  24. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_hook_dialect.py +23 -6
  25. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_hook_pretool.py +59 -1
  26. dos_kernel-0.25.0/tests/test_init_hooks_auto.py +226 -0
  27. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_init_hooks_crossvendor.py +50 -1
  28. dos_kernel-0.25.0/tests/test_llms_full.py +81 -0
  29. dos_kernel-0.25.0/tests/test_llms_txt.py +70 -0
  30. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_mcp_server.py +97 -0
  31. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_release_bump.py +22 -19
  32. dos_kernel-0.25.0/tests/test_server_json_version.py +81 -0
  33. dos_kernel-0.25.0/tests/test_serverless_rl_example.py +230 -0
  34. dos_kernel-0.25.0/tests/test_spend.py +170 -0
  35. dos_kernel-0.25.0/tests/test_spend_cli.py +102 -0
  36. dos_kernel-0.25.0/tests/test_spend_evidence.py +125 -0
  37. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/LICENSE +0 -0
  38. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/setup.cfg +0 -0
  39. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/_demo_story.py +0 -0
  40. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/_filelock.py +0 -0
  41. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/_job_policy.py +0 -0
  42. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/_tree.py +0 -0
  43. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/admission.py +0 -0
  44. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/answer_shape.py +0 -0
  45. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/arbiter.py +0 -0
  46. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/archive_lock.py +0 -0
  47. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/arg_provenance.py +0 -0
  48. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/attest.py +0 -0
  49. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/breaker.py +0 -0
  50. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/churn.py +0 -0
  51. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/claim_extract.py +0 -0
  52. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/claim_ttl.py +0 -0
  53. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/commit_audit.py +0 -0
  54. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/completion.py +0 -0
  55. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/concurrency_class.py +0 -0
  56. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/config.py +0 -0
  57. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/config_lint.py +0 -0
  58. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/cooldown.py +0 -0
  59. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/coverage.py +0 -0
  60. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/dangling_intent.py +0 -0
  61. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/data_class.py +0 -0
  62. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/decisions.py +0 -0
  63. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/decisions_tui.py +0 -0
  64. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/dispatch_top.py +0 -0
  65. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/dispatch_top_tui.py +0 -0
  66. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/drivers/__init__.py +0 -0
  67. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/drivers/ci_status.py +0 -0
  68. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/drivers/citation_resolve.py +0 -0
  69. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/drivers/decision_stop.py +0 -0
  70. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/drivers/design_doc_plan.py +0 -0
  71. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/drivers/export_file.py +0 -0
  72. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/drivers/export_otlp.py +0 -0
  73. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/drivers/export_statsd.py +0 -0
  74. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/drivers/job.py +0 -0
  75. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/drivers/llm_judge.py +0 -0
  76. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/drivers/memory_recall.py +0 -0
  77. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/drivers/notify_slack.py +0 -0
  78. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/drivers/notify_webhook.py +0 -0
  79. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/drivers/operator_judge.py +0 -0
  80. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/drivers/os_acceptance.py +0 -0
  81. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/drivers/paste_log.py +0 -0
  82. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/drivers/plan_scope.py +0 -0
  83. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/drivers/self_improve.py +0 -0
  84. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/drivers/similarity_judge.py +0 -0
  85. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/drivers/state_diff.py +0 -0
  86. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/drivers/supervisor.py +0 -0
  87. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/drivers/watchdog.py +0 -0
  88. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/drivers/workshop.py +0 -0
  89. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/durable_schema.py +0 -0
  90. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/effect_witness.py +0 -0
  91. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/enforce.py +0 -0
  92. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/enumerate.py +0 -0
  93. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/env_print.py +0 -0
  94. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/event_severity.py +0 -0
  95. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/evidence.py +0 -0
  96. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/exec_capability.py +0 -0
  97. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/export_cursor.py +0 -0
  98. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/exporter.py +0 -0
  99. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/firing_label.py +0 -0
  100. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/fleet_roll.py +0 -0
  101. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/gate_classify.py +0 -0
  102. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/gh4_coverage.py +0 -0
  103. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/git_delta.py +0 -0
  104. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/guard.py +0 -0
  105. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/health.py +0 -0
  106. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/help_summary.py +0 -0
  107. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/home.py +0 -0
  108. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/hook_binary.py +0 -0
  109. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/hook_dialect.py +0 -0
  110. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/hook_exit.py +0 -0
  111. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/hook_observation.py +0 -0
  112. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/id_alloc.py +0 -0
  113. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/intent_ledger.py +0 -0
  114. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/interpret.py +0 -0
  115. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/intervention.py +0 -0
  116. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/intervention_eval.py +0 -0
  117. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/journal_delta.py +0 -0
  118. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/judge_eval.py +0 -0
  119. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/judges.py +0 -0
  120. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/lane_infer.py +0 -0
  121. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/lane_journal.py +0 -0
  122. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/lane_lease.py +0 -0
  123. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/lane_overlap.py +0 -0
  124. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/lease_health.py +0 -0
  125. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/lifecycle.py +0 -0
  126. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/liveness.py +0 -0
  127. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/lock_modes.py +0 -0
  128. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/log_source.py +0 -0
  129. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/loop_decide.py +0 -0
  130. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/marker_gate.py +0 -0
  131. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/marker_sensor.py +0 -0
  132. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/noop_streak.py +0 -0
  133. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/notify.py +0 -0
  134. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/observe.py +0 -0
  135. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/oracle.py +0 -0
  136. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/overlap_eval.py +0 -0
  137. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/overlap_policy.py +0 -0
  138. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/override_facts.py +0 -0
  139. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/packet_sidecar.py +0 -0
  140. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/phase_shipped.py +0 -0
  141. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/pick_priority.py +0 -0
  142. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/pickable.py +0 -0
  143. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/picker_oracle.py +0 -0
  144. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/plan_board.py +0 -0
  145. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/plan_board_tui.py +0 -0
  146. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/plan_source.py +0 -0
  147. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/posttool_sensor.py +0 -0
  148. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/precursor_gate.py +0 -0
  149. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/precursor_gate_eval.py +0 -0
  150. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/preflight.py +0 -0
  151. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/proc_delta.py +0 -0
  152. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/productivity.py +0 -0
  153. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/provider_limit.py +0 -0
  154. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/py.typed +0 -0
  155. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/reason_morphology.py +0 -0
  156. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/reasons.py +0 -0
  157. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/reconcile.py +0 -0
  158. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/recurring_wedge.py +0 -0
  159. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/render.py +0 -0
  160. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/result_state.py +0 -0
  161. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/resume.py +0 -0
  162. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/resume_evidence.py +0 -0
  163. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/retention.py +0 -0
  164. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/reward.py +0 -0
  165. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/rewind.py +0 -0
  166. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/rewind_evidence.py +0 -0
  167. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/rewind_tokens.py +0 -0
  168. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/run_id.py +0 -0
  169. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/scope.py +0 -0
  170. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/scope_source.py +0 -0
  171. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/scout.py +0 -0
  172. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/self_modify.py +0 -0
  173. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/sibling_scan.py +0 -0
  174. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/skills/dos-class-cycle/SKILL.md +0 -0
  175. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/skills/dos-dispatch-loop/SKILL.md +0 -0
  176. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/skills/dos-goal-gate/SKILL.md +0 -0
  177. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/skills/dos-promote/SKILL.md +0 -0
  178. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/skills/dos-replan/SKILL.md +0 -0
  179. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/skills/dos-replan-loop/SKILL.md +0 -0
  180. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/skills/dos-self-improve/SKILL.md +0 -0
  181. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/skills/dos-supervise-loop/SKILL.md +0 -0
  182. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/skills/dos-unstick/SKILL.md +0 -0
  183. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/skills/dos-witness-claim/SKILL.md +0 -0
  184. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/stamp.py +0 -0
  185. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/state_health.py +0 -0
  186. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/status.py +0 -0
  187. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/stop_policy.py +0 -0
  188. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/supervise.py +0 -0
  189. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/testwitness.py +0 -0
  190. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/timeline.py +0 -0
  191. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/tokens.py +0 -0
  192. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/tool_stream.py +0 -0
  193. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/tool_stream_eval.py +0 -0
  194. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/trace.py +0 -0
  195. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/verdict.py +0 -0
  196. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/verdict_cli.py +0 -0
  197. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/verdict_journal.py +0 -0
  198. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/verdict_rollup.py +0 -0
  199. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/verdicts.py +0 -0
  200. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos/wedge_reason.py +0 -0
  201. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos_kernel.egg-info/dependency_links.txt +0 -0
  202. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos_kernel.egg-info/requires.txt +0 -0
  203. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos_kernel.egg-info/top_level.txt +0 -0
  204. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos_mcp/__init__.py +0 -0
  205. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/src/dos_mcp/py.typed +0 -0
  206. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_admission.py +0 -0
  207. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_agent_surface.py +0 -0
  208. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_agenthallu_replay.py +0 -0
  209. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_agentprocessbench_replay.py +0 -0
  210. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_answer_shape.py +0 -0
  211. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_arbiter.py +0 -0
  212. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_archive_lock.py +0 -0
  213. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_arg_provenance.py +0 -0
  214. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_attest.py +0 -0
  215. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_backflow_ledger.py +0 -0
  216. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_bench_layering.py +0 -0
  217. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_breaker.py +0 -0
  218. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_build_wheels_binary_format.py +0 -0
  219. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_canonical_example_lockstep.py +0 -0
  220. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_central_index.py +0 -0
  221. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_churn.py +0 -0
  222. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_ci_status.py +0 -0
  223. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_citation_resolve.py +0 -0
  224. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_claim_extract.py +0 -0
  225. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_claim_ttl.py +0 -0
  226. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_claims_lint.py +0 -0
  227. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_cli_ergonomics.py +0 -0
  228. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_cli_loop.py +0 -0
  229. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_cli_pickable_enumerate.py +0 -0
  230. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_cmd_status.py +0 -0
  231. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_commit_audit.py +0 -0
  232. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_completion.py +0 -0
  233. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_concurrency_class.py +0 -0
  234. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_config_lint.py +0 -0
  235. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_cooldown.py +0 -0
  236. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_coverage.py +0 -0
  237. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_dangling_intent.py +0 -0
  238. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_data_class.py +0 -0
  239. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_decisions.py +0 -0
  240. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_design_doc_plan_source.py +0 -0
  241. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_dispatch_loop_substrate.py +0 -0
  242. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_dispatch_top.py +0 -0
  243. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_docs_version_drift.py +0 -0
  244. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_doctor_json.py +0 -0
  245. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_dos_react_terminal_error.py +0 -0
  246. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_drivers_self_improve.py +0 -0
  247. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_drivers_supervisor.py +0 -0
  248. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_drivers_watchdog.py +0 -0
  249. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_drivers_workshop.py +0 -0
  250. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_durable_schema.py +0 -0
  251. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_effect_witness.py +0 -0
  252. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_efficiency.py +0 -0
  253. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_enforce.py +0 -0
  254. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_ensure_home.py +0 -0
  255. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_enterpriseops_harness.py +0 -0
  256. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_enumerate.py +0 -0
  257. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_env_print.py +0 -0
  258. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_event_severity.py +0 -0
  259. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_evidence.py +0 -0
  260. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_exec_capability.py +0 -0
  261. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_export_cli.py +0 -0
  262. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_export_cursor.py +0 -0
  263. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_export_otlp.py +0 -0
  264. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_export_statsd.py +0 -0
  265. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_exporter.py +0 -0
  266. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_feasibility_split.py +0 -0
  267. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_filelock.py +0 -0
  268. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_filepath_backstop_batch.py +0 -0
  269. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_firing_label.py +0 -0
  270. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_fleet_framework_examples.py +0 -0
  271. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_fleet_roll.py +0 -0
  272. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_gate_cli.py +0 -0
  273. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_gh4_coverage.py +0 -0
  274. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_git_hygiene.py +0 -0
  275. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_gitignore_hygiene.py +0 -0
  276. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_go_hook_parity.py +0 -0
  277. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_guard.py +0 -0
  278. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_health.py +0 -0
  279. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_help_summary.py +0 -0
  280. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_hermes_integration_example.py +0 -0
  281. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_home_layering.py +0 -0
  282. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_home_no_temp_pollution.py +0 -0
  283. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_hook_binaries_bundled.py +0 -0
  284. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_hook_binary_locator.py +0 -0
  285. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_hook_exit.py +0 -0
  286. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_hook_observation.py +0 -0
  287. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_hook_stop.py +0 -0
  288. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_id_alloc.py +0 -0
  289. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_improve.py +0 -0
  290. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_init_hooks.py +0 -0
  291. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_init_skills.py +0 -0
  292. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_install_drift.py +0 -0
  293. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_install_levels.py +0 -0
  294. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_intent_ledger.py +0 -0
  295. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_interpret_parity.py +0 -0
  296. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_intervention.py +0 -0
  297. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_intervention_cli.py +0 -0
  298. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_intervention_eval.py +0 -0
  299. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_journal_delta.py +0 -0
  300. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_judge.py +0 -0
  301. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_judge_eval.py +0 -0
  302. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_judges.py +0 -0
  303. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_lane_adopt.py +0 -0
  304. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_lane_halt.py +0 -0
  305. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_lane_infer.py +0 -0
  306. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_lane_journal.py +0 -0
  307. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_lane_lease.py +0 -0
  308. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_lane_lease_expiry.py +0 -0
  309. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_lane_lease_mutex.py +0 -0
  310. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_lane_overlap.py +0 -0
  311. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_leak_scan.py +0 -0
  312. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_lease_health.py +0 -0
  313. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_lifecycle.py +0 -0
  314. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_liveness.py +0 -0
  315. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_llm_judge_vendor_seam.py +0 -0
  316. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_lock_modes.py +0 -0
  317. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_log_source.py +0 -0
  318. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_marker_gate.py +0 -0
  319. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_marker_sensor.py +0 -0
  320. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_memory_recall.py +0 -0
  321. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_noop_streak.py +0 -0
  322. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_notify.py +0 -0
  323. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_notify_cli.py +0 -0
  324. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_notify_slack.py +0 -0
  325. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_notify_webhook.py +0 -0
  326. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_observe.py +0 -0
  327. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_operator_judge.py +0 -0
  328. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_oracle_and_loop.py +0 -0
  329. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_oracle_forgeability_provenance.py +0 -0
  330. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_oracle_grep_in_process.py +0 -0
  331. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_overlap_policy.py +0 -0
  332. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_override_window.py +0 -0
  333. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_packet_sidecar.py +0 -0
  334. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_phase_labels.py +0 -0
  335. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_pick_priority.py +0 -0
  336. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_pickable.py +0 -0
  337. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_plan_board.py +0 -0
  338. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_plan_source.py +0 -0
  339. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_plugin_manifest.py +0 -0
  340. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_posttool_sensor.py +0 -0
  341. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_precursor_gate.py +0 -0
  342. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_precursor_gate_eval.py +0 -0
  343. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_preflight_sidecar.py +0 -0
  344. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_proc_delta.py +0 -0
  345. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_productivity.py +0 -0
  346. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_prop_breaker.py +0 -0
  347. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_prop_cooldown.py +0 -0
  348. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_prop_efficiency.py +0 -0
  349. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_prop_install_wrappers.py +0 -0
  350. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_prop_overlap_soundness.py +0 -0
  351. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_prop_productivity.py +0 -0
  352. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_prop_reconcile.py +0 -0
  353. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_prop_reward_nonforgeability.py +0 -0
  354. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_prop_tree.py +0 -0
  355. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_provider_limit.py +0 -0
  356. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_readme_assembly.py +0 -0
  357. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_reconcile.py +0 -0
  358. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_recurring_wedge.py +0 -0
  359. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_refusal_and_tokens.py +0 -0
  360. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_reindex.py +0 -0
  361. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_render.py +0 -0
  362. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_replan_skip.py +0 -0
  363. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_result_state.py +0 -0
  364. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_resume_cli.py +0 -0
  365. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_resume_evidence.py +0 -0
  366. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_resume_reachability.py +0 -0
  367. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_retention.py +0 -0
  368. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_reward.py +0 -0
  369. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_rewind.py +0 -0
  370. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_rewind_cli.py +0 -0
  371. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_scope.py +0 -0
  372. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_scope_gate.py +0 -0
  373. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_scope_gate_cli.py +0 -0
  374. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_scope_source.py +0 -0
  375. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_scout.py +0 -0
  376. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_selfmodify_hook_probe.py +0 -0
  377. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_sibling_scan.py +0 -0
  378. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_similarity_judge.py +0 -0
  379. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_skill_pack_dispatch.py +0 -0
  380. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_skill_pack_generic.py +0 -0
  381. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_skill_pack_litmus.py +0 -0
  382. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_skill_pack_operator_tier.py +0 -0
  383. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_skill_pack_replan.py +0 -0
  384. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_stall_sim.py +0 -0
  385. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_stamp_convention.py +0 -0
  386. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_stamp_doctor.py +0 -0
  387. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_stamp_filepath_rung.py +0 -0
  388. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_stamp_trailer.py +0 -0
  389. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_state_diff.py +0 -0
  390. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_state_health.py +0 -0
  391. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_state_health_doctor.py +0 -0
  392. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_state_home.py +0 -0
  393. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_status_digest.py +0 -0
  394. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_stop_policy.py +0 -0
  395. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_subprocess_stdin_hygiene.py +0 -0
  396. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_supervise.py +0 -0
  397. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_testwitness.py +0 -0
  398. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_timeline_timing.py +0 -0
  399. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_tool_stream.py +0 -0
  400. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_tool_stream_cli.py +0 -0
  401. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_toolathlon_live_adapter.py +0 -0
  402. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_toolathlon_replay.py +0 -0
  403. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_toolathlon_rewind_ceiling.py +0 -0
  404. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_trace.py +0 -0
  405. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_trajectory_audit.py +0 -0
  406. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_vendor_agnostic_kernel.py +0 -0
  407. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_verdict_cli.py +0 -0
  408. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_verdict_contract.py +0 -0
  409. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_verdict_journal.py +0 -0
  410. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_verdict_rollup.py +0 -0
  411. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_verdicts.py +0 -0
  412. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_verify_color.py +0 -0
  413. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_verify_demo_contract.py +0 -0
  414. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_verify_no_plan.py +0 -0
  415. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_verify_non_git_rung.py +0 -0
  416. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_verify_plugin_install.py +0 -0
  417. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_workflow_yaml_parses.py +0 -0
  418. {dos_kernel-0.24.1 → dos_kernel-0.25.0}/tests/test_workspace_config.py +0 -0
@@ -1,15 +1,18 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dos-kernel
3
- Version: 0.24.1
3
+ Version: 0.25.0
4
4
  Summary: Dispatch Operating System — the domain-free trust substrate for fleets of autonomous agents (verdict spine, ship oracle, structured refusal, lane arbiter, correlation spine).
5
5
  Author: Anthony Chaudhary
6
6
  License: MIT
7
7
  Project-URL: Homepage, https://github.com/anthony-chaudhary/dos-kernel
8
+ Project-URL: Website, https://anthony-chaudhary.github.io/dos-kernel/
8
9
  Project-URL: Documentation, https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/QUICKSTART.md
10
+ Project-URL: FAQ, https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/FAQ.md
11
+ Project-URL: llms.txt, https://raw.githubusercontent.com/anthony-chaudhary/dos-kernel/master/llms.txt
9
12
  Project-URL: Repository, https://github.com/anthony-chaudhary/dos-kernel
10
13
  Project-URL: Issues, https://github.com/anthony-chaudhary/dos-kernel/issues
11
14
  Project-URL: Changelog, https://github.com/anthony-chaudhary/dos-kernel/tree/master/docs/releases
12
- Keywords: agents,ai-agents,llm,multi-agent,agent-orchestration,orchestration,dispatch,scheduler,oracle,leases,verification,trust,mcp
15
+ Keywords: agents,ai-agents,llm,multi-agent,agent-orchestration,orchestration,dispatch,scheduler,oracle,leases,verification,trust,mcp,claude,claude-code,mcp-server,model-context-protocol,agent-verification,autonomous-agents,agent-monitoring
13
16
  Classifier: Development Status :: 4 - Beta
14
17
  Classifier: Intended Audience :: Developers
15
18
  Classifier: License :: OSI Approved :: MIT License
@@ -96,7 +99,23 @@ zero config, and the only thing you ever install is one small Python package.
96
99
  > ⏱️ **Want to try it right now?** Jump to **[Try it in 60 seconds](#try-it-in-60-seconds)**
97
100
  > — one command, real output, then come back for the why.
98
101
 
99
- <sub>**v0.24.1** · 3900+ tests · CI: Python 3.11–3.13 on Linux + a Windows 3.13
102
+ > ⚡ **Or just add it two commands, zero decisions.** From the repo where your
103
+ > agent works:
104
+ >
105
+ > ```bash
106
+ > pip install dos-kernel
107
+ > dos init --hooks auto # finds the agent runtime(s) you already use, wires in the checks
108
+ > ```
109
+ >
110
+ > From then on: your agent can't tell you **"done"** unless the work actually
111
+ > landed, two agents can't silently overwrite each other's files, and a run
112
+ > that stalls gets flagged instead of quietly spinning. Nothing about your
113
+ > workflow changes, and you don't need to learn any of the vocabulary below to
114
+ > be covered. It prints the one config file it wrote; deleting the `dos hook`
115
+ > entries there undoes it. (No runtime detected? It says so and lists the
116
+ > names to pick from — it never guesses.)
117
+
118
+ <sub>**v0.25.0** · 3900+ tests · CI: Python 3.11–3.13 on Linux + a Windows 3.13
100
119
  smoke run · the only runtime dependency is **PyYAML** · **MIT**.</sub>
101
120
 
102
121
  > 🧭 **Want it in plain words first?** What DOS is, what it catches, and what
@@ -549,9 +568,11 @@ first (`dos_verify` "did it ship?", `dos_commit_audit` "does this commit's claim
549
568
  match its diff?", `dos_status` one folded fact about a run), then
550
569
  `dos_arbitrate` (may two workers run without colliding?), the structured-refusal
551
570
  pair (`dos_refuse_reasons` / `dos_check_reason`), `dos_recall` (is this recalled
552
- memory still true?), and `dos_doctor` (the workspace report) so any
553
- MCP-speaking hostClaude Desktop, Cursor, Cline, Trae, an Agent-SDK app — can
554
- call the referee over JSON-on-stdio with zero Python coupling. Each verdict comes
571
+ memory still true?), `dos_citation_resolve` (does this cited legal case exist in
572
+ a third-party reporter?the *Mata v. Avianca* witness), and `dos_doctor` (the
573
+ workspace report) so any
574
+ MCP-speaking host — Claude Desktop, Claude Cowork, Cursor, Cline, Trae, an
575
+ Agent-SDK app — can call the referee over JSON-on-stdio with zero Python coupling. Each verdict comes
555
576
  back with a one-line interpretation of what it means for the agent's next move.
556
577
  (See **[the MCP server surface](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/80_mcp-server-surface.md)**.)
557
578
 
@@ -573,22 +594,37 @@ DOS's hooks into the runtime you actually run. One command per host — it write
573
594
  that host's own hook-config file, merged into anything already there:
574
595
 
575
596
  ```bash
597
+ dos init --hooks auto . # don't know the names below? this detects the
598
+ # runtime(s) this repo already uses and wires them all
576
599
  dos init --hooks claude-code . # .claude/settings.json
577
600
  dos init --hooks cursor . # .cursor/hooks.json
578
601
  dos init --hooks codex . # .codex/config.toml
579
602
  dos init --hooks gemini . # .gemini/settings.json
580
603
  dos init --hooks antigravity . # .agents/hooks.json
604
+ dos init --hooks claude-cowork . # the SAME .claude/settings.json Claude Code reads
581
605
  ```
582
606
 
583
607
  That binds three shipped hooks: `pretool` denies a structurally-refused call
584
608
  before it runs, `stop` refuses a stop on an unverified "done," `posttool`
585
609
  re-surfaces a stalled stream. This is the **enforcement** path (the *host*
586
610
  denies on a DOS verdict) — the complement to MCP's advisory path. Until
587
- recently this spoke only Claude Code; it now installs across five hosts —
588
- Claude Code, Cursor, Codex, Gemini, and Antigravity
611
+ recently this spoke only Claude Code; it now installs across six hosts —
612
+ Claude Code, Cursor, Codex, Gemini, Antigravity, and Claude Cowork
589
613
  ([docs/221](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/221_the-cross-vendor-hook-installer.md),
590
- [docs/269](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/269_antigravity-the-fifth-host.md)).
591
- `--with-hooks` is the back-compat alias for `--hooks claude-code`.
614
+ [docs/269](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/269_antigravity-the-fifth-host.md),
615
+ [docs/298](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/298_claude-cowork-the-sixth-host-shared-surface.md)).
616
+ `--with-hooks` is the back-compat alias for `--hooks claude-code`. `auto`
617
+ ([docs/303](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/303_hooks-auto-detection-plan.md))
618
+ names the host *for* you: it probes which of those config dirs already exist in
619
+ the repo — plus the shell's own environment, so a fresh repo opened inside
620
+ Claude Code still detects — wires every runtime it finds (a shared config file
621
+ is wired once), and fails loud with the list above when nothing is detectable,
622
+ never guessing. Claude
623
+ Cowork is the *shared-surface* host: it runs the same agent harness as Claude
624
+ Code, so wiring either name binds both — one file, one set of hooks. (One
625
+ honest caveat, carried on the install note itself: the Cowork app doesn't
626
+ *fire* hooks yet — anthropics/claude-code#63360 — so until that closes,
627
+ Cowork's working DOS surface is the advisory one above.)
592
628
 
593
629
  Under the installer sits a pluggable dialect seam: the verdict is decided
594
630
  once, then rendered into whatever JSON shape the host parses
@@ -770,9 +806,9 @@ pip install "dos-kernel[mcp]"
770
806
 
771
807
  After installing, run **`/dos-kernel:dos-setup`** once — it confirms the package
772
808
  is importable, reports what the plugin wired, and points at the next skill. The
773
- same three hooks are available à la carte via `dos init --hooks claude-code`
774
- (and for Cursor / Codex / Gemini); the plugin is just the pre-packaged Claude
775
- Code form. The bundle's design + the build that keeps its skills in lockstep
809
+ same three hooks are available à la carte via `dos init --hooks auto` (detects
810
+ your runtime; or name one claude-code, cursor, codex, gemini, antigravity,
811
+ claude-cowork); the plugin is just the pre-packaged Claude Code form. The bundle's design + the build that keeps its skills in lockstep
776
812
  with the source are in **[claude-plugin/README.md](https://github.com/anthony-chaudhary/dos-kernel/blob/master/claude-plugin/README.md)**.
777
813
 
778
814
  ## CLI
@@ -990,12 +1026,17 @@ for a copy-me skeleton.
990
1026
  ## Documentation
991
1027
 
992
1028
  - **[docs/QUICKSTART.md](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/QUICKSTART.md)** — runnable 5-minute hello-world. Start here.
1029
+ - **[docs/FAQ.md](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/FAQ.md)** — the arriving questions ("how do I
1030
+ verify an agent's claim?", "does it need an LLM?"), each answered in one
1031
+ self-contained block.
993
1032
  - **[docs/README.md](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/README.md)** — the docs index (guides vs. design notes
994
1033
  vs. the dated build-journal; the numbers are chronology, not a reading order).
995
1034
  - **[docs/HACKING.md](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/HACKING.md)** — extend DOS without forking it.
996
1035
  - **[CLAUDE.md](https://github.com/anthony-chaudhary/dos-kernel/blob/master/CLAUDE.md)** / **[CONTRIBUTING.md](https://github.com/anthony-chaudhary/dos-kernel/blob/master/CONTRIBUTING.md)** — the
997
1036
  architecture contract and how to send a change.
998
1037
  - **[docs/releases/](https://github.com/anthony-chaudhary/dos-kernel/tree/master/docs/releases)** — per-version release notes (the changelog).
1038
+ - **[The website](https://anthony-chaudhary.github.io/dos-kernel/)** — this page,
1039
+ condensed to one screen (good for sending to someone).
999
1040
 
1000
1041
  ## Playbooks & examples
1001
1042
 
@@ -1,52 +1,3 @@
1
- Metadata-Version: 2.4
2
- Name: dos-kernel
3
- Version: 0.24.1
4
- Summary: Dispatch Operating System — the domain-free trust substrate for fleets of autonomous agents (verdict spine, ship oracle, structured refusal, lane arbiter, correlation spine).
5
- Author: Anthony Chaudhary
6
- License: MIT
7
- Project-URL: Homepage, https://github.com/anthony-chaudhary/dos-kernel
8
- Project-URL: Documentation, https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/QUICKSTART.md
9
- Project-URL: Repository, https://github.com/anthony-chaudhary/dos-kernel
10
- Project-URL: Issues, https://github.com/anthony-chaudhary/dos-kernel/issues
11
- Project-URL: Changelog, https://github.com/anthony-chaudhary/dos-kernel/tree/master/docs/releases
12
- Keywords: agents,ai-agents,llm,multi-agent,agent-orchestration,orchestration,dispatch,scheduler,oracle,leases,verification,trust,mcp
13
- Classifier: Development Status :: 4 - Beta
14
- Classifier: Intended Audience :: Developers
15
- Classifier: License :: OSI Approved :: MIT License
16
- Classifier: Operating System :: OS Independent
17
- Classifier: Programming Language :: Python :: 3
18
- Classifier: Programming Language :: Python :: 3.11
19
- Classifier: Programming Language :: Python :: 3.12
20
- Classifier: Programming Language :: Python :: 3.13
21
- Classifier: Topic :: Software Development :: Quality Assurance
22
- Classifier: Topic :: Software Development :: Version Control :: Git
23
- Classifier: Topic :: System :: Distributed Computing
24
- Classifier: Typing :: Typed
25
- Requires-Python: >=3.11
26
- Description-Content-Type: text/markdown
27
- License-File: LICENSE
28
- Requires-Dist: pyyaml>=6.0
29
- Provides-Extra: dev
30
- Requires-Dist: pytest>=8.0; extra == "dev"
31
- Requires-Dist: build>=1.0; extra == "dev"
32
- Requires-Dist: wheel>=0.43; extra == "dev"
33
- Requires-Dist: ruff>=0.13; extra == "dev"
34
- Requires-Dist: mypy>=1.17; extra == "dev"
35
- Requires-Dist: hypothesis>=6.100; extra == "dev"
36
- Provides-Extra: mcp
37
- Requires-Dist: mcp>=1.2; extra == "mcp"
38
- Provides-Extra: tui
39
- Requires-Dist: rich>=13; extra == "tui"
40
- Requires-Dist: windows-curses>=2.3; sys_platform == "win32" and extra == "tui"
41
- Provides-Extra: notify-slack
42
- Requires-Dist: slack-helpers>=0.2; extra == "notify-slack"
43
- Provides-Extra: export-otlp
44
- Requires-Dist: opentelemetry-sdk>=1.20; extra == "export-otlp"
45
- Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.20; extra == "export-otlp"
46
- Provides-Extra: paper
47
- Requires-Dist: arxiv-latex-cleaner>=1.0; extra == "paper"
48
- Dynamic: license-file
49
-
50
1
  <!-- GENERATED FILE — do not edit README.md directly.
51
2
  The source of truth is docs/readme/ (one file per section, assembled
52
3
  in filename order). Edit the part, then run:
@@ -96,7 +47,23 @@ zero config, and the only thing you ever install is one small Python package.
96
47
  > ⏱️ **Want to try it right now?** Jump to **[Try it in 60 seconds](#try-it-in-60-seconds)**
97
48
  > — one command, real output, then come back for the why.
98
49
 
99
- <sub>**v0.24.1** · 3900+ tests · CI: Python 3.11–3.13 on Linux + a Windows 3.13
50
+ > ⚡ **Or just add it two commands, zero decisions.** From the repo where your
51
+ > agent works:
52
+ >
53
+ > ```bash
54
+ > pip install dos-kernel
55
+ > dos init --hooks auto # finds the agent runtime(s) you already use, wires in the checks
56
+ > ```
57
+ >
58
+ > From then on: your agent can't tell you **"done"** unless the work actually
59
+ > landed, two agents can't silently overwrite each other's files, and a run
60
+ > that stalls gets flagged instead of quietly spinning. Nothing about your
61
+ > workflow changes, and you don't need to learn any of the vocabulary below to
62
+ > be covered. It prints the one config file it wrote; deleting the `dos hook`
63
+ > entries there undoes it. (No runtime detected? It says so and lists the
64
+ > names to pick from — it never guesses.)
65
+
66
+ <sub>**v0.25.0** · 3900+ tests · CI: Python 3.11–3.13 on Linux + a Windows 3.13
100
67
  smoke run · the only runtime dependency is **PyYAML** · **MIT**.</sub>
101
68
 
102
69
  > 🧭 **Want it in plain words first?** What DOS is, what it catches, and what
@@ -549,9 +516,11 @@ first (`dos_verify` "did it ship?", `dos_commit_audit` "does this commit's claim
549
516
  match its diff?", `dos_status` one folded fact about a run), then
550
517
  `dos_arbitrate` (may two workers run without colliding?), the structured-refusal
551
518
  pair (`dos_refuse_reasons` / `dos_check_reason`), `dos_recall` (is this recalled
552
- memory still true?), and `dos_doctor` (the workspace report) so any
553
- MCP-speaking hostClaude Desktop, Cursor, Cline, Trae, an Agent-SDK app — can
554
- call the referee over JSON-on-stdio with zero Python coupling. Each verdict comes
519
+ memory still true?), `dos_citation_resolve` (does this cited legal case exist in
520
+ a third-party reporter?the *Mata v. Avianca* witness), and `dos_doctor` (the
521
+ workspace report) so any
522
+ MCP-speaking host — Claude Desktop, Claude Cowork, Cursor, Cline, Trae, an
523
+ Agent-SDK app — can call the referee over JSON-on-stdio with zero Python coupling. Each verdict comes
555
524
  back with a one-line interpretation of what it means for the agent's next move.
556
525
  (See **[the MCP server surface](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/80_mcp-server-surface.md)**.)
557
526
 
@@ -573,22 +542,37 @@ DOS's hooks into the runtime you actually run. One command per host — it write
573
542
  that host's own hook-config file, merged into anything already there:
574
543
 
575
544
  ```bash
545
+ dos init --hooks auto . # don't know the names below? this detects the
546
+ # runtime(s) this repo already uses and wires them all
576
547
  dos init --hooks claude-code . # .claude/settings.json
577
548
  dos init --hooks cursor . # .cursor/hooks.json
578
549
  dos init --hooks codex . # .codex/config.toml
579
550
  dos init --hooks gemini . # .gemini/settings.json
580
551
  dos init --hooks antigravity . # .agents/hooks.json
552
+ dos init --hooks claude-cowork . # the SAME .claude/settings.json Claude Code reads
581
553
  ```
582
554
 
583
555
  That binds three shipped hooks: `pretool` denies a structurally-refused call
584
556
  before it runs, `stop` refuses a stop on an unverified "done," `posttool`
585
557
  re-surfaces a stalled stream. This is the **enforcement** path (the *host*
586
558
  denies on a DOS verdict) — the complement to MCP's advisory path. Until
587
- recently this spoke only Claude Code; it now installs across five hosts —
588
- Claude Code, Cursor, Codex, Gemini, and Antigravity
559
+ recently this spoke only Claude Code; it now installs across six hosts —
560
+ Claude Code, Cursor, Codex, Gemini, Antigravity, and Claude Cowork
589
561
  ([docs/221](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/221_the-cross-vendor-hook-installer.md),
590
- [docs/269](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/269_antigravity-the-fifth-host.md)).
591
- `--with-hooks` is the back-compat alias for `--hooks claude-code`.
562
+ [docs/269](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/269_antigravity-the-fifth-host.md),
563
+ [docs/298](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/298_claude-cowork-the-sixth-host-shared-surface.md)).
564
+ `--with-hooks` is the back-compat alias for `--hooks claude-code`. `auto`
565
+ ([docs/303](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/303_hooks-auto-detection-plan.md))
566
+ names the host *for* you: it probes which of those config dirs already exist in
567
+ the repo — plus the shell's own environment, so a fresh repo opened inside
568
+ Claude Code still detects — wires every runtime it finds (a shared config file
569
+ is wired once), and fails loud with the list above when nothing is detectable,
570
+ never guessing. Claude
571
+ Cowork is the *shared-surface* host: it runs the same agent harness as Claude
572
+ Code, so wiring either name binds both — one file, one set of hooks. (One
573
+ honest caveat, carried on the install note itself: the Cowork app doesn't
574
+ *fire* hooks yet — anthropics/claude-code#63360 — so until that closes,
575
+ Cowork's working DOS surface is the advisory one above.)
592
576
 
593
577
  Under the installer sits a pluggable dialect seam: the verdict is decided
594
578
  once, then rendered into whatever JSON shape the host parses
@@ -770,9 +754,9 @@ pip install "dos-kernel[mcp]"
770
754
 
771
755
  After installing, run **`/dos-kernel:dos-setup`** once — it confirms the package
772
756
  is importable, reports what the plugin wired, and points at the next skill. The
773
- same three hooks are available à la carte via `dos init --hooks claude-code`
774
- (and for Cursor / Codex / Gemini); the plugin is just the pre-packaged Claude
775
- Code form. The bundle's design + the build that keeps its skills in lockstep
757
+ same three hooks are available à la carte via `dos init --hooks auto` (detects
758
+ your runtime; or name one claude-code, cursor, codex, gemini, antigravity,
759
+ claude-cowork); the plugin is just the pre-packaged Claude Code form. The bundle's design + the build that keeps its skills in lockstep
776
760
  with the source are in **[claude-plugin/README.md](https://github.com/anthony-chaudhary/dos-kernel/blob/master/claude-plugin/README.md)**.
777
761
 
778
762
  ## CLI
@@ -990,12 +974,17 @@ for a copy-me skeleton.
990
974
  ## Documentation
991
975
 
992
976
  - **[docs/QUICKSTART.md](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/QUICKSTART.md)** — runnable 5-minute hello-world. Start here.
977
+ - **[docs/FAQ.md](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/FAQ.md)** — the arriving questions ("how do I
978
+ verify an agent's claim?", "does it need an LLM?"), each answered in one
979
+ self-contained block.
993
980
  - **[docs/README.md](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/README.md)** — the docs index (guides vs. design notes
994
981
  vs. the dated build-journal; the numbers are chronology, not a reading order).
995
982
  - **[docs/HACKING.md](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/HACKING.md)** — extend DOS without forking it.
996
983
  - **[CLAUDE.md](https://github.com/anthony-chaudhary/dos-kernel/blob/master/CLAUDE.md)** / **[CONTRIBUTING.md](https://github.com/anthony-chaudhary/dos-kernel/blob/master/CONTRIBUTING.md)** — the
997
984
  architecture contract and how to send a change.
998
985
  - **[docs/releases/](https://github.com/anthony-chaudhary/dos-kernel/tree/master/docs/releases)** — per-version release notes (the changelog).
986
+ - **[The website](https://anthony-chaudhary.github.io/dos-kernel/)** — this page,
987
+ condensed to one screen (good for sending to someone).
999
988
 
1000
989
  ## Playbooks & examples
1001
990
 
@@ -9,7 +9,7 @@ build-backend = "setuptools.build_meta"
9
9
  # src/), and the console scripts stay `dos` / `dos-mcp` — only the pip-install /
10
10
  # dependency-pin name is `dos-kernel`. See SECURITY.md "Supply chain".
11
11
  name = "dos-kernel"
12
- version = "0.24.1"
12
+ version = "0.25.0"
13
13
  description = "Dispatch Operating System — the domain-free trust substrate for fleets of autonomous agents (verdict spine, ship oracle, structured refusal, lane arbiter, correlation spine)."
14
14
  # The PyPI project page renders this. Point it at the README so the page isn't
15
15
  # blank below the metadata (twine warns when it's missing). PyPI resolves
@@ -24,6 +24,11 @@ keywords = [
24
24
  "agents", "ai-agents", "llm", "multi-agent", "agent-orchestration",
25
25
  "orchestration", "dispatch", "scheduler", "oracle", "leases",
26
26
  "verification", "trust", "mcp",
27
+ # The arrival terms an agent or answer engine actually types (docs/299 P3).
28
+ # Honesty rule: every keyword must be true of the package — no aspirational
29
+ # or adjacent-product terms.
30
+ "claude", "claude-code", "mcp-server", "model-context-protocol",
31
+ "agent-verification", "autonomous-agents", "agent-monitoring",
27
32
  ]
28
33
  classifiers = [
29
34
  "Development Status :: 4 - Beta",
@@ -188,6 +193,10 @@ codex = "dos.drivers.hook_dialects:CodexDialect"
188
193
  gemini = "dos.drivers.hook_dialects:GeminiDialect"
189
194
  cursor = "dos.drivers.hook_dialects:CursorDialect"
190
195
  antigravity = "dos.drivers.hook_dialects:AntigravityDialect"
196
+ # Claude Cowork runs the Claude Code agent harness in a desktop VM, so its envelope
197
+ # IS CC's — the renderer delegates (the Codex precedent), kept as a named entry so
198
+ # `--dialect claude-cowork` resolves and a future divergence has a home (docs/298).
199
+ claude-cowork = "dos.drivers.hook_dialects:ClaudeCoworkDialect"
191
200
  # Hermes Agent (Nous Research) — its `pre_tool_call` SHELL hook is a real
192
201
  # stdout-JSON deny surface (`{"decision":"block","reason":…}`), docs/278. (OpenClaw's
193
202
  # real hook is an in-process TS return, not stdout — no renderer consumer; SwarmClaw
@@ -282,10 +291,20 @@ codex = "dos.drivers.hook_dialects:codex_install_spec"
282
291
  gemini = "dos.drivers.hook_dialects:gemini_install_spec"
283
292
  cursor = "dos.drivers.hook_dialects:cursor_install_spec"
284
293
  antigravity = "dos.drivers.hook_dialects:antigravity_install_spec"
294
+ # Claude Cowork — the SHARED surface: the same .claude/settings.json Claude Code
295
+ # reads (same harness, same file; the wired command carries NO --dialect because the
296
+ # shared file must serve both runtimes and the default IS the envelope). The spec's
297
+ # note carries the one Cowork-specific fact: the product does not fire hooks yet
298
+ # (anthropics/claude-code#63360, docs/298).
299
+ claude-cowork = "dos.drivers.hook_dialects:claude_cowork_install_spec"
285
300
 
286
301
  [project.urls]
287
302
  Homepage = "https://github.com/anthony-chaudhary/dos-kernel"
303
+ Website = "https://anthony-chaudhary.github.io/dos-kernel/"
288
304
  Documentation = "https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/QUICKSTART.md"
305
+ FAQ = "https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/FAQ.md"
306
+ # The agent-facing index (docs/299): the raw URL is the fetchable spelling.
307
+ "llms.txt" = "https://raw.githubusercontent.com/anthony-chaudhary/dos-kernel/master/llms.txt"
289
308
  Repository = "https://github.com/anthony-chaudhary/dos-kernel"
290
309
  Issues = "https://github.com/anthony-chaudhary/dos-kernel/issues"
291
310
  Changelog = "https://github.com/anthony-chaudhary/dos-kernel/tree/master/docs/releases"
@@ -46,7 +46,7 @@ try:
46
46
 
47
47
  __version__ = _pkg_version("dos-kernel")
48
48
  except Exception: # pragma: no cover - source-tree / not-installed fallback
49
- __version__ = "0.24.1"
49
+ __version__ = "0.25.0"
50
50
 
51
51
  from dos import config # noqa: F401 (re-export the seam as the package entry)
52
52
  from dos.config import ( # noqa: F401