Add web product Phase 1 skeleton
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
# Web Product Phase 1 Skeleton
|
||||
|
||||
## Status
|
||||
|
||||
- `completed`
|
||||
|
||||
## Owner
|
||||
|
||||
- Codex
|
||||
|
||||
## Started At
|
||||
|
||||
- `2026-03-20`
|
||||
|
||||
## Goal
|
||||
|
||||
- Implement the first web-product milestone slice described in `docs/web-product-monorepo.md` by creating the monorepo skeleton, a minimal `orchd` HTTP service, and the first read-oriented backend boundaries.
|
||||
|
||||
## Scope
|
||||
|
||||
- add an active execution trace for this web implementation workstream
|
||||
- add the initial monorepo workspace files and `apps/web` scaffold
|
||||
- add `cmd/orchd`, `internal/httpapi`, `internal/app`, and `internal/query`
|
||||
- expose a small read-only HTTP API for health, runs, run detail, blocked tasks, and thread detail
|
||||
- add initial API contract docs under `api/`
|
||||
- keep `docs/implementation-roadmap.md` synchronized with the new implementation state
|
||||
|
||||
## Checklist
|
||||
|
||||
- [x] create the active execution roadmap for the Phase 1 web skeleton workstream
|
||||
- [x] scaffold the monorepo workspace files and `apps/web`
|
||||
- [x] add `cmd/orchd` with a minimal `chi`-based HTTP server
|
||||
- [x] introduce initial shared app/query boundaries for read-only web endpoints
|
||||
- [x] add initial API contract documents under `api/`
|
||||
- [x] validate the new slice with builds or targeted tests
|
||||
- [x] update `docs/implementation-roadmap.md`
|
||||
- [x] archive this execution roadmap with a completion summary if the slice is fully complete
|
||||
|
||||
## Files
|
||||
|
||||
- `docs/roadmaps/active/web-product-phase1-skeleton.md`
|
||||
- `docs/implementation-roadmap.md`
|
||||
- `docs/web-product-monorepo.md`
|
||||
- `cmd/orchd/main.go`
|
||||
- `internal/httpapi/`
|
||||
- `internal/app/`
|
||||
- `internal/query/`
|
||||
- `internal/store/`
|
||||
- `api/openapi.yaml`
|
||||
- `api/events.md`
|
||||
- `apps/web/`
|
||||
- `package.json`
|
||||
- `pnpm-workspace.yaml`
|
||||
|
||||
## Decisions
|
||||
|
||||
- implement a narrow read-only backend slice first instead of starting with frontend pages
|
||||
- keep the first HTTP layer thin and let query/app packages own the web-facing backend boundary
|
||||
- preserve the existing CLI entrypoints while introducing the new service
|
||||
|
||||
## Blockers
|
||||
|
||||
- none
|
||||
|
||||
## Next Step
|
||||
|
||||
- start Phase 2 on top of the new `apps/web` and `orchd` skeleton by wiring real runs, run-detail, blocked-queue, and thread-detail screens to the read-only API
|
||||
|
||||
## Completion Summary
|
||||
|
||||
- added the first web-product skeleton described in `docs/web-product-monorepo.md`, including root `pnpm` workspace files, a standalone React frontend shell under `apps/web`, initial API contract documents under `api/`, and a new `cmd/orchd` HTTP service
|
||||
- introduced `internal/app`, `internal/query`, and `internal/httpapi` so the web backend has an explicit read-oriented boundary instead of letting handlers query storage ad hoc
|
||||
- implemented and validated the first read-only HTTP endpoints for health, runs, run detail, run tasks, blocked tasks, and thread detail
|
||||
- verified the slice with `go test ./...` and `pnpm run web:build`, then synchronized `docs/implementation-roadmap.md`
|
||||
Reference in New Issue
Block a user