Skip to content

Repository files navigation

MIB Doc Challenge — visible-evidence submission

Offline CPU submission for the 8090 MIB Document Challenge.

The frozen candidate scores 135.0125 / 150 on all 1,000 public training packets with the organizer's evaluator:

Section Score
Field extraction 45.0500 / 50
Adjudication 72.4300 / 80
Confidence calibration 17.5325 / 20
Total 135.0125 / 150

It emits 1,000 schema-valid rows with no omissions and no catastrophic false approvals. Runtime is fully offline, CPU-only, non-root, and compatible with a read-only container filesystem.

Approach

The stable core renders every page, recovers visible text with RapidOCR and targeted Tesseract fallbacks, links evidence across pages, resolves conflicting fields by document precedence, and applies conservative policy rules.

A separate final scoring layer then:

  • repairs fee, name, visa, sponsor, arrival, and purpose from visible layout;
  • honors visible findings and damage cues;
  • detects narrowly gated visible blue and red denial marks;
  • promotes only tightly gated, cross-form clean packets;
  • demotes unsafe approvals and hard-gates TRANSIT-7;
  • blends confidence with a frozen identity-free reliability table and OOF-supported two-parameter calibration.

Embedded SYSTEM instructions and answer-table text are untrusted and stripped. There is no answer-key parser, opt-in switch, case-ID lookup, filename feature, network call, LLM, or VLM.

Run

docker build -t mib-visible-submission .
mkdir -p /tmp/mib-output
docker run --rm --network none \
  --read-only --tmpfs /tmp:rw,nosuid,nodev,size=2g \
  --mount type=bind,src="/absolute/path/to/pdfs",dst=/input,readonly \
  --mount type=bind,src="/tmp/mib-output",dst=/output \
  mib-visible-submission /input /output/predictions.jsonl

The image accepts exactly two arguments: the input PDF directory and exact output JSONL path.

Use the organizer's exact runner and validator:

python3 scripts/run_docker_submission.py \
  --repo . \
  --input-dir /path/to/mib-doc-challenge/data/validation \
  --output /tmp/mib-output/predictions.jsonl \
  --manifest /path/to/mib-doc-challenge/data/validation_manifest.csv \
  --timeout-seconds 30000 \
  --require-complete

python3 scripts/validate_submission.py \
  --submission /tmp/mib-output/predictions.jsonl \
  --manifest /path/to/mib-doc-challenge/data/validation_manifest.csv \
  --require-complete

See MEMO.md for the score audit, transfer evidence, and failure modes, and ATTRIBUTION.md for exact upstream commits.

About

Visible-evidence, offline CPU solution for the 8090 MIB Document Challenge

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages