The Amp plugin's relay classifier isNoActionFeedback (apps/amp-plugin/plannotator.ts, around lines 241-251) decides whether a review outcome is a no-op by substring matching the lowercased output, including the pattern "has no feedback". A reviewer whose real feedback contains that phrase, for example "this path has no feedback loop, add one", is classified as no-action: the entire review is demoted to a notification and never appended to the agent thread.
This is pre-existing behavior on the deny/feedback path. The PR5 approve-with-notes delivery work widens the reachable surface (approvals can now carry feedback text too), which is how it was found, but the defect is independent of that stack.
Fix shape: classify on structured decision data rather than substring matching rendered prose. The CLI already knows whether a decision carried content; the relay should key on that (or on an explicit marker line), not on user-authored text.
Found during an adversarial review pass of the decision-control stack (PR5 stage).
AI-assisted (Claude) under maintainer direction.
The Amp plugin's relay classifier
isNoActionFeedback(apps/amp-plugin/plannotator.ts, around lines 241-251) decides whether a review outcome is a no-op by substring matching the lowercased output, including the pattern "has no feedback". A reviewer whose real feedback contains that phrase, for example "this path has no feedback loop, add one", is classified as no-action: the entire review is demoted to a notification and never appended to the agent thread.This is pre-existing behavior on the deny/feedback path. The PR5 approve-with-notes delivery work widens the reachable surface (approvals can now carry feedback text too), which is how it was found, but the defect is independent of that stack.
Fix shape: classify on structured decision data rather than substring matching rendered prose. The CLI already knows whether a decision carried content; the relay should key on that (or on an explicit marker line), not on user-authored text.
Found during an adversarial review pass of the decision-control stack (PR5 stage).
AI-assisted (Claude) under maintainer direction.