Back to the catalog

Plan-001 — semantic data schemas

Contents of the Plan-001 bundle.

Open source Repository Open in the app JSON README (API)

About

# Plan-001 — semantic data schemas

## Contents

* [Plan-001: semantic data schemas](./plan.md) - Plan overview, dependency graph, tracks, gate, test plan.
* [Task-001](./tasks/Task-001-typespec-toolchain-generator.md) - TypeSpec toolchain, schema generator and drift gate.
* [Task-002](./tasks/Task-002-role-distinct-models.md) - The ten role-distinct models and six support models.
* [Task-003](./tasks/Task-003-emitted-set-digests-packaging.md) - Emitted set, toolchain.json, digests and packaging.
* [Task-004](./tasks/Task-004-manifest-semantic-contract.md) - Manifest 0.3.0, semantic block and reference-form data_schema.
* [Task-005](./tasks/Task-005-executable-skeletons.md) - Executable skeletons, sysml alternates and negative fixtures.
* [Task-006](./tasks/Task-006-added-locators.md) - required:false locators for the sections the skeletons introduced.
* [Task-007](./tasks/Task-007-test-environment-and-baseline.md) - Quire provisioning, the no-vacuous-skip gate and the 0.2.0 baseline.

Details

Kind
OKF bundles
Topic
Cloud & DevOps
Publisher
agent-ix
Origin
okf_github
Category
dados
Version
0.1
Stars
1
Last push
2026-09-04T22:00:56Z
Repository state
ativo
Language
Python
License
AGPL-3.0
Added
2026-09-08 22:13:12
Updated
2026-09-08 22:13:12
Origin id
agent-ix/spec-objects-business:plan/Plan-001-semantic-data-schemas/index.md

README

# spec-objects-business

> Filament Module: tier-2 business ObjectTypes (DDD: domain, entity, value_object, aggregate_root, repository, event, state_machine, process, enumeration)

Agent-IX Filament module loaded by [`quire-cli`](https://github.com/agent-ix/quire-cli) and [`quoin`](https://github.com/agent-ix/quoin).

## Installing quire-cli

`@agent-ix` packages are published to public npm. Install the CLI globally:

```bash
npm install -g @agent-ix/quire-cli
```

See https://github.com/agent-ix/quire-cli#install for details.

## Install this module via npm

This module is also published as a config-only npm package: `@agent-ix/spec-objects-business`.
The package root **is** the Filament module (`manifest.yaml` + schemas/skeletons),
so it works directly as a `--module` target or via quoin's `package:` source.

```bash
npm install @agent-ix/spec-objects-business
```

```bash
# quoin — resolve the module from npm by name
quoin plugin install package:@agent-ix/spec-objects-business

# or point any tool at the installed package root
quire validate spec/**/*.md --module node_modules/@agent-ix/spec-objects-business
```

## Object types provided

| Object | `type:` | Description |
|--------|---------|-------------|
| Domain | `domain` | A bounded context defining what it owns vs. delegates to neighbouring contexts, with an optional entity summary, ERD, and ubiquitous language. |
| Entity | `entity` | An object with a stable identity field plus its typed attributes and their meaning. |
| Value object | `value_object` | An immutable value defined by its components, with equality and validity rules but no identity of its own. |
| Aggregate root | `aggregate_root` | The consistency boundary — root, nested entities, owned value objects, and the invariants the root enforces over them. |
| Nested entity | `nested_entity` | An entity owned by an aggregate root, with parent-local identity whose every mutation is mediated by the parent. |
| Repository | `repository` | The collection-like access point that loads and saves whole aggregates, with each operation's signature, behaviour, and failure semantics. |
| Event | `event` | A domain/integration event whose payload contract is given as a JSON Schema. |
| State machine | `state_machine` | An object lifecycle expressed as a mermaid `stateDiagram-v2` of states and transitions. |
| Process | `process` | A long-running workflow/saga diagrammed in mermaid (one or more flows), with optional state diagrams, specification, and algorithm. |
| Enumeration | `enumeration` | A controlled label vocabulary (state names, kinds, codes) as a `Value | Description` table referenced by exact string. |

## How this module is used

### With quoin (recommended)

```bash
# Install this module as a plugin (from a local checkout)
quoin plugin install path:../spec-objects-business

# List the kinds the installed modules expose
quoin catalog list

# Author new artifacts from these object types
quoin write . --types domain,aggregate_root

# Review/validate the authored artifacts
quoin review
```

See [quoin](https://github.com/agent-ix/quoin).

### With quire-cli directly

```bash
# Emit an authoring skeleton for a given kind
quire schema domain --module ./spec_objects_business

# Validate Markdown spec artifacts against the module
quire validate spec/**/*.md --module ./spec_objects_business

# Extract structured object bodies from a document
quire extract spec/order-management.md --module ./spec_objects_business
```

See [quire-cli usage instructions](https://github.com/agent-ix/quire-cli#usage-instructions).

## Development

Python 3.13+, [Poetry](https://python-poetry.org/) managed, flat layout (package `spec_objects_business` at root). Versioning is dynamic from the Git tag; CI (GitHub Actions on `push`/`pull_request`/`tag v*.*.*`) runs tests + lint and publishes the wheel/sdist to Google Artifact Registry (PyPI-compatible) via `twine`.

```bash
make install                  # install deps into the Poetry venv
make test                     # run pytest
make lint                     # ruff + black check
make format                   # ruff + black format
make build                    # build wheel + sdist under dist/
make update-lock              # update poetry.lock
make use-local p=<name>       # switch a dep to local pypi.ix
make use-upstream p=<name>    # switch a dep back to upstream
make local-publish            # build + publish to local pypi.ix
```

Required CI secrets/vars: `GCP_SERVICE_ACCOUNT_KEY`, `GCP_REGION`, `GCP_PROJECT_NAME`, `GCP_PYPI`.

More