What shipped
This build adds a local multi-jurisdiction watchboard layer to the existing Data Center Docket Watch package. It reads local monthly-watch/delta-watch.json files, optionally reads watchboard-profile.json, scores each jurisdiction, and writes:
watchboard/regional-watchboard.mdwatchboard/jurisdiction-scorecard.csvwatchboard/jurisdiction-scorecard.jsonwatchboard/weekly-client-brief.mdwatchboard/source-gaps.mdwatchboard/prospect-shortlist.mdwatchboard/outreach-email.mdwatchboard/watchboard.json
The new CLI commands are:
``bash python -m data_center_docket_watch watchboard --path /tmp/data-center-watchboard-demo --jurisdictions /tmp/data-center-watchboard-demo/jurisdictions python -m data_center_docket_watch validate-watchboard --path /tmp/data-center-watchboard-demo ``
The watchboard command seeds three local demo jurisdictions when the supplied jurisdictions directory is empty:
- Illinois tax incentive pause
- Charlotte 150-day moratorium
- New York statewide moratorium bill
Architecture
- Reused the parent build's Python package, CLI style, standard-library-only implementation, JSON writer, disclaimer language, and validation pattern.
- Added
data_center_docket_watch/watchboard.pyas the focused packaging layer. - Added
write_watchboard_demo_jurisdictionsinsamples.pyto keep the demo fixture local, inspectable, and deterministic. - Kept
monthly-watch/delta-watch.jsonas the main input contract so this build compounds the prior Delta Watch product instead of replacing it. - Used explicit validation checks rather than implicit assumptions.
validate-watchboardchecks files, JSON keys, source links, source gaps, prospects, service language, disclaimer language, and required policy signals.
Trimmed scope
This MVP deliberately does not include a hosted dashboard, database, source scraper, CRM, email sender, browser automation, or provider-backed enrichment. It is a local packet generator for manually refreshed jurisdiction folders.
The scoring model is simple and explainable. It prioritizes moratorium or pause signals, public hearing/comment/vote/next-action signals, incentive or tax signals, utility and water signals, source gaps, and buyer fit from local profiles.
Limitations
- The seeded demo URLs and facts are local fixtures from the incubator brief context. They must be replaced or confirmed against official sources before client use.
generatedAtreflects the local run time, so the JSON export is deterministic in structure but not byte-identical across runs.- The tool does not determine whether a law, moratorium, hearing notice, tax rule, or utility filing is legally effective.
- The watchboard does not scrape or refresh sources. It flags source gaps for a human operator.
- Prospect entries are packaging aids, not CRM records.
Verification
bash verify.sh passes locally. The verifier runs unit tests, creates /tmp/data-center-watchboard-demo, generates and validates the watchboard, checks seeded jurisdiction delta files, parses JSON outputs, checks required Markdown language, and confirms README coverage plus the local-only/no-provider-call constraints.
Suggested next steps
- Add a richer
watchboard-profile.jsontemplate command for operators. - Add a comparison mode that diffs two watchboard runs week over week.
- Add optional CSV import for source gaps and prospects.
- Add stronger date parsing for urgency windows while keeping the no-network constraint.
- Add a narrow HTML view only after the Markdown and JSON packet workflow is validated with buyers.