Service responsibilities
SI-D1 (Case-service option) is the later case-service option. The staff client proposes actions; the case service owns accepted case state. The booking service owns bookings. Notification delivery reports accepted changes, and a reporting consumer maintains a derived view with version-gap checks and reconciliation.
Those responsibilities need not be separate applications. SW-D1 (Case-service components) describes components inside the case service; packaging and language remain open.
| Component | Responsibility |
|---|---|
| Input adapter | Decode the request and obtain authenticated caller context. |
| Transfer handler | Check authority, distinguish a retained operation from a new one, coordinate rule evaluation and save. |
| Transfer rule | Return a plan or rejection from current facts, with no external effects. |
| Transaction store | Apply the full change only if the expected version is still current. |
| Notification relay | Send committed pending work and track progress through retries. |
Rule and contract
SW-R1 (Transfer rule) checks the pending offer, named receiver, current version, agreement reference and next action for a new operation. Missing required facts lead to a rejection with a reason. The handler and store preserve SI-C01 (Transfer acceptance contract): old assignment, new assignment, accepted offer, result and pending notification change together, or none do.
The accepted handover view follows X7 (Acceptance operation) after a lost reply. A retained identical request takes the repeat path; a new request at a stale version is rejected. Two new requests against the same version cannot both take effect. Notifications can repeat, and a reporting consumer must not let an older event overwrite a newer view.
Optional summary
SW-C1 (Summary workflow contract) defines an optional summary workflow: check access to versioned source facts, generate a proposal, check its references and facts, then have a person review it. Prompt, model and context versions are retained for investigation. A syntactically valid citation to the wrong alternative still fails the check.
The workflow cannot accept learner agreement or transfer ownership. A changed case requires context and summary to be rechecked. A timeout in generation must not create an acceptance request; ordinary review and handover remain available when their own dependencies are healthy.
Checks and alternatives
SI-V1 (Interface checks) and SW-V1 (Component checks) specify interface and component checks, including concurrency, partial-write failure, restart, withdrawn access and hostile summary input. They remain unrun. A simpler deployment can keep the logical responsibilities within one application; separate deployment requires a reason and compatible contracts.
The Systems example retains the complete contract. The reference catalogue explains the wider roles that another solution might need.