matter-os / docs /ARCHITECTURE.md
tmepass000's picture
MATTER OS v0.1.0
87b48de verified
|
Raw History Blame Contribute Delete
2.87 kB

Architecture

A modular monolith with internal service boundaries that map one-to-one to the spec's layers (section 4). Scientific computation, orchestration, evidence grading and UI are separate packages. Agents reach everything through typed tools (agents/tools.py) and never through solver internals or the filesystem.

Spec layer Package(s) Key entry points
Experience apps/dashboard, visualization/ dashboard index.html, viewer.js, visualization/viewer.structure_payload
API/application apps/api.py, matter_os/app.py create_app(), MatterOS container (Project API)
Orchestration orchestration/ MissionOrchestrator, JobRunner, ResourceManager, scheduler.execute, failures.classify
Agent runtime agents/ AgentRuntime, ResearchCoordinator, 12 specialists, DynamicAgent, MessageBus, debate.resolve
Scientific core core/, discovery/ MatterStructure, ConstraintSet, transformations, generators, searches, Pareto, active learning
Simulation adapters simulation/ SolverAdapter contract, MethodRegistry, SimulationRouter, SimulationService, benchmarks
Knowledge knowledge/ KnowledgeGraph, governance rules, provenance registry, ingestion connectors
Infrastructure storage/, orchestration/jobs.py SQLite Database (+migrations, immutability triggers), ArtifactStore, archives/snapshots

End-to-end flow (one mission)

mission -> hypotheses -> design -> screening -> method_selection -> execution -> analysis -> learning -> replication -> novelty -> evidence_grading -> knowledge_update -> next_action

The coordinator routes each stage to its agent with a TaskContract. The result is validated against the StageResult schema, posted as a structured message and persisted into the mission checkpoint, so a crash resumes at the next stage.

Data stores (SQLite, var/matter_os.sqlite3)

projects, missions, candidates (+candidate_versions), run_records (immutable), claims (+claim_versions), jobs, kg_entities, kg_edges, kg_events (append-only), audit_log (append-only), agent_memory, messages, artifacts, data_sources, failures, strategy_stats, agent_evaluations, improvements, metrics, schema_migrations. Artifacts are content-addressed files under var/artifacts/<sha[:2]>/<sha>/<name>, each with an HMAC signature row.

Execution isolation

JobRunner forks one worker per job (multiprocessing "fork" context). The worker sets RLIMIT_CPU and thread caps, runs in var/jobs/<job_id>/, and returns a pickled SolverOutput. The parent enforces wall time, a resident-RAM watchdog (USS sampled every 0.5 s) and cancellation (cooperative flag file, then terminate). Checkpoints are ASE trajectories, and resume continues from the last frame.

Decisions recorded as ADRs

See docs/decisions/.