| # Acceptance Criteria |
|
|
| This file defines how we decide whether something is really done. |
|
|
| ## Global Rule |
|
|
| Do not mark a feature done unless: |
|
|
| 1. The files exist. |
| 2. The feature is linked from docs where relevant. |
| 3. The behavior was tested locally, or the blocker is written in `IMPLEMENTATION_STATUS.md`. |
| 4. The checklist in `TASKS.md` is updated. |
| 5. Unit and user-story tests are added or updated. |
|
|
| If a bug or failed check is discovered, add or update a test that reproduces it before marking |
| the fix done. |
|
|
| ## MVP App |
|
|
| Done when: |
|
|
| - `python app.py` launches without errors. |
| - The Gradio UI opens locally. |
| - Chat tab returns a response. |
| - Vision tab accepts an image and returns a response. |
| - Field Notes tab saves a row to `data/field_notes.csv`. |
| - README explains that current inference is placeholder/local-safe. |
| - Unit and user-story tests pass. |
|
|
| ## Testing And Quality |
|
|
| Done when: |
|
|
| - Unit tests cover new logic. |
| - User-story tests cover new workflows. |
| - `scripts/run_tests.ps1` passes. |
| - `ruff`, `mypy`, `pylint`, `bandit`, and `pip-audit` are installed or blockers are documented. |
| - `scripts/run_quality.ps1` passes before release or documents exact blockers. |
|
|
| ## Real Local Inference |
|
|
| Done when: |
|
|
| - A user can choose a backend. |
| - Model loading happens only after an explicit click. |
| - The app does not download weights on startup. |
| - At least one small model returns a real response. |
| - Setup steps are documented. |
|
|
| ## Hugging Face Space |
|
|
| Done when: |
|
|
| - Space exists. |
| - Repo is pushed. |
| - Build succeeds. |
| - Public/private Space URL is added to README. |
| - Any hardware or model limitations are documented. |
|
|
| ## GitHub |
|
|
| Done when: |
|
|
| - GitHub repo exists. |
| - Initial commit is pushed. |
| - README includes GitHub URL. |
| - Large files and secrets are excluded. |
|
|
| ## Training |
|
|
| Done when: |
|
|
| - Training input format is documented. |
| - A dry-run or actual LoRA run completes. |
| - Output checkpoint path is shown. |
| - Metrics or logs are captured. |
| - Hardware assumptions are documented. |
|
|
| ## Field Notes |
|
|
| Done when: |
|
|
| - Corrections save reliably. |
| - Corrected records can be exported. |
| - Export schema is documented. |
| - Export can feed the training pipeline. |
|
|
| ## Hackathon Submission |
|
|
| Done when: |
|
|
| - Space URL is live. |
| - Demo video is recorded. |
| - Social post is published or drafted. |
| - Submission form fields are complete. |
| - Model-size compliance is documented. |
|
|