Cordis Runtime v0.4
Cordis Runtime is the minimal host bridge for Cordis Core. It does not call a model and it does not split tasks.
The semantic boundary is explicit:
user language
-> host/main model interprets intent
-> structured Task Contract
-> Cordis Runtime + Core
-> difficulty policy + model context
-> optional Planner proposes PlanIR
-> Runtime admits plan, advances steps, then closes Core feedback
For an agent with tool calling, the host/main model fills the task contract as
part of its normal turn. The optional cordis-planner can use a model callable
to propose a PlanIR. Neither Runtime nor Planner executes a tool: Runtime owns
the deterministic workflow state and the host remains the executor.
Minimal use
from cordis_core import CordisRuntime
from cordis_runtime import CordisHostRuntime
runtime = CordisHostRuntime(CordisRuntime("cordis-state.json"))
turn = runtime.begin({
"task": {
"goal": "Fix the login integration test",
"domain": "software",
"project_id": "my-app",
"strategy_id": "inspect_logs_first",
"stakes": "medium",
},
"complexity": 0.4,
"current_step": "Inspect the failing test and logs",
"constraints": ["Do not change the database schema"],
"acceptance_evidence": ["login integration test passes"],
})
# Send turn["model_context"] to the host's existing planner or main model.
The host calls check_action(...) before an action, observe(...) for any
plan/tool/artifact/test/error event, and finish(...) with observable evidence
after execution. When constructed with a CognitiveStore, Runtime retrieves a
small project-safe snapshot on begin, supports deduplicated query(...), and
persists the final episode through finish(...).
Managed host lifecycle
Hosts should normally use CordisManagedSession instead of asking a model to
construct separate begin, observe, and finish calls. The host creates
the task once, translates its own tool/test telemetry into a small typed event
set, then closes from accumulated evidence:
from cordis_runtime import CordisManagedSession
session = CordisManagedSession(runtime)
turn = session.start(task_payload)
# The host, not the model, emits this after its test runner returns.
session.record({
"type": "test_passed",
"summary": "pytest tests/test_login.py passed",
"acceptance_id": "criterion-1",
"tool": "pytest",
})
result = session.complete(lesson="The login integration test now passes.")
tool_succeeded, tool_failed, test_passed, test_failed,
verification_passed, verification_failed, and note are supported. The
session rejects malformed, unknown, and out-of-order events; it derives the
final result from declared acceptance evidence rather than trusting a model to
claim success.
Workflow boundary
Runtime provides:
- structured Task Contract validation through Core;
- task-local Focus State;
- deterministic control modes;
- compact model context;
- an experimental lexical drift heuristic, never a safety or attention guarantee;
- evidence-bound feedback delegation.
- optional
CognitiveStoreretrieval, event capture, and episode write-back. - a durable workflow controller for task contracts, six-axis difficulty, PlanIR admission, active steps, results, explicit replan, and feedback closure.
Runtime does not provide natural-language interpretation, model selection, provider SDKs, tool execution, parallel scheduling, durable conversation memory, or an HTTP service. The optional planner can propose plans but cannot approve or execute them.
check_action is deliberately conservative metadata: it reports lexical
overlap and obvious destructive terms. Hosts must not treat it as semantic
understanding, an authorization decision, or a complete attention-drift guard.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cordis_runtime-0.5.0.tar.gz.
File metadata
- Download URL: cordis_runtime-0.5.0.tar.gz
- Upload date:
- Size: 22.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e1299a91f9d276aa7f5ab45f42cfe60720a1a7a417f9314fc7752b1787177e7c
|
|
| MD5 |
0dc0d1bdd195c2119d9a3b3644e238d1
|
|
| BLAKE2b-256 |
4bab3dd1f6fb9e8f4b12b7e1635efd954d60e450f2fe21a01ef00066686d0089
|
File details
Details for the file cordis_runtime-0.5.0-py3-none-any.whl.
File metadata
- Download URL: cordis_runtime-0.5.0-py3-none-any.whl
- Upload date:
- Size: 18.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b36be20cca6070c0cf170f5ca888f2ef4c965c66a430134621992249ad3a3c7c
|
|
| MD5 |
b674ab99721bf126f8499d29ee895a9b
|
|
| BLAKE2b-256 |
89ae185d6271fef14a7451e10c31d16417ca3a54f3c21bdfa01e1924edcd6c6a
|