feat(supervise): analyst-as-node — tool-equipped analysts as pinned, budgeted, traced workers; watchWorkers on runGraph - #713
Merged
Conversation
…kers passthrough An analyzes edge may now name a graph NODE as its analyst: on each matching settle the node's pinned profile is spawned as a real worker (scope.spawn + the makeWorkerAgent seam) whose task is the edge directive plus the settled worker's trace evidence and whose settle output IS the findings, published and routed per the edge destination with the same ledger rows and canonicalization as registry-analyst findings. Spend lands in the graph's one conserved pool; oracle doctrine is enforced structurally (delegates target, root, ambiguous, and analyzed-analyst references are refused). AnalyzeOnSettleRoute gains agent?: AgentProfile (lens routes still require the analysts registry; agent routes do not), WorkerSpawnContext gains the runtime-authored analyst marker, and analyst-run settlements never enter the settled ledger or re-fire the analyst hook. RunGraphOptions gains watchWorkers (forwarded to supervise verbatim), so the online detector panel runs under runGraph with no leaf-seam wiring; examples/graphs/watchdog-steer.ts now uses the passthrough and the new examples/graphs/analyst-agent-review.ts shows a tool-equipped reviewer node analyzing an implementer.
…; root-as-analyst refusal test
This was referenced Aug 3, 2026
tangletools
approved these changes
Aug 3, 2026
tangletools
left a comment
Contributor
There was a problem hiding this comment.
✅ Auto-approved drewstone PR — a18abeda
This PR was opened by the trusted drewstone account.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.
tangletools · auto-approval · reason: drewstone_author · 2026-08-03T07:28:33Z
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.
Closes the top capability gap from the #694 audit: the trace analyst can now be a full agent.
scope.spawn/makeWorkerAgentseam (no second spawn path) with the edge directive + the settled worker's trace evidence as its task. Its settlement IS the findings — same canonicalization, same ledger rows, routed perroute.to. Spend reserves from the graph's conserved pool (asserted in tests); trace join and journal come free. Failures are observable, never silent (analystSpawnRefused/analystRunFailedfindings).RunGraphOptions— online detector findings reach the driver with zero leaf-seam wiring; watchdog-steer example rewritten accordingly.examples/graphs/analyst-agent-review.ts(21-LOC topology): a reviewer NODE analyzing an implementer, findings ledgereddeliveredto the driver.Adversarially audited SHIP: interception, refusal, and passthrough all micro-revert-falsified; neighboring classes probed (failed analyst observable; nested-undefined canonicalized; duplicate analyst-node edges refused; admission caps hold for analyst spawns).
Known limit (documented at the in-flight map + CHANGELOG): durable-run resume does not yet compose with analyst-node graphs.
0.124.0 + CHANGELOG. Suite 2355; typecheck/lint/build/docs-freshness/version-gate green.