Repository navigation
Description
Summary
Repo Assist's backlog cursors are schema-validated as positive numbers, but ordering, continuation, and reset semantics are not enforced. A Paket run described its scan as oldest-first and its cursor as advanced, while searching newest-first and persisting a lower cursor. Other runs also ignored the explicit oldest-first Task 2 rule.
All examples deploy canonical revision 139fa09ef17cde4135e696ff8e7af09bc5ddfa6e.
Concrete Paket reproduction
- Initial
labelling_after: 4150. - Agent said it would resume oldest-first after that cursor.
- Actual search used
sort: created,order: desc, limit 10. - Returned:
4200, 4198, 4193, 4164, 4153, 4149, 4148, 4147, 4146, 4143. - Labelled four issues (#4200, #4198, #4193, #4149), based on titles.
- Persisted
labelling_after: 4143, describing it as advanced. - Did not record dispositions for the other six returned items or an explicit end-of-backlog reset.
- Schema validation and memory push succeeded. Persisted memory commit.
The actual four label mutations were independently verified in issue events. This is not a failed write: the contradictory traversal state was successfully persisted.
Other examples
FSharp.TypeProviders.SDK and SwaggerProvider used issue listings without explicit ascending ordering, received newest-first results, and did not record traversal progress.
Task 2 explicitly requires creation-date ascending traversal, resumption from the cursor, and reset at the end. Task 1 says to resume the backlog cursor but does not spell out the same ordering/reset contract; that ambiguity should be resolved, rather than assuming its current text already mandates ascending order.
Suggested improvement
- Define one precise ordered traversal/continuation/reset contract for labelling and investigation.
- Provide a canonical query that explicitly requests ascending creation order and applies the cursor.
- Advance only past items actually assessed or explicitly deferred, so pagination does not silently skip work.
- Make reset explicit and distinguish it from an ordinary backwards cursor transition.
- Validate semantic transitions, not only positive-number shape, or keep continuation as a deterministic pre-step rather than model-generated bookkeeping.
Regression examples should include initial cursor 4150, mixed older/newer items, partially processed batches, skipped uncertain labels, and end-of-backlog reset. Do not demand comments or definitive bug labels for ambiguous issues; recording a cautious disposition is sufficient.
Observed consequence: misleading persisted progress and a risk of repeated/newest-only scans or starvation. This review does not prove exactly which future issue would be starved.
Activity