2.8 KiB
Sprimo QA and Documentation Workflow
Purpose
This workflow defines how bug reports, runtime evidence, and documentation updates are maintained so every issue is auditable from first report to closure.
Issue Lifecycle
All issues use a single file: issues/issueN.md.
Allowed lifecycle states:
ReportedTriagedIn ProgressFix ImplementedVerification PassedClosed
Each state transition must include:
- local timestamp (
YYYY-MM-DD HH:MM) - actor
- short note
- evidence links when available
Evidence Requirements
Screenshots are stored under issues/screenshots/.
Naming convention:
- before:
issueN-before-YYYYMMDD-HHMMSS.png - after:
issueN-after-YYYYMMDD-HHMMSS.png - optional checkpoint suffix:
-step1,-step2
For UI/runtime behavior bugs:
- at least one before screenshot is required at report/triage time
- at least one after screenshot is required before
Verification PassedorClosed
Legacy reports may keep issues/screenshots/issueN.png as before evidence.
Verification Gate
Before marking an issue Closed, all conditions must be met:
- Relevant checks/tests are recorded:
cargo check --workspacecargo test --workspace(or documented rationale for targeted tests)
- Visual checklist is completed with before/after screenshot references.
- Docs are synchronized:
issues/issueN.mdlifecycle and verification sections updated- impacted files under
docs/updated when behavior/spec/status changed
Documentation Sync Rules
Update these files when applicable:
docs/IMPLEMENTATION_STATUS.mdfor milestone-level implementation statusdocs/RELEASE_TESTING.mdwhen release/manual QA steps changedocs/API_SPEC.md,docs/CONFIG_REFERENCE.md, or other contracts if behavior changed
Command Checklist
Minimum command set for fix validation:
cargo check --workspace
cargo test --workspace
just qa-validate
Optional runtime/API stress validation:
just random-backend-test
For runtime behavior issues, include screenshot capture paths in the issue file. For Bevy window-management verification workflows, use:
docs/BEVY_WINDOW_VERIFICATION.md
Definition of Done
An issue is done only when:
- lifecycle state is
Closed - verification gate passed
- evidence links resolve to files in repository
just qa-validatepasses
Tauri Runtime Addendum
For sprimo-tauri runtime behavior issues, follow docs/TAURI_RUNTIME_TESTING.md.
Additional strict requirements:
- include
current_stateandload_active_sprite_packinvoke validation notes - include
runtime:snapshotevent verification notes - include tauri runtime API verification (
/v1/health,/v1/state,/v1/command,/v1/commands) - do not move issue status to
Closeduntil all strict-gate evidence indocs/TAURI_RUNTIME_TESTING.mdis present