summaryrefslogtreecommitdiff
path: root/SESSION_STATE.md
blob: 6fb8033638516802ccd20bd672ee02518b3044ba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# SESSION_STATE.md

## Current Task Goal
ADR-007 implementation: Epic→Story→Task→Subtask hierarchy, project registry, Doot integration

## Status: IN_PROGRESS

---

## Completed Items

| Step | Description | Test / Verification |
|------|-------------|---------------------|
| Phase 1 | Doot dead code removal: Bug struct, BugToAtom, bug store methods, bug handlers, bug routes, bugs.html template, TypeNote, AddMealToPlanner stub | `go test ./...` in /workspace/doot — all pass (2 pre-existing failures unrelated) |
| Phase 2 | Claudomator project registry: `task.Project` type, storage CRUD + UpsertProject, seed.go, API endpoints (GET/POST /api/projects, GET/PUT /api/projects/{id}), legacy AgentConfig.ProjectDir/RepositoryURL/SkipPlanning fields removed, container.go fallback removed, fallbackGitInit removed, processResult changestats extraction removed (pool-side only) | `TestCreateProject`, `TestListProjects`, `TestUpdateProject`, `TestProjects_CRUD` — all pass |

---

## Next Steps (Claudomator tasks created)

Phases 3–6 are queued as Claudomator tasks. See `ct task list` or the web UI.

| Task ID | Phase | Status | Depends On |
|---------|-------|--------|------------|
| f8829d6f-b8b6-4ff2-9c1a-e55dd3ab300e | Phase 3: Stories data model | PENDING | — |
| c8a0dc6c-0605-4acb-a789-1155ad8824cb | Phase 4: Story execution and deploy | PENDING | Phase 3 |
| faf5a371-8f1c-46a3-bb74-b0df1f062dee | Phase 5: Story elaboration | PENDING | Phase 3 |
| f39af70f-72c5-4ac1-9522-83c2e11b37c9 | Phase 6: Doot — Claudomator integration | PENDING | Phase 3 |

Instruction files: `scripts/.claude/phase{3,4,5,6}-*-instructions.txt`

### Phase 3: Stories data model (claudomator repo)
- `internal/task/story.go` — Story struct + ValidStoryTransition
- `internal/storage/db.go` — stories table + story_id on tasks, CRUD + ListTasksByStory
- `internal/api/stories.go` — story API endpoints
- Tests: ValidStoryTransition, CRUD, depends_on auto-wire

### Phase 4: Story execution and deploy (claudomator repo, depends Phase 3)
- `internal/executor/executor.go` — checkStoryCompletion → SHIPPABLE
- `internal/executor/container.go` — checkout story branch after clone
- `internal/api/stories.go` — POST /api/stories/{id}/branch

### Phase 5: Story elaboration (claudomator repo, depends Phase 3)
- `internal/api/elaborate.go` — POST /api/stories/elaborate + approve
- SeedProjects called at server startup

### Phase 6: Doot — Claudomator integration (doot repo, depends Phase 3)
- `internal/api/claudomator.go` — ClaudomatorClient
- `internal/models/atom.go` — StoryToAtom, SourceClaudomator
- `internal/handlers/atoms.go` — BuildUnifiedAtomList extended
- `cmd/dashboard/main.go` — wire ClaudomatorURL config

---

## Key Files Changed (Phases 1-2)

### Claudomator
- `internal/task/project.go` — new Project struct
- `internal/task/task.go` — removed Agent.ProjectDir, Agent.RepositoryURL, Agent.SkipPlanning
- `internal/storage/db.go` — projects table migration + CRUD
- `internal/storage/seed.go` — SeedProjects upserts claudomator + nav on startup
- `internal/api/projects.go` — project CRUD handlers
- `internal/api/server.go` — project routes; processResult no longer extracts changestats
- `internal/api/deployment.go` + `task_view.go` — use tk.RepositoryURL (was tk.Agent.ProjectDir)
- `internal/executor/container.go` — fallback logic removed; requires t.RepositoryURL

### Doot
- Bug feature removed entirely (models, handlers, store, routes, template, migration)
- `migrations/018_drop_bugs.sql` — DROP TABLE IF EXISTS bugs
- `internal/api/interfaces.go` — AddMealToPlanner removed from PlanToEatAPI
- `internal/api/plantoeat.go` — AddMealToPlanner stub removed
- `internal/models/atom.go` — SourceBug, TypeBug, TypeNote, BugToAtom removed