Repository navigation
meta/run-workflow: report the graph nodes the child run touched - #137
Merged
Merged
Conversation
A job turn that ran explore through meta/run-workflow showed only its own Concept reads in hive's run graph: the explore run's 13 graph calls were in the child's log, and the meta_run_workflow step.end carried no nodes (swarm38 job 1791647726727 → explore 1791647782933). The step now folds the child log's step.end.nodes (deduplicated, peer tags kept) onto its own output marker, as strut/run-workflow already does over a peer's tail. The fold is one shared helper, foldAccessedNodes, in core.ts.
This was referenced Oct 10, 2026
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.
Why
Hive's run graph (the Graph Trace on a Jamie job) reads the job run's log only. When the job's
workagent runsexplorethroughmeta/run-workflow, thatexploreis a separate run with its own log, and themeta_run_workflowcall'sstep.endcarried nonodes. In swarm38 job1791647726727, the trace showed the agent's ownJobandExploreConcept reads, but none of the 13 graph calls of theexplorerun it launched (1791647782933).What
meta/run-workflow(authoring.runWorkflow) reads the child's events once it settles and folds everystep.end.nodesonto its own result withwithAccessedNodes, whatever status the child ended with:strut/run-workflowalready does over a peer's tail. The fold is now one helper,foldAccessedNodesincore.ts, used by both.strut/run-workflow's behavior is unchanged.meta/run-workflowstep.end.Effects
meta_run_workflowcall, so the per-call detail (which tool, which query) stays in the child's log.ACCESSEDedges from the launching tool call to those nodes, alongside the child run's own edges.Tests
authoring.test.ts: a child with two steps reporting overlapping nodes, one of them peer-tagged, shows up on the parent'smeta/run-workflowstep.enddeduplicated with the tag kept. The marker never reaches the output JSON. A child that touched nothing reports nothing.npm test: 1417/1417, tsc clean.