This file standardizes repository language across code, docs, tests, examples, and contributor guidance.
It is both descriptive and normative:
- Descriptive: it summarizes vocabulary that is already backed by the public package surface, feature specs, and contract tests.
- Normative: it states the preferred wording for new changes when nearby terms could be conflated.
This guide is written for contributors first, but maintainers and downstream users can also use it as a quick map to stable repository terms.
- When a row names a concrete exported API such as
ArtifactReforRunStore, use that exact spelling when documenting, reviewing, or testing the contract. - Uncapitalized prose is fine when it preserves the same distinction as the canonical term.
- If a feature spec, public type, or contract test disagrees with this file, treat the code-backed contract as authoritative and update this glossary.
- The "Distinguish from / avoid" column calls out discouraged aliases, overloaded wording, or terms that need qualification.
| Term | Preferred meaning in this repository | Distinguish from / avoid |
|---|---|---|
| feature spec | A contract-focused design document under docs/features/ that defines subsystem behavior and long-lived vocabulary. |
Do not treat feature specs as disposable notes when they define public terms. |
| implementation plan | A roadmap-level plan under docs/roadmap/stage-<id>/ that sequences and scopes phases. |
Not the same as a phase execution plan. |
| phase execution plan | A scoped implementation artifact under docs/roadmap/stage-<id>/phases/ for one phase of work. |
Not a product spec or public API reference. |
| contract test | A test under tests/contracts/ that locks public or cross-subsystem behavior. |
Distinguish from unit tests and package-surface import tests. |
| Term | Preferred meaning in this repository | Distinguish from / avoid |
|---|---|---|
ResourceRef |
A serializable handle to an input or external resource, identified by uri and resource_type, with optional codec_key, checksum, and metadata. |
Use for resources that exist independently of a run. Do not describe produced stage outputs as ResourceRefs when they are ArtifactRefs. |
ArtifactRef |
Serializable metadata for a produced pipeline output, including artifact_id, uri, artifact_type, optional codec_key, optional checksum, optional fingerprint, optional producer_stage, and metadata. |
Use for stage outputs and persisted artifact indexes. Avoid using "artifact" when you mean the bytes on disk or a local path only. |
ArtifactAddress |
The cross-run identity pair (run_uri, artifact_id). |
Prefer this when one artifact must be named within one run. Do not overload ArtifactRef for that role. |
| record | A generic indexed unit of data in the core model. | Keep domain meaning out of the noun in generic loom code. Qualify it in downstream packages if needed. |
| manifest | A collection-oriented record surface in the core model or a manifest-like metadata bundle. | Qualify the exact kind when multiple manifests are in scope: recipe manifest, composition manifest, offline evidence manifest, ManifestView, or InMemoryManifest. |
ManifestView |
A lightweight filtered or projection-oriented view over manifest contents. | Distinguish from persisted manifest storage or manifest-like config artifacts. |
| checksum | A digest of persisted bytes or text used for integrity and corruption checks. | Prefer for content verification. Avoid using it as a synonym for stage identity or reuse policy. |
| fingerprint | A stable digest over structured inputs or metadata used for identity, comparison, resume, and provenance. | Prefer for structured identity and reuse. Avoid using it as a synonym for a raw file hash. |
run_uri |
The public, protocol, and persisted identifier for a run. | Prefer run_uri across code, docs, tests, and examples. Avoid run_id except when discussing the historical migration away from it. |
| Term | Preferred meaning in this repository | Distinguish from / avoid |
|---|---|---|
| authored config | Trusted project configuration as written by users, examples, or fixtures. | Distinguish from resolved/composed config and from untrusted input. loom treats authored config as trusted project code. |
ComposedConfig / composed config |
The resolved result returned by weave.compose_config(...). |
Do not call this a plan, manifest, or pipeline run. It is configuration output. |
ConfigCompositionInspection / config composition inspection |
A richer composition result that retains unresolved, resolved, and redacted views plus provenance, recipe manifest, source artifacts, fingerprint records, and raw source snapshot metadata. | Prefer this when docs or tests discuss composition analysis rather than only the final composed config. |
_target_ block |
The low-level importlib construction shape used to instantiate configured Python objects. | Do not call _target_ blocks recipes. Recipes expand into _target_ graphs. |
| recipe | A named config expansion mechanism that rewrites authored config into explicit object graphs. | Use for configuration reuse and authoring convenience. It is not a stage, executor, plugin, or runtime backend. |
| recipe manifest | The persisted record of recipe expansion steps. | Distinguish from generic manifests, provenance documents, and artifact indexes. |
| target check | An opt-in readiness/import check for _target_ blocks after static validation succeeds. |
Do not imply this is a sandbox or a safe path for untrusted config. |
| Term | Preferred meaning in this repository | Distinguish from / avoid |
|---|---|---|
| pipeline | A validated, artifact-based execution graph derived from config. | Distinguish from authored config and from one concrete run. |
| stage | A named node in the pipeline graph with declared inputs, outputs, runtime/resource requests, and behavior implemented by project code. | Avoid using "task" or "job" as the generic top-level noun unless backend-specific semantics are intended. |
| planner action | A planned decision such as RUN, REUSE, SKIP, or BLOCKED. |
Distinguish from persisted lifecycle status. |
| status | A persisted run or stage lifecycle state such as CREATED, PLANNED, RUNNING, SUBMITTED, SUCCEEDED, FAILED, BLOCKED, SKIPPED, STALE, CANCELLED, or INTERRUPTED. |
Do not use status names to mean planner actions. |
| run | One execution or planned execution instance of a pipeline, identified by run_uri. |
Distinguish from a run collection and from the run catalog. |
| executor | The component that runs one stage through a backend such as local Python, subprocess, or a future scheduler adapter. | Distinguish from PipelineRunner, which coordinates the whole run. |
| backend | A concrete execution or authority implementation detail behind a public contract. | Use when discussing capability or deployment shape. Avoid using it as a synonym for the whole public API surface. |
RunStore |
The current public authority-backed run lifecycle surface exported from loom.pipeline.stores. |
Prefer when referring to the public run lifecycle contract. Do not use it for the older path-shaped local aggregate by default. |
StageStore |
The run-scoped stage lifecycle surface obtained from RunStore.stage_store(...). |
Distinguish from run-level APIs and from artifact materialization helpers. |
LocalRunStore |
The local filesystem implementation and materialization surface. | Use only when local path-based behavior matters. It is not the public authority RunStore contract. |
LegacyRunStore |
The older path-shaped aggregate retained during the store naming transition. | Use only for migration or compatibility discussion. Avoid using plain RunStore when this older surface is actually meant. |
| authority | The authoritative, backend-neutral source of run and stage lifecycle truth. | Distinguish from local materialized files, projections, and catalogs. |
| authority reference | The portable reference or configuration summary that lets commands and workers reconnect to the selected authority. | Distinguish from endpoint-only prose and from raw local state paths. |
| run collection | A directory containing many runs. | Distinguish from an individual run and from the derived catalog index. |
| run catalog | A rebuildable, derived index over a run collection. | Never describe it as the source of truth. The run store and authority remain authoritative. |
| provenance | Factual metadata about config, code, environment, command, inputs, outputs, fingerprints, and executor context. | Distinguish from policy. Provenance records facts; planner and resume logic decide how those facts are used. |
| authoritative read model | A backend-neutral materialized snapshot used to inspect authoritative run state. | Distinguish from raw backend implementation details and from the derived run catalog. |
| materialized ref | A file- or path-backed materialization observed on disk for an authoritative snapshot. | Use for projection or readback terminology, not as a synonym for authoritative lifecycle state. |
- Prefer exact exported names when referring to a contract that appears in code or package tests.
- Use
run_urifor run identity everywhere new work is written. - Use checksum for persisted content integrity and fingerprint for structured identity or reuse.
- Use action for planner decisions and status for persisted lifecycle state.
- Prefer
RunStoreandStageStorefor public lifecycle APIs; spellLocalRunStoreorLegacyRunStoreexplicitly when local-file or migration behavior is intended. - Qualify overloaded nouns such as manifest, backend, service, snapshot, and reference with the owning subsystem when ambiguity is possible.
- Describe authority, run-store state, and authoritative read models as authoritative; describe catalogs, materialized files, and local projections as derived or projected.
- Keep domain-specific nouns such as dataset, model, metric, report, or
checkpoint out of generic
loomAPIs unless they are clearly confined to downstream examples or project code.
- README
loomspecification- source-tree structure
- core model spec
- config spec
- pipeline spec
- state vocabulary spec
- artifact spec
- run-store spec
- run-catalog spec
- public root API tests
- pipeline package API tests
- config package API tests
- runs package API tests
- recipe contract tests
- authority run-store contract tests
- run-catalog contract tests
- authority resolution contract tests
- authoritative read-model contract tests