System Model: Tooling Layer

Table of Contents

This page is part of the System Model. Tooling is not a runtime layer — these components do not run in production and carry no dependency on the four runtime layers. They exist to support the human and LLM contributors who build, test, and document ORE Studio: code generation, repository navigation, database lifecycle management, and Emacs developer ergonomics.

See Knowledge* Tooling for the entry-point index to all tooling docs.

Detail

ores.compass

ores.compass is the Python repository compass: the primary quality-of-life tool for both human contributors and LLM agents. It provides temporal orientation in the sprint (where are we, what is in flight), semantic search over the org-roam knowledge graph, agile scaffolding (story, task, capture, memory), and fleet management for parallel Claude environments.

Component Role Language
ores.compass Temporal orientation, doc search, agile scaffolding, fleet management Python

ores.codegen

ores.codegen is the Python + Mustache code generator that produces SQL schemas, C++ domain types, and v2 org documents from per-entity model files. It embodies the MASD back-out-from-reference-implementation strategy: entities are commissioned by hand first, the recurring pattern is extracted into a template, and every subsequent entity is generated. See Document MASD and code generation principles for the design rationale.

Component Role Language
ores.codegen SQL, C++, and org document generation from entity models Python, Mustache

ores.seeder

ores.seeder is the database-level synthetic test-data generator: it emits SQL INSERT populate scripts at codegen time that load hand-curated test rows ("crafted" datasets) into the schema for local development and CI. ores.seeder is distinct from ores.synthetic.service (and its sibling api / core), which generates synthetic data inside the running C++ process at runtime; the seeder operates at build time and ships SQL files, not in-memory data.

The first inhabitant is the slovaris "imaginary world" — fake countries (Aerilon and others) with fake currencies (Ducat, …) — which exercises the refdata schema end-to-end without depending on real ISO data.

A roadmap item, not built yet: a synthesised flavour that reads a codegen entity model + its column generator_expr hints (faker::internet::url() etc., already preserved by the codegen migrations) and emits a Python+Faker script that produces SQL inserts on demand.

Component Role Language
ores.seeder Database test-data generation: SQL inserts from crafted JSON Python, Mustache

ores.lisp

ores.lisp is the Emacs Lisp developer tooling layer: dashboard, database browser, shell integration, and the org-roam export pipeline that converts the knowledge graph to the project site. It is the operational surface for contributors who work in Emacs.

Component Role Language
ores.lisp Emacs dashboard, DB browser, shell integration, org-roam export Emacs Lisp

ores.sql

ores.sql owns the PostgreSQL lifecycle: schema definitions, migration scripts, role provisioning, and database recreation. It is the authoritative source of the SQL schema and the scripts that set up a development or CI database from scratch. See the * Scripts section in the component overview for the full script inventory.

Component Role Language
ores.sql PostgreSQL schema, migrations, role provisioning, DB lifecycle SQL, bash

See Also

  • Knowledge — the broader knowledge graph entry point, including the full * Tooling section with narrative descriptions and recipe links.
  • Developer scripts — inventory of standalone scripts in scripts/, grouped by purpose.
  • System Model — the top-level architecture index.

Emacs 29.1 (Org mode 9.6.6)