Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

šŸ¤– refactor: put the workflows modules that agent-loop files import behind Effect services

Open
#7,243 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
45/100
Issue type
Refactor
Clarity
Mostly clear
Activity status
Active
Tech stack
typescript
Domain
backend

Research direction

Read the phase 5 plan’s claim 3.5 and inspect the four listed modules: WorkflowRunStore.ts, agentWorkflowRunReferences.ts, workflowScriptResolver.ts, and WorkflowService.ts, alongside the named agent-loop import sites. Map each host reference to the listed Effect services and review the Node and test layers from phase 5. Done means host access is behind those services with behavior and persisted files unchanged, and the phase 5 end check lists only the expected follow-up modules and log.

Written by the indexing model from the issue text.

Description

Summary

Agent-loop files import these modules, and the modules still reach the host directly (fs, os, child_process, writeFileAtomic, a runtime class or a runtime builder). The local/no-host-imports rule checks only the agent-loop files themselves, so it does not see this host access. Phase 5 of the agent-loop refactor does not move these modules: its plan (claim 3.5, decision "reach") keeps one follow-up issue per group. This issue is the workflows group: workflow runs.

Modules

Module Host refs Host imports Imported by agent-loop files at
src/node/services/workflows/WorkflowRunStore.ts 30 fs/promises:3 utils/writeFileAtomic:8 aiService.ts:110 turnRequestBuilder.ts:215
src/node/services/agentWorkflowRunReferences.ts 4 fs/promises:1 utils/writeFileAtomic:4 tools/toolUtils.ts:10
src/node/services/workflows/workflowScriptResolver.ts 2 runtime/LocalRuntime:8 tools/workflow_run.ts:19 turnRequestBuilder.ts:217
src/node/services/workflows/WorkflowService.ts 1 runtime/runtimeHelpers:14 turnRequestBuilder.ts:221

Total: 4 module(s), 37 uses of host bindings. Counts and lines come from reach.mjs --phase2 and reachRefs.mjs of the phase 5 plan, at ba9e451cab (phase 1 changed no file under src/).

Work

Move the host access of each module behind the Effect services that phase 5 adds (HostFiles, HostPaths, HostProcesses, RuntimeFactory, SessionFiles, SessionLocks), with a Node layer and a test layer, and no change in behavior or persisted files.

Trigger

After phase 5 ends (stacks 5a and 5b merged). Phase 5 end check 7 expects reach.mjs --phase2 to list only the 30 follow-up modules of these 8 issues and log.

Refs

  • Phase 5 plan v4 ("Host I/O Services for the Xum Agent Loop", artifact phase5-plan.html), claim 3.5.
  • Refs #7207 (the local/no-host-imports rule and its frozen pairs).

Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: high • Cost: $31.10

Dominant language
TypeScript
Stars
2.1k
Forks
140
Avg merge
5h 8m
Merged PRs (30d)
952

Getting set up

  • Ships a Dockerfile or Docker Compose file
  • No pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from coder/xum

All issues in coder/xum

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.