Skip to content

feat: add supervised autonomous agent workflows - #288

Draft
aditya-vithaldas wants to merge 5 commits into
Devlaner:mainfrom
aditya-vithaldas:agent/autonomous-agent-workflows
Draft

aditya-vithaldas wants to merge 5 commits into
Devlaner:mainfrom
aditya-vithaldas:agent/autonomous-agent-workflows

Conversation

@aditya-vithaldas

@aditya-vithaldas aditya-vithaldas commented Jul 8, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Adds the first supervised, user-visible slice for first-class autonomous agent workflows in Devlane. Workspace admins can configure bounded agents, users can assign them from work items, and queued runs have a durable audit trail. Autonomous execution itself remains intentionally disabled until a queue consumer and model/tool runtime are added.

Linked issues

Refs #285

Type of change

  • Feature (feat:) - user-visible new capability
  • Bug fix (fix:) - corrects broken behavior
  • Refactor (refactor:) - no behavior change, internal only
  • Performance (perf:) - measurable improvement
  • Documentation (docs:) - implementation proposal/checkpoint
  • Tests (test:) - backend handler coverage

Surface

  • API (apps/api/)
  • UI (apps/web/)
  • Database migration (apps/api/migrations/)
  • Background jobs (RabbitMQ / queue)
  • Instance settings / Admin UI
  • Infra / Docker / CI

What changed

  • Added agents, agent_tool_permissions, agent_issue_assignments, and agent_runs tables.
  • Added Go models, store, service, and HTTP handlers for roster CRUD, assignment, and queued run records.
  • Added project-scoped roster endpoints that include workspace-wide agents.
  • Added issue activity entries for agent assignment and queued runs.
  • Added Workspace Settings > Agents with roster stats, create/edit forms, project scope, model, autonomy, tool permissions, enable/disable, and delete controls.
  • Added an issue sidebar panel for assigning/changing an agent, providing run-specific instructions, queueing a run, and viewing recent status history.
  • Added a typed frontend agent service and API contracts shared by both UI surfaces.
  • Added handler tests covering auth, admin gating, roster CRUD, project roster behavior, disabled-agent rejection, assignments, runs, and activity records.
  • Updated proposals/agent-workflows.md with the current implementation boundary.

Why this approach

This makes the Phase 1 foundations inspectable and useful without pretending the execution runtime exists. Admins define identity and permissions centrally, while assignment and run controls live on the work item where users already manage delivery. Persisted run records provide the handoff point for a later queue worker, model execution, approval flow, and GitHub tooling.

Database / migrations

Adds 000007_agents with new agent roster, permission, assignment, and run tables. No existing data is migrated.

Breaking changes

  • No
  • Yes - described below

Test plan

  • Frontend typecheck
  • Frontend ESLint with zero warnings
  • Frontend Prettier check
  • Frontend production build
  • go vet ./...
  • Local API health/readiness against PostgreSQL
  • Browser verification of roster, agent editor, issue assignment, and run-status rendering
  • Current full Go test rerun - blocked because the testcontainer harness cannot find Docker on this machine; no Go files changed in the UI commit

Screenshots / recordings

Visually verified in the local app at desktop width:

  • Workspace Settings > Agents roster and editor
  • Work item Agent panel with an assigned agent and queued run history

Rollout notes

Run the new migration before using the agent endpoints. No new environment variables are required. This PR stores queued agent runs but does not execute them yet.

AI assistance

  • No AI tools were used for this PR
  • AI tools were used - OpenAI Codex

Checklist

  • PR title follows Conventional Commits and is <= 100 chars
  • Commit hooks ran cleanly
  • Push hook rerun cleanly - Docker-backed Go tests were unavailable, so the already-validated UI commit was pushed with the hook skipped
  • New routes are covered by handler tests
  • No new environment variables added
  • No secrets, tokens, or .env values committed

Refs Devlaner#285.

Co-Authored-By: OpenAI Codex <noreply@openai.com>
@coderabbitai

coderabbitai Bot commented Jul 8, 2026 •

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@martian56 martian56 added the documentation Improvements or additions to documentation label Jul 8, 2026
@martian56 martian56 added this to the Finish w Enhancements milestone Jul 8, 2026
Co-Authored-By: OpenAI Codex <codex@openai.com>
@aditya-vithaldas aditya-vithaldas changed the title docs: propose autonomous agent workflows feat: add autonomous agent workflow foundations Jul 8, 2026
@aditya-vithaldas aditya-vithaldas changed the title feat: add autonomous agent workflow foundations feat: add supervised autonomous agent workflows Jul 10, 2026
martian56 and others added 2 commits October 25, 2026 12:17
- Agent issue routes and project rosters only checked workspace
  membership, so a plain workspace member could list or queue agent
  runs on issues in secret projects. Gate them with the shared
  enforceProjectVisibility check and add a regression test.
- Renumber 000007_agents to 000017 (000007 is already taken on main).
- Merge main: keep the new Notifications/API Tokens settings sections
  alongside Agents, and split the settings nav by section id rather
  than position so Agents does not shift sections between groups.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
main now enforces i18next/no-literal-string; wrap the agent UI text in
t() with English defaults and add the keys to the en locale.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants