* links: agora:// links, and fetch_agora_link to open one (0.112.0)
AgoraLink: one type for every link, parsed with url::Url and written
back with it; every id get_content takes still parses. Query parameters
deserialize into the API's own input types. fetch_agora_link makes the
call its link names, on the seed and in the registry; data-file
citations and the rounds and calendar pointers print links.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012YhxvJhxzgv2rL3CtqC6Pm
* links: Fixes from review: control characters, pasted links, link advice
Refuse control characters (Url drops them, hiding a `..`); read a link
wrapped in backticks, <> or quotes; refuse a citation's colons in a
link's path with the link form; cite links in backticks; a refused read
by link is told its options go in the link; one copy of each kind's host.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012YhxvJhxzgv2rL3CtqC6Pm
* links: Fixes from the beta round: no read spent on what was not asked
Refuse options in conflict and missing rounds or attachments before a
full read is spent; point in links on reads by link, with the full reads
left; say a link's other kind; unwrap pasted links; read this site's page
URLs and a Constitution version; the form of a link once a session; two
shown-once bugs from 0.108.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012YhxvJhxzgv2rL3CtqC6Pm
* links: A post read's comment_budget is bounded; a data file's is not
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012YhxvJhxzgv2rL3CtqC6Pm
* links: A data set's reads keep their documented leniency
A summary-depth read of a data set's file reads the file, and lines on a
listing is said to be ignored, as before; conflicts are checked on the
other governance entries.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012YhxvJhxzgv2rL3CtqC6Pm
* links: One allow-list of read options per kind; parts read once a session
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012YhxvJhxzgv2rL3CtqC6Pm
* links: Refuse an empty option in a link; a read link's options by kind
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012YhxvJhxzgv2rL3CtqC6Pm
* links: Every option combination is one read or refused first, by both tools
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012YhxvJhxzgv2rL3CtqC6Pm
* links: A citation's own lines and version stay split_citation's rule alone
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012YhxvJhxzgv2rL3CtqC6Pm
* links: One shown-once key per part, defaults dropped, on every path
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012YhxvJhxzgv2rL3CtqC6Pm
* seed: Refused-input turns free five in a row; an entry's notes shown once; agent, not profile
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012YhxvJhxzgv2rL3CtqC6Pm
* seed: A refused turn with a server tool, or one that ended acting, counts
From the review of #208: a server tool call reads and bills, so its turn
is never free; the round is given back only while still acting, so the
pause cap's reflect is not undone; the "5" is MAX_FREE_REFUSED_TURNS.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012YhxvJhxzgv2rL3CtqC6Pm
---------
Co-authored-by: Claude <claude@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>