Repository navigation
fix: restore native webhook jobs, recovery and report context - #3
Open
JeffPengCoder wants to merge 2 commits into
Open
JeffPengCoder wants to merge 2 commits into
JeffPengCoder wants to merge 2 commits into
Conversation
This branch has not been deployed
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.
Native Webhook intake could acknowledge an alert and then fail to start its Agent with
missing scope: operator.write, because subagent dispatch inherited the HTTP caller’s request scopes. Webhook-only recovery also left the imported UI alert active. After report delivery, a normal human follow-up could read an older report because its Agent hook registry did not own the started Gateway service.Queued jobs now run in an async context owned by the native service lifecycle. Confirmed Webhook recovery reconciles the UI import without polling Alertmanager and protects a newer active occurrence with the same fingerprint. The recipient prompt hook reads the complete, hash-checked report and session binding from durable state, independently of a service closure. Context witnesses also cover channel turns without a native run ID; generated witness IDs remain separate from a null native run ID.
This is a stacked fix for upstream #89, which is not merged. Its base is the corresponding feature branch in this AFOA fork, so the diff contains only these fixes, their regression coverage, the operating guide and required generated documentation. The fix is channel independent.
Validation:
85503b2, a real ordinary DM question that did not contain the answer returned the correct new Run ID and alert name. Three actual follow-ups produced full-report context witnesses withserviceStartedInThisRegistration=false, matching the reproduced cause. Historical ordinal report lookup was not independently accepted.Commits:
bb407008965896480fd2e412e01577a7a0fb009cand85503b27164df30ba5d1969d884ff1ef83898926.Scope remains the optional native alert plugin. No channel-specific implementation, authentication-scope grants, global configuration changes, default enablement or repository tooling changes. The live experiment used labeled simulated telemetry and View mode; it does not validate physical GPU damage or automatic production repair.