fix: warn when a plugin ships an undiscoverable sensor manifest (2.5.32) - #672
Merged
Conversation
4 tasks
apackeer
force-pushed
the
fix/plugin-sensor-prefix
branch
3 times, most recently
from
July 30, 2026 02:08
2dcda7c to
b907d28
Compare
This was referenced Jul 30, 2026
leandrodamascena
approved these changes
Jul 31, 2026
leandrodamascena
left a comment
Contributor
There was a problem hiding this comment.
Thanks for tightening this failure mode. I verified that the precheck matches sensor discovery for supported .md names and correctly rejects nested manifests. The focused tests, typecheck, package parity, and doctor drop path are all sound.
A few non-blocking notes:
- The
.mdcheck is case-sensitive, soaidlc-foo.MDcan still land silently while discovery ignores it. - A malformed manifest left by an older composer is not audited after the plugin removes or renames its source file.
t252is already used by another test; renumbering would avoid bookkeeping ambiguity.- The branch needs rebasing and re-versioning against the current
v2.
None of these should block the core fix.
apackeer
force-pushed
the
fix/plugin-sensor-prefix
branch
from
July 31, 2026 23:35
b907d28 to
0bb2874
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.
Problem
Sensor manifest discovery does a FLAT scan of /sensors/ and indexes only basenames matching aidlc-.md (aidlc-graph.ts loadSensors / SENSOR_FILE_REGEX); anything else is silently skipped. Unlike the stages/scopes/agents copy paths, the plugin compose hook's sensor copy shipped no name precheck, so a plugin sensor manifest under any other name - or nested in a subdirectory the flat scan never reads - composed successfully but was never picked up by graph compile or sensor dispatch. The plugin author gets no signal at all: the sensor simply never fires.
What changes
Never fatal: compose completes; the author gets a precise, actionable message instead of silence.
Version 2.5.32 + CHANGELOG + README badge (re-slotted from 2.5.20 after 2.5.30/2.5.31 landed on v2; the test moved t252 -> t262 because #667 took t252).
Testing