03 — Integration

Assurance & Governance is a member of the Work & Supply network (message protocol v1) with the network domain governance. Its contract is schema/assurance.integration.dsl (authoring spec v1.5), generated with python -m codegen.cli integration assurance --network work_supply; the handlers are in integration/handlers.py. The whole network is in networks/work_supply/NETWORK_MAP.md.

What it owns

Network entity Model Business reference
governance.exception AssuranceException exception_number (GX-{sequence:05})
governance.risk GovernanceRisk risk_number (RSK-…)
governance.decision GovernanceDecision decision_number (DEC-…)
governance.obligation GovernanceObligation obligation_number (OBL-…)
governance.action GovernanceAction action_number (ACT-…)
governance.verification GovernanceVerification verification_number (VER-…)
governance.closure GovernanceClosure closure_number (CLS-…)

Messages (all implemented)

Kind Message What
publishes governance.exception_created / exception_closed an exception opened (material) / closed
publishes governance.decision_made an accountable decision
publishes governance.obligation_assigned / obligation_overdue an obligation for an application / role (with the work order); past its date
publishes governance.verification_completed a verification and its result
consumes purchasing.delivery_delayed, finance.invoice_match_exception, lifecycle.life_due, warranty.claim_decided, supplier.issue_opened evaluated against the materiality rules
accepts governance.create_exception, assess_risk, record_decision, assign_obligation, record_action, complete_action, verify_obligation, close_exception the chain
accepts governance.review_obligations new: mark overdue obligations (sent on a schedule)
answers governance.exception_status, correlation_status read-only

Differences from the pack

  • Materiality is Assurance's data, not the orchestrator's: the pack's materiality_policy lived in the orchestrator (with a review command to Work for delays). Here each consumed event is evaluated against MaterialityRule rows and the outcome recorded in MaterialityEvaluation — the same principle (only material events become exceptions, every evaluation recorded) without new orchestrator code. A Work review step can be added as a rule condition later.
  • obligation_overdue's clock trigger is not a spec form → governance.review_obligations.
  • GovernanceException is the model AssuranceException (the orchestrator already has a governance_exception table); source_application travels as origin_application (an envelope name).
  • New consumer supplier.issue_opened; obligations carry work_order_cid/_ref.

Work Management implements governance.obligation_assigned: an obligation naming a work order becomes an external dependency on it (engineering review → engineering, others → external constraint).