Skip to content
 
 

Repository files navigation

CEQA Preflight

CEQA Preflight is an early-stage, local-first command-line tool for checking the technical readiness of CEQA Submit filing packages.

It is designed to help planners, clerks, and consultants catch objective, correctable package issues before State Clearinghouse review. It will produce source-cited advisory findings and human-review reminders; it will not submit documents, modify originals, make network requests at runtime, or determine legal sufficiency.

Status

Status: In build

CEQA Preflight is pre-alpha software. The repository includes safe local package loading, bounded PDF technical inspection, a source-cited declarative rule engine, a common technical rule pack (readability, searchable text, flattened forms, structure tags, file hygiene), and a synthetic-package generator for demos and pilot calibration. NOD- and NOE-specific rules are currently experimental: they run only with --include-experimental while documented official-source review, practitioner review, tests, and a permissioned pilot are completed.

Intended initial scope

  • Local directory or ZIP input.
  • NOD and NOE package checks.
  • Deterministic PDF and metadata checks.
  • Accessible HTML and JSON reports.
  • No hosted document storage, portal scraping, or AI-driven legal analysis.

Quick start

uv sync --all-groups
uv run ceqa-preflight --version
uv run ceqa-preflight --help
uv run ceqa-preflight init ./my-package --filing-type NOE
uv run ceqa-preflight init ./my-package --filing-type NOE --from-package
uv run ceqa-preflight check ./my-package --filing-type NOE --format html --output ./reports
uv run ceqa-preflight check ./my-package --filing-type NOE --include-experimental
uv run ceqa-preflight check ./pkg-a ./pkg-b --filing-type NOE --format json --output ./reports
uv run ceqa-preflight check ./my-package --filing-type NOE --format checklist
uv run ceqa-preflight synth ./demo-package --filing-type NOE --defect scanned
uv run ceqa-preflight rules list --filing-type NOE
uv run ceqa-preflight rules list --format json
uv run ceqa-preflight pilot init ./pilot-evidence
uv run ceqa-preflight pilot summarize --reviews ./pilot-evidence/finding-review.csv --baseline ./pilot-evidence/manual-baseline.csv

Without a local checkout, run the CLI directly from a clone with uv: uvx --from /path/to/ceqa-preflight ceqa-preflight --help, or install it with pipx install /path/to/ceqa-preflight. No package registry release exists yet.

The check command reads one or more directories or ZIP packages locally, never uploads or alters their contents, and can emit console, JSON, self-contained HTML, or printable sign-off checklist advisory reports. Checking several packages at once prints a per-package roll-up summary. Add --manifest package.yaml to enable explicit primary form and document-category checks when experimental rules are opted into (single package only), and --rules / --exclude-rules to select specific rule identifiers. The default run includes active technical checks only. Add --log-format json for minimal, package-content-free operational events on stderr, including inspection progress counts for large packages.

The synth command generates plainly fictional synthetic packages, optionally seeded with objective defects (scanned pages, fillable forms, encrypted or truncated PDFs, duplicates, and more) for demos, regression tests, and pilot reviewer calibration. See examples/ for a generated package and its HTML report.

The pilot commands support the permissioned evaluation protocol with opaque IDs and controlled labels only; they do not read filing packages or accept free-text reviewer notes.

Exit codes

check exits 0 when no automated failure was found (warnings and manual-review items may still exist), 1 when at least one failure finding was produced, and 2 on input or internal rule errors. With multiple packages, the worst exit code wins.

Non-affiliation and disclaimer

CEQA Preflight is an independent open-source project. It is not affiliated with, endorsed by, or operated by the State of California, the Governor's Office of Land Use and Climate Innovation, the State Clearinghouse, CEQA Submit, or CEQAnet. See DISCLAIMER.md.

Development

make verify

See CONTRIBUTING.md, SECURITY.md, and the architecture decision. The project also documents its pilot protocol, pilot partner kit, accessibility boundaries, and threat model.

Public API and release status

The command-line interface and JSON report schema are not yet stable. No GitHub Release or package publication has been made; version 0.1.0 is the pre-release development baseline, not a promise of production readiness. Breaking changes may occur before the first tagged release. See CHANGELOG.md and docs/ROADMAP.md.

Standards conformance

This project follows the pinned Portfolio Standards submodule at release v1.0.1. “Applies” means an automated or documented control exists; release-only evidence is collected before a tagged release.

Standard Status Evidence / scope
Core delivery, documentation, quality Applies Makefile, CI, definition of done
Security, supply chain, responsible technology Applies security policy, audits
Accessibility Applies accessibility boundaries; release review pending first tag
Observability N/A hosted telemetry Stateless local CLI; opt-in JSON operational events only, no package contents
i18n/l10n N/A current scope English-only operator tool; no public-service transaction UI
Performance N/A service SLO No hosted service; bounded PDF/ZIP parsing is in the threat model
AI evaluation N/A runtime No model, prompt, or AI inference is shipped
Data governance Applies local filing package data card

The central standards register is maintained separately and must be updated when this repository is published.

About

Pre-alpha offline CLI that checks CEQA filing packages (NOD, NOE) for objective, correctable technical defects before State Clearinghouse review: bounded PDF inspection, a source-cited declarative rule engine, and HTML/JSON/checklist advisory reports. It never submits, alters, or judges legal sufficiency; NOD/NOE rules are experimental.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages