Back to the catalog

Spec Objects Business Specification

Index of artifacts in this directory.

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

About

# Spec Objects Business Specification

## Contents

* [Functional](./functional/index.md) - Functional artifacts.
* [Integration](./integration/index.md) - Integration artifacts.
* [Non-Functional](./non-functional/index.md) - Non-functional artifacts.
* [Stakeholder](./stakeholder/index.md) - Stakeholder artifacts.
* [Usecase](./usecase/index.md) - Use-case artifacts.
* [Spec](./spec.md)
* [Test Matrix](./tests.md)
* [Reviews](./reviews/4-semantic-data-schemas/base.md) - SpecReviews for issue #4.

Details

Kind
OKF bundles
Topic
Files & documents
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 09:01:12
Updated
2026-09-08 09:01:12
Origin id
agent-ix/spec-objects-business:spec/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