97 lines
2.6 KiB
Markdown
97 lines
2.6 KiB
Markdown
# 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:
|
|
|
|
1. `Reported`
|
|
2. `Triaged`
|
|
3. `In Progress`
|
|
4. `Fix Implemented`
|
|
5. `Verification Passed`
|
|
6. `Closed`
|
|
|
|
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 Passed` or `Closed`
|
|
|
|
Legacy reports may keep `issues/screenshots/issueN.png` as before evidence.
|
|
|
|
## Verification Gate
|
|
|
|
Before marking an issue `Closed`, all conditions must be met:
|
|
|
|
1. Relevant checks/tests are recorded:
|
|
- `cargo check --workspace`
|
|
- `cargo test --workspace` (or documented rationale for targeted tests)
|
|
2. Visual checklist is completed with before/after screenshot references.
|
|
3. Docs are synchronized:
|
|
- `issues/issueN.md` lifecycle 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.md` for milestone-level implementation status
|
|
- `docs/RELEASE_TESTING.md` when release/manual QA steps change
|
|
- `docs/API_SPEC.md`, `docs/CONFIG_REFERENCE.md`, or other contracts if behavior changed
|
|
|
|
## Command Checklist
|
|
|
|
Minimum command set for fix validation:
|
|
|
|
```powershell
|
|
cargo check --workspace
|
|
cargo test --workspace
|
|
just qa-validate
|
|
```
|
|
|
|
For runtime behavior issues, include screenshot capture paths in the issue file.
|
|
|
|
## 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-validate` passes
|
|
|
|
## Tauri Runtime Addendum
|
|
|
|
For `sprimo-tauri` runtime behavior issues, follow `docs/TAURI_RUNTIME_TESTING.md`.
|
|
|
|
Additional strict requirements:
|
|
|
|
- include `current_state` and `load_active_sprite_pack` invoke validation notes
|
|
- include `runtime:snapshot` event verification notes
|
|
- include tauri runtime API verification (`/v1/health`, `/v1/state`, `/v1/command`, `/v1/commands`)
|
|
- do not move issue status to `Closed` until all strict-gate evidence in
|
|
`docs/TAURI_RUNTIME_TESTING.md` is present
|