Skip to content

telemetry, agents-md: the test plugins hook and call the collector stream by name, and stand in for telemetry through its events - #96930

Merged
poteat merged 2 commits into
mainfrom
poteat/telemetry-fixtures-collector
Sep 25, 2026
Merged

poteat merged 2 commits into
mainfrom
poteat/telemetry-fixtures-collector

Conversation

@poteat

@poteat poteat commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

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: meddling and swallowing hook on('telemetry.log', { to: 'collector' }, ...), and meddling, replacing, reaching, visiting and holding spell to: 'collector' literally in their own $.telemetry.log calls (visiting copies the typed entry's event and props beside it). Their own calls are refused by the gate exactly as before, with the same text. Two cases in gate.test.ts change 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 carries to, such a hook matches nothing and the same assertions hold.

agents-md: the test plugin standing in for the telemetry mod (recording) hooks telemetry.log and telemetry.mark and answers them, writing the entry as the mod under test handed it, where it used to add a telemetry noun 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 $.telemetry itself refuses a step that returns another, which is what the old form did.

Checked:

  • Built current builds with this branch's mods/ and ran the mods' typecheck and claude plugin test: on a build without an engine-provided $.telemetry, mods/telemetry 34 of 34 and mods/agents-md 11 of 11; on a build that provides $.telemetry itself, every mod's suite passes, mods/agents-md included (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/telemetry 34 of 34 and mods/agents-md 11 of 11, where main's tests fail two gate.test.ts cases because meddling is refused at load.

…ents, adding the noun only where the engine has none
@poteat poteat changed the title telemetry: the test plugins a person installed hook and call the collector's stream by name telemetry, agents-md: the test plugins hook and call the collector stream by name, and stand in for telemetry through its events Sep 25, 2026
@poteat
poteat merged commit e1bb7b0 into main Sep 25, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants