75 lines
2.8 KiB
Markdown
75 lines
2.8 KiB
Markdown
# 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`
|