-
Notifications
You must be signed in to change notification settings - Fork 3
plat 053
-
State:
runtime_reverify - Assigned: Codex
- Owner: workshop background-agent construction
- Severity: P0 — a reviewer could diagnose a workflow defect but could not persist its finding, create a decision, or repair the workflow.
The 2026-08-08 Upwork Pulse run launched Strategy and Engineering+Fix through
run_in_background. Both children received the ordinary workflow-step default
tool list rather than the parent workshop list. Their logs showed unregistered
get_pulse_state, record_pulse_finding, record_pulse_result,
record_pulse_verification, update_message_sequence_step,
update_step_config, update_schedule, and update_evaluation_plan calls.
Folder Guard then denied direct-file fallbacks.
runBackgroundTaskAgentSequence called prepareCustomTools(nil). For a plan
step, nil deliberately means the restricted default workspace/human/DB set;
it does not mean the complete workshop surface. The native workshop tools
were also registered only after the parent agent had been constructed, while
the child was constructed from the reduced workspace bundle.
Background workshop children now:
- receive the parent controller's entire
WorkspaceToolsand executor bundle; - collect the parent workshop's native plan/schedule/execution tools as immutable direct definitions before MCP-agent construction; and
- register
get_workflow_command_guidancein that child definition, because slash-command wrappers require the child to load the exact guidance that dispatched it; and - preserve those preconfigured direct definitions when the common agent factory adds the workspace-tool definitions.
There is intentionally no second category allow-list. The per-agent Folder Guard and the child task instruction govern safe scope, exactly as they do for the parent workshop agent.
- The focused registration test proves a child definition includes plan, step-config, schedule, evaluation, and background-execution tools.
- A new Pulse child must successfully call the typed Pulse persistence tools and a safe workflow mutation tool without falling back to shell/SQLite.
go test ./pkg/orchestrator/agents/workflow/step_based_workflow \
-run 'TestBackgroundTaskGetsWorkshopMutationToolDefinitions|TestWorkshopMode|TestPrepareCustomTools' -count=1
go test ./cmd/server -run 'Test.*Pulse|Test.*Toolset' -count=1
Both passed on 2026-08-08. Runtime verification requires a server restart and one new background Pulse review; the currently running server predates this code change.
Auto-synced from docs/ on main. Edit there, not here.