Methodology · v0.1
How we classify outcomes.
Every classification on this site cites a rubric version. The version travels with each classification, so when the rubric updates in the future, today’s judgments remain comparable to the rubric they were made under — not retroactively rewritten under a newer one.
Storage is factually neutral. An Action records what was said or done and links to a source. The editorial frame — the status — is derived on top of the underlying record, under the rules below.
Mapping Actions to Outcomes
Not every action gets an outcome. Some actions are their own outcome; some don’t carry a commitment to judge against.
| Action type | Gets an Outcome? |
|---|
| Promise | Yes Every promise is classified against the rubric below. |
| Vote | No A roll-call vote is its own outcome — the record speaks for itself. |
| Bill sponsored | Yes Classified by whether the bill advanced and what passed. |
| Public statement | No Statements alone aren't classified; the action they commit to is. |
| Appointment | Yes Classified by whether the appointee was confirmed and served. |
| Funding allocated | Yes Classified by whether the funding was delivered as promised. |
| Project announced | Yes Classified by whether the project was built on substantially promised terms. |
Status definitions
The seven possible statuses, in the order an editor considers them when classifying.
- Meaning
- The commitment is being actively worked on; delivery is still plausible on a reasonable timeline. Default when an Action is too new to evaluate against the rubric's bar for any terminal status.
- Evidence bar
- Subsequent Actions or public reporting indicate active work toward the commitment, AND the reasonable window per the jurisdiction's domain rules has not yet elapsed.
- Watch-outs
- Don't leave Actions in in_progress indefinitely. Each domain has a reasonable window; once that elapses with no delivery, re-classify to stalled or broken.
- Meaning
- The promised thing happened, on substantially the promised terms, attributable in non-trivial part to this Person.
- Evidence bar
- The committed action took place (bill passed, project built, funding delivered, appointee confirmed and serving); the terms match the original commitment within reasonable interpretation; and the Person's role was non-trivial — not just 'was in office at the time.'
- Watch-outs
- Renamed-but-materially-different policy isn't delivered (it's partial or broken). Outcomes credited to a predecessor or successor don't make the current Person's promise delivered — flag as not_applicable if the Person was out of office.
- Meaning
- Some of the commitment was delivered, the rest wasn't, and the gap is material.
- Evidence bar
- The delivered fraction is clearly meaningful but clearly less than the original commitment, and the shortfall is attributable to choices the Person made or could have influenced — not solely external blockers.
- Watch-outs
- A 90%-delivered commitment is delivered, not partial. Reserve partial for cases where the gap is genuinely material to the original promise.
- Meaning
- The Person made a documented effort, the commitment hasn't been delivered or broken, and the reasonable window of action has elapsed (or is elapsing).
- Evidence bar
- At least one documented effort by the Person toward the commitment (introduced legislation, voted in favor, included in budget proposal), AND no recent Actions in the same lineage, AND the reasonable window per the jurisdiction's domain rules has elapsed.
- Watch-outs
- Stalled is for 'tried but blocked.' If there's no documented effort, it's broken. If the effort is recent and the window is open, it's in_progress.
- Meaning
- The Person acted contrary to the commitment, or abandoned it with no substitute.
- Evidence bar
- A subsequent Action by the same Person contradicts the original (voted against, repealed, defunded); OR the commitment was publicly walked back; OR a reasonable window has elapsed with no action while the Person was in a position to act.
- Watch-outs
- 'Couldn't pass through the legislature' isn't automatically broken — consider stalled if the Person made a documented effort. Don't apply broken from a single soundbite quote without a corresponding policy action.
- Meaning
- The commitment was delivered and then later undone — either by the same Person or by a subsequent Action they participated in or endorsed.
- Evidence bar
- A prior delivered outcome existed, AND a subsequent Action repealed / defunded / substantially undid the delivery, AND the Person participated in or publicly endorsed the reversal.
- Watch-outs
- A successor undoing a Person's delivered policy without that Person's involvement is not reversed for the original Person — it's delivered (the delivery happened). Track the reversal as a separate Action on the successor.
- Meaning
- Outcome cannot be fairly assessed because circumstances removed the Person's ability to act on the commitment.
- Evidence bar
- The Person left office before a reasonable window of action elapsed, OR an external event removed the substantive question (e.g. federal preemption eliminated the program), OR the commitment was contingent on a precondition that did not occur and wasn't within the Person's control.
- Watch-outs
- 'Couldn't get it through the legislature' isn't not_applicable if the Person was in a position to try — that's stalled or broken. Use this status sparingly; defensibility of the whole graph depends on not letting Persons off the hook through this category.
Provenance
Every classification carries a provenance: who or what assigned the status. Three values are possible:
- editor — a Citipax editor reviewed the underlying Action and supporting sources, and applied the rubric by hand.
- ai — an automated classifier applied the rubric. Always reviewable; never the only signal in a publicly displayed classification.
- imported — the classification was carried in from an external dataset with its own methodology, and is treated as a starting point an editor will revisit.
Today, every classification on the site is editor. AI auto-classification is deferred to a later phase — and when it ships, the provenance will be visible on every classification it produces, so a reader can always tell which judgments a person made and which a model made.
When the rubric updates
The rubric is versioned. Today’s version is v0.1. A bump to v0.2 is triggered when we see drift — a meaningful share of classifications revealing a category boundary the current rubric handles badly, or a real-world pattern (a new kind of commitment, a new kind of reversal) the current rubric doesn’t describe.
When the version changes, existing classifications keep their original rubric_version — they aren’t silently re-judged. Where editors re-classify an Action under the new rubric, the new judgment cites the new version, and the prior judgment stays in history.
This is the architectural principle that makes the record comparable across time: the derivation pointer travels with the data.