Repository navigation
ContextStream MCP v1.0.25
Changelog
1.0.25
- Scope alerts you cannot miss.
initandcontextnow put ascope_alerts
array in the structured result as well as[SCOPE_MISMATCH]in the text,
because clients such as Claude Code hand the model only the structured part.
An alert covers a folder or repository that belongs to another project,
several projects claiming one repository, and a scope that is unresolved or
needs setup. It is rebuilt on every call and never deduplicated, so it stays
until the scope is fixed, and in the wire budget it is the last structured
field to be dropped (e1c49e6). - Working set: a session has a primary project (the one bound to the working
folder) and related projects the same work touches. The server returns
working_set(primary, related, suggested) withinitandcontext, shown
as a[WORKING_SET]line. A project joins as related when your message names
its checkout, when an edit lands in its checkout, or with
project(action="working_set", add=[...]);remove=[...]andclear=true
take projects out. A folder that belongs to a related project is cross-project
work, not a mismatch. Theprojecttool's input schema gainsadd,remove
andclear; every earlier field and action is still accepted (e1c49e6). - Search covers related projects: the primary project's results come first,
then a labelled[RELATED_PROJECTS]section (related_project_resultsin the
structured result) with up to 5 results from each of up to 3 related
projects, read within 2.5 seconds. The related list comes from a per-caller
cache thatinitandcontextfill (5 minutes) or one bounded API read, so it
works on the stateless hosted transport. To search one related project fully,
pass itsproject_id(e1c49e6). - Hooks judge scope. PostToolUse notices an edit in another linked checkout,
records that project as related on the server and in a local per-session
copy, and tells the agent once per project. PreToolUse checks every
scope-sensitive ContextStream call: a project outside the working set, or
another workspace, gets[SCOPE_MISMATCH]with the exact fix, reads included;
the primary and related projects are quiet, and tickets stay quiet inside the
workspace. This replaces the generic "Scope alignment warning", which also
fired on deliberate cross-project writes. The managed rules and the prompt
reminders explain primary and related projects and the two notices (e1c49e6). - Search keeps
duplicate_countandduplicate_locationsin compact output.
The API now folds identical chunks found at different paths into one result;
when the structured payload went over its budget the compact form kept only
an allowlist of metadata and dropped both fields. Compact output now keeps the
count and shows up to 5path:start-endlocations (then "+N more"), and the
text adds a line such as "identical chunk also in 5 other files: ...".
Uncompacted output is unchanged (b0deb40). - Agent Coach Kit: the
/coachserver instructions and theworkflowand
workflow_savedescriptions now say when the kit applies. A host that adds
the server by address (the pilot route) receives no skill file, so these
texts are all it reads to decide when to use the kit, and they said what the
kit is but not when it applies. They now say it applies when the person
starts or continues a job for work they repeat, reacts to a draft, compares
versions or asks what earlier jobs taught, and that a one-off request or an
ordinary question uses none of the tools. The wording describes and does not
command, the form ChatGPT flagged in 1.0.23, and a test keeps "do not use",
"never use" and "recurring workflow" (which made ChatGPT create a scheduled
task of its own) out of all four texts. workflow_savelists the parameters ofrecord_verdict(the job, a verdict
of better, same or worse, and the person's words), so a verdict on a whole
job or version is not taken for feedback on its content.- The text grows, unlike 1.0.24: the instructions 737 to 985 characters,
workflow1331 to 1528,workflow_save2054 to 2237;workflow_deleteis
unchanged at 518. The tools, their parameters and their behaviour are
unchanged. - The plugin skill, the Codex Cloud skill and the AGENTS snippet carry the same
boundary (repository only), and the review run sheet has the reviewer type
the first case without choosing the plugin first, so the recording shows
whether ChatGPT reaches for it unprompted (repository only). - Test fixtures in the compact-search tests use neutral paths and documentation
UUIDs (67a2f62); the public-boundary check had failed onmainsince those
tests were added (b0deb40).
Who gets what: the scope alerts, the working set, the related-project search
and the project tool's new parameters reach hosted clients when the hosted
gateway runs this version, and need the ContextStream API that returns
working_set (live). The hook behaviour and the new rules text reach a machine
after contextstream-mcp update (the rules also need a rules refresh). The
coach text reaches ChatGPT and Codex with the hosted gateway; the kit and the
plugin package live in the repository and are not part of the npm package or
the binaries.
Dependencies: rustls, the TLS library the client and the hosted gateway use,
moves from 0.23.45 to 0.23.46 in Cargo.lock for RUSTSEC-2026-0346 (Debug
output of client session values exposed TLS secrets), RUSTSEC-2026-0347
(buffered application data sent after an ECH rejection), RUSTSEC-2026-0348
(Brotli certificate decompression could allocate up to 1 GiB before
authentication) and RUSTSEC-2026-0349 (an unauthenticated ServerHello could
downgrade later connections to classical key exchange), all published on
2026-10-14. No other dependency changes.