product

The pipeline,
stage by stage.

For the buyer who wants to understand the architecture before they trust the deliverable.

how it works

Watch each step do its job.

Five steps in the pipeline. Click any to see exactly what happens inside.

step 1 of 5

Every page indexed. Every document fingerprinted.

We hash every PDF, classify drawings vs. spec vs. addenda vs. bid form, extract text deterministically, and rasterize each page for the multimodal stage. Re-runs are cheap and idempotent.

  • 8 documents fingerprinted with SHA-256
  • 612 pages indexed in 1.2 seconds
  • Document types auto-classified
INGEST · 8 DOCUMENTS612 pages
📄
Project_Manual.pdf
287 pp
8f3a..b2c1
📄
Drawings_A_Series.pdf
142 pp
c4d2..9f08
📄
Drawings_M_Series.pdf
98 pp
a701..3d4e
📄
Addendum_01.pdf
12 pp
e092..771a
📄
Addendum_02.pdf
23 pp
b550..2204
📄
Bid_Form.pdf
8 pp
771f..40b9
all 8 docs fingerprinted in 1.2s
principles

What the architecture promises.

Six opinionated choices enforced everywhere.

Evidence before assertion

No LLM finding reaches a deliverable without a deterministic substring check against the source page. Confidence is a ladder (1.0 deterministic, 0.9 verbatim, 0.7 normalized), not a boolean.

Fail closed, never throw

The single LLM dispatch site never rejects its promise; callers branch on status. Retries are class-aware. Hung subprocesses are killed with SIGTERM → SIGKILL so the pool can never deadlock.

Resumable by construction

Each PDF and each page carries a status. A re-run skips already-completed work and resumes from where the last invocation stopped. Bids are keyed on a SHA-256 manifest of inputs.

Cost and wall-time bounded

Configurable hard ceilings on per-run S2 dispatches and wall-clock minutes. When either trips, in-flight work finishes and remaining pages are marked pending. The next invocation picks up where the kill-switch fired.

Schema-validated boundaries

Every LLM output is parsed through a Zod schema via safeParse. No "any" in the codebase. Strict TypeScript with noUncheckedIndexedAccess and exactOptionalPropertyTypes.

Forensic by default

Failed S2 calls dump per-attempt stdout, stderr, and metadata. Rejected findings are preserved in findings-rejected.jsonl. The audit log is tamper-evident. Nothing is silently swallowed.

send your next bid · free

We'll analyze it for free.

Email it over, or paste a shared link. Read by an estimator within 1 business day. If it earns its keep, $249 next time.

🔒 Confidential. Your bid never trains a model. We never sell or share bid data.