Skip to content

Appendix A. Worked Example: A Commercial Banking Coverage Function (Non-Normative)

This appendix illustrates the protocol’s primitives in action. It is non-normative; its purpose is pedagogical. The example is set in a commercial-banking coverage context but the constructs generalise.

A.1 The Function

A commercial bank operates a coverage Function over a portfolio of mid-market business customers. The Function’s Mission is:

Maintain deep, continuous coverage of every customer in the portfolio. Surface material risks and opportunities to the responsible Senior Relationship Manager. Produce bespoke client propositions on demand. Escalate decisions exceeding RM authority.

The Function declares the following Roles:

  • role:function:bank-au:coverage:relationship-worker — one Worker per customer, persistent identity, holds the Standing Intent of maintaining the relationship.
  • role:function:bank-au:coverage:transaction-watcher — one Worker per customer, monitors transaction patterns and emits inferential Signals.
  • role:function:bank-au:coverage:sector-analyst — one Worker per industry sector, monitors news, regulatory announcements, and market conditions.
  • role:function:bank-au:coverage:product-fit-worker — pool of Workers, accept Intents to evaluate product suitability.
  • role:function:bank-au:coverage:proposition-author — pool of Workers, accept Intents to draft client-facing materials.
  • role:function:bank-au:coverage:financial-modeller — pool of Workers, accept Intents to produce structured financial analysis.
  • role:human:bank-au:coverage:senior-relationship-manager — Human Role; the human RM who owns the customer relationship.
  • role:human:bank-au:coverage:portfolio-reviewer — Human Role; an Reviewer for the Function.

A.2 An Episode: Counterparty Bankruptcy

At 03:14 UTC, a Capability Provider acting as a Signal Source for ASIC corporate filings emits a Signal:

signal:bank-au:credit:debtor-bankruptcy/v1
{
debtor_abn: "12 345 678 901",
creditor_relationships: ["customer:bank-au:c-1029384"],
estimated_exposure_aud: 1820000
}

The runtime delivers this Signal to two subscribed Workers:

  • The Transaction Watcher Worker for customer c-1029384, which subscribes to debtor-bankruptcy Signals filtered to its assigned customer.
  • The Sector Analyst Worker for the affected sector, which subscribes to all debtor-bankruptcy Signals filtered by sector.

Each emits a SignalReceived event to a fresh Audit Envelope.

The Transaction Watcher Worker, acting on its Standing Intent (“monitor for counterparty stress affecting cashflow”), generates an inferential Signal:

signal:bank-au:coverage:cashflow-shock-imminent/v1
{
customer_id: "customer:bank-au:c-1029384",
estimated_shock_aud: 1820000,
estimated_shock_window: "P14D"
}

This is an internal Signal, signed by the Transaction Watcher Worker. It is delivered to the Relationship Worker for the same customer, which subscribes to it.

The Relationship Worker’s Standing Intent calls for surfacing material risks. Its Authority Grant permits generation of intent:bank-au:coverage:propose-customer-outreach/v1. It generates such an Intent, dispatching it to the Senior Relationship Manager Human Role. The Intent’s payload contains the trigger summary, the proposed action, and proposed talking points produced by an LLM Capability invocation.

In parallel, the Relationship Worker dispatches a sub-Intent to a Product Fit Worker:

intent:bank-au:coverage:evaluate-working-capital-fit/v1

The Product Fit Worker accepts, invokes a knowledge Capability to retrieve the customer’s facility history and current limits, invokes an LLM Capability to evaluate fit, and returns its findings as the Outcome.

The Senior Relationship Manager (human) is notified through their existing channel — say, Slack — by a human Capability invocation. They review the proposal, with full audit-envelope context one click away. They approve the call; the Outcome is recorded with their signature.

The original Intent (propose-customer-outreach) resolves with Outcome achieved. The Audit Envelope is sealed.

A.3 What the Audit Envelope Records

The Envelope contains, in chronological order:

  • EnvelopeOpened (root: the Relationship Worker’s propose-customer-outreach Intent)
  • SignalReceived (the original debtor-bankruptcy Signal)
  • SignalReceived (the inferential cashflow-shock-imminent Signal)
  • IntentGenerated (the sub-Intent to Product Fit Worker)
  • IntentDispatched (sub-Intent dispatched)
  • IntentAccepted (Product Fit Worker accepts)
  • CapabilityInvoked (knowledge retrieval, with Cost Record: 0.0021 USD)
  • CapabilityCompleted
  • CapabilityInvoked (LLM evaluation, with Cost Record: tokens.input 4128, tokens.output 612, 0.0089 USD)
  • CapabilityCompleted
  • IntentResolved (sub-Intent: achieved, with structured findings)
  • CapabilityInvoked (LLM, by Relationship Worker, to draft talking points)
  • CapabilityCompleted
  • IntentDispatched (the proposal Intent dispatched to Senior RM)
  • CapabilityInvoked (human Capability, Slack notification with await-decision)
  • CapabilityCompleted (Senior RM approves)
  • IntentResolved (Outcome: achieved, signed by Senior RM)
  • EnvelopeClosed

Total cost queryable: ~AUD 0.018, attributable to Worker → Role → Intent → Function → Workforce.

Total elapsed time: 11 minutes from Signal arrival to Senior RM approval. The customer was reached well before they recognised the shock.

A.4 What the Same Workforce Does Differently the Next Day

The next day, customer c-1029384 wins a major tender. Their growth trajectory has changed. A different external Signal arrives — signal:bank-au:public:contract-award/v1 — and the same workforce reacts:

  • The Sector Analyst Worker emits a growth-acceleration-likely inferential Signal.
  • The Relationship Worker dispatches sub-Intents to the Financial Modeller Worker and the Proposition Author Worker.
  • The Modeller produces a structured pro-forma; the Proposition Author drafts a tailored bespoke client proposition (a strategic finance memo, a sector benchmarking deck, a personalised narrative); the Senior RM reviews and selects from a curated set of three narrative options.

The same Workforce. The same primitives. The same Audit Envelope structure, recording a creative-judgment-rich body of work. No additional code paths, no separate authoring artefacts — the workflow emerged from Workers acting on Signals within their Charter.

This generalisation — that the charter model serves analytical work and creative work with the same primitives — is the protocol’s principal claim of generality.

A.5 Quarter-End: An Operator Evaluates and Recalibrates

Three months into operation, the Coverage Function’s Operator (a human in the Bank’s commercial banking technology operations team, distinct from the Architect who originally authored the Function) commissions quarterly Evaluations across the deployed Workforce.

The Operator commissions four Evaluations through the runtime’s evaluation interface:

  • An Evaluation of scope role for role:function:bank-au:coverage:relationship-worker, window 2026-02-01 to 2026-04-30.
  • An Evaluation of scope role-context for the same Role, restricted to deployment_context.sector = "construction", same window.
  • An Evaluation of scope role for role:function:bank-au:coverage:sector-analyst, same window.
  • An Evaluation of scope function for function:bank-au:coverage, same window.

The runtime emits four EvaluationCommissioned events. The Evaluation Service computes signals from the relevant Audit Envelopes and emits four EvaluationCompleted events with the signed Evaluation envelopes.

The Sector Analyst Role evaluation reports an aggregate outcome distribution within target. The construction-context Sector Analyst evaluation, however, reports an Escalation rate materially above the Role aggregate — the construction sector saw three counterparty bankruptcies in the window (including the one in §A.2), and the Role’s Standing Intent confidence threshold (0.70) caused the Worker to escalate as a question rather than propose in several borderline cases that the human Senior Relationship Manager later resolved as routine. Reviewer-refusal rate on the construction-context Workers’ Outcomes is below 5%, suggesting the Workers’ judgment is sound but their confidence threshold is mis-tuned for this context.

The Operator authors a synthesis on the construction-context Evaluation: the threshold should be relaxed for the construction sector specifically, where supplier-collapse patterns are now well-precedented and the Worker can confidently propose without escalating. The Operator signs a Recalibration with target role-charter-amendment, citing the construction-context Evaluation as evidence, proposing v1.4 of the Sector Analyst Role with a sector-aware confidence threshold (0.65 for construction, 0.70 elsewhere). The Architect who originally authored the Function reviews the proposal and the cited Evaluation, agrees with the analysis, and co-signs.

The runtime emits RecalibrationProposed events for both signatures, then realises the change via the Function versioning mechanism (§16.2). The Operator’s handover policy specifies re-bind for open Intents (the Charter change is non-disruptive). The runtime emits RecalibrationApplied with outcome: applied. New Sector Analyst Workers spawn under v1.4; existing Workers complete their open Intents and are re-bound at the next idle moment.

In parallel, the Relationship Worker Role evaluation surfaces one Worker instance — worker:bank-au:wf-coverage-prod:rm-c0987612 — whose outcome quality is well below the Role aggregate. Investigation by the Operator (consulting the per-instance evaluation, the Worker’s history, and Reviewer feedback) reveals a stale Knowledge Capability binding: the Worker’s policy-document binding points to a deprecated regulatory document version. The Operator signs a Recalibration with target worker-decommission for this single instance. Architect co-signature is not required (decommissioning is not a Charter amendment). The runtime initiates the protocol per §12.5: the one open Intent is reassigned to a peer Worker holding the same Role; the decommissioned Worker’s history is retained; its key is moved to the historical registry. A new Worker is instantiated under a new Worker ID with the correct policy binding, and assumes the customer assignment from the decommissioned Worker.

The Workforce continues operating. Three signed Evaluation envelopes, two signed Recalibration envelopes, one Worker decommissioning, and a Function version bump are all permanently linked into the audit chain. The next quarter’s Evaluations will report on whether the v1.4 Sector Analyst Charter improved the construction-context Escalation pattern as intended.

This cycle — evaluation, synthesis, recalibration, application — is the Workforce’s management surface. It is the analogue of the quarterly performance review and team adjustment cycle a human team would undergo, with the difference that the recalibration mechanism is mechanical (Charter amendment + Function migration) rather than conversational (1:1 coaching).