Mount the framework as a submodule at framework/ (v0.4.0), add AGENTS.md and the installed skill copies for Codex CLI (.agents/skills) and Claude Code (.claude/skills).
28 lines
1.2 KiB
Markdown
28 lines
1.2 KiB
Markdown
# Operation Contract (OC)
|
|
|
|
Cite in `CrossReference` only if the instance exists (`new-artifact.sh` checks this for you):
|
|
|
|
- **SSD** — **Required source**: each contract traces to exactly one SSD message
|
|
- **DM** — Classes/associations named in pre/postconditions
|
|
- **SD** — Forward: the design realizing each contract's postconditions
|
|
|
|
## Required sections (after Metadata / Version History)
|
|
|
|
One block per system operation, each containing:
|
|
|
|
1. **Operation** — complete signature: name, parameter types, return type
|
|
(must match the SSD message).
|
|
2. **Cross References** — the SSD message it traces to (one contract per
|
|
message) and the Domain Model concepts touched.
|
|
3. **Preconditions** — required state before execution, expressed in Domain
|
|
Model terms.
|
|
4. **Postconditions** — state changes only, in Larman's style: *instance
|
|
created / instance associated / attribute modified*. Declarative ("what"),
|
|
never algorithmic ("how"); avoid vague text like "system processes the
|
|
request".
|
|
5. **Exceptions** — error conditions, each with the failing precondition.
|
|
|
|
## Terminology
|
|
|
|
Use the IT terms from the dictionary (`DICT`), not the PO terms the Domain Model uses.
|