Repository navigation
Token-lanes carrier: qmd query names the four collections, then a line window - #421
Merged
Merged
Conversation
The named QMD index gained foundation-docs and foundation-adoption after the token E2E E1 task missed adoption/update.md. A QMD MCP server reads its default collection list once, at creation (qmd v2.8.3 src/mcp/server.ts L189, L355), so the SubagentStart carrier and its handbook mirror now pass the four collections explicitly, then take a bounded get window (the query tool's own recipe, L257; get fromLine/maxLines, L412-413). The block measures 4,094 bytes, inside the unchanged 4,100-byte bound. native-workflows.md and adoption/update.md create the two foundation collections portably; collection add has no ignore option, so the YAML ignore keeps the generated docs/ecosystem guide out. The decision addendum records the need, a live MCP result, the byte split, rejected alternatives, the overturn condition and the #381 hash freeze. This repairs the Opus review of the unmerged first build: multi_get was not loadable under the carrier's ToolSearch list (R1), maxLines was called lossless (R2), the bound moved without a measured need (R3), the portable setup lacked the collections (R4), and the addendum lacked sources, alternatives and an overturn condition (R5). Written by the coordinator (Claude Opus 5.5) from the qmd v2.8.3 source. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
seathatflowsinourveins
force-pushed
the
claude/w5-carrier-qmd-20260927
branch
from
September 27, 2026 19:40
77b8357 to
99c163c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The SubagentStart token-lanes carrier and its handbook mirror now pass all four QMD collections explicitly:
foundation-docs,foundation-adoption,us-equities-foundationandus-equities-catalog. They followquerywith a boundedgetwindow.The reason: a QMD MCP server reads its default collection list once, when it is created, and a
querywithoutcollectionssearches only that list (qmd v2.8.3src/mcp/server.tsL189, L355). A long-running server therefore misses collections added later unless the query names them.The block measures 4,094 UTF-8 bytes, inside the unchanged 4,100-byte bound. The portable QMD setup now creates the two foundation collections.
Changes
adoption/hooks/claude/token-lanes-block.mdand itsSHA256SUMSline: the QMD line now reads "Use qmd query with collections (…four names…), then get a line window."get(file, fromLine = max(1, line - 20), maxLines = 80, lineNumbers = true)(L257;getparameters at L412-413).file:linecitations.docs/token-session-handbook.md: the mirrored line, with a sources line that cites the schema lines.catalogs/us-equities/native-workflows.md:collection addcommands forfoundation-adoptionandfoundation-docs.collection addhas no ignore option, so the page also documents the YAMLignore: ["ecosystem/**"]that keeps the generated guide out.adoption/update.md: a one-time step for hosts that adopted the index before 2026-09-27.docs/decisions/2026-09-27-token-lanes-subagent-start.md: a dated addendum covering the need, a live MCP result, the byte split, rejected alternatives, the overturn condition and the PR-H: E2E preregistration for the token-save-practice stack (frozen tasks, metrics, gate, procedure) #381 hash freeze.tests/test_token_lanes_subagent_start.py: the measured-bytes comment. The 4,100 bound and the UTF-8 control keep their main values.manifests/evidence.jsonand generated reports: the hot-file registration, in the last commit (docs/lanes.md).Evidence
querywithcollections: ["foundation-adoption"]andrerank: false, through this workstation's QMD MCP server.foundation-adoption/update.mdas the top hit.qmd --index native-agent-stack-catalog statusreports 268 documents in 4 collections and 2,250 embedded vectors.tests.test_token_lanes_subagent_start: 14 tests OK.validate.sh: FAILS=0.Review
An independent Opus evidence review of the unmerged first build returned repair.
multi_getwas outside the carrier's single ToolSearch list and thestack-researchergrantqueryandgetmaxLineswas called losslessThe review's open questions:
SOTA sources
src/mcp/server.tsL189: the default collection list is read once, at server creation.querywithoutcollectionssearches that list only.getwindow recipe. L330 and L412-413: thequeryandgetparameters.collections.<name>.ignoreholds glob patterns excluded from indexing and is "YAML-only — no CLI command sets this" (README).docs/decisions/2026-09-27-token-lanes-subagent-start.md: the SubagentStart block and its 4,100-byte bound;Residuals
AGENTS.md(a shared hot file) still names only the two us-equities collections for catalog lookup. AGENTS.md: embed after qmd update, and name the foundation-adoption and foundation-docs collections #417 (lane:shared) updates that line; this PR leaves it to AGENTS.md: embed after qmd update, and name the foundation-adoption and foundation-docs collections #417.install_claude_profile.py --only guard) follows the merge.🤖 Generated with Claude Code