Status: Specification complete; implementation not started.
IntentGuard is a local-first support-intent classifier that compares a TF-IDF logistic-regression baseline with a fine-tuned DistilBERT classifier and can abstain when model confidence is below a validation-derived threshold.
The repository is intentionally scoped to a 12–16 hour weekend implementation on one laptop. It demonstrates production ML judgment through an end-to-end pipeline, honest evaluation, input validation, focused tests, latency measurement, and a small FastAPI inference boundary.
Scope-frozen vertical slice#
- Download and validate BANKING77.
- Train and evaluate the classical baseline.
- Fine-tune and evaluate one DistilBERT classifier.
- Select an abstention threshold from validation data.
- Serve
POST /v1/predictandGET /health. - Run focused tests and generate a comparison report.
Nothing else belongs to the guaranteed MVP.
Source of truth#
Read these documents in order:
- Project brief
- Requirements and acceptance criteria
- Architecture
- ML system design
- Implementation plan
- Scope control
- Agent operating guide
Supporting documents:
- Pre-documentation scope review
- Production readiness
- Interface contract
- Test and evaluation strategy
- Traceability matrix
- GitHub presentation plan
- Final validation
- Sources
- Architecture decisions
Planned implementation commands#
These commands are contracts for the implementation; they are not claims that the application already exists.
make setup
make data
make baseline
make train
make evaluate
make test
make serve
The primary demonstration path will be:
make setup data baseline train evaluate test
make serve
Honest status#
| Capability | Status |
|---|---|
| Architecture and requirements | Documented |
| Dataset pipeline | Planned |
| Baseline model | Planned |
| DistilBERT model | Planned |
| Abstention policy | Planned |
| FastAPI service | Planned |
| Automated tests | Planned |
| Measured model results | Not yet available |
No accuracy, F1, calibration, latency, user-impact, or production-usage claims should be added until they are generated by the reproducible evaluation pipeline.