Mindbridge ยท engineering status

What's next

One ordered queue across every track. Open this when deciding what to pick up; the track pages carry the reasoning for their own work.

Generated by docs/status/next_queue.py from gh issue list. No prose on this page is hand-written โ€” it is regenerated whole, so it cannot drift behind the labels it renders and cannot conflict when two sessions touch it. Generated 2026-10-14 05:59 UTC.

802startable โ€” see the breakdown below for the rest
3p0
30p1
119not in effect
49parked โ€” deferred by intent
3blocked
645unprioritised

Merged, but not in effect

Merged is not landed. A lazy backfill still draining, a flag not yet flipped, a migration whose data has not moved โ€” each reads as done everywhere and is not. Label the issue state:not-in-effect while the PR is open, and it stays here until someone measures the outcome and removes it. Open or closed both appear: an issue that never closes would otherwise carry the label invisibly.
prioritytrackissue
p0answer-truth[answer-truth] typed facts substrate โ€” one place an extracted fact lives so SQL can aggregate it (#4267) merged, not in effect
p1ama-trustDocument title extraction emits OCR'd letterhead company name as the per-document title (Arabic typo + version collapse + garbled hero) (#2086) merged, not in effect
p1ama-trustAMA cannot read re-extracted spreadsheets: 1,433 of 1,588 v2 docs have empty body_text and 22ร— smaller searchable_text (Regina, live) (#3255) merged, not in effect
p1ama-trust[ama-perf] find_attachment is half the AMA turn budget โ€” 29s of 60s, ~14s/call (Regina) (#4032) merged, not in effect
p1arabic-retrieval[arabic-retrieval] Document content mints no entities โ€” 0 of 45,612 document nodes have a single content edge (#4519) merged, not in effect
p1arabic-retrieval[arabic-retrieval] No person-to-person mention lane โ€” a person who is talked about never becomes an entity (#4520) merged, not in effect
p1arabic-retrieval[L2-g3-w3,L2-g4-w3] [arabic-retrieval] No stable cross-key-space person identity โ€” Regina's WhatsApp rollout is held shut behind it (#4528) merged, not in effect
p1arabic-retrieval[arabic-retrieval] Reply-chain recovery โ€” ingestion discards 82.6% of every reply with an English-only stripper (#4600) merged, not in effect
p1arabic-retrieval[arabic-retrieval] person nodes merge different organisations' mailboxes on the text before the @ ("info" = 32 senders) (#4648) merged, not in effect
p1arabic-retrieval[arabic-retrieval] An item extracted from an email is not linked to the company or person it names โ€” 5 Ajyad payment items, 0 edges to the Ajyad node (#4748) merged, not in effect
p1client-authWeb Google signup can never complete โ€” the OAuth full-page redirect destroys the form state (#2768) merged, not in effect
p1fold-efficiency, regina-dedupgraph_cross_conv_matching costs more than the entire fold on healthy tenants (propose 44.9s + write_edges 31.5s vs a 42.7s total fold) (#3532) merged, not in effect
p1fold-efficiency[L1-g1-w6,L1-g6-w1,L1-g6-w4] [fold-efficiency] graph materialization restarts from zero after every deploy โ€” add a per-stage resume cursor (#5397) merged, not in effect
p1person-name-truth[L1-g2-w13] [person-name-truth] Automated email (receipts, invoices, billing notices) is dropped before storage on every email lane (#4223) merged, not in effect
p1viewer-account-resolutionPOST /api/identity/link has had no caller since the enterprise app was deleted (regression) (#3417) merged, not in effect
p1viewer-truth[graph-health] Sensitivity classifier loses whole 50-item batches when one reply string has an unescaped quote (feeds #4642) (#5144) merged, not in effect
p2attachment-truth[L1-g1-w3] Recover the dropped attachments from retained maildir .eml (ADR-145 D6) (#3327) merged, not in effect
p2connector-truthgoogle_calendar writes no person_sources rows โ€” 2,766 messages, 5 attributed persons, zero connector-identity links (#3418) merged, not in effect
p2fold-efficiencyBuild the doc-needs precompute via HNSW top-K probes (~14x faster) with a node_type-partial index (#3602) merged, not in effect
p2retentionADR-138: no dead-sweep detection โ€” D6's CI gate catches 'never scheduled', not 'scheduled and silently stopped working' (#2942) merged, not in effect
p2retentionConnector deletes are capped at 30s by the pool command_timeout โ€” a large tenant's delete can never complete (#3480) merged, not in effect
p2no trackEpic: Web Intelligence / External Provenance (#1099) merged, not in effect
p2no trackfeat(plugins): Mindbridge add-in for Outlook โ€” compose assistance and read-mode briefing (#4047) merged, not in effect
p3ama-trust, ama-trust:spreadsheetsLLM-assisted table detection for the undetected tail โ€” keyed on a structural fingerprint, never on sheet names (#3322) merged, not in effect
noneama-disclose-org-membership[ama-disclose] disclosure gate keyed on org_membership โ€” owner-sequenced, price the blast radius first (#3596) merged, not in effect
noneama-trust[L1-small-w1,L1-small-w2] A backfilled message carries no provenance that it was repaired (#3314) merged, not in effect
noneama-trust, ama-trust:spreadsheets[ama-trust:spreadsheets] ADR-154 stages โ€” spreadsheet structure: capture, clean, emit, templates (#3930) merged, not in effect
noneama-trust, ama-trust:spreadsheetsxls and xlsm are terminal at the same MIME gate: 1,952 + 20 Regina attachments with no document node (#4076) merged, not in effect
nonearabic-retrieval[arabic-retrieval] event places: a connecting airport is saved as where an event happens, and upcoming shipments are saved with no place (#4443) merged, not in effect
nonearabic-retrieval[L3-g3-w1,L3-g3-w2,L3-g3-w5] [arabic-retrieval] one payment reported by both merchant and processor is counted twice (#4471) merged, not in effect
nonearabic-retrieval[arabic-retrieval] payment facts nightly reads 0.37% of candidates โ€” read budget spread evenly over company nodes in id order (#4906) merged, not in effect
nonearabic-retrieval[arabic-retrieval] attachment content never reaches the payment prescreen or the facts extractor (#4949) merged, not in effect
nonearabic-retrieval[arabic-retrieval] people only named in mail never get a title, so a people search by role cannot find them (#5348) merged, not in effect
nonedeploy-safety[deploy-safety] Maildir live poll runs inline on the serving tier (2-part cutover) (#3549) merged, not in effect
noneperson-name-truth, person-name-truth:low-value[person-name-truth] deception is its own question, not a taxonomy label (#3948) merged, not in effect
noneno trackArchive tab: sub-second page loads โ€” precompute audience summaries + bounded payloads (owner bar: every page ~1s, not 'under 8s') (#3496) merged, not in effect
noneno trackPeople tab: sub-second load + real filtering โ€” the treatment the Archive record got (#3496/#3512), applied to the actual People tab (#3524) merged, not in effect
noneno trackBackfill 98 canonical person names into node_aliases and retire the nodes_v2 resolver branches (#3799) merged, not in effect
noneno track[P1] Sensitivity classification can never catch up: 100/pass drain vs ~100 new nodes minted per few hours โ€” 66,751 unclassified, 71k stuck at tier-3 RESTRICTED default (#4110) merged, not in effect
noneno track[L2-s6,L2-s7] Substrate invariant repeated failure: buffer_projection_completeness (#4228) merged, not in effect
noneno track[ask] the ANSWER-ONLY live slice: a real turn on the Ask surface, behind a per-tenant flag (#4351) merged, not in effect
noneno track[L3-g3b-w1] [graph-health] a typed item the extractor saves without a short label has no name, so Ask shows its raw node ID (#4406) merged, not in effect
noneno track[ask] Library shows 'Automated Sender (system placeholder)' as the sharer of 76 receipt and notice files (#4422) merged, not in effect
noneno track[graph-health] a Gmail message that fails to stage is lost for good: the history cursor moves past it (#4429) merged, not in effect
noneno track[graph-health] a WhatsApp delete/edit/reaction or Exchange calendar ref that hits a transient error is marked processed and never retried (#4430) merged, not in effect
noneno track[graph-health] renaming a node does not rebuild its search vector, so semantic search keeps matching the old name (#4433) merged, not in effect
noneno trackScreen readers get no selected/checked state on web in 14 client files โ€” needs one enforcement point, not per-file patches (#4462) merged, not in effect
noneno track[deploy-order] the release-tag path deploys the client Worker with no migration ordering gate (#4513) merged, not in effect
noneno track[ask] Ask wiring backlog โ€” the 80/20 order agreed 2026-09-22 (#4560) merged, not in effect
noneno track[graph-health] Regina has 352 nodes and 147 messages classified fail-closed (no confidence), still rising (#4642) merged, not in effect
noneno track[graph-health] name-style merge survivors are missing right after the merge: 64 in 7 days on Regina (#4643) merged, not in effect
noneno track[graph-health] a conversation's newest message is not linked to it (193 conversations, 5 tenants; maildir + WhatsApp) (#4651) merged, not in effect
noneno track[fold-efficiency] Regina's pipeline runs are cancelled by a statement timeout: 105 in 60 days; embedding-phase cancels stop at about 8 s (#4657) merged, not in effect
noneno trackama-perf-typed-facts: a grouped payment answer's summary tile shows one month as "Monthly total" (#4672) merged, not in effect
noneno track[ask] media shows no preview anywhere in Ask (photos, videos and voice notes render as bare text rows) (#4762) merged, not in effect
noneno track[health-detection] a '#' or '?' in an attachment filename stores the file under a truncated key (#4765) merged, not in effect
noneno track[arabic-retrieval] fix(backend): payment facts guess an ambiguous "$" currency from the payee's other receipts โ€” 17 USD Anthropic receipts stored as CAD (#4837) merged, not in effect
noneno trackDocument node write failures are swallowed and terminal: 228 attachments lost from the graph (#4910) merged, not in effect
noneno trackfacts: document-sourced attachment extraction re-pays its LLM call every nightly run (no read-ledger) (#5016) merged, not in effect
noneno track[L3-g3-w1,L3-g3-w2,L3-g3-w4,L3-g3-w5] Cross-source dedup: message-sourced and document-sourced payment facts for the same payment both survive (#5022) merged, not in effect
noneno track[health-detection] check: payment facts from byte-identical source emails that disagree on currency or amount (#5034) merged, not in effect
noneno trackfix(backend): fold writer concurrency (32) exceeds prod DB pool (25); redirect cache has no single-flight (#5077) merged, not in effect
noneno track[arabic-retrieval] Seen person slice 4 โ€” header display name fills the name; recipients become ADDRESSED conversation participants (#5081) merged, not in effect
noneno trackfix(backend): email sender address taken from a rewritten header can be wrong (Gmail/maildir) (#5095) merged, not in effect
noneno track[L56-g1c-w1,L56-g1c-w2] [answer-truth] Regina acceptance set โ€” real questions, hand-verified answers, graded on correctness, frozen as the before/after baseline (#5112) merged, not in effect
noneno track[L1-g1-w8,L1-g2-w1,L1-g2-w12,L1-g2-w13] [arabic-retrieval] 21,268 Regina emails are still hidden from search by the retired English-only low-value rule (legacy_unknown) โ€” incl. the Ajyad invoice (#5173) merged, not in effect
noneno track[L1-g2-w2,L1-g2-w3,L1-g2-w4,L1-g2-w17] Emails with an empty body but a real attachment are hidden from search (1,703 messages) (#5236) merged, not in effect
noneno trackfix(backend): rewriting a stored email's text keeps the old message_hash, so the next re-convert duplicates it (#5264) merged, not in effect
noneno track[L1-g1-w3] Regina mailbox alaa.hamdy has not synced since 2025-07-21: one bad sender header fails the whole mailbox poll (#5326) merged, not in effect
noneno track[L2-g5-w10,L2-g5-w11] fix(backend): scope classifier writes job functions outside the tenant's vocabulary โ€” HR viewers lose ~390 Regina messages (#5347) merged, not in effect
noneno trackLabelling page: a no-login phone page that collects answer keys for the AI judges (merge judge first) (#5364) merged, not in effect
noneno track[L2-g5-w11] Health checks global closed-list values stored in jsonb without a database constraint (#5368) merged, not in effect
noneno trackA message with no access scope is read as open by some readers and locked by others (#5370) merged, not in effect
noneno track[L1-g2-w10] fix(backend): Regina scope flush UPDATE cancelled by the 30 s client timeout, run fails after its data commits (#5419) merged, not in effect
noneno trackConversation restriction scope copies are stale on Regina: stored job-function lists vs fresh derive (split from #5414) (#5421) merged, not in effect
noneno track[L1-g3-w2] Email attachments never read: .htm/.txt unmapped, 987 stale .xls attempts, 3,869 password-protected PDFs (Regina) (#5434) merged, not in effect
noneno trackDocument readers send the whole extracted text to the entity model with no input cap (#5457) merged, not in effect
noneno track[L56-g6-w2] [facts] Ask answers total and list questions from typed facts through one aggregate_facts tool (design ยง8) (#5461) merged, not in effect
noneno trackAsk resolves a place or company named in another script: widen any-script name selection from people to every named node type (#5462) merged, not in effect
noneno trackEvery person visible to everyone; facts and edges get their own tier from their evidence (one migration) (#5468) merged, not in effect
noneno track[L1-g3-w1,L1-g3-w7] Regina: 113 .xls attachments still unreadable after the re-read โ€” raw-BIFF and xlsx-in-.xls files rejected by the OLE2 check, soffice conversions with no output (#5507) merged, not in effect
noneno trackAsk's traverse_graph resolves a named place from the user's own words, in any script (#5552) merged, not in effect
noneno track[L1-g3-w8] Large spreadsheets over the cell cap are stored as failed reads and never read (#5555) merged, not in effect
noneno track[L2-g0-w1,L2-g1-w6,L2-g6-w6] Places merge correctly again: the place-merge judge moves to the stronger model and place merging turns back on (#5577) merged, not in effect
noneno track[L2-s8,L2-s9] Health: person nodes with no edges stay under a floor (#5600) merged, not in effect
noneno track[L3-g3-w3,L3-s-w5] Health: a later copy of an identical email that still holds facts, so Ask counts them twice (#5609) merged, not in effect
noneno track[L3-g1-w6] Health: facts kinds still capped after an unbounded read (#5611) merged, not in effect
noneno track[L2-g5-w11] Health: an automated sender saved as a person and given a job function (#5613) merged, not in effect
noneno track[L2-s5] Cross-script name lookups: a diagnostic of names typed in one script and stored in the other, 15 per tenant (#5620) merged, not in effect
noneno track[L3-g2-w5,L3-g5-w1,L3-g5-w2,L3-g5-w4,L3-g5-w5,L3-s-w5] [facts] Expiry dates and bills link to the subscription or contract they belong to (0 of 36 mentions link today) (#5626) merged, not in effect
noneno trackRegina: 52 documents can show the placeholder as their sender (source message not flagged automated) (#5669) merged, not in effect
noneno track[L56-g1-w9,L56-g2b-w2] [arabic-retrieval] Ask turn record: separate the causes folded into one lookup value (payee, aggregate subject, skill) (#5683) merged, not in effect
noneno trackA company named in a message is stored as a person too: 92 names on Regina, 48 of them mention-only (#5708) merged, not in effect
noneno track[L2-g0-w1,L2-g0-w2,L2-g0-w3,L2-g0-w4,L2-g1-w2,L2-g1-w10,L2-g6-w1,L2-g6-w2,L2-g6-w3] [backlog] Graph identity: one real thing is one node of the right type, and merges are right โ€” ordered backlog (#5710) merged, not in effect
noneno trackAsk's name picker answers 'nobody' when several established people share the typed first name (Laila El Dsoki never found) (#5711) merged, not in effect
noneno track[L3-g6-w2] [facts] amount_due / payment_request date means three different things (invoice date, billing-period end, due date): 9 of 22 single-invoice facts land in a different month (#5715) merged, not in effect
noneno track[L2-g3-w4,L2-g5-w1,L2-g5-w2,L2-g5-w4,L2-g5-w5,L2-g5-w6,L2-g5-w9] A company named in a message is stored as a person too: 92 names on Regina, 48 of them mention-only (#5741) merged, not in effect
noneno track[L1-g1-w0a] Record every collapsed email copy with its mailbox (message_deliveries); stored-gap check zero-tolerance (#5745) merged, not in effect
noneno track[L1-g1-w0d] Backfill message_deliveries for copies collapsed before #5727 (owner-gated prod write, dry-run count first) (#5803) merged, not in effect
noneno track[L56-g5-w7b] Conversations with a person miss every chat where they were only an email recipient โ€” backfill the addressed participants (#5854) merged, not in effect
noneno trackProd per-machine health alert is effectively off: GitHub fires its 5-min timer ~2% of the time and its Slack secret is unset (#5860) merged, not in effect
noneno track[health] status-pages nightly red every night since 2026-09-21 on the issue-label vocabulary check (#5870) merged, not in effect
noneno trackSpreadsheets arrive with no stored rows and no failure record: 471 of 12,876 Regina workbooks (#5878) merged, not in effect
noneno trackSpreadsheet cleaner: record trailing-trim and padding-collapse drops so a short grid can be told apart from a lost one (#5884) merged, not in effect
noneno trackFiles whose extraction is interrupted by a deploy are dead-lettered forever, never retried: 80 doc_extract units, 10 Regina files still lost (#5935) merged, not in effect
noneno trackOwner: approve re-extracting 29 Regina spreadsheets that have no readable table (#5947) merged, not in effect
noneno trackTimed-out document reads: record step and run time, count them, re-read to zero (#5957) merged, not in effect
noneno trackRemove the job-function links and message scopes already stored for 'unknown' and other missing-information tokens (Regina: 14 edges, ~1,433 scopes) (#5975) merged, not in effect
noneno trackDoc-extraction catch-all drops the exception message ("extraction raised ValidationError" with no cause) (#6004) merged, not in effect
noneno track2,571 .txt/.htm/.html attachments stuck as 'unsupported' after the text reader shipped; health cannot see them (#6024) merged, not in effect
noneno track13 aeldaly person nodes deleted and re-minted under new ids in 8 seconds, with no merge trail (#6026) merged, not in effect
noneno trackTyped-item business-value scorer spends ~95% of its output on hidden reasoning; 44% of calls hit the 42k cap and leave items unscored (#6037) merged, not in effect
noneno trackDeploy gate: hold the backend deploy until no fold is in a graph phase, unless the PR is labelled "deploy worker" (#6047) merged, not in effect
noneno track[disclose] Non-person nodes visible below their evidence's tier โ€” 22,354 Regina nodes sit below every one of their conversations (#6179) merged, not in effect
noneno trackRegina enrichment runs fail on an asyncpg client-side timeout, mostly in conversation extraction, since 10-11 (#6189) merged, not in effect
noneno trackFull-pass prune deletes nodes the pass did not produce, and the next run re-mints them (CC-only person nodes are 17 of 3186 on Regina) (#6212) merged, not in effect
noneno track[L2-g5] Company mint creates a company over an existing same-name person with no ruling consulted (9 on Regina since 10-10) (#6213) merged, not in effect
noneno trackRegina: after a restart the worker claims a newer cross-source unit while the killed unit's lease is live, orphaning it until the 3-hour reap kills it (#6252) merged, not in effect
noneno trackRegina: every cross-source fold since #6179 times out in the sensitivity after-save step โ€” the new tenant-wide node-tier raise exceeds its 3-minute budget (#6257) merged, not in effect

The queue โ€” p0 and p1, in order

prioritytrackissue
p0answer-truth[answer-truth] EPIC: answer questions exactly and completely over everything we ingest (#4266)
p0answer-truth[answer-truth] uncapped exact aggregate tool + routing matrix + result-limit transparency (#4269)
p0no trackCATASTROPHIC FAILURE: addressed-participant backfill linked 7,928 threads to GitHub robots and the owner's own addresses (#5882)
p1ama-disclose-audienceNode text and conversation_* spec text drift apart across re-extraction โ€” breaks every reconstruct-by-text backfill (#3387)
p1ama-trustfix(ama): AMA streaming timeout (60s) handling for long-form queries (#1279)
p1ama-trustAMA: coverage as a structured ledger, not a prose caveat (#2900)
p1ama-trust[ama-trust] now_feed regressed ~4.5x on 2026-09-03 โ€” 0 of 35 calls hit 50s before, 9 of 14 after (#4050)
p1ama-trust[ama-trust] deadline_cut flags 5 of 120 turns that blew the 60s deadline โ€” 65 overran, ended ok, and are invisible (#4051)
p1ama-trust[ama-trust] traverse_graph:format is 89% of the tool โ€” 12.7s to render 8,695 chars from 15 candidates (#4055)
p1answer-truth[answer-truth] Ask states claims as fact that no tool call read (#4695)
p1arabic-retrieval[arabic-retrieval] cost the tiered-extraction option before widening the automated-sender gate (#4270)
p1arabic-retrieval[arabic-retrieval] rich non-financial facts โ€” locations, events, orgs, people, commitments, from mail, documents and conversations (#4272)
p1arabic-retrieval[arabic-retrieval] Facts, names and identity into the graph, findable in any language (the onion) (#4518)
p1arabic-retrieval[L2-g3-w1] [arabic-retrieval] The seen person โ€” 6,903 addressed people have nowhere to land, and 90.9% of conversations have one participant (#4599)
p1arabic-retrieval[arabic-retrieval] scope the facts-from-bodies step-2 dry-run POC โ€” the spec design.md ยง11 defers to, never filed (#5011)
p1arabic-retrieval[L56-g1c-w2] [arabic-retrieval] reply boundary cuts at the sender's own text โ€” 3 answer-key facts lost on one Regina email (#5252)
p1billingMeter enterprise AMA questions for billing โ€” Regina's contract has a 6,000/month fair-use pool with $0.30/question overage that nothing counts (#2915)
p1edge-truthfix(extraction): relationship typing structurally wrong โ€” sister typed as spouse, PARENT both-directions, no reconciliation (#1465)
p1fold-efficiency, regina-dedup[fold-efficiency] the fold's dominant cost is graph_cross_conv_matching + graph_aboutness_densification (84% of a 5h Regina fold) โ€” re-pointed from graph_materialization, now 7.7 min (#3495)
p1fold-efficiency[L1-g1-w6,L1-g6-w1,L1-g6-w4] [fold-efficiency] Regina's fold phases outlast the gap between worker restarts, and the worker OOMs (7.3โ€“7.9 GB) under the same 'deploy/crash' label (#4186)
p1fold-efficiency[fold-efficiency] aboutness densification still falls back to a full tenant scan on ~3 runs in 10, at ~5,000-5,600 s each (#4310)
p1identity-dedup-chokepointNo choke-point records that two identities are the same human โ€” 10 connector pairs split permanently (#3416)
p1nightly-nudge, viewer-account-resolution[L2-g3-w5] A linked account that resolves to no person node is silently dropped from the nightly nudge audience โ€” Regina's audience is halved (#3243)
p1regina-dedup, wire-truthgraph_dedup skips 11 content-node types entirely (opportunity/need/problem/solution/...) since WIRE-TRUTH #3128 โ€” needs deep-dive: intentional or regression (#3554)
p1viewer-account-resolutionVIEWER-TRUTH: the viewer's display NAME has 5-6 implementations that disagree, and no detector (#3173)
p1no trackThe email spam gate classifies impersonation phishing as transactional โ€” actionable, so it is never held out of search or AMA (#3898)
p1no track[person-name-truth] fix(backend): automated email and its attachments never enter the graph โ€” no typed extraction, no org edge (spend totals are one symptom) (#4258)
p1no track[person-name-truth] spike: mine omnibutler for email/document content extraction we can reuse (#4260)
p1no trackPost-hoc resolution judge precision is 37-54%, needs a fix before any tenant beyond Regina (#5018)
p1no track[L1-g6-w1] [fold-efficiency] Regina fold dies opening a new DB connection (asyncpg connect TimeoutError) (#5038)
p1no track[L1-g6-w3] [fold-efficiency] three more fold steps fail the whole fold when the person/name matcher is down (#5044)
p1no trackperf(backend): signed-in WhatsApp reply-linked lookup checks every person record (4.6 s on aeldaly) (#5305)
p1no track[Regina blocker] Ask answers given to real Regina staff were never saved to their chat history (30 turns, 2 accounts, 09-15/16) (#5909)

Below this tier: 83 p2, 41 p3, 645 unprioritised. They are ordered by the same criterion and omitted here to keep the queue readable.

This does not supersede the track pages

The track index and this page WILL disagree, by design. Each track orders its own work by a criterion that suits it โ€” irreversibility, leverage, live exposure โ€” and this page orders everything by one priority label. So a track can name a next item that does not appear in the tier shown here, and that is not a defect in either page. Use this to choose between tracks; use a track page to choose within one. If the two ever need reconciling, the track page is the one with the reasoning.

The ordering criterion, and what it ignores

Order: priority label, then track, then issue number ascending. No weighting, no composite, no ratio โ€” a four-expert panel killed the tenant-health score on 2026-08-06, and the finding that generalises is that a composite nothing branches on is decoration, while ratios of customer input to system output have no natural scale. This is a flat list.
What this order is blind to โ€” stated because an unstated blind spot reads as coverage:
  • What blocks what. GitHub carries no dependency edge we populate, and inferring one from issue prose would be a guess wearing a number's clothes.
  • How long anything takes. A p1 that is a week of work sorts above a p2 that is ten minutes.
  • Which commitment an issue serves. Priority approximates it and is not the same axis: a launch blocker can sit at p2 and hygiene can sit at p1.
  • Anything degrading users right now that nobody has filed. This queue can only order what exists as an issue.