dos-kernel 0.29.0__tar.gz → 0.30.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 (652) hide show
  1. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/PKG-INFO +2 -2
  2. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/README.md +1 -1
  3. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/pyproject.toml +1 -1
  4. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/__init__.py +1 -1
  5. dos_kernel-0.30.0/src/dos/_tomlcache.py +101 -0
  6. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/cli.py +471 -6
  7. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/commit_audit.py +29 -0
  8. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/config.py +29 -27
  9. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/cooldown.py +6 -8
  10. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/data_class.py +6 -10
  11. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/decisions.py +116 -0
  12. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/effect_kind.py +90 -0
  13. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/efficiency.py +6 -8
  14. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/efficiency_trend.py +6 -8
  15. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/enumerate.py +6 -8
  16. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/freshness.py +6 -8
  17. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/hook_observation.py +6 -0
  18. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/improve.py +6 -8
  19. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/intervention.py +6 -8
  20. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/lifecycle.py +6 -8
  21. dos_kernel-0.30.0/src/dos/live_rotation.py +426 -0
  22. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/marker_gate.py +6 -8
  23. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/noop_streak.py +6 -8
  24. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/phase_shipped.py +37 -0
  25. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/plan_source.py +6 -10
  26. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/precursor_gate.py +6 -8
  27. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/productivity.py +6 -8
  28. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/queue_saturation.py +6 -8
  29. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/reason_morphology.py +6 -8
  30. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/reasons.py +6 -11
  31. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/residual_review.py +44 -76
  32. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/retention.py +6 -10
  33. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/rotation_handoff.py +32 -29
  34. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/skills/EXAMPLES.md +1 -1
  35. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/skills/dos-dispatch/SKILL.md +1 -1
  36. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/skills/dos-next-up/SKILL.md +1 -1
  37. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/stamp.py +42 -12
  38. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/supervise.py +6 -8
  39. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/tool_stream.py +6 -8
  40. dos_kernel-0.30.0/src/dos/usage_probe.py +214 -0
  41. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos_kernel.egg-info/PKG-INFO +2 -2
  42. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos_kernel.egg-info/SOURCES.txt +14 -1
  43. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos_mcp/answers.py +28 -1
  44. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos_mcp/server.py +21 -1
  45. dos_kernel-0.30.0/tests/test_accounts_rehome.py +161 -0
  46. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_agent_surface.py +56 -5
  47. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_commit_audit.py +26 -0
  48. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_decisions.py +79 -0
  49. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_doctor_json.py +2 -0
  50. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_effect_kind_axis.py +30 -0
  51. dos_kernel-0.30.0/tests/test_external_repo_probe.py +241 -0
  52. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_git_hygiene.py +100 -2
  53. dos_kernel-0.30.0/tests/test_go_liveness_parity.py +56 -0
  54. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_hook_binaries_bundled.py +72 -0
  55. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_hook_binary_locator.py +12 -8
  56. dos_kernel-0.30.0/tests/test_hook_live_rotate.py +188 -0
  57. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_hook_observation.py +28 -1
  58. dos_kernel-0.30.0/tests/test_live_rehome_stress.py +226 -0
  59. dos_kernel-0.30.0/tests/test_live_rotation.py +229 -0
  60. dos_kernel-0.30.0/tests/test_notify_decisions_cadence.py +114 -0
  61. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_plugin_manifest.py +54 -1
  62. dos_kernel-0.29.0/tests/test_residual_review.py → dos_kernel-0.30.0/tests/test_residual_review_surface.py +9 -5
  63. dos_kernel-0.30.0/tests/test_stamp_issue_leaf.py +295 -0
  64. dos_kernel-0.30.0/tests/test_toml_cache.py +214 -0
  65. dos_kernel-0.30.0/tests/test_usage_probe.py +162 -0
  66. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_workspace_config.py +31 -2
  67. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/LICENSE +0 -0
  68. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/setup.cfg +0 -0
  69. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/_demo_story.py +0 -0
  70. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/_filelock.py +0 -0
  71. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/_job_policy.py +0 -0
  72. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/_tree.py +0 -0
  73. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/account_auth.py +0 -0
  74. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/account_ledger.py +0 -0
  75. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/admission.py +0 -0
  76. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/answer_shape.py +0 -0
  77. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/apply_gate.py +0 -0
  78. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/arbiter.py +0 -0
  79. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/archive_lock.py +0 -0
  80. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/arg_provenance.py +0 -0
  81. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/attest.py +0 -0
  82. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/breaker.py +0 -0
  83. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/call_shape.py +0 -0
  84. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/chat_control.py +0 -0
  85. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/child_refusals.py +0 -0
  86. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/churn.py +0 -0
  87. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/claim_extract.py +0 -0
  88. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/claim_ttl.py +0 -0
  89. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/completion.py +0 -0
  90. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/concurrency_class.py +0 -0
  91. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/config_lint.py +0 -0
  92. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/coverage.py +0 -0
  93. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/dangling_intent.py +0 -0
  94. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/decisions_tui.py +0 -0
  95. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/deprecation.py +0 -0
  96. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/dispatch_top.py +0 -0
  97. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/dispatch_top_tui.py +0 -0
  98. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/__init__.py +0 -0
  99. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/_effect_gate.py +0 -0
  100. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/account_switcher.py +0 -0
  101. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/agent_auth/__init__.py +0 -0
  102. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/agent_auth/claude.py +0 -0
  103. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/agent_auth/codex.py +0 -0
  104. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/agent_auth/gemini.py +0 -0
  105. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/agt_backend.py +0 -0
  106. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/ci_status.py +0 -0
  107. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/citation_resolve.py +0 -0
  108. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/content_diff.py +0 -0
  109. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/crewai_guardrail.py +0 -0
  110. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/decision_stop.py +0 -0
  111. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/design_doc_plan.py +0 -0
  112. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/enforce_tune.py +0 -0
  113. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/export_file.py +0 -0
  114. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/export_otlp.py +0 -0
  115. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/export_statsd.py +0 -0
  116. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/fs_artifact.py +0 -0
  117. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/hook_dialects.py +0 -0
  118. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/http_probe.py +0 -0
  119. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/job.py +0 -0
  120. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/llm_judge.py +0 -0
  121. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/memory_mem0.py +0 -0
  122. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/memory_recall.py +0 -0
  123. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/merge_gate.py +0 -0
  124. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/model_reroute.py +0 -0
  125. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/nemo_action.py +0 -0
  126. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/notify_slack.py +0 -0
  127. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/notify_webhook.py +0 -0
  128. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/notify_whatsapp.py +0 -0
  129. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/openai_agents_guardrail.py +0 -0
  130. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/operator_judge.py +0 -0
  131. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/os_acceptance.py +0 -0
  132. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/os_process.py +0 -0
  133. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/paste_log.py +0 -0
  134. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/plan_scope.py +0 -0
  135. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/pre_commit.py +0 -0
  136. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/provider_ledger.py +0 -0
  137. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/sealed_acceptance.py +0 -0
  138. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/self_improve.py +0 -0
  139. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/similarity_judge.py +0 -0
  140. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/slack_approval.py +0 -0
  141. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/state_diff.py +0 -0
  142. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/supervisor.py +0 -0
  143. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/visual_witness.py +0 -0
  144. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/watchdog.py +0 -0
  145. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/whatsapp_bridge.py +0 -0
  146. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/witnessed_leak_test.py +0 -0
  147. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers/workshop.py +0 -0
  148. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/drivers_seam.py +0 -0
  149. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/durable_schema.py +0 -0
  150. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/effect_witness.py +0 -0
  151. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/efficiency_advice.py +0 -0
  152. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/enforce.py +0 -0
  153. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/enforce_outcomes.py +0 -0
  154. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/env_print.py +0 -0
  155. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/event_severity.py +0 -0
  156. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/evidence.py +0 -0
  157. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/exec_capability.py +0 -0
  158. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/export_cursor.py +0 -0
  159. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/exporter.py +0 -0
  160. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/firing_label.py +0 -0
  161. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/fleet_roll.py +0 -0
  162. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/gate_classify.py +0 -0
  163. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/gh4_coverage.py +0 -0
  164. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/git_delta.py +0 -0
  165. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/guard.py +0 -0
  166. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/health.py +0 -0
  167. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/help_summary.py +0 -0
  168. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/home.py +0 -0
  169. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/hook_binary.py +0 -0
  170. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/hook_dialect.py +0 -0
  171. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/hook_exit.py +0 -0
  172. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/hook_install.py +0 -0
  173. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/id_alloc.py +0 -0
  174. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/intent_ledger.py +0 -0
  175. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/interpret.py +0 -0
  176. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/intervention_eval.py +0 -0
  177. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/journal_delta.py +0 -0
  178. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/judge_eval.py +0 -0
  179. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/judges.py +0 -0
  180. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/lane_infer.py +0 -0
  181. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/lane_journal.py +0 -0
  182. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/lane_lease.py +0 -0
  183. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/lane_overlap.py +0 -0
  184. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/lease_health.py +0 -0
  185. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/liveness.py +0 -0
  186. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/lock_modes.py +0 -0
  187. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/log_source.py +0 -0
  188. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/loop_decide.py +0 -0
  189. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/loop_trace.py +0 -0
  190. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/marker_sensor.py +0 -0
  191. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/memory_stores.py +0 -0
  192. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/mergegate.py +0 -0
  193. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/model_call.py +0 -0
  194. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/model_health.py +0 -0
  195. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/named_lock.py +0 -0
  196. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/native_canonical.py +0 -0
  197. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/notify.py +0 -0
  198. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/observe.py +0 -0
  199. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/oracle.py +0 -0
  200. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/overlap_eval.py +0 -0
  201. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/overlap_policy.py +0 -0
  202. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/override_facts.py +0 -0
  203. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/packet_sidecar.py +0 -0
  204. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/pick_priority.py +0 -0
  205. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/pickable.py +0 -0
  206. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/picker_oracle.py +0 -0
  207. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/plan_board.py +0 -0
  208. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/plan_board_tui.py +0 -0
  209. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/plugins.py +0 -0
  210. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/posttool_sensor.py +0 -0
  211. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/precursor_gate_eval.py +0 -0
  212. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/preflight.py +0 -0
  213. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/pretool_sensor.py +0 -0
  214. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/proc_delta.py +0 -0
  215. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/provider_limit.py +0 -0
  216. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/pulse.py +0 -0
  217. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/py.typed +0 -0
  218. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/reconcile.py +0 -0
  219. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/recurring_wedge.py +0 -0
  220. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/render.py +0 -0
  221. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/result_state.py +0 -0
  222. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/resume.py +0 -0
  223. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/resume_evidence.py +0 -0
  224. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/retire.py +0 -0
  225. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/reward.py +0 -0
  226. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/rewind.py +0 -0
  227. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/rewind_evidence.py +0 -0
  228. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/rewind_tokens.py +0 -0
  229. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/run_id.py +0 -0
  230. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/rung_occupancy.py +0 -0
  231. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/salience.py +0 -0
  232. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/scope.py +0 -0
  233. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/scope_source.py +0 -0
  234. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/scout.py +0 -0
  235. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/self_modify.py +0 -0
  236. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/session_digest.py +0 -0
  237. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/sibling_scan.py +0 -0
  238. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/skill_grade.py +0 -0
  239. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/skills/dos-class-cycle/SKILL.md +0 -0
  240. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/skills/dos-dispatch-loop/SKILL.md +0 -0
  241. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/skills/dos-enforce-tune/SKILL.md +0 -0
  242. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/skills/dos-goal-fleet/SKILL.md +0 -0
  243. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/skills/dos-goal-gate/SKILL.md +0 -0
  244. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/skills/dos-plan-price/SKILL.md +0 -0
  245. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/skills/dos-promote/SKILL.md +0 -0
  246. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/skills/dos-replan/SKILL.md +0 -0
  247. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/skills/dos-replan-loop/SKILL.md +0 -0
  248. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/skills/dos-self-improve/SKILL.md +0 -0
  249. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/skills/dos-skillify/SKILL.md +0 -0
  250. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/skills/dos-supervise-loop/SKILL.md +0 -0
  251. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/skills/dos-unstick/SKILL.md +0 -0
  252. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/skills/dos-witness-claim/SKILL.md +0 -0
  253. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/spend.py +0 -0
  254. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/state_health.py +0 -0
  255. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/status.py +0 -0
  256. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/stop_failure_sensor.py +0 -0
  257. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/stop_policy.py +0 -0
  258. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/testing/__init__.py +0 -0
  259. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/testing/doubles.py +0 -0
  260. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/testing/suite.py +0 -0
  261. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/testing/tester.py +0 -0
  262. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/testwitness.py +0 -0
  263. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/timeline.py +0 -0
  264. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/tokens.py +0 -0
  265. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/tool_stream_eval.py +0 -0
  266. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/tool_trace.py +0 -0
  267. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/trace.py +0 -0
  268. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/transcript_view.py +0 -0
  269. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/vcs.py +0 -0
  270. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/verdict.py +0 -0
  271. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/verdict_census.py +0 -0
  272. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/verdict_cli.py +0 -0
  273. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/verdict_journal.py +0 -0
  274. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/verdict_rollup.py +0 -0
  275. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/verdicts.py +0 -0
  276. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/verified.py +0 -0
  277. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/wedge_reason.py +0 -0
  278. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos/work_account.py +0 -0
  279. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos_kernel.egg-info/dependency_links.txt +0 -0
  280. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos_kernel.egg-info/entry_points.txt +0 -0
  281. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos_kernel.egg-info/requires.txt +0 -0
  282. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos_kernel.egg-info/top_level.txt +0 -0
  283. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos_mcp/__init__.py +0 -0
  284. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/src/dos_mcp/py.typed +0 -0
  285. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_account_auth.py +0 -0
  286. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_account_ledger.py +0 -0
  287. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_account_switcher.py +0 -0
  288. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_accounts_cli.py +0 -0
  289. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_admission.py +0 -0
  290. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_aeo_tracker.py +0 -0
  291. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_agent_kind_config.py +0 -0
  292. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_agenthallu_replay.py +0 -0
  293. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_agentprocessbench_replay.py +0 -0
  294. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_agt_backend.py +0 -0
  295. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_answer_shape.py +0 -0
  296. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_answers.py +0 -0
  297. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_answers_index.py +0 -0
  298. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_apply_cli.py +0 -0
  299. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_apply_gate.py +0 -0
  300. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_apply_gate_fence.py +0 -0
  301. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_arbiter.py +0 -0
  302. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_archive_lock.py +0 -0
  303. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_arg_provenance.py +0 -0
  304. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_attest.py +0 -0
  305. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_backflow_ledger.py +0 -0
  306. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_backlog_triage.py +0 -0
  307. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_beat_cli.py +0 -0
  308. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_bench_layering.py +0 -0
  309. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_braintrust_scorer_example.py +0 -0
  310. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_breaker.py +0 -0
  311. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_build_scoreboard_pages.py +0 -0
  312. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_build_skill_dos_page.py +0 -0
  313. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_build_wheels_binary_format.py +0 -0
  314. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_burn_in_farm_playbook.py +0 -0
  315. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_call_shape.py +0 -0
  316. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_canonical_example_lockstep.py +0 -0
  317. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_caught_lie_cast.py +0 -0
  318. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_central_index.py +0 -0
  319. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_chat_control.py +0 -0
  320. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_check_published_site.py +0 -0
  321. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_child_refusals.py +0 -0
  322. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_churn.py +0 -0
  323. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_ci_status.py +0 -0
  324. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_citation_resolve.py +0 -0
  325. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_claim_extract.py +0 -0
  326. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_claim_ttl.py +0 -0
  327. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_claims_lint.py +0 -0
  328. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_cleanup_sweep.py +0 -0
  329. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_cli_completion_verb.py +0 -0
  330. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_cli_enforce_tune.py +0 -0
  331. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_cli_ergonomics.py +0 -0
  332. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_cli_loop.py +0 -0
  333. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_cli_pickable_enumerate.py +0 -0
  334. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_cli_witness.py +0 -0
  335. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_clobber_demo_contract.py +0 -0
  336. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_cmd_status.py +0 -0
  337. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_completion.py +0 -0
  338. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_concurrency_class.py +0 -0
  339. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_config_lint.py +0 -0
  340. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_conformance_plugin_examples.py +0 -0
  341. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_conformance_suite.py +0 -0
  342. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_content_diff.py +0 -0
  343. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_cooldown.py +0 -0
  344. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_coverage.py +0 -0
  345. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_crewai_guardrail.py +0 -0
  346. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_cross_host_continuity.py +0 -0
  347. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_dangling_intent.py +0 -0
  348. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_data_class.py +0 -0
  349. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_deprecation.py +0 -0
  350. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_design_doc_plan_source.py +0 -0
  351. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_dev_runner.py +0 -0
  352. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_discoverability_inventory.py +0 -0
  353. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_dispatch_loop_substrate.py +0 -0
  354. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_dispatch_top.py +0 -0
  355. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_docs_links.py +0 -0
  356. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_docs_version_drift.py +0 -0
  357. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_dogfood_goal_gate.py +0 -0
  358. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_dos_market.py +0 -0
  359. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_dos_react_terminal_error.py +0 -0
  360. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_drift_scoreboard.py +0 -0
  361. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_drivers_merge_gate.py +0 -0
  362. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_drivers_seam.py +0 -0
  363. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_drivers_self_improve.py +0 -0
  364. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_drivers_supervisor.py +0 -0
  365. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_drivers_watchdog.py +0 -0
  366. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_drivers_workshop.py +0 -0
  367. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_duplicate_plan_numbers.py +0 -0
  368. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_durable_schema.py +0 -0
  369. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_effect_gate.py +0 -0
  370. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_effect_witness.py +0 -0
  371. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_efficiency.py +0 -0
  372. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_efficiency_advice.py +0 -0
  373. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_efficiency_trend.py +0 -0
  374. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_efficiency_trend_cli.py +0 -0
  375. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_enforce.py +0 -0
  376. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_enforce_outcomes.py +0 -0
  377. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_enforce_tune_driver.py +0 -0
  378. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_ensure_home.py +0 -0
  379. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_enterpriseops_harness.py +0 -0
  380. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_enumerate.py +0 -0
  381. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_env_print.py +0 -0
  382. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_event_severity.py +0 -0
  383. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_evidence.py +0 -0
  384. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_exec_capability.py +0 -0
  385. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_export_cli.py +0 -0
  386. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_export_cursor.py +0 -0
  387. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_export_otlp.py +0 -0
  388. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_export_statsd.py +0 -0
  389. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_exporter.py +0 -0
  390. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_fault_injection_journal.py +0 -0
  391. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_feasibility_split.py +0 -0
  392. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_filelock.py +0 -0
  393. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_filepath_backstop_batch.py +0 -0
  394. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_firing_label.py +0 -0
  395. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_fleet_framework_examples.py +0 -0
  396. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_fleet_roll.py +0 -0
  397. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_forge_arena_bench.py +0 -0
  398. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_forge_page.py +0 -0
  399. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_freshness.py +0 -0
  400. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_fs_artifact.py +0 -0
  401. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_gate_cli.py +0 -0
  402. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_gemini_extension.py +0 -0
  403. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_gh4_coverage.py +0 -0
  404. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_git_cleanup.py +0 -0
  405. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_gitignore_hygiene.py +0 -0
  406. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_gitlab_ci_template.py +0 -0
  407. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_gitlab_component.py +0 -0
  408. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_go_account_parity.py +0 -0
  409. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_go_hook_parity.py +0 -0
  410. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_guard.py +0 -0
  411. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_health.py +0 -0
  412. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_heartbeats_config.py +0 -0
  413. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_help_summary.py +0 -0
  414. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_hermes_integration_example.py +0 -0
  415. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_home_layering.py +0 -0
  416. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_home_no_temp_pollution.py +0 -0
  417. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_hook_ask_posture.py +0 -0
  418. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_hook_assist_posture.py +0 -0
  419. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_hook_dialect.py +0 -0
  420. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_hook_exit.py +0 -0
  421. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_hook_pretool.py +0 -0
  422. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_hook_stop.py +0 -0
  423. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_hosts_verb.py +0 -0
  424. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_http_probe.py +0 -0
  425. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_id_alloc.py +0 -0
  426. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_improve.py +0 -0
  427. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_init_default_on.py +0 -0
  428. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_init_hooks.py +0 -0
  429. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_init_hooks_auto.py +0 -0
  430. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_init_hooks_crossvendor.py +0 -0
  431. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_init_posture.py +0 -0
  432. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_init_skills.py +0 -0
  433. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_install_drift.py +0 -0
  434. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_install_levels.py +0 -0
  435. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_intent_ledger.py +0 -0
  436. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_interpret_parity.py +0 -0
  437. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_intervention.py +0 -0
  438. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_intervention_cli.py +0 -0
  439. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_intervention_eval.py +0 -0
  440. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_journal_delta.py +0 -0
  441. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_judge.py +0 -0
  442. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_judge_eval.py +0 -0
  443. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_judges.py +0 -0
  444. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_kernel_charts.py +0 -0
  445. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_kernel_keep_gate_example.py +0 -0
  446. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_kernel_keep_gate_real_kernelbench.py +0 -0
  447. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_lane_adopt.py +0 -0
  448. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_lane_halt.py +0 -0
  449. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_lane_infer.py +0 -0
  450. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_lane_journal.py +0 -0
  451. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_lane_lease.py +0 -0
  452. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_lane_lease_expiry.py +0 -0
  453. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_lane_lease_mutex.py +0 -0
  454. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_lane_overlap.py +0 -0
  455. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_leak_scan.py +0 -0
  456. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_lease_health.py +0 -0
  457. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_legalcite_live.py +0 -0
  458. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_lifecycle.py +0 -0
  459. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_liveness.py +0 -0
  460. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_llm_judge_vendor_seam.py +0 -0
  461. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_llms_full.py +0 -0
  462. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_llms_txt.py +0 -0
  463. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_lock_modes.py +0 -0
  464. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_log_source.py +0 -0
  465. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_loop_economics_toml.py +0 -0
  466. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_loop_trace.py +0 -0
  467. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_marker_gate.py +0 -0
  468. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_marker_sensor.py +0 -0
  469. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_mcp_answer.py +0 -0
  470. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_mcp_server.py +0 -0
  471. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_mcp_tools_plugin.py +0 -0
  472. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_memory_admit.py +0 -0
  473. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_memory_fossils.py +0 -0
  474. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_memory_integrity_bench.py +0 -0
  475. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_memory_mem0.py +0 -0
  476. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_memory_recall.py +0 -0
  477. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_memory_stores.py +0 -0
  478. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_mergegate.py +0 -0
  479. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_model_call.py +0 -0
  480. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_model_health.py +0 -0
  481. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_model_reroute.py +0 -0
  482. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_named_lock.py +0 -0
  483. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_native_canonical.py +0 -0
  484. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_nemo_action.py +0 -0
  485. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_noop_streak.py +0 -0
  486. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_notify.py +0 -0
  487. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_notify_cli.py +0 -0
  488. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_notify_slack.py +0 -0
  489. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_notify_webhook.py +0 -0
  490. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_notify_whatsapp.py +0 -0
  491. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_observe.py +0 -0
  492. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_openai_agents_guardrail.py +0 -0
  493. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_operator_judge.py +0 -0
  494. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_oracle.py +0 -0
  495. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_oracle_and_loop.py +0 -0
  496. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_oracle_forgeability_provenance.py +0 -0
  497. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_oracle_grep_in_process.py +0 -0
  498. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_os_acceptance.py +0 -0
  499. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_os_process.py +0 -0
  500. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_overlap_policy.py +0 -0
  501. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_override_window.py +0 -0
  502. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_packet_sidecar.py +0 -0
  503. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_phase_labels.py +0 -0
  504. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_pick_priority.py +0 -0
  505. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_pickable.py +0 -0
  506. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_plan_board.py +0 -0
  507. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_plan_source.py +0 -0
  508. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_plugins_verb.py +0 -0
  509. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_poisoned_pool_bench.py +0 -0
  510. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_poisoned_pool_lineage.py +0 -0
  511. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_poisoned_pool_p2.py +0 -0
  512. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_poisoned_pool_policies.py +0 -0
  513. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_posttool_sensor.py +0 -0
  514. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_posture_observation.py +0 -0
  515. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_pre_commit_hook.py +0 -0
  516. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_precursor_gate.py +0 -0
  517. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_precursor_gate_eval.py +0 -0
  518. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_preflight_sidecar.py +0 -0
  519. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_proc_delta.py +0 -0
  520. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_proc_reaper.py +0 -0
  521. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_productivity.py +0 -0
  522. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_prop_arbiter_wal.py +0 -0
  523. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_prop_breaker.py +0 -0
  524. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_prop_cooldown.py +0 -0
  525. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_prop_efficiency.py +0 -0
  526. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_prop_install_wrappers.py +0 -0
  527. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_prop_overlap_soundness.py +0 -0
  528. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_prop_productivity.py +0 -0
  529. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_prop_reconcile.py +0 -0
  530. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_prop_reward_nonforgeability.py +0 -0
  531. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_prop_tree.py +0 -0
  532. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_provider_ledger.py +0 -0
  533. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_provider_limit.py +0 -0
  534. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_pulse.py +0 -0
  535. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_queue_saturation.py +0 -0
  536. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_readme_assembly.py +0 -0
  537. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_readme_test_count_band.py +0 -0
  538. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_reconcile.py +0 -0
  539. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_recurring_wedge.py +0 -0
  540. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_refusal_and_tokens.py +0 -0
  541. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_reindex.py +0 -0
  542. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_release_bump.py +0 -0
  543. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_release_cadence_workflow.py +0 -0
  544. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_release_cut.py +0 -0
  545. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_release_decide.py +0 -0
  546. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_render.py +0 -0
  547. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_replan_skip.py +0 -0
  548. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_result_state.py +0 -0
  549. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_resume.py +0 -0
  550. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_resume_cli.py +0 -0
  551. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_resume_evidence.py +0 -0
  552. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_resume_reachability.py +0 -0
  553. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_retention.py +0 -0
  554. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_retire.py +0 -0
  555. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_reward.py +0 -0
  556. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_rewind.py +0 -0
  557. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_rewind_cli.py +0 -0
  558. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_root_index_lane.py +0 -0
  559. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_rotation_handoff.py +0 -0
  560. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_rung_occupancy.py +0 -0
  561. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_rung_occupancy_backtest.py +0 -0
  562. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_salience.py +0 -0
  563. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_scope.py +0 -0
  564. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_scope_gate.py +0 -0
  565. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_scope_gate_cli.py +0 -0
  566. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_scope_source.py +0 -0
  567. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_scoreboard_charts.py +0 -0
  568. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_scoreboard_copy.py +0 -0
  569. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_scoreboard_index.py +0 -0
  570. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_scoreboard_rollup.py +0 -0
  571. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_scoreboard_surfaces.py +0 -0
  572. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_scout.py +0 -0
  573. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_sealed_acceptance.py +0 -0
  574. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_seed_scoreboard_index.py +0 -0
  575. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_selfmodify_hook_probe.py +0 -0
  576. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_server_json_version.py +0 -0
  577. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_serverless_rl_example.py +0 -0
  578. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_session_digest.py +0 -0
  579. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_si_cov_cycle1.py +0 -0
  580. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_si_cov_cycle2.py +0 -0
  581. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_si_cov_cycle3.py +0 -0
  582. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_sibling_scan.py +0 -0
  583. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_similarity_judge.py +0 -0
  584. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_single_filesystem_lease_boundary.py +0 -0
  585. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_skill_grade.py +0 -0
  586. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_skill_grounding_rail.py +0 -0
  587. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_skill_pack_dispatch.py +0 -0
  588. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_skill_pack_generic.py +0 -0
  589. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_skill_pack_litmus.py +0 -0
  590. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_skill_pack_operator_tier.py +0 -0
  591. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_skill_pack_replan.py +0 -0
  592. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_slack_approval.py +0 -0
  593. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_smartphone_tier_bench.py +0 -0
  594. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_smithery_yaml.py +0 -0
  595. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_social_card.py +0 -0
  596. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_sota_scan.py +0 -0
  597. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_source_census.py +0 -0
  598. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_spend.py +0 -0
  599. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_spend_cli.py +0 -0
  600. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_spend_evidence.py +0 -0
  601. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_stability_policy.py +0 -0
  602. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_stall_sim.py +0 -0
  603. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_stamp_convention.py +0 -0
  604. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_stamp_doctor.py +0 -0
  605. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_stamp_filepath_rung.py +0 -0
  606. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_stamp_trailer.py +0 -0
  607. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_state_diff.py +0 -0
  608. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_state_health.py +0 -0
  609. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_state_health_doctor.py +0 -0
  610. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_state_home.py +0 -0
  611. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_status_digest.py +0 -0
  612. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_stop_failure_sensor.py +0 -0
  613. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_stop_policy.py +0 -0
  614. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_subprocess_stdin_hygiene.py +0 -0
  615. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_supervise.py +0 -0
  616. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_testwitness.py +0 -0
  617. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_timeline_timing.py +0 -0
  618. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_tool_stream.py +0 -0
  619. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_tool_stream_cli.py +0 -0
  620. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_tool_trace.py +0 -0
  621. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_toolathlon_live_adapter.py +0 -0
  622. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_toolathlon_replay.py +0 -0
  623. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_toolathlon_rewind_ceiling.py +0 -0
  624. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_trace.py +0 -0
  625. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_trajectory_audit.py +0 -0
  626. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_transcript_view.py +0 -0
  627. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_tree_question_mark_soundness.py +0 -0
  628. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_troubleshooting_doc.py +0 -0
  629. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_two_hosts_one_gate_playbook.py +0 -0
  630. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_vcs.py +0 -0
  631. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_vcs_config.py +0 -0
  632. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_vcs_layering.py +0 -0
  633. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_vendor_agnostic_kernel.py +0 -0
  634. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_verdict_census.py +0 -0
  635. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_verdict_cli.py +0 -0
  636. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_verdict_contract.py +0 -0
  637. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_verdict_journal.py +0 -0
  638. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_verdict_rollup.py +0 -0
  639. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_verdicts.py +0 -0
  640. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_verified.py +0 -0
  641. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_verify_color.py +0 -0
  642. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_verify_demo_contract.py +0 -0
  643. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_verify_no_plan.py +0 -0
  644. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_verify_non_git_rung.py +0 -0
  645. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_verify_plugin_install.py +0 -0
  646. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_visual_witness.py +0 -0
  647. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_whatsapp_bridge.py +0 -0
  648. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_wiring_drift.py +0 -0
  649. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_witnessed_leak_test.py +0 -0
  650. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_work_account.py +0 -0
  651. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_workflow_yaml_parses.py +0 -0
  652. {dos_kernel-0.29.0 → dos_kernel-0.30.0}/tests/test_worktree_lifecycle_spike.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dos-kernel
3
- Version: 0.29.0
3
+ Version: 0.30.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
@@ -128,7 +128,7 @@ install is one small Python package.
128
128
  > entries there undoes it. (No runtime detected? It says so and lists the
129
129
  > names to pick from — it never guesses.)
130
130
 
131
- <sub>**v0.29.0** · 5,600+ tests · CI: Python 3.11–3.13 on Linux + a Windows 3.13
131
+ <sub>**v0.30.0** · 5,600+ tests · CI: Python 3.11–3.13 on Linux + a Windows 3.13
132
132
  smoke run · the only runtime dependency is **PyYAML** · **MIT**.</sub>
133
133
 
134
134
  > 🧭 **Where to go next:** the [why & evidence](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/guide/why-a-referee.md) (plain-words story, the 20-lines-of-bash answer, what's proven),
@@ -74,7 +74,7 @@ install is one small Python package.
74
74
  > entries there undoes it. (No runtime detected? It says so and lists the
75
75
  > names to pick from — it never guesses.)
76
76
 
77
- <sub>**v0.29.0** · 5,600+ tests · CI: Python 3.11–3.13 on Linux + a Windows 3.13
77
+ <sub>**v0.30.0** · 5,600+ tests · CI: Python 3.11–3.13 on Linux + a Windows 3.13
78
78
  smoke run · the only runtime dependency is **PyYAML** · **MIT**.</sub>
79
79
 
80
80
  > 🧭 **Where to go next:** the [why & evidence](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/guide/why-a-referee.md) (plain-words story, the 20-lines-of-bash answer, what's proven),
@@ -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.29.0"
12
+ version = "0.30.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
@@ -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.29.0"
49
+ __version__ = "0.30.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
@@ -0,0 +1,101 @@
1
+ """One shared, mtime-keyed reader+parser for ``dos.toml`` — the anti-storm cache.
2
+
3
+ Every config-layer readback (`config._load_toml_table`,
4
+ `config.load_class_budgets_from_toml`, and the ~two-dozen per-module
5
+ `load_from_toml` seams in `reasons`/`stamp`/`enumerate`/`cooldown`/… ) used to
6
+ `tomllib.loads(p.read_text(encoding="utf-8-sig"))` the SAME file independently.
7
+ One `load_workspace_config()` call therefore re-read and re-parsed a single
8
+ `dos.toml` ~25 times with zero caching; the MCP server rebuilds the config on
9
+ EVERY tool call, so a burst of tool calls turned into a page-fault / allocation
10
+ storm on one small file.
11
+
12
+ This module holds the ONE cached parse. `read_toml_cached(path)` returns the
13
+ fully-parsed top-level table (a plain ``dict``), keyed on the file's
14
+ ``(resolved_path, st_mtime_ns, st_size)`` so a live edit to ``dos.toml`` is
15
+ picked up on the next read (invalidation is correct by construction — a changed
16
+ mtime is a cache miss). It is a pure, stdlib-only helper (no `dos` imports), so
17
+ any kernel/seam module can route through it without an import cycle.
18
+
19
+ Semantics preserved exactly, so every caller behaves byte-identically:
20
+
21
+ * **Missing file → ``{}``.** Callers today branch on ``p.exists()`` and return
22
+ their ``base`` when it is False; an empty dict makes ``data.get(key)`` return
23
+ ``None`` down the SAME "degrade to base" path. The missing-file semantics of
24
+ no caller change.
25
+ * **`tomllib` unavailable (py<3.11 with no `tomli`) → ``{}``.** Same "degrade
26
+ to base" outcome the callers' own `except ModuleNotFoundError` branch took.
27
+ * **Present but MALFORMED → the parse error propagates** (`tomllib` raises
28
+ `TOMLDecodeError`, a `ValueError` subclass) and is NOT cached — exactly as
29
+ today, where `load_workspace_config`'s `_layer` catches the `ValueError`,
30
+ warns, and keeps the base. A malformed file never poisons the cache.
31
+ * **BOM preserved.** Read via ``encoding="utf-8-sig"`` so a UTF-8 BOM (what
32
+ PowerShell's default `utf8` writes) is transparently stripped, the same as
33
+ every call site did before.
34
+
35
+ The cache is bounded (a small LRU-ish cap, evicting the oldest entry) so it can
36
+ never grow without limit even if a long-lived process reads many distinct
37
+ workspaces.
38
+ """
39
+
40
+ from __future__ import annotations
41
+
42
+ import os
43
+ from pathlib import Path
44
+
45
+ __all__ = ["read_toml_cached", "clear_cache"]
46
+
47
+ # (resolved_path_str, st_mtime_ns, st_size) -> parsed top-level table.
48
+ # Insertion-ordered; oldest entry evicted first once _MAX_ENTRIES is exceeded.
49
+ _CACHE: dict[tuple[str, int, int], dict] = {}
50
+
51
+ # Cap the number of distinct (file, version) entries. Small on purpose: a process
52
+ # typically touches ONE dos.toml (its workspace), and re-reads dominate; extra
53
+ # room covers a handful of workspaces or a few live edits without unbounded growth.
54
+ _MAX_ENTRIES = 64
55
+
56
+
57
+ def read_toml_cached(path: Path | str) -> dict:
58
+ """Parsed top-level table of the ``dos.toml`` at ``path`` — cached per version.
59
+
60
+ Returns ``{}`` when the file is absent or `tomllib`/`tomli` is unavailable
61
+ (both the "degrade to base" outcomes the callers already handle via
62
+ ``data.get(key) is None``). A present-but-malformed file lets the parse error
63
+ propagate (uncached), so the caller's existing warn-and-fall-back still fires.
64
+ The returned dict is the shared cached object — callers only READ it (they
65
+ pull a sub-table and validate a copy), so it is not defensively copied.
66
+ """
67
+ p = Path(path)
68
+ try:
69
+ st = os.stat(p)
70
+ except OSError:
71
+ # Absent (or unstatable) → the missing-file branch every caller took.
72
+ return {}
73
+
74
+ key = (str(p.resolve()), st.st_mtime_ns, st.st_size)
75
+ cached = _CACHE.get(key)
76
+ if cached is not None:
77
+ return cached
78
+
79
+ try:
80
+ import tomllib # py3.11+
81
+ except ModuleNotFoundError: # pragma: no cover - py<3.11 fallback
82
+ try:
83
+ import tomli as tomllib # type: ignore
84
+ except ModuleNotFoundError:
85
+ return {}
86
+
87
+ # `utf-8-sig` transparently strips a UTF-8 BOM (a no-op when absent). A parse
88
+ # error propagates here (NOT stored) so the caller's existing handling stands.
89
+ data = tomllib.loads(p.read_text(encoding="utf-8-sig"))
90
+
91
+ if len(_CACHE) >= _MAX_ENTRIES:
92
+ # Evict the oldest inserted entry (dicts preserve insertion order).
93
+ oldest = next(iter(_CACHE))
94
+ del _CACHE[oldest]
95
+ _CACHE[key] = data
96
+ return data
97
+
98
+
99
+ def clear_cache() -> None:
100
+ """Drop every cached parse. For tests / a host that wants a cold read."""
101
+ _CACHE.clear()