feat: introduce workflow job management and agent orchestration #2

Open
dv wants to merge 1 commits from subagents-microservice into main
Owner

Summary

Implements the GrowQR job-application workflow orchestration
layer with named microservice-backed agents:

  • Adds a durable workflowJob Rivet actor for the job
    application workflow
  • Adds Sara as the Interview Agent backed by interview-service
  • Adds Emily as the Roleplay Agent backed by roleplay-service
  • Adds Quinn as the QScore Agent backed by qscore-service
  • Adds workflow APIs for start, pause/resume, per-agent run,
    score recording, and workflow state fetch
  • Replaces the old Anthropic-specific LLM path with configurable
    OpenCode/OpenAI-compatible LLM support
  • Updates OpenCode/Gitea provisioning and switches OpenCode image
    to ghcr.io/anomalyco/opencode:latest
  • Adds embedded Rivet runner support via RIVET_RUN_ENGINE=1 for
    stable local demo runs
  • Updates env/docs/config for OpenCode, Kimi, microservice URLs,
    and workflow agents
  • Ignores local .data runtime folder

What changed

  • Added workflow actor orchestration in src/actors/workflow- job.ts
  • Added agent catalog in src/agents/catalog.ts
  • Added microservice handoff logic in src/services/service- agents.ts
  • Added workflow routes in src/routes/workflows.ts
  • Added agent service/catalog route in src/routes/agents.ts
  • Registered workflow actor in src/actors/registry.ts
  • Added OpenCode-compatible LLM client in src/lib/llm.ts
  • Removed old Anthropic-specific client
  • Improved per-user Gitea/OpenCode container provisioning in
    src/docker/manager.ts
  • Updated config, compose, env example, README, and architecture
    docs

Testing

  • Ran backend build successfully:
npm run build

- Verified local workflow demo with:
    - backend on http://localhost:4000
    - interview-service on http://localhost:8007
    - roleplay-service on http://localhost:8008
    - qscore-service on http://localhost:8000
    - frontend workflow page on
      http://localhost:3000/v2/workflows

## Notes

Frontend/service UI changes for opening Sara/Emily linked
sessions live in their respective repos/folders and are separate
from this backend PR.


Backend repo status: `growqr-backend` is clean, branch is
`subagents-microservice`, and it is already tracking `origin/
subagents-microservice`.
## Summary Implements the GrowQR job-application workflow orchestration layer with named microservice-backed agents: - Adds a durable `workflowJob` Rivet actor for the job application workflow - Adds Sara as the Interview Agent backed by `interview-service` - Adds Emily as the Roleplay Agent backed by `roleplay-service` - Adds Quinn as the QScore Agent backed by `qscore-service` - Adds workflow APIs for start, pause/resume, per-agent run, score recording, and workflow state fetch - Replaces the old Anthropic-specific LLM path with configurable OpenCode/OpenAI-compatible LLM support - Updates OpenCode/Gitea provisioning and switches OpenCode image to `ghcr.io/anomalyco/opencode:latest` - Adds embedded Rivet runner support via `RIVET_RUN_ENGINE=1` for stable local demo runs - Updates env/docs/config for OpenCode, Kimi, microservice URLs, and workflow agents - Ignores local `.data` runtime folder ## What changed - Added workflow actor orchestration in `src/actors/workflow- job.ts` - Added agent catalog in `src/agents/catalog.ts` - Added microservice handoff logic in `src/services/service- agents.ts` - Added workflow routes in `src/routes/workflows.ts` - Added agent service/catalog route in `src/routes/agents.ts` - Registered workflow actor in `src/actors/registry.ts` - Added OpenCode-compatible LLM client in `src/lib/llm.ts` - Removed old Anthropic-specific client - Improved per-user Gitea/OpenCode container provisioning in `src/docker/manager.ts` - Updated config, compose, env example, README, and architecture docs ## Testing - Ran backend build successfully: ```bash npm run build - Verified local workflow demo with: - backend on http://localhost:4000 - interview-service on http://localhost:8007 - roleplay-service on http://localhost:8008 - qscore-service on http://localhost:8000 - frontend workflow page on http://localhost:3000/v2/workflows ## Notes Frontend/service UI changes for opening Sara/Emily linked sessions live in their respective repos/folders and are separate from this backend PR. Backend repo status: `growqr-backend` is clean, branch is `subagents-microservice`, and it is already tracking `origin/ subagents-microservice`.
dv added 1 commit 2026-05-21 17:59:14 +00:00
- Added workflow job actor to manage job application workflows.
- Implemented agent catalog for various workflow agents.
- Created service agents for interview, roleplay, and Q-Score functionalities.
- Enhanced user authentication to automatically create users if they do not exist.
- Updated configuration to support new LLM provider and API keys.
- Introduced new routes for agent and workflow management.
- Refactored Docker management to improve Gitea admin user creation and token generation.
- Removed deprecated Anthropics SDK integration.
dv force-pushed subagents-microservice from 2d471c61b4 to c0543f44ce 2026-06-03 13:35:00 +00:00 Compare
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin subagents-microservice:subagents-microservice
git checkout subagents-microservice
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: growqr-app/growqr-backend#2
No description provided.