Reading the badgesVerifiedImplementedSyntheticMockPlannedUnverified
- Verified
A named test in the repository exercises exactly this, and the claim cites it. The tests were read and counted for this portal, not executed by it.
- Implemented
The code exists and is documented, but no test, log or report in the repository exercises this specific behaviour.
- Synthetic
Shown only by deterministic experiments over an in-process synthetic lab or a synthetic benchmark — never against a real environment.
- Mock
Exercised only through mock adapters or stubs: no real model provider, no network, no credentials.
- Planned
Described in the dossier, the README or the docs as intended. Not built.
- Unverified
Stated in the repository — a ledger, the README, a commit message — with no test, log or report in it that backs the statement.
02 / 11 · Architecture
SYMBIOTE and SymbiOS architecture
The layers — External Controller, Symba, SymbiOS, the organism, its Parasites and the lab — and, component by component, what is built and what is still design.
Three names, three layers
SymbiOS is the substrate the organism runs inside. SYMBIOTE is the organism itself. Symba is the operator’s console onto it. Above all three sits the External Controller — a human, outside the system, holding the authority to stop it.
In the repository, SymbiOS exists only as a protocol and an in-process local backend; the isolation it is designed to provide does not exist yet. The drawings are under Diagrams.
External Controller
Human-operated authority outside the organism’s reach. Holds kill, clear and rollback.
- Verified
The External Controller is a principal outside the organism; its containment authority comes from policy data, not from anything the organism holds.
Sourcesrc/symbiote/policy/data/organism_policy.toml @ 9243204 · tests/test_symba.py::test_only_the_external_controller_console_clears_containment @ 9243204
- Verified
External termination is deliberately not mediated by the Permission Engine: it drops pending deliveries, commits EXTERNAL_TERMINATION and closes the log.
Sourcedocs/M1-M2.md @ 9243204 · tests/test_substrate.py::test_external_termination_halts_everything @ 9243204
Symba
The operator’s console: telemetry, inspection and command intake. Not an authority.
- Verified
Symba’s reads — status, inspection, timeline, integrity — are pure projections of the audit log and record nothing.
Sourcetests/test_symba.py::test_reads_record_nothing, ::test_status_is_identical_live_and_replayed @ 9243204
- Verified
Symba relays each command as the principal its console is bound to, so the one Permission Engine decides it; an observer console commands nothing.
Sourcetests/test_symba.py::test_the_console_never_touches_the_permission_engine_or_mints_principals, ::test_an_observer_console_reads_everything_and_commands_nothing @ 9243204
- Verified
Displayed text is escaped, so untrusted content cannot inject terminal control sequences into the operator’s console.
Sourcetests/test_symba.py::test_displayed_text_cannot_inject_terminal_control_sequences @ 9243204
SymbiOS
The substrate the organism runs inside: lifecycle, event bus, isolation, quotas.
- Verified
SymbiOS exists as a Substrate protocol with one in-process LocalBackend, whose lifecycle runs CREATED → BOOTED → RUNNING → STOPPED, or TERMINATED by the kill switch.
Sourcesrc/symbiote/substrate/interface.py · src/symbiote/substrate/local.py @ 9243204 · tests/test_substrate.py::test_clean_lifecycle_is_fully_audited, ::test_illegal_transitions_are_refused @ 9243204
- Verified
The event bus is single-threaded and FIFO: every event is committed to the audit log before a subscriber sees it, a failing subscriber is isolated, and runaway feedback loops are bounded.
Sourcetests/test_substrate.py::test_bus_delivers_in_commit_then_subscription_order, ::test_failing_subscriber_is_isolated_and_audited, ::test_runaway_feedback_loop_is_bounded @ 9243204
- Verified
Lifecycle event types are reserved to the substrate, so no component can forge a shutdown or a termination.
Sourcetests/test_substrate.py::test_components_cannot_forge_lifecycle_events @ 9243204
- Verified
Upper layers depend only on the Substrate protocol, so another substrate can replace the local one without changing them.
Sourcetests/test_substrate.py::test_upper_layers_depend_only_on_the_substrate_protocol @ 9243204
- Planned
Process or VM isolation for Parasites, resource quotas enforced outside the quotaed process, network-egress allowlisting, and snapshot/reset.
The dossier records that the enforcement mechanism still needs a concrete technology choice (container runtime or sandbox) that has not been made (UNK-4).
SourceREADME.md §11, §13 (“Does not exist yet”) @ 9243204 · Dossier Rev 0.1, p. 13 (“SymbiOS — The Substrate”) · Dossier Rev 0.1, p. 57 (“Unresolved Questions & Unknowns”)
Audit and authorization spine
One event system and one authorization system that every layer above the substrate shares.
- Verified
The audit log is append-only, SHA-256 hash-chained JSON Lines; only the log assigns an event’s identity, sequence and timestamp, and its interface has no mutation operation.
Sourcesrc/symbiote/audit/log.py @ 9243204 · tests/test_audit.py::test_append_assigns_identity_order_and_chain, ::test_audit_log_interface_has_no_mutation_operations @ 9243204
- Verified
Reading a log back detects truncation, tampering, reordering, deletion, duplication and schema violations.
Sourcetests/test_audit.py::test_tampering_is_detected, ::test_replay_rejects_invalid_streams @ 9243204
- Verified
The Permission Engine is a pure, deterministic evaluator returning ALLOW, ASK or DENY over TOML policy data: deny-overrides, and anything unknown — actor, action, resource, budget, or no matching rule — is DENY.
Sourcesrc/symbiote/policy/evaluator.py @ 9243204 · tests/test_policy_matrix.py::test_decision_matrix, ::test_matrix_covers_every_verdict_and_reason_code @ 9243204
- Verified
Every decision commits a POLICY_DECISION record before it returns; if the log cannot record it, no decision exists.
Sourcetests/test_policy_engine.py::test_no_audit_means_no_decision, ::test_exactly_one_audit_event_per_decision @ 9243204
- Verified
Replay re-derives every recorded decision from the policy recorded in the same log, so a forged ALLOW is exposed.
Sourcetests/test_policy_engine.py::test_replay_reproduces_every_decision, ::test_forged_decision_event_is_detected @ 9243204
- Verified
Provenance only ever degrades: combining data unions its trust labels, and no API removes one.
Sourcetests/test_core.py::test_merge_is_monotonic_taint_never_disappears, ::test_tainted_offers_no_way_to_shed_provenance @ 9243204
- Verified
Every domain mutation takes one path — validate, then an audited ALLOW from the one Permission Engine, then emit citing that ALLOW — and a mutation without its own ALLOW, or reusing another’s, is detected at replay.
Sourcesrc/symbiote/domain/recording.py @ 9243204 · tests/test_domain_authorization.py::test_mutation_with_no_decision_is_detected, ::test_reused_decision_is_detected, ::test_copied_decision_cannot_authorize_a_second_mutation @ 9243204
SYMBIOTE — the organism
Mission Kernel, World Model, Capability Graph, Bond Engine, Mode Controller, Model Router, memory and evolution.
- Verified
The World Model holds facts that are observed, inferred or hypothesized, each with confidence, provenance, scope and staleness — and nothing is ever silently promoted: only a new observation can confirm a hypothesis.
Sourcetests/test_world_model.py::test_there_is_no_promotion_operation, ::test_inference_from_a_hypothesis_is_refused, ::test_confirmation_is_an_explicit_superseding_observation @ 9243204
- Verified
Capabilities advance HYPOTHESIZED → TESTED → VERIFIED (or REVOKED), and verifying one needs its whole transitive dependency chain already verified.
Sourcetests/test_capability_graph.py::test_full_lifecycle_records_all_metadata, ::test_new_verification_cannot_rest_on_a_transitively_broken_chain @ 9243204
- Verified
World Model, Capability Graph, Bond Engine and Verification share no import path; an architecture test computes the transitive import closure and enforces one dependency direction.
Sourcetests/test_architecture.py::test_domain_dependencies_follow_the_allowed_direction @ 9243204 · tests/test_capability_graph.py::test_world_model_and_capability_graph_do_not_share_state @ 9243204
- Verified
Verification is a pure judge() over success criteria registered before the experiment: PASS, FAIL or UNVERIFIABLE. No model is consulted and the caller cannot supply the verdict.
Sourcetests/test_verification.py::test_the_verdict_is_computed_not_supplied, ::test_replay_rejects_forged_verdicts @ 9243204
- Verified
Bonds move PROPOSED → EXPERIMENTAL → BONDED → VERIFIED → STALE / INVALIDATED, and bonds compose only when every dependency is VERIFIED.
Sourcetests/test_bond_engine.py::test_full_lifecycle_and_derived_confidence, ::test_composition_needs_every_dependency_verified @ 9243204
- Verified
Research memory is structured notes, never transcripts, each citing audit events from the same run; carried memory arrives unconfirmed, untrusted and capped at 0.5 confidence.
Sourcetests/test_memory.py::test_content_is_a_small_structured_note_never_a_transcript, ::test_memory_must_cite_citable_research_events, ::test_carried_memory_arrives_unconfirmed_untrusted_and_capped @ 9243204
- Verified
The dossier’s ten core modes are an audited state machine that the Parasite runtime enforces: each mode admits only its own Parasite classes.
Sourcetests/test_missions.py::test_each_mode_admits_only_its_own_parasite_classes @ 9243204
- Verified
THREAT and ESCAPE are entered by deterministic anomaly detection and cleared only by the External Controller — not the operator, not the kernel.
Sourcetests/test_missions.py::test_only_the_external_controller_clears_containment @ 9243204
- Verified
Special modes change resourcing or presentation, never authority: OVERKILL doubles and TERMINUS triples only the swarm ceiling (capped at 12), DESPERADO needs at least three documented failures, and GOOFY GUY is presentation only.
Sourcesrc/symbiote/orchestration/modes.py @ 9243204 · tests/test_missions.py::test_special_modes_raise_ceilings_without_widening_authority, ::test_goofy_guy_is_presentation_only @ 9243204
- Synthetic
The Mission Kernel drives a mission OBSERVING → HYPOTHESIZING → EXPERIMENTING → CONVERGING through Parasites, applies verdicts it never decides, and never touches the environment itself.
Every mission in the repository runs against the synthetic lab.
Sourcesrc/symbiote/orchestration/kernel.py · docs/M8.md @ 9243204 · tests/test_missions.py::test_a_mission_runs_the_full_cycle_to_a_verified_bond @ 9243204
- Planned
Model-backed mission strategy. The only playbook is RuleBookPlaybook, a deterministic rule set written for the synthetic lab.
Sourcedocs/M8.md (Known limitations) · src/symbiote/orchestration/playbook.py @ 9243204
- Mock
Model calls go through a provider-independent router that only ever reaches ScriptedAdapter — a deterministic mock with no network, no credentials and no clock.
Sourcesrc/symbiote/models/adapters.py · docs/M6.md @ 9243204 · tests/test_models.py::test_a_call_is_authorized_and_its_output_is_untrusted_data @ 9243204
- Verified
Containment-relevant tasks are refused by the router outright: they belong to deterministic code, never to a model.
Sourcetests/test_models.py::test_containment_relevant_work_is_never_routed_to_a_model @ 9243204
- Verified
Only two allowlisted strategy components may evolve; the Permission Engine, verification judge, audit log, kill switch, Mode Controller and domain authorization are frozen in every generation’s manifest.
Sourcesrc/symbiote/evolution/components.py @ 9243204 · tests/test_evolution.py::test_only_allowlisted_strategy_components_are_mutable, ::test_a_proposal_against_a_frozen_safety_component_is_refused @ 9243204
- Verified
The organism cannot approve or activate its own next generation, and a self-reported win without an evaluation is rejected.
Sourcetests/test_evolution.py::test_the_organism_cannot_approve_or_activate_itself, ::test_a_self_reported_win_is_rejected @ 9243204
- Synthetic
Candidates are evaluated case by case in fresh, isolated sandbox organisms against two five-case synthetic suites with stated ground truth.
Sourcesrc/symbiote/symba/experiments.py (DEVELOPMENT, HELD_OUT) · docs/M9-M10.md @ 9243204 · tests/test_evolution.py::test_evaluation_runs_in_a_sandbox_isolated_from_the_live_organism @ 9243204
Parasites
Short-lived, single-task workers spawned by the kernel, then terminated and audited.
- Verified
The eight roles — Scout, Observer, Analyst, Hypothesis Agent, Executor, Verifier, Recorder, Death Agent — are data, and a role cannot use an operation outside its set.
Sourcesrc/symbiote/orchestration/roles.py @ 9243204 · tests/test_parasites.py::test_a_role_cannot_use_operations_outside_its_responsibility @ 9243204
- Verified
Each Parasite gets a narrow context with no spawn, messaging or write access; its footprint is checked before the environment is touched, and exceeding a budget force-terminates it.
Sourcetests/test_parasites.py::test_the_context_offers_no_spawn_messaging_or_write_access, ::test_actions_outside_the_footprint_are_refused_before_reaching_the_environment, ::test_exceeding_the_action_budget_force_terminates @ 9243204
Environment
Where experiments happen: today a synthetic lab; in the design, a twin and a controlled lab.
- Synthetic
The only execution environment is SyntheticLab: deterministic, in-memory components with no shell, no file system and no network.
Sourcesrc/symbiote/orchestration/environment.py · docs/M7.md @ 9243204
- Planned
A Digital Twin that simulates the environment the World Model believes in, so strategies are tried there before real experiment budget is spent.
No package exists for it, and a test fails if a placeholder package appears.
SourceREADME.md §5 (“Status: PLANNED”), §13 @ 9243204
- Planned
A controlled laboratory: provision → snapshot → run → telemetry → evidence → teardown → reset, with target-side instrumentation independent of SYMBIOTE’s own reports.
SourceDossier Rev 0.1, p. 40 (“Laboratory Architecture”)