Problem
acp_status drilldown (scope:"uncompressed" + view:"messages") with sort:"time" always starts from the OLDEST message. With the default limit: 30 (and any limit < total message count), the NEWEST messages are unreachable — there is no offset, reverse, or descending-time sort option.
Mechanism (dist/index.js 0.0.29)
// renderMessageDrilldown
if (sort === "time") filtered.sort((a, b) => a.index - b.index); // ascending only
...
const shown = filtered.slice(0, limit); // head-only, no pagination
collectVisible assigns index = array position (0-based, ascending), so sort:"time" shows oldest-first and slice(0, limit) truncates the tail. Any limit < total count hides the newest messages.
Why it matters
- The model cannot locate the newest (often largest, just-executed) tool outputs without a message-stream ref tag.
- In billion-context-pi the model sees per-message
<acp> ref tags injected into the message stream (src/messages.ts patchRefTag), so drilldown is only an auxiliary view there. Hosts WITHOUT such tags (e.g. billion-context-dsh, decision: no <acp> tags, seq-is-the-ref) rely on drilldown as the ONLY message-location entry — the head-only behavior is amplified into a real gap.
- Same limitation applies to
sort:"size"/sort:"tool" (head limit rows of the sorted order) — large tool outputs from the tail of the conversation cannot be seen unless the model knows the tool name and uses tool:"X" + sort:"size".
Requested change
Add a way to reach the tail of the list, any of:
reverse: true option (flip the sort order after sorting)
offset: number option (pagination)
sort:"time-desc" (or make sort:"time" descending and add "time-asc")
Minimal and backwards-compatible; benefits both pi and DSH hosts.
Context
Tracking issue in our host repo: Tyan66666/billion-context-dsh#46
Problem
acp_statusdrilldown (scope:"uncompressed"+view:"messages") withsort:"time"always starts from the OLDEST message. With the defaultlimit: 30(and any limit < total message count), the NEWEST messages are unreachable — there is nooffset,reverse, or descending-time sort option.Mechanism (dist/index.js 0.0.29)
collectVisibleassignsindex= array position (0-based, ascending), sosort:"time"shows oldest-first andslice(0, limit)truncates the tail. Any limit < total count hides the newest messages.Why it matters
<acp>ref tags injected into the message stream (src/messages.ts patchRefTag), so drilldown is only an auxiliary view there. Hosts WITHOUT such tags (e.g. billion-context-dsh, decision: no<acp>tags, seq-is-the-ref) rely on drilldown as the ONLY message-location entry — the head-only behavior is amplified into a real gap.sort:"size"/sort:"tool"(headlimitrows of the sorted order) — large tool outputs from the tail of the conversation cannot be seen unless the model knows the tool name and usestool:"X"+sort:"size".Requested change
Add a way to reach the tail of the list, any of:
reverse: trueoption (flip the sort order after sorting)offset: numberoption (pagination)sort:"time-desc"(or makesort:"time"descending and add"time-asc")Minimal and backwards-compatible; benefits both pi and DSH hosts.
Context
Tracking issue in our host repo: Tyan66666/billion-context-dsh#46