Repository navigation
Add a first real-backlog trial with independently checked Omarchy cases - #3
Conversation
…cases 55 cases from hand-checked duplicate groups in omacom/omarchy#11049, run against a frozen 2,849-PR triage-o-mator corpus: 75 of 91 other group members returned within 12,000 bytes, median warm query 318 ms.
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The receipt lacks content-bound corpus identifiers, and the documentation overstates label independence.
Review effort: Balanced
Findings: 1
Open (3)
What changed in this PR
Adds the first real-backlog retrieval trial using independently reviewed Omarchy duplicate groups.
Changes:
- Adds 55 retrieval cases and hard negatives.
- Records retrieval, latency, and resource results.
- Documents findings and roadmap coverage.
| File | Description |
|---|---|
examples/omarchy-review-cases.json |
Defines Omarchy evaluation cases. |
validation/omarchy-backlog-trial.json |
Records trial metrics and results. |
docs/real-backlog-trial.md |
Documents methodology and findings. |
docs/roadmap.md |
Updates roadmap progress. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
… found Record the corpus ID, progress checkpoint and inventory snapshot so a rerun can tell whether it reads the same input. Link the exact labelling comment, and say the labeller's title and shared-file candidate step overlaps with lexical retrieval: the labels are independent of Reposition and triage-o-mator, not of every discovery signal.
|
Thanks, Baytizzel. I checked the 55 cases against @aholbreich's linked update and independently reconciled the receipt totals: 130/146 known members returned, 75/91 when the query PR is excluded, and 46/55 complete groups. The corpus binding and label-provenance corrections address the earlier review notes. I'm comfortable keeping these small, public validation cases and the receipt in the repo; they are distinct from committing a user cache or private data. One clarification before merge: the table places the 318 ms warm FTS5 query beside the 3,864 ms verified literal scan. In I ran the 79 local tests and Ruff successfully. This is a useful first real-backlog baseline, with the candidate-cap and precision limits clearly stated. |
The scan matches a whole title as one case-sensitive substring while FTS5 ranks any-term matches, so their timings are not a like-for-like comparison. Add the CPU, memory, storage and runtime versions the trial ran on.
|
Thanks for checking it so carefully, Jeremy! Both are in 6f5eccd:
Tests and Ruff still pass. |
jeremydixon22
left a comment
There was a problem hiding this comment.
The requested clarifications are addressed at 6f5eccd: the verified literal scan is explicitly a cost reference with different matching semantics from ranked FTS5 retrieval, and the machine/runtime details are recorded in both the document and receipt. The 55 measured cases and evaluation labels are unchanged.
JSON and diff checks passed. Hosted CI passed all four jobs: core on Python 3.10, 3.12 and 3.14, plus optional dependencies and retrieval evaluation.


Summary
This runs Reposition's cache workflow on a real backlog for the first time: all open PRs of omacom/omarchy, downloaded with triage-o-mator. The test cases come from hand-checked duplicate groups that neither Reposition nor triage-o-mator produced, which covers part of roadmap steps 1 and 2.
I worked on this with Claude (Opus 5.5) as my coding agent.
What's added
examples/omarchy-review-cases.json: 55 cases built from @aholbreich's hand-checked duplicate groups in Triage data: 78 open PRs are 16 distinct fixes (verified by shared file) omacom/omarchy#11049 (2026-09-27 update, each checked by reading the diffs). Each query is the title of the oldest open PR in a group, searched oversummary,filesanddiff, and the expected items are the group's open PRs. The two PRs he named as the same problem solved a different way are kept ashard_negativesfor later.validation/omarchy-backlog-trial.json: a compact receipt (16 KB) with the corpus shape, commits, index costs and one row per case.docs/real-backlog-trial.md: what was run, the results and the limits.docs/roadmap.md: a short note under steps 1 and 2 on what this covers and what is still open.No cache or index is committed. The case file only holds PR numbers and titles, which are public.
Results
2,849 open PRs (2,643 complete, 206 with gaps),
benchmarks/cache_retrieval.pywith its default 12,000-byte response budget:Testing
python -m unittest discover -s testspasses (79 tests, 5 skipped)ruff check .andruff format --check .passOne thing to check
AGENTS.mdsays to use synthetic fixtures in source control. I read that as keeping real caches and private data out, and these cases are labels over public PRs, but you know the intent better. If you'd rather keep real data out of the repo, I can move the cases and receipt to a separate place and just link them from the doc.