Skip to content

Mask titles and turn errors, and fix four review findings - #60

Merged
gengwg merged 2 commits into
mainfrom
fix/review-findings
Sep 7, 2026
Merged

gengwg merged 2 commits into
mainfrom
fix/review-findings

Conversation

@gengwg

@gengwg gengwg commented Sep 7, 2026

Copy link
Copy Markdown
Owner

From an external review. Its headline finding was right, and is the kind of gap worth having someone else find.

Masking covered events.raw and nothing else. A session title is the first eighty characters of the first prompt; a turn error is model or tool text. Both were written to their own columns in clear. OpenCode showed it worst: the same error string went through putEvent masked and into turns.error plaintext, in the same function.

maskText now guards both columns at every writer — titles from six adapters, errors from closeTurn, failTurn and OpenCode's state update. agent_name is left alone deliberately: it is a directory basename, and masking it would only mangle repository names.

Also fixed:

  • Problem score divided two integers, so 14 tool calls over 3 turns scored 4 rather than 4.67.
  • "Show more" past the cap. The server clamps a page to 2000; the client kept adding 200 and the button did nothing. Reachable today at 3,179 sessions. It now stops at the cap and says so.
  • A port already in use crashed with a stack trace; both listeners now name the port and exit.
  • README still said the shared server was "not built yet", several sections after explaining how to run one. AGENTLENS_CORS_ORIGIN is documented now too.

Two findings did not survive checking. The seq backfill does not scan the table on startup — EXPLAIN QUERY PLAN gives SEARCH events USING INDEX idx_events_seq, since the index is created first. And the uncommitted layout change it flagged had already been committed.

Deliberately not taken: foreign keys on ingest (orphans are already handled by the shipper and invisible in the UI), pausing the fleet poll during a trace (the header stats should stay live), and the timeline lane labels (cosmetic, and turn.created genuinely is the input).

92 tests pass, two of them new and covering exactly the gap.

https://claude.ai/code/session_01NZDHk4yVYP4jMZkTUMQ1Lw

gengwg and others added 2 commits September 7, 2026 15:50
Worst-first puts the heaviest sessions on screen together and pushed the
Updated column off the right edge; widths had only been checked against
the recency view, where every row is a one-turn cron job.

Durations over an hour read 66h 26m rather than 3985m 54s: narrower, and
legible, which the old format was not. The title column goes from 240px
to 170px, having been sized for prompt text back when titles were prompt
text; a shared fleet's titles are session ids.

Measured on the real fleet: 1042px table in a 1042px card, Updated fully
visible, two prose titles out of two hundred clipping with tooltips intact.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NZDHk4yVYP4jMZkTUMQ1Lw
Masking covered events.raw and nothing else. A session title is the first
eighty characters of the first prompt and a turn error is model or tool
text, and both went to their own columns in clear. OpenCode showed it
worst: the same error string masked through putEvent and plaintext through
setTurnState, in one function.

maskText now guards both columns at every writer - titles from six
adapters, errors from closeTurn, failTurn and OpenCode's state update.
agent_name is left alone on purpose: it is a directory basename, and
masking it would only mangle repository names.

Also: the problem score divided two integers, so 14 tool calls over 3
turns scored 4 rather than 4.67; "show more" kept offering more past the
server's 2000-row cap, reachable at 3,179 sessions; a port in use crashed
with a stack trace instead of naming the port; and the README still said
the shared server was not built yet.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NZDHk4yVYP4jMZkTUMQ1Lw
@gengwg
gengwg merged commit 3ae6555 into main Sep 7, 2026
1 check passed
@gengwg
gengwg deleted the fix/review-findings branch September 7, 2026 22:56
gengwg added a commit that referenced this pull request Sep 8, 2026
Mask titles and turn errors, and fix four review findings
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant