How chichasescheese/ds160-form-autofiller works
Backhome is a local, agent-assisted DS-160 preparation and verification tool. The main workflow takes the applicant’s documents through integrity checking and text digestion into sourced profile facts, validates them, builds an expected-value form sheet, and supports agent-assisted CEAC entry. Captured CEAC values are reconciled and checked before generating a printable review; signing and submission remain with the applicant. README documents the wider workflow and capabilities, while sampled source confirms the pipeline and sheet/reconciliation logic; some agent-to-browser and file handoffs are documented rather than shown in sampled Python.
Main entry points: cli.py CLI commands · model.py Sourced profile · forms.py Sheet and questionnaire · preflight.py Preflight checks
Components 21
Evidence intake
- CLI commands
src/backhome/cli.py - Document ingest and digest
src/backhome/docs.py - Raw documents and digests
Facts and validation
- Sourced profile
src/backhome/model.py - Answer overlay
src/backhome/model.py - Profile validators
src/backhome/validators.py
Form preparation
- Agent workflow skills
skills - DS-160 form specification
src/backhome/forms/ds160/spec.yaml - Sheet and questionnaire
src/backhome/forms.py - Application files
CEAC verification
- CEAC navigation
src/backhome/ceac/nav.js - Page snapshot
src/backhome/ceac/snapshot.js - Review extraction
src/backhome/ceac/review_extract.js - Field reconciliation
src/backhome/forms.py
Checks and review
- Preflight checks
src/backhome/preflight.py - Printable review
src/backhome/review.py - CEAC review coverage
src/backhome/ceac_review.py - Photo preparation
src/backhome/photo.py
Other components
- Applicant
- Browser agent
- CEAC website
Connections 35
- Applicant → CLI commands: runs commands
- CLI commands → Document ingest and digest: ingests or digests
- Document ingest and digest → Raw documents and digests: writes evidence
- CLI commands → Sourced profile: loads profile
- Applicant → Answer overlay: provides answers
- Answer overlay → Sourced profile: overlays facts
- CLI commands → Profile validators: validates profile
- Sourced profile → Profile validators: supplies facts
- Browser agent → Agent workflow skills: follows guidance
- Agent workflow skills → Browser agent: guides intake and fill
- CLI commands → Sheet and questionnaire: builds sheet
- Sourced profile → Sheet and questionnaire: provides values
- DS-160 form specification → Sheet and questionnaire: defines fields
- Sheet and questionnaire → Application files: writes sheet and prompts
- Application files → Browser agent: provides expected values
- Browser agent → CEAC navigation: uses navigation
- CEAC navigation → CEAC website: finds pages
- Browser agent → CEAC website: fills form pages
- CEAC website → Page snapshot: exposes field values
- Page snapshot → Application files: exports snapshots
- CEAC website → Review extraction: exposes review pages
- Review extraction → Application files: exports review text
- CLI commands → Field reconciliation: runs reconciliation
- Application files → Field reconciliation: supplies sheet and snapshots
- Field reconciliation → Application files: writes results
- CLI commands → Preflight checks: runs checks
- Sourced profile → Preflight checks: supplies facts
- Application files → Preflight checks: supplies sheet and recon
- CLI commands → Printable review: generates review
- Sourced profile → Printable review: supplies provenance
- Application files → Printable review: supplies reconciled answers
- CLI commands → CEAC review coverage: runs coverage review
- Application files → CEAC review coverage: supplies extracted pages
- Applicant → Photo preparation: provides photo
- CLI commands → Photo preparation: prepares photo