Repository navigation
telemetry, agents-md: the test plugins hook and call the collector stream by name, and stand in for telemetry through its events - #96930
Merged
Conversation
…ector's stream by name
notitatall
approved these changes
Sep 25, 2026
…ents, adding the noun only where the engine has none
This was referenced Sep 25, 2026
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.
Tests only; nothing under any
hooks/folder changes.telemetry: the test plugins that stand for a plugin a person installed now name the one stream such a plugin may touch, the collector's:
meddlingandswallowinghookon('telemetry.log', { to: 'collector' }, ...), andmeddling,replacing,reaching,visitingandholdingspellto: 'collector'literally in their own$.telemetry.logcalls (visitingcopies the typed entry'seventandpropsbeside it). Their own calls are refused by the gate exactly as before, with the same text. Two cases ingate.test.tschange meaning with that: a hook a person's plugin puts above the gate sees the collector's records only, so the first-party row a built-in sends goes out once, under its own name, whether that hook renames what it sees or answers without going on. They are retitled to say so. On an engine where no entry carriesto, such a hook matches nothing and the same assertions hold.agents-md: the test plugin standing in for the telemetry mod (
recording) hookstelemetry.logandtelemetry.markand answers them, writing the entry as the mod under test handed it, where it used to add atelemetrynoun whose methods did that. It still adds a noun, one that does nothing, where the engine has none, spread before what is beneath so an engine's own stands. An engine that provides$.telemetryitself refuses a step that returns another, which is what the old form did.Checked:
mods/and ran the mods' typecheck andclaude plugin test: on a build without an engine-provided$.telemetry,mods/telemetry34 of 34 andmods/agents-md11 of 11; on a build that provides$.telemetryitself, every mod's suite passes,mods/agents-mdincluded (it fails there with main's test plugin); on a build that also refuses an installed plugin's unnamed hook on the first-party stream,mods/telemetry34 of 34 andmods/agents-md11 of 11, where main's tests fail twogate.test.tscases becausemeddlingis refused at load.