Skip to content
EN FR

Package Specification Template

Documentation status: guide — see Maturity and evidence.

Package purpose

Describe the fundamental intent of the package: what knowledge problem it solves, what semantic responsibility it stabilizes, and why it deserves to exist independently from screens, workflows, or database tables. State whether it is foundational, cross-domain, or sector-specific.

Ontological position

Explain the ontology level of the package, the more fundamental concepts it depends on, and any existing patterns it specializes.

Structural concepts

Describe the main concepts in prose. For each concept, explain its identity, essential properties, relations, and why it exists as a distinct concept.

Invariants and structural business rules

Document what must remain true throughout the package life cycle. Separate entity invariants, aggregate invariants, temporal invariants, and cross-concept constraints. Database constraints may reinforce these rules but do not replace their business meaning.

Life cycle and domain events

Describe meaningful states, allowed transitions, transition conditions, published events, and consumed events.

Transaction boundaries and aggregates

Identify aggregate roots, the invariants they protect, and the reasons for the chosen boundaries. Explain any deliberately externalized satellite entities or projections.

Technical projection

Explain how concepts are projected into logiCells models, facets, persistence structures, collections, actions, and services. Any technical compromise introduced for persistence, indexing, or search must be explicit.

Extension rules

Document what can be configured, what can be specialized by higher ontology levels, and what belongs to the protected core requiring architectural review.