OpenChainGraph Suite · OCG v0.8.13 · Public Finance & Government Payments

Muni Spending-Exception Tracker Pack

An issuer that elects one of the three spending exceptions under Treas. Reg. section 1.148-7 takes on a schedule: spend stated percentages of gross proceeds by milestone dates counted from the issue date, and the arbitrage rebate falls away. This pack turns each check of that schedule into evidence. Stage 1 tests the declared expenditure schedule against the elected exception's milestones, calendar-computed from the issue date, and gives every milestone exactly one verdict. Stage 2 wraps that receipt in a shareable evidence bundle stamped with the tier label the caller's declared gate results qualify it for. Every input is declared: the pack reads no trustee statement and no fund ledger, so it evidences whether the declared schedule satisfies the elected milestones, never that the declared spending occurred.

OpenChainGraph · 2 Nodes, Linear attestation mandate Hash-Anchored §4 Declared Inputs Only Client-Side · Zero PII
Not tax advice, not a rebate computation, and not a filing. Every input is SUPPLIED by the caller and treated as asserted: this pack performs no lookup against a trustee, a paying agent, or a project fund ledger, and cannot establish that a declared expenditure happened, on the declared date, in the declared amount. A schedule assembled from a faulty draw report will check out against the milestones exactly as well as a true one. Meeting a milestone means only what the cited regulation says it means; the future-value arbitrage rebate computation itself is a separate tool, deliberately outside this pack, and whether an exception is available to a particular issue at all is a question for qualified bond counsel.
§4 Execution Hash · Workflow Definition Anchor
execution_hash:computing…
Workflow Stages · 2 Nodes · Linear
1 ROOT · MILESTONE CHECK node
Muni Arbitrage Spending-Exception Checker art-569-muni-arbitrage-spending-exception-checker
Stage 1, the milestone check. The declared expenditure schedule tested against the elected exception's milestone dates under Treas. Reg. section 1.148-7: the 6-month, 18-month, or 24-month construction schedule, including their reasonable-retainage variants, with the de minimis allowance capped at the lesser of 3 percent of gross proceeds or $150,000. Each milestone receives MET, FAILED, or PENDING relative to the caller-declared evaluation date, and the overall exception status follows.
MCP Call · check_muni_arbitrage_spending_exception
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "check_muni_arbitrage_spending_exception",
    "arguments": {
      "issue_date": "2026-01-15",
      "as_of_date": "2026-12-01",
      "gross_proceeds_minor": 10000000000,
      "elected_exception": "24_MONTH",
      "reasonable_retainage": false,
      "expenditure_schedule": [
        {"date": "2026-06-30", "amount_minor": 1500000000, "description": "Construction draw 1"},
        {"date": "2026-11-15", "amount_minor": 3200000000, "description": "Construction draw 2"}
      ]
    }
  },
  "id": 1
}
2 EVIDENCE BUNDLE · FINAL node
Evidence Bundle Tier Labeler art-408-evidence-bundle-tier-labeler
Stage 2, the evidence bundle. The Stage 1 receipt's execution hash wrapped in a shareable bundle and stamped with the SPEC.md §SIDECAR.1 tier label, OCG-Verify, OCG-Execute, or OCG-Prove, that the caller's declared gate results qualify it for. The label re-expresses declared gate outcomes and mints no new trust claim; this node never re-runs the underlying gates itself. Final stage.
MCP Call · assemble_ocg_evidence_bundle
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "assemble_ocg_evidence_bundle",
    "arguments": {
      "artifact_tool_id": "art-569-muni-arbitrage-spending-exception-checker",
      "artifact_execution_hash": "<execution_hash from Stage 1>",
      "gate_results": {
        "envelope_well_formed": true,
        "execution_hash_recomputes": true,
        "chain_execution_valid": true,
        "mandate_gates_valid": true,
        "compute_integrity_proof_valid": false
      },
      "proof_refs": []
    }
  },
  "id": 2
}
Reading the Receipt · Three Verdicts, Per Milestone
Stage 1 emits these three words itself, once per milestone and once overall. They are the node's own vocabulary, not a reading rule this page adds. The discipline is in the third one: a milestone whose date has not yet arrived is PENDING, not passed, and an overall status of PENDING is the honest state of most issues for most of their spending period. Filing a PENDING receipt as if it were MET is exactly the collapse this pack exists to make visible.
MET Cumulative declared spending as of the milestone date reached the required amount for that milestone, after any declared de minimis allowance. The overall status is MET only when every milestone in the elected schedule has been met.
FAILED The milestone date has passed and cumulative declared spending had not reached the required amount. One failed milestone makes the overall status FAILED: under the cited regulation the elected exception is not satisfied, and the rebate question comes back. What follows from that is a matter for bond counsel, not for this pack.
PENDING The milestone date is still in the future relative to the declared as_of_date. It has not failed, because it has not yet had its chance to be met. An issue mid-way through its spending period will report PENDING overall, and re-running the pack at each milestone date is how the tracker is meant to be used.
Standing Context · Dated Observations
The milestone schedules are those of Treas. Reg. section 1.148-7 as carried in art-569 on 2026-08-07: -7(c) 6-month, -7(d) 18-month, and -7(e) 24-month construction, with their reasonable-retainage variants. Confirm current regulatory text with bond counsel before relying on any schedule.
The de minimis allowance cap, the lesser of 3 percent of gross proceeds or $150,000, follows the same regulation as read on the same date. An out-of-cap declaration is rejected by the node rather than clamped.
IRS Pub 5271 describes arbitrage-rebate compliance for tax-exempt bond issuers, including the spending exceptions, as of its 2016 edition. Cited as orientation, not as authority.
The pack declares no regulatory basis. It produces milestone evidence an issuer, its rebate analyst, or its counsel can put in the file; it does not discharge a rebate duty, compute a rebate amount, or decide whether an exception is available to a particular issue.
Export Workflow Artifact
Download a §4-compliant workflow artifact with execution hash and step definition. Hash is deterministic over canonical {policy_parameters, output_payload} per RFC 8785/JCS.