tom_ai_build — the TomSpecs release repository

Start here. This repository ships release 1 of TomSpecs: a structured, AI-assistable process for creating software systems, carried by a typed Specification Object Model (SOM) that is generated into nine languages (Dart, Python, Java, JavaScript, TypeScript, Go, Rust, C, C++) from a single Dart source model. With it you can author a specification document (a Solution Blueprint and its detail documents), validate it mechanically, and run the Phase-4 CodeSpecs extract pass that turns a validated specification into bounded, cited inputs for code generation.

What release 1 contains — and what it deliberately leaves out — is stated in RELEASE_NOTES.md.

Quickstart: author → validate → extract

The fastest way to see the whole loop is to reproduce the run this repository already carries: the Meridian Order Management sample Solution Blueprint and the 26 CodeSpecs extracts generated from it, both committed under tom_som_conformance/. The commands below re-run that loop from a clean checkout; because the run is deterministic, your output reproduces the committed record byte for byte.

You need a Dart SDK (3.11 or later). Toolchains for the other eight languages are only needed for their runtimes — see tom_specs_model/doc/som_toolchains.md.

git clone https://github.com/al-the-bear/tom_ai_build.git
cd tom_ai_build/tom_som_dart_v0
dart pub get

1. Author a Solution Blueprint through the typed facade. This builds the Meridian sample in code and serializes it to both normative renditions — DocSpecs YAML and markdown:

dart run tool/build_shared_sample.dart

writes tom_som_dart_v0/documents/meridian_order_management.docspecs.yaml and .md. Open either file to see what an authored Solution Blueprint looks like on disk; open tool/build_shared_sample.dart to see the same document authored through the typed API.

2. Validate it, then generate the CodeSpecs extracts:

dart run tool/build_meridian_extracts.dart

This runs the gate tiers in order — DocSpecs schema completeness, the instance-tier document validator (validateDocument), routing totality, and DOMEN closed-choice completeness (every enumeration-kind attribute's domainEnum must resolve to an authored DMENE entry) — and only then runs the spec_codespecs_extract surface, writing one extract pair (.extract.yaml of record + rendered .extract.md) per CodeSpecs area to tom_som_conformance/generated-doc/codespecs_extracts/ (52 files). Those extracts are the bounded, cited input the Phase-4 authoring agent works from.

3. Confirm the reproduction:

git diff --stat   # clean = your run reproduced the committed record

Authoring your own document: start from the committed sample — copy the YAML and edit it, or copy tool/build_shared_sample.dart and author through the typed facade — then run the same validate-and-extract tool over it. The markdown and YAML renditions are equivalent and loss-free in both directions.

The other eight languages

Every language ships a tom_som_<lang>_runtime (generic document runtime + DocSpecs schema validator + instance-tier validateDocument + the spec_codespecs_extract surface) and a generated tom_som_<lang>_v0 typed facade. So a specification authored in the quickstart above can be read and validated in the reader's language of choice.

Per pair:

  • README.md — what the package is; readme_howtointegrate.md — every

dependency route and how to pin the version. - examples/ — runnable examples, executed by the test suites. - run_tests.sh — builds and runs the package's full suite.

The cross-language proof lives in tom_som_conformance/: a shared corpus and golden logs that all nine runtimes must reproduce byte-identically. tool/run_tests.sh per package, tom_som_conformance/tool/run_all_suites.sh --strict for everything at once.

Documentation map

All hand-written TomSpecs documentation lives in tom_specs_model/doc/ — thirteen documents, each the single authority for its subject, catalogued by index.md. In reading order for a newcomer:

DocumentRead it for
tom_specs_project_flow.md The process itself — the eight phases from project idea to production, quality gates, roles, iteration rules.
som_multiplatform_spec_model.md The SOM: the nine-language generation, the runtime/facade split, the normative markdown and YAML serializations, the validator, packaging.
tom_specs_model_rules.md How the Dart source model is authored — layout, annotations, structural invariants.
tom_specs_model_meta_schema.md The on-disk shape of spec_model.meta.json, the class graph every runtime loads.
som_generator_config.md The generator's config block — languages, output roots, document roots.
som_toolchains.md Per-language toolchains needed to build and run the generated artefacts.
codespecs_mapping.md CodeSpecs: which specification section feeds which code part — the parts catalogue, attribute surfaces, generation slices.
codespecs_derivation_contract.md CodeSpecs: exactly what code comes out — per-marker derivation, naming rules, validator checks.
codespecs_prompt.md How a Phase-4 run starts, and the quality gate that lets it refuse to.
tom_specs_editor_specification.md The spec-authoring desktop app (not part of release 1).
tom_specs_reviewer_specification.md The object-model review app (not part of release 1).
llm_and_d4rt_tools.md The scripting/agent engine plane (not part of release 1).
llm_guidelines_specification.md The in-editor agent's context prompt (not part of release 1).

What is in this repository

Release members (the record is tom_specs_clitool/tool/release_set.yaml, held closed by a shipped dependency-closure gate):

  • The Dart chain, published on pub.dev: tom_specs_core,

tom_specs_model, tom_specs_clitool, tom_som_dart_runtime, tom_som_dart_v0, tom_code_specs, tom_doc_scanner, tom_doc_specs (plus tom_core_codespecs, the one chain member housed outside this repository, in the tom_core tree). - The sixteen non-Dart packages: the eight tom_som_<lang>_runtime / tom_som_<lang>_v0 pairs, shipped source-only in release 1. - The conformance harness: tom_som_conformance.

Also in this tree, but not part of release 1: tom_spec_engine, tom_specs_reviewer, tom_ai, tom_ai_build, tom_flow_cli, tom_flow_engine. See RELEASE_NOTES.md for why.

License

BSD 3-Clause (see LICENSE); every release package also carries its own copy.