NON-AUTHORITATIVE reference — not the official text of Oregon law. Always verify against each document's cited source.
Civic Corpus Platform · Oregon

Government rules, made readable by machines

Public knowledge bases of Oregon government rules, processes, and data. Each corpus is a Markdown-and-graph repository with strict provenance guardrails and an MCP server, so an AI agent can cite the law instead of recalling it.

88,209
documents
mirrored verbatim with provenance, across every active corpus
8
corpora live
each its own repository and MCP server
1
interface contract
every corpus server answers the same tool signatures

One endpoint for everything

Live

An aggregating MCP gateway in front of every corpus below. Search all of them at once and get one merged, provenance-stamped result set; resolve a citation without knowing which corpus holds it. Every response names which corpora answered and which did not — a partial answer is never presented as a complete one.

Corpora

Active

Executive Regulatory Frameworks

Oregon · executive branch

ORS statutes, OAR rules, executive orders, agency policies, procedures, standards, the Oregon Accounting Manual, and the Secretary of State Archives Division's special records-retention schedules — with a mechanically-derived authority graph linking statute → rule → policy.

75,905 documents · contract v1 · document
Active

Legislative Measures

Oregon · legislature

Mirrored measure metadata and bill text, with live status proxied from the Legislature's OData feed — the bill end of the bill → statute → rule chain.

6,137 documents · contract v1 · hybrid
Active

Budget & Expenditure

Oregon · statewide

Where the money authorized by statute actually goes — the dollars node of the graph. 544 agency-year expenditure summaries over a 668,906-row mirror of state spending, plus appropriation line items extracted from budget bills and referenced back to the Legislature corpus.

1,762 documents · contract v1 · hybrid
Active

Audits

Oregon · Secretary of State Audits Division

Secretary of State audit reports, 2020 to present — findings, recommendations, and the audited agency's response. The audit node of the graph, and the only one that reports on whether the rest of the chain actually worked: 71% of reports cite the statutes and rules they examined.

242 documents · contract v1 · document
Active

Key Performance Measures

Oregon · Legislative Fiscal Office

Annual Performance Progress Reports, 2016 to 2025 — the targets and actuals every agency reports to the Legislature, with the year-on-year series derived across 785 reports. The outcome side of Budget: that corpus answers what was appropriated and spent, this one what the agency then claimed it achieved. Every number is the agency's own account of itself.

785 documents · contract v1 · document
Active

County Code, Ordinances & Policy

Oregon · county government

County code, ordinances, board orders and administrative policy for 27 of Oregon's 36 counties — 90% of the state's population. The bottom of the authority chain, and the end that actually reaches people: land use, procurement, public records. 9,703 citations point up into Executive Regulatory Frameworks, and 98% of them resolve — to the statute, or to where it was renumbered, or to a recorded reason there is no text.

3,335 documents · contract v1 · document

Federal requirements Oregon answers to

Oregon agencies are audited against federal rules, so the authority chain does not stop at the state border. These corpora are not Oregon government — they are what Oregon government must comply with.

Active

Federal Reference

United States · federal instruments

The federal requirements Oregon agencies are audited against — 2 CFR 200 (the Uniform Guidance), the CJIS Security Policy, IRS Publication 1075, WIOA and Perkins V, plus the 38 sections of 2 CFR 200 Oregon actually cites, each individually addressable. Where the authority chain goes when it leaves the state.

43 documents · contract v1 · document

Negotiated agreements

Contracts, not law. A collective bargaining agreement is jointly authored with private parties and implements nothing — it binds employers and their workforces by negotiation. These corpora sit deliberately outside the authority chain and join the platform through employers instead.

Active

Collective Bargaining — State & County Labor Agreements

Oregon · negotiated agreements

The contracts that govern Oregon's public workforce: the state's 35 DAS agreements across 12 unions, plus the counties that publish theirs — summary-first (terms, expiry, official links; never the contract's text), with expired-vs-current always stated and supersedes chains linking each term to its successor.

0 documents · contract v1 · document

Platform

oregon-stories

Every visual on the platform, one gallery: data stories and charts, static, cited to the exact source artifacts, caveats on every page. Non-authoritative throughout.

corpus-toolkit

The versioned core: frontmatter schemas, provenance and citation validators, reusable CI workflows, and the MCP server framework every corpus speaks through. Corpora pin a tag.

corpus-template

Template repository. Every new corpus starts here and inherits the contract, the workflows, and the disclaimer discipline on day one.

The graph we're building

billstatuterulepolicystandarddollarsauditfederal requirementrevision

See this chain told on one real program — PERS, statute to audit, every count derived from the live corpora.

Each corpus contributes nodes and edge types to one graph. Because every server implements the same resolve_citation contract, an agent can follow a citation out of one corpus and into another — from the bill that authorized a program to the rule that runs it. Corpora reference each other; they never copy.

Every node except revision is now populated by a live corpus. federal requirement is the newest and the only one outside Oregon: an audit finds an agency out of compliance with 2 CFR 200.303, and that citation now resolves to the text it was measured against instead of stopping at the state border. revision is the exception and will never be a corpus — every corpus is a git repository, so its revision history already is the diff trail, with no separate body to ingest.

How these corpora are built