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.
- {dos_kernel-0.25.0/src/dos_kernel.egg-info → dos_kernel-0.26.0}/PKG-INFO +57 -2
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/README.md +54 -1
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/pyproject.toml +27 -1
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/__init__.py +16 -1
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/cli.py +594 -13
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/commit_audit.py +219 -34
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/config_lint.py +50 -2
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/decisions.py +321 -3
- dos_kernel-0.26.0/src/dos/deprecation.py +68 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/dispatch_top.py +90 -0
- dos_kernel-0.26.0/src/dos/drivers/_effect_gate.py +376 -0
- dos_kernel-0.26.0/src/dos/drivers/crewai_guardrail.py +85 -0
- dos_kernel-0.26.0/src/dos/drivers/memory_mem0.py +158 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/memory_recall.py +462 -34
- dos_kernel-0.26.0/src/dos/drivers/nemo_action.py +102 -0
- dos_kernel-0.26.0/src/dos/drivers/openai_agents_guardrail.py +112 -0
- dos_kernel-0.26.0/src/dos/drivers/pre_commit.py +67 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/event_severity.py +35 -2
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/home.py +2 -1
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/hook_install.py +109 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/intent_ledger.py +16 -1
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/lane_journal.py +21 -1
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/liveness.py +9 -0
- dos_kernel-0.26.0/src/dos/memory_stores.py +185 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/phase_shipped.py +104 -3
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/plan_board.py +26 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/pretool_sensor.py +100 -1
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/skills/EXAMPLES.md +1 -1
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/skills/dos-dispatch/SKILL.md +1 -1
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/skills/dos-next-up/SKILL.md +1 -1
- dos_kernel-0.26.0/src/dos/testing/__init__.py +71 -0
- dos_kernel-0.26.0/src/dos/testing/doubles.py +222 -0
- dos_kernel-0.26.0/src/dos/testing/suite.py +392 -0
- dos_kernel-0.26.0/src/dos/testing/tester.py +122 -0
- dos_kernel-0.26.0/src/dos/verdict_census.py +381 -0
- dos_kernel-0.26.0/src/dos/verified.py +134 -0
- dos_kernel-0.26.0/src/dos/work_account.py +263 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0/src/dos_kernel.egg-info}/PKG-INFO +57 -2
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos_kernel.egg-info/SOURCES.txt +53 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos_kernel.egg-info/entry_points.txt +3 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos_kernel.egg-info/requires.txt +3 -0
- dos_kernel-0.26.0/tests/test_backlog_triage.py +353 -0
- dos_kernel-0.26.0/tests/test_braintrust_scorer_example.py +107 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_canonical_example_lockstep.py +1 -0
- dos_kernel-0.26.0/tests/test_caught_lie_cast.py +96 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_cli_ergonomics.py +55 -0
- dos_kernel-0.26.0/tests/test_clobber_demo_contract.py +134 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_commit_audit.py +250 -14
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_config_lint.py +33 -0
- dos_kernel-0.26.0/tests/test_conformance_plugin_examples.py +85 -0
- dos_kernel-0.26.0/tests/test_conformance_suite.py +193 -0
- dos_kernel-0.26.0/tests/test_crewai_guardrail.py +115 -0
- dos_kernel-0.26.0/tests/test_cross_host_continuity.py +192 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_decisions.py +268 -0
- dos_kernel-0.26.0/tests/test_deprecation.py +109 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_dispatch_top.py +115 -0
- dos_kernel-0.26.0/tests/test_docs_links.py +96 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_docs_version_drift.py +3 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_doctor_json.py +39 -0
- dos_kernel-0.26.0/tests/test_drift_scoreboard.py +295 -0
- dos_kernel-0.26.0/tests/test_duplicate_plan_numbers.py +277 -0
- dos_kernel-0.26.0/tests/test_effect_gate.py +243 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_event_severity.py +66 -0
- dos_kernel-0.26.0/tests/test_fault_injection_journal.py +376 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_fleet_framework_examples.py +30 -1
- dos_kernel-0.26.0/tests/test_forge_arena_bench.py +117 -0
- dos_kernel-0.26.0/tests/test_forge_page.py +85 -0
- dos_kernel-0.26.0/tests/test_gemini_extension.py +137 -0
- dos_kernel-0.26.0/tests/test_gitlab_ci_template.py +55 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_hook_pretool.py +95 -16
- dos_kernel-0.26.0/tests/test_hosts_verb.py +198 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_install_drift.py +1 -0
- dos_kernel-0.26.0/tests/test_kernel_keep_gate_example.py +207 -0
- dos_kernel-0.26.0/tests/test_kernel_keep_gate_real_kernelbench.py +103 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_liveness.py +67 -0
- dos_kernel-0.26.0/tests/test_memory_admit.py +213 -0
- dos_kernel-0.26.0/tests/test_memory_fossils.py +297 -0
- dos_kernel-0.26.0/tests/test_memory_integrity_bench.py +73 -0
- dos_kernel-0.26.0/tests/test_memory_mem0.py +157 -0
- dos_kernel-0.26.0/tests/test_memory_stores.py +229 -0
- dos_kernel-0.26.0/tests/test_nemo_action.py +130 -0
- dos_kernel-0.26.0/tests/test_openai_agents_guardrail.py +177 -0
- dos_kernel-0.26.0/tests/test_poisoned_pool_bench.py +188 -0
- dos_kernel-0.26.0/tests/test_poisoned_pool_p2.py +221 -0
- dos_kernel-0.26.0/tests/test_poisoned_pool_policies.py +128 -0
- dos_kernel-0.26.0/tests/test_pre_commit_hook.py +213 -0
- dos_kernel-0.26.0/tests/test_prop_arbiter_wal.py +361 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_release_bump.py +9 -7
- dos_kernel-0.26.0/tests/test_scoreboard_surfaces.py +183 -0
- dos_kernel-0.26.0/tests/test_stability_policy.py +96 -0
- dos_kernel-0.26.0/tests/test_verdict_census.py +181 -0
- dos_kernel-0.26.0/tests/test_verified.py +206 -0
- dos_kernel-0.26.0/tests/test_work_account.py +307 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/LICENSE +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/setup.cfg +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/_demo_story.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/_filelock.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/_job_policy.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/_tree.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/admission.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/answer_shape.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/arbiter.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/archive_lock.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/arg_provenance.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/attest.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/breaker.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/churn.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/claim_extract.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/claim_ttl.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/completion.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/concurrency_class.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/config.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/cooldown.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/coverage.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/dangling_intent.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/data_class.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/decisions_tui.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/dispatch_top_tui.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/__init__.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/agt_backend.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/ci_status.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/citation_resolve.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/decision_stop.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/design_doc_plan.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/export_file.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/export_otlp.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/export_statsd.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/hook_dialects.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/job.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/llm_judge.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/notify_slack.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/notify_webhook.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/operator_judge.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/os_acceptance.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/paste_log.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/plan_scope.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/self_improve.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/similarity_judge.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/state_diff.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/supervisor.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/watchdog.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/drivers/workshop.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/durable_schema.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/effect_witness.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/efficiency.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/efficiency_trend.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/enforce.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/enumerate.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/env_print.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/evidence.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/exec_capability.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/export_cursor.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/exporter.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/firing_label.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/fleet_roll.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/gate_classify.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/gh4_coverage.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/git_delta.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/guard.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/health.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/help_summary.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/hook_binary.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/hook_dialect.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/hook_exit.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/hook_observation.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/id_alloc.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/improve.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/interpret.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/intervention.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/intervention_eval.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/journal_delta.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/judge_eval.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/judges.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/lane_infer.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/lane_lease.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/lane_overlap.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/lease_health.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/lifecycle.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/lock_modes.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/log_source.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/loop_decide.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/marker_gate.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/marker_sensor.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/noop_streak.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/notify.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/observe.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/oracle.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/overlap_eval.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/overlap_policy.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/override_facts.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/packet_sidecar.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/pick_priority.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/pickable.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/picker_oracle.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/plan_board_tui.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/plan_source.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/posttool_sensor.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/precursor_gate.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/precursor_gate_eval.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/preflight.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/proc_delta.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/productivity.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/provider_limit.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/py.typed +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/reason_morphology.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/reasons.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/reconcile.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/recurring_wedge.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/render.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/result_state.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/resume.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/resume_evidence.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/retention.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/reward.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/rewind.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/rewind_evidence.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/rewind_tokens.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/run_id.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/scope.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/scope_source.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/scout.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/self_modify.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/sibling_scan.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/skills/dos-class-cycle/SKILL.md +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/skills/dos-dispatch-loop/SKILL.md +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/skills/dos-goal-gate/SKILL.md +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/skills/dos-promote/SKILL.md +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/skills/dos-replan/SKILL.md +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/skills/dos-replan-loop/SKILL.md +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/skills/dos-self-improve/SKILL.md +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/skills/dos-supervise-loop/SKILL.md +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/skills/dos-unstick/SKILL.md +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/skills/dos-witness-claim/SKILL.md +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/spend.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/stamp.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/state_health.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/status.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/stop_policy.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/supervise.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/testwitness.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/timeline.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/tokens.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/tool_stream.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/tool_stream_eval.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/trace.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/verdict.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/verdict_cli.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/verdict_journal.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/verdict_rollup.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/verdicts.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos/wedge_reason.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos_kernel.egg-info/dependency_links.txt +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos_kernel.egg-info/top_level.txt +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos_mcp/__init__.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos_mcp/py.typed +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/src/dos_mcp/server.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_admission.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_agent_surface.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_agenthallu_replay.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_agentprocessbench_replay.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_agt_backend.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_answer_shape.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_arbiter.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_archive_lock.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_arg_provenance.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_attest.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_backflow_ledger.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_bench_layering.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_breaker.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_build_wheels_binary_format.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_central_index.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_churn.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_ci_status.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_citation_resolve.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_claim_extract.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_claim_ttl.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_claims_lint.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_cli_loop.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_cli_pickable_enumerate.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_cmd_status.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_completion.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_concurrency_class.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_cooldown.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_coverage.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_dangling_intent.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_data_class.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_design_doc_plan_source.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_dispatch_loop_substrate.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_dos_react_terminal_error.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_drivers_self_improve.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_drivers_supervisor.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_drivers_watchdog.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_drivers_workshop.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_durable_schema.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_effect_witness.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_efficiency.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_efficiency_trend.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_efficiency_trend_cli.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_enforce.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_ensure_home.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_enterpriseops_harness.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_enumerate.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_env_print.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_evidence.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_exec_capability.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_export_cli.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_export_cursor.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_export_otlp.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_export_statsd.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_exporter.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_feasibility_split.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_filelock.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_filepath_backstop_batch.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_firing_label.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_fleet_roll.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_gate_cli.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_gh4_coverage.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_git_hygiene.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_gitignore_hygiene.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_go_hook_parity.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_guard.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_health.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_help_summary.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_hermes_integration_example.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_home_layering.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_home_no_temp_pollution.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_hook_binaries_bundled.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_hook_binary_locator.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_hook_dialect.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_hook_exit.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_hook_observation.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_hook_stop.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_id_alloc.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_improve.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_init_hooks.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_init_hooks_auto.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_init_hooks_crossvendor.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_init_skills.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_install_levels.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_intent_ledger.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_interpret_parity.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_intervention.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_intervention_cli.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_intervention_eval.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_journal_delta.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_judge.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_judge_eval.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_judges.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_lane_adopt.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_lane_halt.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_lane_infer.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_lane_journal.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_lane_lease.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_lane_lease_expiry.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_lane_lease_mutex.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_lane_overlap.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_leak_scan.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_lease_health.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_lifecycle.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_llm_judge_vendor_seam.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_llms_full.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_llms_txt.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_lock_modes.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_log_source.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_marker_gate.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_marker_sensor.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_mcp_server.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_memory_recall.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_noop_streak.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_notify.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_notify_cli.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_notify_slack.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_notify_webhook.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_observe.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_operator_judge.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_oracle_and_loop.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_oracle_forgeability_provenance.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_oracle_grep_in_process.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_overlap_policy.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_override_window.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_packet_sidecar.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_phase_labels.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_pick_priority.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_pickable.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_plan_board.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_plan_source.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_plugin_manifest.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_posttool_sensor.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_precursor_gate.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_precursor_gate_eval.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_preflight_sidecar.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_proc_delta.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_productivity.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_prop_breaker.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_prop_cooldown.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_prop_efficiency.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_prop_install_wrappers.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_prop_overlap_soundness.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_prop_productivity.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_prop_reconcile.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_prop_reward_nonforgeability.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_prop_tree.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_provider_limit.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_readme_assembly.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_reconcile.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_recurring_wedge.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_refusal_and_tokens.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_reindex.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_render.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_replan_skip.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_result_state.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_resume_cli.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_resume_evidence.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_resume_reachability.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_retention.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_reward.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_rewind.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_rewind_cli.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_scope.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_scope_gate.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_scope_gate_cli.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_scope_source.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_scout.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_selfmodify_hook_probe.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_server_json_version.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_serverless_rl_example.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_sibling_scan.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_similarity_judge.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_skill_pack_dispatch.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_skill_pack_generic.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_skill_pack_litmus.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_skill_pack_operator_tier.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_skill_pack_replan.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_spend.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_spend_cli.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_spend_evidence.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_stall_sim.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_stamp_convention.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_stamp_doctor.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_stamp_filepath_rung.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_stamp_trailer.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_state_diff.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_state_health.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_state_health_doctor.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_state_home.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_status_digest.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_stop_policy.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_subprocess_stdin_hygiene.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_supervise.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_testwitness.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_timeline_timing.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_tool_stream.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_tool_stream_cli.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_toolathlon_live_adapter.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_toolathlon_replay.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_toolathlon_rewind_ceiling.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_trace.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_trajectory_audit.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_vendor_agnostic_kernel.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_verdict_cli.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_verdict_contract.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_verdict_journal.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_verdict_rollup.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_verdicts.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_verify_color.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_verify_demo_contract.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_verify_no_plan.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_verify_non_git_rung.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_verify_plugin_install.py +0 -0
- {dos_kernel-0.25.0 → dos_kernel-0.26.0}/tests/test_workflow_yaml_parses.py +0 -0
- {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.
|
|
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
|
[](https://pypi.org/project/dos-kernel/)
|
|
65
67
|
[](https://github.com/anthony-chaudhary/dos-kernel/actions/workflows/ci.yml)
|
|
66
68
|
[](https://github.com/anthony-chaudhary/dos-kernel/actions/workflows/dos-gate.yml)
|
|
69
|
+
[](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/scoreboard/methodology.md)
|
|
67
70
|
[](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.
|
|
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
|
[](https://pypi.org/project/dos-kernel/)
|
|
13
13
|
[](https://github.com/anthony-chaudhary/dos-kernel/actions/workflows/ci.yml)
|
|
14
14
|
[](https://github.com/anthony-chaudhary/dos-kernel/actions/workflows/dos-gate.yml)
|
|
15
|
+
[](https://github.com/anthony-chaudhary/dos-kernel/blob/master/docs/scoreboard/methodology.md)
|
|
15
16
|
[](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.
|
|
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.
|
|
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.
|
|
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
|
]
|