dos-kernel 0.25.0__tar.gz → 0.26.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 (471) hide show
  1. {dos_kernel-0.25.0/src/dos_kernel.egg-info → dos_kernel-0.26.0}/PKG-INFO +57 -2
  2. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/README.md +54 -1
  3. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/pyproject.toml +27 -1
  4. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/__init__.py +16 -1
  5. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/cli.py +594 -13
  6. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/commit_audit.py +219 -34
  7. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/config_lint.py +50 -2
  8. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/decisions.py +321 -3
  9. dos_kernel-0.26.0/src/dos/deprecation.py +68 -0
  10. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/dispatch_top.py +90 -0
  11. dos_kernel-0.26.0/src/dos/drivers/_effect_gate.py +376 -0
  12. dos_kernel-0.26.0/src/dos/drivers/crewai_guardrail.py +85 -0
  13. dos_kernel-0.26.0/src/dos/drivers/memory_mem0.py +158 -0
  14. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/memory_recall.py +462 -34
  15. dos_kernel-0.26.0/src/dos/drivers/nemo_action.py +102 -0
  16. dos_kernel-0.26.0/src/dos/drivers/openai_agents_guardrail.py +112 -0
  17. dos_kernel-0.26.0/src/dos/drivers/pre_commit.py +67 -0
  18. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/event_severity.py +35 -2
  19. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/home.py +2 -1
  20. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/hook_install.py +109 -0
  21. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/intent_ledger.py +16 -1
  22. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/lane_journal.py +21 -1
  23. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/liveness.py +9 -0
  24. dos_kernel-0.26.0/src/dos/memory_stores.py +185 -0
  25. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/phase_shipped.py +104 -3
  26. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/plan_board.py +26 -0
  27. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/pretool_sensor.py +100 -1
  28. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/skills/EXAMPLES.md +1 -1
  29. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/skills/dos-dispatch/SKILL.md +1 -1
  30. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/skills/dos-next-up/SKILL.md +1 -1
  31. dos_kernel-0.26.0/src/dos/testing/__init__.py +71 -0
  32. dos_kernel-0.26.0/src/dos/testing/doubles.py +222 -0
  33. dos_kernel-0.26.0/src/dos/testing/suite.py +392 -0
  34. dos_kernel-0.26.0/src/dos/testing/tester.py +122 -0
  35. dos_kernel-0.26.0/src/dos/verdict_census.py +381 -0
  36. dos_kernel-0.26.0/src/dos/verified.py +134 -0
  37. dos_kernel-0.26.0/src/dos/work_account.py +263 -0
  38. {dos_kernel-0.25.0 → dos_kernel-0.26.0/src/dos_kernel.egg-info}/PKG-INFO +57 -2
  39. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos_kernel.egg-info/SOURCES.txt +53 -0
  40. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos_kernel.egg-info/entry_points.txt +3 -0
  41. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos_kernel.egg-info/requires.txt +3 -0
  42. dos_kernel-0.26.0/tests/test_backlog_triage.py +353 -0
  43. dos_kernel-0.26.0/tests/test_braintrust_scorer_example.py +107 -0
  44. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_canonical_example_lockstep.py +1 -0
  45. dos_kernel-0.26.0/tests/test_caught_lie_cast.py +96 -0
  46. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_cli_ergonomics.py +55 -0
  47. dos_kernel-0.26.0/tests/test_clobber_demo_contract.py +134 -0
  48. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_commit_audit.py +250 -14
  49. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_config_lint.py +33 -0
  50. dos_kernel-0.26.0/tests/test_conformance_plugin_examples.py +85 -0
  51. dos_kernel-0.26.0/tests/test_conformance_suite.py +193 -0
  52. dos_kernel-0.26.0/tests/test_crewai_guardrail.py +115 -0
  53. dos_kernel-0.26.0/tests/test_cross_host_continuity.py +192 -0
  54. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_decisions.py +268 -0
  55. dos_kernel-0.26.0/tests/test_deprecation.py +109 -0
  56. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_dispatch_top.py +115 -0
  57. dos_kernel-0.26.0/tests/test_docs_links.py +96 -0
  58. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_docs_version_drift.py +3 -0
  59. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_doctor_json.py +39 -0
  60. dos_kernel-0.26.0/tests/test_drift_scoreboard.py +295 -0
  61. dos_kernel-0.26.0/tests/test_duplicate_plan_numbers.py +277 -0
  62. dos_kernel-0.26.0/tests/test_effect_gate.py +243 -0
  63. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_event_severity.py +66 -0
  64. dos_kernel-0.26.0/tests/test_fault_injection_journal.py +376 -0
  65. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_fleet_framework_examples.py +30 -1
  66. dos_kernel-0.26.0/tests/test_forge_arena_bench.py +117 -0
  67. dos_kernel-0.26.0/tests/test_forge_page.py +85 -0
  68. dos_kernel-0.26.0/tests/test_gemini_extension.py +137 -0
  69. dos_kernel-0.26.0/tests/test_gitlab_ci_template.py +55 -0
  70. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_hook_pretool.py +95 -16
  71. dos_kernel-0.26.0/tests/test_hosts_verb.py +198 -0
  72. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_install_drift.py +1 -0
  73. dos_kernel-0.26.0/tests/test_kernel_keep_gate_example.py +207 -0
  74. dos_kernel-0.26.0/tests/test_kernel_keep_gate_real_kernelbench.py +103 -0
  75. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_liveness.py +67 -0
  76. dos_kernel-0.26.0/tests/test_memory_admit.py +213 -0
  77. dos_kernel-0.26.0/tests/test_memory_fossils.py +297 -0
  78. dos_kernel-0.26.0/tests/test_memory_integrity_bench.py +73 -0
  79. dos_kernel-0.26.0/tests/test_memory_mem0.py +157 -0
  80. dos_kernel-0.26.0/tests/test_memory_stores.py +229 -0
  81. dos_kernel-0.26.0/tests/test_nemo_action.py +130 -0
  82. dos_kernel-0.26.0/tests/test_openai_agents_guardrail.py +177 -0
  83. dos_kernel-0.26.0/tests/test_poisoned_pool_bench.py +188 -0
  84. dos_kernel-0.26.0/tests/test_poisoned_pool_p2.py +221 -0
  85. dos_kernel-0.26.0/tests/test_poisoned_pool_policies.py +128 -0
  86. dos_kernel-0.26.0/tests/test_pre_commit_hook.py +213 -0
  87. dos_kernel-0.26.0/tests/test_prop_arbiter_wal.py +361 -0
  88. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_release_bump.py +9 -7
  89. dos_kernel-0.26.0/tests/test_scoreboard_surfaces.py +183 -0
  90. dos_kernel-0.26.0/tests/test_stability_policy.py +96 -0
  91. dos_kernel-0.26.0/tests/test_verdict_census.py +181 -0
  92. dos_kernel-0.26.0/tests/test_verified.py +206 -0
  93. dos_kernel-0.26.0/tests/test_work_account.py +307 -0
  94. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/LICENSE +0 -0
  95. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/setup.cfg +0 -0
  96. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/_demo_story.py +0 -0
  97. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/_filelock.py +0 -0
  98. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/_job_policy.py +0 -0
  99. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/_tree.py +0 -0
  100. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/admission.py +0 -0
  101. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/answer_shape.py +0 -0
  102. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/arbiter.py +0 -0
  103. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/archive_lock.py +0 -0
  104. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/arg_provenance.py +0 -0
  105. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/attest.py +0 -0
  106. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/breaker.py +0 -0
  107. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/churn.py +0 -0
  108. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/claim_extract.py +0 -0
  109. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/claim_ttl.py +0 -0
  110. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/completion.py +0 -0
  111. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/concurrency_class.py +0 -0
  112. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/config.py +0 -0
  113. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/cooldown.py +0 -0
  114. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/coverage.py +0 -0
  115. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/dangling_intent.py +0 -0
  116. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/data_class.py +0 -0
  117. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/decisions_tui.py +0 -0
  118. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/dispatch_top_tui.py +0 -0
  119. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/__init__.py +0 -0
  120. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/agt_backend.py +0 -0
  121. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/ci_status.py +0 -0
  122. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/citation_resolve.py +0 -0
  123. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/decision_stop.py +0 -0
  124. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/design_doc_plan.py +0 -0
  125. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/export_file.py +0 -0
  126. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/export_otlp.py +0 -0
  127. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/export_statsd.py +0 -0
  128. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/hook_dialects.py +0 -0
  129. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/job.py +0 -0
  130. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/llm_judge.py +0 -0
  131. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/notify_slack.py +0 -0
  132. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/notify_webhook.py +0 -0
  133. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/operator_judge.py +0 -0
  134. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/os_acceptance.py +0 -0
  135. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/paste_log.py +0 -0
  136. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/plan_scope.py +0 -0
  137. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/self_improve.py +0 -0
  138. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/similarity_judge.py +0 -0
  139. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/state_diff.py +0 -0
  140. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/supervisor.py +0 -0
  141. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/watchdog.py +0 -0
  142. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/workshop.py +0 -0
  143. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/durable_schema.py +0 -0
  144. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/effect_witness.py +0 -0
  145. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/efficiency.py +0 -0
  146. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/efficiency_trend.py +0 -0
  147. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/enforce.py +0 -0
  148. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/enumerate.py +0 -0
  149. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/env_print.py +0 -0
  150. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/evidence.py +0 -0
  151. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/exec_capability.py +0 -0
  152. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/export_cursor.py +0 -0
  153. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/exporter.py +0 -0
  154. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/firing_label.py +0 -0
  155. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/fleet_roll.py +0 -0
  156. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/gate_classify.py +0 -0
  157. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/gh4_coverage.py +0 -0
  158. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/git_delta.py +0 -0
  159. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/guard.py +0 -0
  160. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/health.py +0 -0
  161. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/help_summary.py +0 -0
  162. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/hook_binary.py +0 -0
  163. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/hook_dialect.py +0 -0
  164. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/hook_exit.py +0 -0
  165. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/hook_observation.py +0 -0
  166. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/id_alloc.py +0 -0
  167. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/improve.py +0 -0
  168. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/interpret.py +0 -0
  169. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/intervention.py +0 -0
  170. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/intervention_eval.py +0 -0
  171. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/journal_delta.py +0 -0
  172. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/judge_eval.py +0 -0
  173. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/judges.py +0 -0
  174. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/lane_infer.py +0 -0
  175. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/lane_lease.py +0 -0
  176. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/lane_overlap.py +0 -0
  177. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/lease_health.py +0 -0
  178. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/lifecycle.py +0 -0
  179. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/lock_modes.py +0 -0
  180. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/log_source.py +0 -0
  181. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/loop_decide.py +0 -0
  182. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/marker_gate.py +0 -0
  183. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/marker_sensor.py +0 -0
  184. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/noop_streak.py +0 -0
  185. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/notify.py +0 -0
  186. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/observe.py +0 -0
  187. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/oracle.py +0 -0
  188. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/overlap_eval.py +0 -0
  189. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/overlap_policy.py +0 -0
  190. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/override_facts.py +0 -0
  191. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/packet_sidecar.py +0 -0
  192. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/pick_priority.py +0 -0
  193. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/pickable.py +0 -0
  194. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/picker_oracle.py +0 -0
  195. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/plan_board_tui.py +0 -0
  196. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/plan_source.py +0 -0
  197. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/posttool_sensor.py +0 -0
  198. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/precursor_gate.py +0 -0
  199. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/precursor_gate_eval.py +0 -0
  200. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/preflight.py +0 -0
  201. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/proc_delta.py +0 -0
  202. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/productivity.py +0 -0
  203. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/provider_limit.py +0 -0
  204. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/py.typed +0 -0
  205. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/reason_morphology.py +0 -0
  206. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/reasons.py +0 -0
  207. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/reconcile.py +0 -0
  208. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/recurring_wedge.py +0 -0
  209. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/render.py +0 -0
  210. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/result_state.py +0 -0
  211. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/resume.py +0 -0
  212. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/resume_evidence.py +0 -0
  213. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/retention.py +0 -0
  214. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/reward.py +0 -0
  215. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/rewind.py +0 -0
  216. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/rewind_evidence.py +0 -0
  217. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/rewind_tokens.py +0 -0
  218. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/run_id.py +0 -0
  219. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/scope.py +0 -0
  220. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/scope_source.py +0 -0
  221. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/scout.py +0 -0
  222. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/self_modify.py +0 -0
  223. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/sibling_scan.py +0 -0
  224. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/skills/dos-class-cycle/SKILL.md +0 -0
  225. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/skills/dos-dispatch-loop/SKILL.md +0 -0
  226. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/skills/dos-goal-gate/SKILL.md +0 -0
  227. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/skills/dos-promote/SKILL.md +0 -0
  228. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/skills/dos-replan/SKILL.md +0 -0
  229. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/skills/dos-replan-loop/SKILL.md +0 -0
  230. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/skills/dos-self-improve/SKILL.md +0 -0
  231. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/skills/dos-supervise-loop/SKILL.md +0 -0
  232. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/skills/dos-unstick/SKILL.md +0 -0
  233. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/skills/dos-witness-claim/SKILL.md +0 -0
  234. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/spend.py +0 -0
  235. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/stamp.py +0 -0
  236. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/state_health.py +0 -0
  237. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/status.py +0 -0
  238. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/stop_policy.py +0 -0
  239. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/supervise.py +0 -0
  240. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/testwitness.py +0 -0
  241. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/timeline.py +0 -0
  242. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/tokens.py +0 -0
  243. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/tool_stream.py +0 -0
  244. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/tool_stream_eval.py +0 -0
  245. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/trace.py +0 -0
  246. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/verdict.py +0 -0
  247. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/verdict_cli.py +0 -0
  248. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/verdict_journal.py +0 -0
  249. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/verdict_rollup.py +0 -0
  250. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/verdicts.py +0 -0
  251. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/wedge_reason.py +0 -0
  252. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos_kernel.egg-info/dependency_links.txt +0 -0
  253. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos_kernel.egg-info/top_level.txt +0 -0
  254. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos_mcp/__init__.py +0 -0
  255. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos_mcp/py.typed +0 -0
  256. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos_mcp/server.py +0 -0
  257. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_admission.py +0 -0
  258. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_agent_surface.py +0 -0
  259. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_agenthallu_replay.py +0 -0
  260. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_agentprocessbench_replay.py +0 -0
  261. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_agt_backend.py +0 -0
  262. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_answer_shape.py +0 -0
  263. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_arbiter.py +0 -0
  264. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_archive_lock.py +0 -0
  265. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_arg_provenance.py +0 -0
  266. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_attest.py +0 -0
  267. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_backflow_ledger.py +0 -0
  268. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_bench_layering.py +0 -0
  269. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_breaker.py +0 -0
  270. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_build_wheels_binary_format.py +0 -0
  271. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_central_index.py +0 -0
  272. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_churn.py +0 -0
  273. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_ci_status.py +0 -0
  274. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_citation_resolve.py +0 -0
  275. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_claim_extract.py +0 -0
  276. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_claim_ttl.py +0 -0
  277. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_claims_lint.py +0 -0
  278. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_cli_loop.py +0 -0
  279. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_cli_pickable_enumerate.py +0 -0
  280. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_cmd_status.py +0 -0
  281. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_completion.py +0 -0
  282. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_concurrency_class.py +0 -0
  283. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_cooldown.py +0 -0
  284. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_coverage.py +0 -0
  285. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_dangling_intent.py +0 -0
  286. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_data_class.py +0 -0
  287. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_design_doc_plan_source.py +0 -0
  288. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_dispatch_loop_substrate.py +0 -0
  289. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_dos_react_terminal_error.py +0 -0
  290. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_drivers_self_improve.py +0 -0
  291. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_drivers_supervisor.py +0 -0
  292. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_drivers_watchdog.py +0 -0
  293. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_drivers_workshop.py +0 -0
  294. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_durable_schema.py +0 -0
  295. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_effect_witness.py +0 -0
  296. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_efficiency.py +0 -0
  297. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_efficiency_trend.py +0 -0
  298. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_efficiency_trend_cli.py +0 -0
  299. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_enforce.py +0 -0
  300. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_ensure_home.py +0 -0
  301. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_enterpriseops_harness.py +0 -0
  302. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_enumerate.py +0 -0
  303. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_env_print.py +0 -0
  304. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_evidence.py +0 -0
  305. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_exec_capability.py +0 -0
  306. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_export_cli.py +0 -0
  307. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_export_cursor.py +0 -0
  308. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_export_otlp.py +0 -0
  309. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_export_statsd.py +0 -0
  310. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_exporter.py +0 -0
  311. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_feasibility_split.py +0 -0
  312. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_filelock.py +0 -0
  313. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_filepath_backstop_batch.py +0 -0
  314. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_firing_label.py +0 -0
  315. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_fleet_roll.py +0 -0
  316. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_gate_cli.py +0 -0
  317. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_gh4_coverage.py +0 -0
  318. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_git_hygiene.py +0 -0
  319. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_gitignore_hygiene.py +0 -0
  320. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_go_hook_parity.py +0 -0
  321. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_guard.py +0 -0
  322. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_health.py +0 -0
  323. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_help_summary.py +0 -0
  324. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_hermes_integration_example.py +0 -0
  325. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_home_layering.py +0 -0
  326. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_home_no_temp_pollution.py +0 -0
  327. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_hook_binaries_bundled.py +0 -0
  328. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_hook_binary_locator.py +0 -0
  329. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_hook_dialect.py +0 -0
  330. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_hook_exit.py +0 -0
  331. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_hook_observation.py +0 -0
  332. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_hook_stop.py +0 -0
  333. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_id_alloc.py +0 -0
  334. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_improve.py +0 -0
  335. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_init_hooks.py +0 -0
  336. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_init_hooks_auto.py +0 -0
  337. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_init_hooks_crossvendor.py +0 -0
  338. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_init_skills.py +0 -0
  339. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_install_levels.py +0 -0
  340. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_intent_ledger.py +0 -0
  341. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_interpret_parity.py +0 -0
  342. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_intervention.py +0 -0
  343. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_intervention_cli.py +0 -0
  344. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_intervention_eval.py +0 -0
  345. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_journal_delta.py +0 -0
  346. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_judge.py +0 -0
  347. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_judge_eval.py +0 -0
  348. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_judges.py +0 -0
  349. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_lane_adopt.py +0 -0
  350. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_lane_halt.py +0 -0
  351. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_lane_infer.py +0 -0
  352. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_lane_journal.py +0 -0
  353. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_lane_lease.py +0 -0
  354. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_lane_lease_expiry.py +0 -0
  355. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_lane_lease_mutex.py +0 -0
  356. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_lane_overlap.py +0 -0
  357. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_leak_scan.py +0 -0
  358. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_lease_health.py +0 -0
  359. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_lifecycle.py +0 -0
  360. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_llm_judge_vendor_seam.py +0 -0
  361. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_llms_full.py +0 -0
  362. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_llms_txt.py +0 -0
  363. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_lock_modes.py +0 -0
  364. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_log_source.py +0 -0
  365. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_marker_gate.py +0 -0
  366. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_marker_sensor.py +0 -0
  367. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_mcp_server.py +0 -0
  368. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_memory_recall.py +0 -0
  369. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_noop_streak.py +0 -0
  370. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_notify.py +0 -0
  371. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_notify_cli.py +0 -0
  372. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_notify_slack.py +0 -0
  373. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_notify_webhook.py +0 -0
  374. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_observe.py +0 -0
  375. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_operator_judge.py +0 -0
  376. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_oracle_and_loop.py +0 -0
  377. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_oracle_forgeability_provenance.py +0 -0
  378. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_oracle_grep_in_process.py +0 -0
  379. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_overlap_policy.py +0 -0
  380. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_override_window.py +0 -0
  381. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_packet_sidecar.py +0 -0
  382. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_phase_labels.py +0 -0
  383. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_pick_priority.py +0 -0
  384. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_pickable.py +0 -0
  385. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_plan_board.py +0 -0
  386. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_plan_source.py +0 -0
  387. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_plugin_manifest.py +0 -0
  388. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_posttool_sensor.py +0 -0
  389. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_precursor_gate.py +0 -0
  390. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_precursor_gate_eval.py +0 -0
  391. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_preflight_sidecar.py +0 -0
  392. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_proc_delta.py +0 -0
  393. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_productivity.py +0 -0
  394. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_prop_breaker.py +0 -0
  395. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_prop_cooldown.py +0 -0
  396. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_prop_efficiency.py +0 -0
  397. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_prop_install_wrappers.py +0 -0
  398. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_prop_overlap_soundness.py +0 -0
  399. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_prop_productivity.py +0 -0
  400. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_prop_reconcile.py +0 -0
  401. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_prop_reward_nonforgeability.py +0 -0
  402. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_prop_tree.py +0 -0
  403. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_provider_limit.py +0 -0
  404. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_readme_assembly.py +0 -0
  405. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_reconcile.py +0 -0
  406. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_recurring_wedge.py +0 -0
  407. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_refusal_and_tokens.py +0 -0
  408. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_reindex.py +0 -0
  409. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_render.py +0 -0
  410. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_replan_skip.py +0 -0
  411. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_result_state.py +0 -0
  412. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_resume_cli.py +0 -0
  413. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_resume_evidence.py +0 -0
  414. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_resume_reachability.py +0 -0
  415. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_retention.py +0 -0
  416. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_reward.py +0 -0
  417. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_rewind.py +0 -0
  418. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_rewind_cli.py +0 -0
  419. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_scope.py +0 -0
  420. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_scope_gate.py +0 -0
  421. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_scope_gate_cli.py +0 -0
  422. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_scope_source.py +0 -0
  423. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_scout.py +0 -0
  424. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_selfmodify_hook_probe.py +0 -0
  425. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_server_json_version.py +0 -0
  426. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_serverless_rl_example.py +0 -0
  427. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_sibling_scan.py +0 -0
  428. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_similarity_judge.py +0 -0
  429. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_skill_pack_dispatch.py +0 -0
  430. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_skill_pack_generic.py +0 -0
  431. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_skill_pack_litmus.py +0 -0
  432. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_skill_pack_operator_tier.py +0 -0
  433. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_skill_pack_replan.py +0 -0
  434. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_spend.py +0 -0
  435. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_spend_cli.py +0 -0
  436. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_spend_evidence.py +0 -0
  437. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_stall_sim.py +0 -0
  438. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_stamp_convention.py +0 -0
  439. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_stamp_doctor.py +0 -0
  440. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_stamp_filepath_rung.py +0 -0
  441. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_stamp_trailer.py +0 -0
  442. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_state_diff.py +0 -0
  443. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_state_health.py +0 -0
  444. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_state_health_doctor.py +0 -0
  445. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_state_home.py +0 -0
  446. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_status_digest.py +0 -0
  447. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_stop_policy.py +0 -0
  448. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_subprocess_stdin_hygiene.py +0 -0
  449. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_supervise.py +0 -0
  450. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_testwitness.py +0 -0
  451. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_timeline_timing.py +0 -0
  452. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_tool_stream.py +0 -0
  453. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_tool_stream_cli.py +0 -0
  454. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_toolathlon_live_adapter.py +0 -0
  455. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_toolathlon_replay.py +0 -0
  456. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_toolathlon_rewind_ceiling.py +0 -0
  457. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_trace.py +0 -0
  458. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_trajectory_audit.py +0 -0
  459. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_vendor_agnostic_kernel.py +0 -0
  460. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_verdict_cli.py +0 -0
  461. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_verdict_contract.py +0 -0
  462. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_verdict_journal.py +0 -0
  463. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_verdict_rollup.py +0 -0
  464. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_verdicts.py +0 -0
  465. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_verify_color.py +0 -0
  466. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_verify_demo_contract.py +0 -0
  467. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_verify_no_plan.py +0 -0
  468. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_verify_non_git_rung.py +0 -0
  469. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_verify_plugin_install.py +0 -0
  470. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_workflow_yaml_parses.py +0 -0
  471. {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_workspace_config.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dos-kernel
3
- Version: 0.25.0
3
+ Version: 0.26.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
@@ -46,6 +46,8 @@ Requires-Dist: slack-helpers>=0.2; extra == "notify-slack"
46
46
  Provides-Extra: export-otlp
47
47
  Requires-Dist: opentelemetry-sdk>=1.20; extra == "export-otlp"
48
48
  Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.20; extra == "export-otlp"
49
+ Provides-Extra: memory-mem0
50
+ Requires-Dist: mem0ai>=0.1; extra == "memory-mem0"
49
51
  Provides-Extra: paper
50
52
  Requires-Dist: arxiv-latex-cleaner>=1.0; extra == "paper"
51
53
  Dynamic: license-file
@@ -64,8 +66,18 @@ Dynamic: license-file
64
66
  [![Python versions](https://img.shields.io/pypi/pyversions/dos-kernel)](https://pypi.org/project/dos-kernel/)
65
67
  [![CI](https://github.com/anthony-chaudhary/dos-kernel/actions/workflows/ci.yml/badge.svg)](https://github.com/anthony-chaudhary/dos-kernel/actions/workflows/ci.yml)
66
68
  [![verified by DOS](https://github.com/anthony-chaudhary/dos-kernel/actions/workflows/dos-gate.yml/badge.svg)](https://github.com/anthony-chaudhary/dos-kernel/actions/workflows/dos-gate.yml)
69
+ [![commit-claims](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Fanthony-chaudhary%2Fdos-kernel%2Fmaster%2Fdocs%2Fscoreboard%2Fanthony-chaudhary%2Fdos-kernel%2Fbadge.json)](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/scoreboard/methodology.md)
67
70
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/anthony-chaudhary/dos-kernel/blob/master/LICENSE)
68
71
 
72
+ <p align="center">
73
+ <img src="https://raw.githubusercontent.com/anthony-chaudhary/dos-kernel/master/docs/assets/caught-lie-cast.svg" alt="A terminal recording of the caught lie. The agent reports: Done! Shipped the login endpoint (AUTH1) and the password reset (AUTH2). git log shows one commit — AUTH1: ship the login endpoint. dos verify AUTH AUTH1 answers SHIPPED (exit 0); dos verify AUTH AUTH2 answers NOT_SHIPPED via none (exit 1) — caught. The exit code is the verdict: gate the agent's done on it and a false claim cannot land." width="100%">
74
+ <br>
75
+ <em>The whole pitch in one recording: the agent claims two features shipped; git backs one.
76
+ <code>dos verify</code> answers from the commits, the lie exits <code>1</code>, and a gate on that
77
+ exit code refuses the false "done". Every line is the real CLI's verbatim output —
78
+ <a href="https://github.com/anthony-chaudhary/dos-kernel/blob/master/scripts/build_caught_lie_cast.py"><code>scripts/build_caught_lie_cast.py</code></a> re-records it whenever the output changes.</em>
79
+ </p>
80
+
69
81
  <p align="center">
70
82
  <img src="https://raw.githubusercontent.com/anthony-chaudhary/dos-kernel/master/docs/assets/loop-hero.svg" alt="Two agent fleets side by side. Left, no referee: agents all report 'done!', every report is believed, and silent corruption (lies, collisions, spin) piles up into a codebase that 'sorta works' and can't be changed. Right, DOS adjudicates: dos verify reads git and the run branches to SHIPPED (exit 0, land it) or NOT_SHIPPED (exit 1, re-dispatch — caught), and that verdict steers the next step." width="100%">
71
83
  <br>
@@ -115,7 +127,7 @@ zero config, and the only thing you ever install is one small Python package.
115
127
  > entries there undoes it. (No runtime detected? It says so and lists the
116
128
  > names to pick from — it never guesses.)
117
129
 
118
- <sub>**v0.25.0** · 3900+ tests · CI: Python 3.11–3.13 on Linux + a Windows 3.13
130
+ <sub>**v0.26.0** · 3900+ tests · CI: Python 3.11–3.13 on Linux + a Windows 3.13
119
131
  smoke run · the only runtime dependency is **PyYAML** · **MIT**.</sub>
120
132
 
121
133
  > 🧭 **Want it in plain words first?** What DOS is, what it catches, and what
@@ -587,6 +599,20 @@ thinks to. The per-host wiring for Cursor / Codex / Gemini is in
587
599
  **[the MCP README](https://github.com/anthony-chaudhary/dos-kernel/blob/master/src/dos_mcp/README.md)** — all four are MCP clients, so this
588
600
  works on every one of them with zero code.
589
601
 
602
+ **Gemini CLI users get a one-liner.** DOS ships a `gemini-extension.json`
603
+ manifest at the repo root, so the whole referee — the MCP server plus a context
604
+ file that tells the model to gate its own done-claims — installs as one Gemini
605
+ extension, no clone and no config edit:
606
+
607
+ ```bash
608
+ pip install 'dos-kernel[mcp]' # the server the extension launches
609
+ gemini extensions install https://github.com/anthony-chaudhary/dos-kernel
610
+ ```
611
+
612
+ The same manifest is what Google's auto-indexed
613
+ [extensions gallery](https://geminicli.com/extensions/) crawls, so the listing
614
+ is automatic.
615
+
590
616
  ### …then make the verdict *act* (hooks)
591
617
 
592
618
  To go from "the agent can ask" to "the host won't let a bad call through", wire
@@ -604,6 +630,15 @@ dos init --hooks antigravity . # .agents/hooks.json
604
630
  dos init --hooks claude-cowork . # the SAME .claude/settings.json Claude Code reads
605
631
  ```
606
632
 
633
+ The list above is illustrative, not authoritative — the live matrix is a verb:
634
+ `dos hosts` prints every host DOS can wire, sourced from the registries themselves
635
+ (`dos hosts --json` for tooling), so the table never rots out of sync with what
636
+ `dos init --hooks` actually installs. Each row carries the host's tier, the events
637
+ it binds, its dialect, its config path, the exact wiring command, and the host's
638
+ own caveat (Codex's partial tool coverage, Cowork's not-yet-firing hooks). A host
639
+ with **no** row is itself the signal: it has no hook seam, so its DOS surface is
640
+ the advisory one (MCP + skills).
641
+
607
642
  That binds three shipped hooks: `pretool` denies a structurally-refused call
608
643
  before it runs, `stop` refuses a stop on an unverified "done," `posttool`
609
644
  re-surfaces a stalled stream. This is the **enforcement** path (the *host*
@@ -1029,11 +1064,27 @@ for a copy-me skeleton.
1029
1064
  - **[docs/FAQ.md](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/FAQ.md)** — the arriving questions ("how do I
1030
1065
  verify an agent's claim?", "does it need an LLM?"), each answered in one
1031
1066
  self-contained block.
1067
+ - **[docs/ALTERNATIVES.md](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/ALTERNATIVES.md)** — DOS and the
1068
+ alternatives: evals, framework guardrails, Temporal, in-toto, plain CI —
1069
+ what each does well, what DOS adds, and when NOT to use DOS.
1032
1070
  - **[docs/README.md](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/README.md)** — the docs index (guides vs. design notes
1033
1071
  vs. the dated build-journal; the numbers are chronology, not a reading order).
1034
1072
  - **[docs/HACKING.md](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/HACKING.md)** — extend DOS without forking it.
1073
+ - **[docs/DOT_DOS.md](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/DOT_DOS.md)** — the `.dos`
1074
+ surface: what that directory is, why it's safe to delete, and the
1075
+ repo-resident state contract (policy in `dos.toml`, fossils under `.dos/`,
1076
+ verdicts in git) that keeps every host adapter thin.
1077
+ - **[docs/STABILITY.md](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/STABILITY.md)** — the compatibility
1078
+ promise: what you may depend on, what SemVer means here, how deprecations
1079
+ are announced (`DosDeprecationWarning`, a two-minor-release window), and
1080
+ what will never break.
1035
1081
  - **[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
1036
1082
  architecture contract and how to send a change.
1083
+ - **[verify-action/](https://github.com/anthony-chaudhary/dos-kernel/blob/master/verify-action/README.md)** — the CI gate: a
1084
+ composite Action and a reusable workflow that run `dos commit-audit` on every
1085
+ PR and merge-queue group and post the verdict as the named **dos-verify**
1086
+ status check; make it required and GitHub enforces what the kernel decides
1087
+ (the *verified by DOS* badge above is this gate on the kernel's own repo).
1037
1088
  - **[docs/releases/](https://github.com/anthony-chaudhary/dos-kernel/tree/master/docs/releases)** — per-version release notes (the changelog).
1038
1089
  - **[The website](https://anthony-chaudhary.github.io/dos-kernel/)** — this page,
1039
1090
  condensed to one screen (good for sending to someone).
@@ -1058,6 +1109,10 @@ back verbatim:
1058
1109
  CrewAI, AutoGen, the OpenAI/Claude Agents SDK — with every framework recipe also
1059
1110
  shipped as a runnable, suite-pinned file under
1060
1111
  [`examples/fleet_frameworks/`](https://github.com/anthony-chaudhary/dos-kernel/tree/master/examples/fleet_frameworks).
1112
+ Two seats ship as drivers in the package itself ([docs/305](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/305_guardrail-seat-pair-openai-agents-and-crewai-plan.md)):
1113
+ an OpenAI Agents SDK output guardrail that trips on a deliverable git can't
1114
+ see, and a CrewAI task guardrail that turns the retry loop into a
1115
+ do-the-work loop — one import line each.
1061
1116
  - [**Wire DOS into a Hermes / OpenClaw swarm**](https://github.com/anthony-chaudhary/dos-kernel/tree/master/examples/hermes_integration) —
1062
1117
  the offline, A/B-measured swarm-runtime example: the `exec-capability` gate
1063
1118
  refuses a prompt-injected command before it runs (real at a single agent), and
@@ -12,8 +12,18 @@
12
12
  [![Python versions](https://img.shields.io/pypi/pyversions/dos-kernel)](https://pypi.org/project/dos-kernel/)
13
13
  [![CI](https://github.com/anthony-chaudhary/dos-kernel/actions/workflows/ci.yml/badge.svg)](https://github.com/anthony-chaudhary/dos-kernel/actions/workflows/ci.yml)
14
14
  [![verified by DOS](https://github.com/anthony-chaudhary/dos-kernel/actions/workflows/dos-gate.yml/badge.svg)](https://github.com/anthony-chaudhary/dos-kernel/actions/workflows/dos-gate.yml)
15
+ [![commit-claims](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Fanthony-chaudhary%2Fdos-kernel%2Fmaster%2Fdocs%2Fscoreboard%2Fanthony-chaudhary%2Fdos-kernel%2Fbadge.json)](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/scoreboard/methodology.md)
15
16
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/anthony-chaudhary/dos-kernel/blob/master/LICENSE)
16
17
 
18
+ <p align="center">
19
+ <img src="https://raw.githubusercontent.com/anthony-chaudhary/dos-kernel/master/docs/assets/caught-lie-cast.svg" alt="A terminal recording of the caught lie. The agent reports: Done! Shipped the login endpoint (AUTH1) and the password reset (AUTH2). git log shows one commit — AUTH1: ship the login endpoint. dos verify AUTH AUTH1 answers SHIPPED (exit 0); dos verify AUTH AUTH2 answers NOT_SHIPPED via none (exit 1) — caught. The exit code is the verdict: gate the agent's done on it and a false claim cannot land." width="100%">
20
+ <br>
21
+ <em>The whole pitch in one recording: the agent claims two features shipped; git backs one.
22
+ <code>dos verify</code> answers from the commits, the lie exits <code>1</code>, and a gate on that
23
+ exit code refuses the false "done". Every line is the real CLI's verbatim output —
24
+ <a href="https://github.com/anthony-chaudhary/dos-kernel/blob/master/scripts/build_caught_lie_cast.py"><code>scripts/build_caught_lie_cast.py</code></a> re-records it whenever the output changes.</em>
25
+ </p>
26
+
17
27
  <p align="center">
18
28
  <img src="https://raw.githubusercontent.com/anthony-chaudhary/dos-kernel/master/docs/assets/loop-hero.svg" alt="Two agent fleets side by side. Left, no referee: agents all report 'done!', every report is believed, and silent corruption (lies, collisions, spin) piles up into a codebase that 'sorta works' and can't be changed. Right, DOS adjudicates: dos verify reads git and the run branches to SHIPPED (exit 0, land it) or NOT_SHIPPED (exit 1, re-dispatch — caught), and that verdict steers the next step." width="100%">
19
29
  <br>
@@ -63,7 +73,7 @@ zero config, and the only thing you ever install is one small Python package.
63
73
  > entries there undoes it. (No runtime detected? It says so and lists the
64
74
  > names to pick from — it never guesses.)
65
75
 
66
- <sub>**v0.25.0** · 3900+ tests · CI: Python 3.11–3.13 on Linux + a Windows 3.13
76
+ <sub>**v0.26.0** · 3900+ tests · CI: Python 3.11–3.13 on Linux + a Windows 3.13
67
77
  smoke run · the only runtime dependency is **PyYAML** · **MIT**.</sub>
68
78
 
69
79
  > 🧭 **Want it in plain words first?** What DOS is, what it catches, and what
@@ -535,6 +545,20 @@ thinks to. The per-host wiring for Cursor / Codex / Gemini is in
535
545
  **[the MCP README](https://github.com/anthony-chaudhary/dos-kernel/blob/master/src/dos_mcp/README.md)** — all four are MCP clients, so this
536
546
  works on every one of them with zero code.
537
547
 
548
+ **Gemini CLI users get a one-liner.** DOS ships a `gemini-extension.json`
549
+ manifest at the repo root, so the whole referee — the MCP server plus a context
550
+ file that tells the model to gate its own done-claims — installs as one Gemini
551
+ extension, no clone and no config edit:
552
+
553
+ ```bash
554
+ pip install 'dos-kernel[mcp]' # the server the extension launches
555
+ gemini extensions install https://github.com/anthony-chaudhary/dos-kernel
556
+ ```
557
+
558
+ The same manifest is what Google's auto-indexed
559
+ [extensions gallery](https://geminicli.com/extensions/) crawls, so the listing
560
+ is automatic.
561
+
538
562
  ### …then make the verdict *act* (hooks)
539
563
 
540
564
  To go from "the agent can ask" to "the host won't let a bad call through", wire
@@ -552,6 +576,15 @@ dos init --hooks antigravity . # .agents/hooks.json
552
576
  dos init --hooks claude-cowork . # the SAME .claude/settings.json Claude Code reads
553
577
  ```
554
578
 
579
+ The list above is illustrative, not authoritative — the live matrix is a verb:
580
+ `dos hosts` prints every host DOS can wire, sourced from the registries themselves
581
+ (`dos hosts --json` for tooling), so the table never rots out of sync with what
582
+ `dos init --hooks` actually installs. Each row carries the host's tier, the events
583
+ it binds, its dialect, its config path, the exact wiring command, and the host's
584
+ own caveat (Codex's partial tool coverage, Cowork's not-yet-firing hooks). A host
585
+ with **no** row is itself the signal: it has no hook seam, so its DOS surface is
586
+ the advisory one (MCP + skills).
587
+
555
588
  That binds three shipped hooks: `pretool` denies a structurally-refused call
556
589
  before it runs, `stop` refuses a stop on an unverified "done," `posttool`
557
590
  re-surfaces a stalled stream. This is the **enforcement** path (the *host*
@@ -977,11 +1010,27 @@ for a copy-me skeleton.
977
1010
  - **[docs/FAQ.md](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/FAQ.md)** — the arriving questions ("how do I
978
1011
  verify an agent's claim?", "does it need an LLM?"), each answered in one
979
1012
  self-contained block.
1013
+ - **[docs/ALTERNATIVES.md](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/ALTERNATIVES.md)** — DOS and the
1014
+ alternatives: evals, framework guardrails, Temporal, in-toto, plain CI —
1015
+ what each does well, what DOS adds, and when NOT to use DOS.
980
1016
  - **[docs/README.md](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/README.md)** — the docs index (guides vs. design notes
981
1017
  vs. the dated build-journal; the numbers are chronology, not a reading order).
982
1018
  - **[docs/HACKING.md](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/HACKING.md)** — extend DOS without forking it.
1019
+ - **[docs/DOT_DOS.md](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/DOT_DOS.md)** — the `.dos`
1020
+ surface: what that directory is, why it's safe to delete, and the
1021
+ repo-resident state contract (policy in `dos.toml`, fossils under `.dos/`,
1022
+ verdicts in git) that keeps every host adapter thin.
1023
+ - **[docs/STABILITY.md](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/STABILITY.md)** — the compatibility
1024
+ promise: what you may depend on, what SemVer means here, how deprecations
1025
+ are announced (`DosDeprecationWarning`, a two-minor-release window), and
1026
+ what will never break.
983
1027
  - **[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
984
1028
  architecture contract and how to send a change.
1029
+ - **[verify-action/](https://github.com/anthony-chaudhary/dos-kernel/blob/master/verify-action/README.md)** — the CI gate: a
1030
+ composite Action and a reusable workflow that run `dos commit-audit` on every
1031
+ PR and merge-queue group and post the verdict as the named **dos-verify**
1032
+ status check; make it required and GitHub enforces what the kernel decides
1033
+ (the *verified by DOS* badge above is this gate on the kernel's own repo).
985
1034
  - **[docs/releases/](https://github.com/anthony-chaudhary/dos-kernel/tree/master/docs/releases)** — per-version release notes (the changelog).
986
1035
  - **[The website](https://anthony-chaudhary.github.io/dos-kernel/)** — this page,
987
1036
  condensed to one screen (good for sending to someone).
@@ -1006,6 +1055,10 @@ back verbatim:
1006
1055
  CrewAI, AutoGen, the OpenAI/Claude Agents SDK — with every framework recipe also
1007
1056
  shipped as a runnable, suite-pinned file under
1008
1057
  [`examples/fleet_frameworks/`](https://github.com/anthony-chaudhary/dos-kernel/tree/master/examples/fleet_frameworks).
1058
+ Two seats ship as drivers in the package itself ([docs/305](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/305_guardrail-seat-pair-openai-agents-and-crewai-plan.md)):
1059
+ an OpenAI Agents SDK output guardrail that trips on a deliverable git can't
1060
+ see, and a CrewAI task guardrail that turns the retry loop into a
1061
+ do-the-work loop — one import line each.
1009
1062
  - [**Wire DOS into a Hermes / OpenClaw swarm**](https://github.com/anthony-chaudhary/dos-kernel/tree/master/examples/hermes_integration) —
1010
1063
  the offline, A/B-measured swarm-runtime example: the `exec-capability` gate
1011
1064
  refuses a prompt-injected command before it runs (real at a single agent), and
@@ -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.25.0"
12
+ version = "0.26.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
@@ -123,6 +123,18 @@ export-otlp = [
123
123
  "opentelemetry-sdk>=1.20",
124
124
  "opentelemetry-exporter-otlp-proto-http>=1.20",
125
125
  ]
126
+ # The Mem0 memory-store driver (src/dos/drivers/memory_mem0, docs/314 P3). Kept OUT
127
+ # of the core for the same reason as [mcp]/[tui]/[notify-slack]: the kernel stays
128
+ # near-stdlib. `dos memory recall/verify/admit` work with NO extra (the built-in
129
+ # `file` store; the admit gate reads only candidate bytes); this extra adds only the
130
+ # Mem0 SDK so the same gates sweep a HOSTED memory store. The driver imports the SDK
131
+ # LAZILY (inside the client builder, never at module load) and fails with an install
132
+ # hint only when a read is attempted — so entry-point discovery of the driver never
133
+ # fails for lack of it (the notify_slack discipline). The store seam
134
+ # (dos.memory_stores) names no provider and stays dependency-free.
135
+ memory-mem0 = [
136
+ "mem0ai>=0.1",
137
+ ]
126
138
  # The arXiv paper bundle tooling (paper/arxiv/make_bundle.py). NOT part of the
127
139
  # kernel — it operates on the paper, which itself only `import dos`-es nothing
128
140
  # (the paper is downstream of the code, the one-way arrow). Kept OUT of the core
@@ -298,6 +310,20 @@ antigravity = "dos.drivers.hook_dialects:antigravity_install_spec"
298
310
  # (anthropics/claude-code#63360, docs/298).
299
311
  claude-cowork = "dos.drivers.hook_dialects:claude_cowork_install_spec"
300
312
 
313
+ # The memory-STORE providers (docs/314 P2/P3) — where a fleet's memories live, so
314
+ # the recall gate (docs/103) and the write gate (`dos memory admit`) can run against
315
+ # hosted memory, not just a directory of markdown. The kernel seam
316
+ # (`dos.memory_stores`) holds the read-only MemoryStore Protocol + resolver + the
317
+ # ONE unshadowable `file` built-in; every provider store names its vendor as code
318
+ # (a Mem0 store is inherently Mem0-specific), which the vendor-blindness litmus
319
+ # forbids in a kernel module — so it lives in a DRIVER and registers here, the same
320
+ # kernel/driver split as `dos.judges` / `dos.notifiers`. `--store-kind mem0`
321
+ # discovers it by name; the kernel imports none of them. The `mem0` store needs the
322
+ # `[memory-mem0]` extra; its lazy import means discovering it here never fails when
323
+ # the extra is absent (it resolves, and reports the install hint only on a read).
324
+ [project.entry-points."dos.memory_stores"]
325
+ mem0 = "dos.drivers.memory_mem0:Mem0Store"
326
+
301
327
  [project.urls]
302
328
  Homepage = "https://github.com/anthony-chaudhary/dos-kernel"
303
329
  Website = "https://anthony-chaudhary.github.io/dos-kernel/"
@@ -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.25.0"
49
+ __version__ = "0.26.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
@@ -166,6 +166,17 @@ from dos.reward import ( # noqa: F401 (the reward-set admission verdict, docs/
166
166
  AcceptanceAB,
167
167
  acceptance_ab as reward_acceptance_ab,
168
168
  )
169
+ from dos.deprecation import ( # noqa: F401 (the typed deprecation category, docs/308)
170
+ DosDeprecationWarning,
171
+ warn_deprecated,
172
+ )
173
+ from dos.verified import ( # noqa: F401 (the in-process verify gate, issue #75)
174
+ # NB: this deliberately rebinds the `dos.verified` attribute from the
175
+ # submodule to the callable, so `from dos import verified` yields the
176
+ # decorator/context-manager (the issue-#75 surface), datetime.datetime-style.
177
+ verified,
178
+ NotShippedError,
179
+ )
169
180
 
170
181
  __all__ = [
171
182
  "__version__",
@@ -258,4 +269,8 @@ __all__ = [
258
269
  "reward_admit",
259
270
  "AcceptanceAB",
260
271
  "reward_acceptance_ab",
272
+ "DosDeprecationWarning",
273
+ "warn_deprecated",
274
+ "verified",
275
+ "NotShippedError",
261
276
  ]