5.1 KiB
5.1 KiB
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 lintpasses.npm testpasses when parser/scoring logic changed.npm run buildpasses.- Manual Smart Capture is tested when possible.
IK-Speed Or OCR-Engine Claim
/health.appBuild.signaturematches the currentAPP_RUNTIME_SIGNATURE.npm run scan:live:preflightpasses, or use the validated comparison command that runs it first.- During manual UAC startup,
npm run scan:live:preflight:waitmay be used before the scan chain. npm run scan:assessment:testpasses.- Use
npm run scan:iterate:compare:validatedornpm run scan:iterate:compare:validated:waitfor short 20-artifact tuning loops. - Prefer
npm run scan:goal:compare:validatedornpm run scan:goal:compare:validated:waitfor 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 -- --latestor explicit--input=<path>\scan-performance-assessment.jsonpasses.- If claiming a specific winner, the validator is run with
--expect-winner=currentor--expect-winner=ik-traineddata. - Final report cites the validator JSON or
--summaryoutput, 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 buildpasses.
Scan Results And Inventory UX
- The scan page keeps preview, Stop/status, and the live result rail visible without page-level scrolling.
- The live rail shows finished artifact rows only, not intermediate OCR/debug state.
- Each live row has scan number, artifact name or compact fallback, value score, and a short status pill.
- Extraction confidence and artifact value remain separate in the data model.
- Low-confidence or conflicting reads show
Reviewinstead of a normal weak/strong value decision. - Duplicate state is represented separately from artifact quality.
- The artifact inventory view can browse stored scan results without opening diagnostics.
- Inventory filters/sorting cover review, score, set, slot, equipped, locked, and newest scan where data exists.
- Artifact detail shows screenshot/crop, parsed fields, OCR confidence, parser notes, value reasons, and review state.
- Upgrade projection, if shown, is labeled as a projection and includes worst/middle/best cases.
- Unit tests cover score/status derivation and projection edge cases when those modules change.
- Scanner safety rules and existing quality gates are unchanged.
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.
Git Merge And Gitea Push
git status --short --branchis checked before switching branches, committing, merging, or pushing.- Work is committed on the intended feature branch before merging into
main. - Merge into
mainuses fast-forward when possible, or a deliberate merge commit when the history requires it. mainis clean before push except for explicitly ignored or deliberately untracked local files.git remote -vpoints to the intended Gitea remote before pushing.- Gitea HTTPS credentials are stored through Git Credential Manager, not in repository files or remote URLs.
- If authentication fails, refresh the credential using
GITEA_AUTH.md, then rerun the same
git push. - After push,
git status --short --branchshowsmain...origin/mainwithout ahead/behind drift.