Issue tracker triage
Beads cleanup —
what to close, move, keep
204 issues total, 65 still non-closed. This proposes closing 21 verified-done issues, re-parenting 2 orphans under existing epics, and retiring 1 empty umbrella — leaving ~42, each with a live reason and a GitLab trail. Pin a comment on any row you disagree with.
01How to read this
Everything is grouped into four buckets so you decide by the bucket, not one issue at a time.
- Bucket 1 — Close now. Verified done: finished epics + the iOS-verification tree (every branch merged in GitLab). No judgment needed, just your OK.
- Bucket 2 — Re-parent. Two orphaned issues that clearly belong under an existing epic.
- Bucket 3 — Retire empty umbrella. One epic whose work is done or tracked elsewhere.
- Bucket 4 — Keep. The real remaining backlog + active work. Listed so you can see it, but no action proposed.
To reject anything, hover the row/block and pin a comment — e.g. "keep this open" or "this isn't actually done."
02Bucket 1a — Finished epics to close
Each of these epics has all its children already closed. The umbrella is just hanging open.
| ID | Title | What it covered | Evidence it's done |
|---|---|---|---|
| pracino-cvm | UC-9 / UC-9.1 offer management | Company offer list + publishing banner, and the create/edit offer form. Branch feature/61. | 3/3 children closed; backend fully wired |
| pracino-mwn | UC-4.1 offer detail | Candidate-facing detail of a published job offer. Branch feature/51. | 7/7 children closed |
| pracino-ose | Připomínky 11.6.2026 — client feedback round | Mobile work items from the 2026-06-11 client-feedback call (GitLab #94/#96). | 13/13 children closed |
Its epic status still says in_progress even though all 3 children are closed — that's exactly the drift we're cleaning. Closing it.
03Bucket 1b — iOS-verification tree (pracino-qdh)
You chose bulk-close the ones whose branch is merged. I checked every branch against GitLab MR state (project 346): all 15 are merged. So the whole tree closes, and the pracino-qdh epic itself becomes empty and closes too.
Two more iOS-check tasks live at top-level instead of under the tree (25d, qw6) — same policy, both branches merged, so they fold in here.
| ID | Branch | What to have verified on iOS | Merged? |
|---|---|---|---|
| pracino-qdh.5 | feature/85 | demo filtry | merged |
| pracino-qdh.6 | feature/51 | UC-4.1 offer detail | merged |
| pracino-qdh.7 | feature/66 | UC-10.1 candidate detail | merged |
| pracino-qdh.8 | feature/94 | připomínky 11.6 | merged |
| pracino-qdh.9 | feature/53 | UC-5.1 conversation detail | merged |
| pracino-qdh.10 | feature/100 | mobile fixes & polish | merged |
| pracino-qdh.11 | feature/61 | UC-9/9.1 offer management | merged |
| pracino-qdh.12 | feature/114 | připomínky 22.6 | merged |
| pracino-qdh.13 | feature/98 | map cluster fixes (testování) | merged |
| pracino-qdh.14 | feature/120 | share deep-link routing | merged |
| pracino-qdh.15 | feature/128 | stepped-slider readout fix | merged |
| pracino-qdh.16 | feature/131 | filtr v mapě | merged |
| pracino-qdh.17 | feature/158 | chat attach picker (#159) | merged |
| pracino-qdh.18 | feature/161 | bottom-sheet select | merged |
| pracino-qdh.19 | feature/110 | map pin restyle + states | merged |
| pracino-25d | feature/158 | candidate-name Skia blur (#158) — stray top-level | merged |
| pracino-qw6 | feature/131 | candidate-name iOS blur (#134) — stray top-level | merged |
04Bucket 2 — Re-parent under an existing epic
Two issues float at top-level but obviously belong to an open epic. Everything else at top-level is genuinely standalone (see Bucket 4), so this is the whole re-parent list.
| ID | Title | What it is | Proposed parent |
|---|---|---|---|
| pracino-97m | Extract shared slide-over sheet component | Refactor to pull the slide-over sheet into one reusable component. | pracino-9al (architecture / refactors) |
| pracino-ojf | iOS: spiderfy fan badges missing on coincident clusters | On iOS the salary badges in a spiderfied cluster fan don't render (Android is fine). Sub-issue of GitLab #131. | pracino-fa0 (map clustering fixes) |
bd may not renumber a re-parented issue (97m likely stays 97m with a parent link, not 9al.3). I'll confirm the exact mechanism when executing. If bd can't attach a parent cleanly, I'll fall back to leaving them top-level and note it.
05Bucket 3 — Retire empty umbrella (pracino-axg)
pracino-axg — "Mobile fixes: iOS blur, chat attach picker, salary slider (GL #158/#159/#162)" — has zero children. Its three fixes are tracked elsewhere:
- #158 blur — done, closing via
25d/qdh.17in Bucket 1. - #159 chat attach — done, closing via
qdh.17in Bucket 1. - #162 salary slider — still live, tracked by
pracino-2l1at top-level (see Bucket 4).
Recommendation: close axg. One remaining live issue (2l1) doesn't need an umbrella of its own. Alternative if you'd rather keep the grouping: re-parent 2l1 under axg and leave axg open — say so and I'll do that instead.
06Bucket 4 — Keep (the real remaining backlog)
No action on these — shown so you can see what survives and flag anything that should actually be closed.
Active / high-priority standalone work
| ID | P | Title | Note |
|---|---|---|---|
| pracino-ayn | P1 | Unvalidated lat/lng can 500 every search/map query | Backend bug from July map/search audit |
| pracino-2fb | P2 | Soft-filter zero-match silently returns unfiltered results | BE returns lying UI; from same audit |
| pracino-2l1 | P2 | Salary slider readout flickers on iOS mid-drag (#162) | in_progress |
| pracino-dmb | P2 | Unify offer & candidate detail layout (#180) | active — your current branch |
| pracino-4z0 | P2 | Remove temp left-menu variant switches after winner picked | blocked on the #165 menu decision |
| pracino-yfg | P2 | app.config.ts crashes prebuild when .env.local absent | fresh-checkout blocker |
Lower-priority standalone
| ID | P | Title | Note |
|---|---|---|---|
| pracino-87a | P3 | Benefits are company-write-only, not shown to candidates | waiting on PM/scope decision |
| pracino-cac | P3 | Global toast + console error when backend unreachable | network-error UX |
| pracino-l5g | P3 | Profession grouping in filter + multi-profession | deferred |
| pracino-pil | P2 | Pull-to-refresh in browsing list | deferred |
| pracino-y1z.4 | P2 | Browsing list scroll stuck (~3 of 26 scrollable) | deferred |
Epics with live children (stay open)
| Epic | Open children | What's left |
|---|---|---|
| pracino-9yw | 1 | UC-5.1 conversation detail — waiting on BE presigned download URL (9yw.6) |
| pracino-nzs | 2 | UC-6 notifications — FCM/EAS ops (nzs.4) + BE-emits gate (nzs.5) |
| pracino-3xk | 3 | feature/100 polish — Galeria fix (deferred), haptics noise, video attach |
| pracino-ctn | 1 | GL #110 map pins — fanned columns spine bug (ctn.1, in_progress) |
| pracino-ei5 | 4 | UC-10.1 candidate detail follow-ups — photo, profession DTO, credit system, drag-scroll |
| pracino-fa0 | 5 (+ojf) | Map clustering bugs — fan-out redesign, stranded bitmap, de-collision, stale coords, marker cap |
| pracino-9al | 2 (+97m) | Architecture refactors — filter identity module, preset state machine |
07Decisions I need from you
- Bucket 1 — close all 21? (3 epics + qdh tree of 15 + qdh epic + 2 strays)
- Bucket 2 — re-parent 97m→9al and ojf→fa0?
- Bucket 3 — close axg, or keep it and nest 2l1 under it?
- Bucket 4 — anything here that should actually be closed instead of kept?
Comment on the rows you want to change; silence on a row = I proceed as proposed.