59 lines
3.0 KiB
Markdown
59 lines
3.0 KiB
Markdown
# Checklists
|
|
|
|
## Scanner Change
|
|
|
|
- [ ] The expected crop or capture behavior is clear.
|
|
- [ ] Genshin is not accessed through memory reads, hooks, injection, or game files.
|
|
- [ ] Auto-scan starts only from confirmed artifact inventory plus visible detail card, or blocks with a reason.
|
|
- [ ] Capture failures are shown to the user.
|
|
- [ ] OCR uncertainty remains inspectable in Details.
|
|
- [ ] Parser output does not silently trust low-confidence text.
|
|
- [ ] `npm run lint` passes.
|
|
- [ ] `npm test` passes when parser/scoring logic changed.
|
|
- [ ] `npm run build` passes.
|
|
- [ ] Manual Smart Capture is tested when possible.
|
|
|
|
## IK-Speed Or OCR-Engine Claim
|
|
|
|
- [ ] `/health.appBuild.signature` matches the current `APP_RUNTIME_SIGNATURE`.
|
|
- [ ] `npm run scan:live:preflight` passes, or use the validated comparison command that runs it first.
|
|
- [ ] During manual UAC startup, `npm run scan:live:preflight:wait` may be used before the scan chain.
|
|
- [ ] `npm run scan:assessment:test` passes.
|
|
- [ ] Use `npm run scan:iterate:compare:validated` or `npm run scan:iterate:compare:validated:wait` for short 20-artifact tuning loops.
|
|
- [ ] Prefer `npm run scan:goal:compare:validated` or `npm run scan:goal:compare:validated:wait` for the final live comparison because it runs preflight, comparison, and assessment validation in sequence.
|
|
- [ ] The run includes `scan-performance-assessment.json`.
|
|
- [ ] `npm run scan:assessment:validate -- --latest` or explicit `--input=<path>\scan-performance-assessment.json` passes.
|
|
- [ ] If claiming a specific winner, the validator is run with `--expect-winner=current` or `--expect-winner=ik-traineddata`.
|
|
- [ ] Final report cites the validator JSON or `--summary` output, including the assessment path.
|
|
- [ ] For iteration claims, the 20-artifact run finishes cleanly and is validated with `--limit=20`.
|
|
- [ ] For final claims, the 100-artifact run finishes cleanly.
|
|
- [ ] Parsed count is at least the requested count.
|
|
- [ ] Miss rate is at or below 2%.
|
|
- [ ] Review rate is at or below 15%.
|
|
- [ ] Speed comparison uses active scan timing plus quality, not click count alone.
|
|
- [ ] The default OCR engine is changed only after same-capture benchmark evidence.
|
|
|
|
## UI Change
|
|
|
|
- [ ] The main workflow remains visible without unnecessary scrolling.
|
|
- [ ] Debug or secondary information is moved behind buttons/modals where appropriate.
|
|
- [ ] Disabled states prevent actions without required data.
|
|
- [ ] Text fits in controls and panels.
|
|
- [ ] Desktop viewport is checked manually.
|
|
- [ ] `npm run build` passes.
|
|
|
|
## Parser Or Scoring Change
|
|
|
|
- [ ] Known-good OCR samples still parse correctly.
|
|
- [ ] Ambiguous data becomes unknown or review, not false certainty.
|
|
- [ ] Character, set, stat, and slot dictionaries are updated deliberately.
|
|
- [ ] Tests cover changed behavior when practical.
|
|
|
|
## Release Or Packaging
|
|
|
|
- [ ] Production build succeeds.
|
|
- [ ] Electron preload bridge is copied to `dist-electron/preload.cjs`.
|
|
- [ ] App starts outside browser preview.
|
|
- [ ] Smart Capture bridge is available.
|
|
- [ ] No generated debug artifacts are included accidentally.
|