plind-junior/noticed

★ 0Forks 0PythonGitHub ↗Compare

README

noticed

Ingests bankruptcy court Notices of Electronic Filing, derives the Chapter 7 deadlines the Federal Rules impose, and shows its arithmetic.

noticed ingest fixtures/nef/309a.eml
noticed deadlines
noticed calendar --out case.ics

Each derived deadline carries its FRBP citation, its anchor, its offset, and any FRBP 9006(a) weekend or holiday rollover. Deadlines whose anchor cannot be resolved are reported as pending, never guessed. Where a notice states a deadline on its face, the derived date is cross-checked against it and any disagreement is flagged rather than resolved.

Relationship to Glade

This is an independent proof of concept. It is not affiliated with, endorsed by, or derived from the codebase of Glade.

Glade is a commercial case-management platform for consumer bankruptcy firms. Its published help documentation describes receiving court notices at a forwarding address registered in PACER, parsing "case number, notice type, filing date," storing attached documents, and creating calendar events where "date, time, and event type are pulled directly from the notice."

noticed reimplements that ingestion loop as open source and extends it in one direction: instead of surfacing only the dates a notice states, it derives the downstream deadlines the Rules impose from those dates, and flags any disagreement with dates the notice states on its face.

Glade also documents a read-only MCP server for querying case data from AI clients. noticed exposes an equivalent read-only MCP surface over its docket, for the same reason and with the same constraint: query only, no writes.

Glade's product was the reference for the problem shape. The rule table, date arithmetic, and implementation here are original work.

Descriptions of Glade reflect public documentation as of August 2026.

Non-goals

  • No PACER or CM/ECF access, and no credential handling of any kind.
  • No model-computed deadlines. timecalc.add_days performs every deadline's arithmetic deterministically, always -- a model never does the day-counting or rollover. A model does transcribe two of the anchor dates that arithmetic runs from (the section 341 meeting's first-set and concluded dates, which anchor five of the eight rules), so a misread transcription does reach the calendar; every output surface marks which deadlines carry that dependency.
  • No MCP write tools. An agent cannot mutate a docket.
  • Chapters other than 7; IMAP; broad district coverage.

Legal caveat

This project produces information, not legal advice. The rule table in data/rules/ch7-consumer.yaml and the holiday table in data/holidays/federal.yaml are good-faith encodings carrying citations and as-of dates. Every entry requires independent verification against the current Rules before it is relied on for a live case. Nothing here should be used for a live case without review by counsel.

Development

pip install -e ".[dev]"
pytest
lint-imports --config .importlinter

Model calls are replayed from fixtures/extractions/; the suite runs offline. Set NOTICED_LIVE=1 to call the API and re-record.

Design

docs/superpowers/specs/2026-08-13-noticed-design.md.

Contributors

plind-junior

Issues