Files
016-pretty-table/.claude/skills/artifact/references/OC.md
T
Tirsvad b0a7414204 Add Pretty Table project: plan, accepted documents and code
Business Case, Stakeholder Analysis, Project Plan and milestone MIL-001
with review records RC-001 to RC-003, then the Python project: PrettyTable
Pokemon table, constants, pytest tests, pyproject.toml, Doxyfile, CI
workflow and README.

Task: MIL-001#1
Task: MIL-001#2
Task: MIL-001#3
Task: MIL-001#4
Task: MIL-001#5
Task: MIL-001#6
Task: MIL-001#7
Task: MIL-001#8
2026-10-07 12:02:59 +08:00

1.2 KiB

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.