pyronear / pyronear/pyro-annotator
Missed smoke on annotated alerts: no recovery path once the alert is done
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 1
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 2
Description
Gap
A reviewer on /localize/done/:id who spots smoke the AI (and both passes) missed can record it — the missed-smoke row PATCHes has_missed_smoke (since #312) — but nothing acts on it:
- Skip alert is queue-only by design:
POST /alert/skip409s when every lane isANNOTATED("Alert is fully annotated — nothing to skip"). A skip row on a done alert would be visible in neither queue. - Add object is retired until the drawing flow is ready (#312), and was the only mechanism that could re-open a done alert.
So an annotated-but-wrong alert is stuck: complete by stage, known-incomplete by flag.
Option considered and rejected: demote-then-skip
Move lanes back to a pre-annotated stage so the alert passes the skip guard and lands in the Skipped view. Rejected because:
- The skip overlay is deliberately insert-only and never touches lane state (its whole safety story); pairing it with stage demotion inverts that and makes unskip lossy.
- Lane stages feed other machinery (sibling auto-annotation fan-out, group sweep, done-list queries); rewinding
ANNOTATEDlanes risks retriggering it. - After unskip the alert returns to the localize queue, where the only real fix (drawing the missed object) still doesn't exist.
Proposed shape: the flag is the backlog
- Keep skip queue-only, untouched.
- Treat
ANNOTATED && has_missed_smokeas its own small backlog: a "Flagged after done" view or filter on the localize done list — the Skipped view's sibling, not its tenant. No schema change needed; the flag is already recorded. - When add-object ships, that backlog is the worklist: adding a lane to a done alert spawns it at the bbox stage, so the alert is no longer fully annotated and re-enters the localize queue via the existing predicate — no demotion of finished lanes.
Related
- #312 (retire add-object, nudge toward skip)
- #297 (alert skip escape hatch)
- #275 / #288 (FP→smoke promote — same "revise a settled decision" family)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing /localize/done/:id, the missed-smoke PATCH for has_missed_smoke, and the done-list predicates; compare them with the /alert/skip fully-annotated guard. Done means annotated alerts flagged after completion appear in a separate backlog or filter and can later re-enter through add-object without demoting finished lanes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- full-stack
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100