An eye next to the paperclip shares what the user has open with their next
message: the page, the folder being browsed, the file open in the viewer and
any highlighted passage (line numbers where a source view exists), plus which
entity a detail page is about. The bag is client-authored {label, value} pairs
in English — the backend only clamps (chars, never bytes), neutralizes the
harness tag and renders one <system-extra> block per message, deduped
consecutively so it appears exactly when the view changed. On by default,
per-device toggle, hover/tap to preview, a chip on every sent message;
docs/view-context.md for users, an updated harness.md clause for the model.
get_ast_outline was the one registry tool with no Tool::display_name and no
Tool::icon, so its chat card fell back to the raw function id and the generic
Filesystem glyph. It now declares "Code Outline" plus a new semantic icon key
'outline', mapped frontend-side to bi-list-nested with its own accent var in
both themes.