- Add Step 13: Verify Session ID in Task Metadata
- Check that auggie_session_id is present in task metadata after completion
- Update test summary to include session ID verification
- Wire session_info ACP handler in test server (mirrors main.go)
- Update TestOrchestratorSessionInfo to verify auggie_session_id is stored
- Test confirms session ID flows from agent → event bus → task metadata
The session_id must be in the 'data' field, not at the top level,
so the watcher can parse it into protocol.Message and the handler
can find it at msg.Data["session_id"].
The lifecycle manager now publishes a session_info event after creating
an ACP session. This event is handled in main.go to store the session ID
in the task metadata, enabling session resumption for follow-up tasks.
- Add publishSessionNotification() to lifecycle manager
- Convert agentctl SessionNotification to event bus message
- Enables real-time streaming of agent output to WebSocket clients
- Add AgentStatusReady status for when agent finishes a prompt
- Add AgentReady event published when prompt completes
- PromptAgent accepts RUNNING/READY states, marks READY when done
- Add /complete endpoint to explicitly complete a task
- E2E test polls for READY status instead of file creation
- E2E test validates multi-turn conversation flow
- Use acp-go-sdk for all ACP communication in agentctl
- Mark agent as completed when Prompt() returns successfully
- Update task state to COMPLETED when agent completes
- Update task state to FAILED when agent fails and retries exhausted
- Enhanced E2E test to verify agent actually creates files
- E2E test now validates full flow: task creation -> agent work -> file creation -> task completion
- Add proper JSON-RPC message type discrimination in readLoop():
- Response: id + (result|error), no method
- Request: id + method (e.g., session/request_permission)
- Notification: method, no id
- Add permission request types to types.go:
- RequestPermissionParams, PermissionOption
- RequestPermissionResult, PermissionOutcome
- Implement handleRequestPermission in session manager:
- Auto-approves by selecting first 'allow' option
- Handles workspace indexing and tool permissions
- Add augment_provider.go for session credential injection
- Add repository_url field to task model for workspace mounting
- Create scripts/e2e-test.sh for automated testing
- Update documentation with ACP protocol details
- Add ACP session manager for JSON-RPC 2.0 over stdin/stdout
- Create jsonrpc package with Client for bidirectional communication
- Update agent.sh to run auggie --acp mode
- Add Docker client methods for container stdin/stdout attachment
- Update lifecycle manager to use ACP instead of log streaming
- Add new API endpoints: POST /prompt, POST /cancel, GET /session
- Update AGENTS.md with ACP protocol documentation
- Update OpenAPI spec with new endpoints and schemas
This enables:
- Sending prompts to running agents
- Cancelling agent operations
- Session management (create, load, resume)
- Real-time progress updates via session/update notifications
Includes:
- Agent architecture overview
- Available agent types (Augment Agent)
- ACP (Agent Communication Protocol) message format and types
- Complete REST API reference for all endpoints:
- Health, Boards, Columns, Tasks APIs
- Agents API (launch, stop, status, logs, types)
- Orchestrator API (queue, trigger, task control)
- Session resumption guide
- Error response format
- Custom agent creation guide
- Development notes
Note: API docs must be updated when endpoints change.
Features:
- Unified Go binary running Task Service, Agent Manager, and Orchestrator
- SQLite persistence for boards, columns, and tasks
- Docker-based agent execution with ACP message streaming
- Augment Agent integration with session resumption support
- RESTful API for all operations (port 8080)
- In-memory event bus for service communication
Architecture:
- cmd/kandev: Single entry point for all services
- internal/task: Task, board, and column management
- internal/agent: Docker container lifecycle and ACP streaming
- internal/orchestrator: Agent coordination and monitoring
- internal/events: In-memory pub/sub event bus
Documentation:
- README.md: Project overview and quick start
- docs/ARCHITECTURE.md: System architecture (current + planned)
- docs/GETTING_STARTED.md: Development setup guide
- docs/IMPLEMENTATION_PLAN.md: Original microservices plan
- backend/NEXT_STEPS.md: Development roadmap