2.5 KiB
2.5 KiB
id, title, status, wave, depends_on, plan, spec
| id | title | status | wave | depends_on | plan | spec | |
|---|---|---|---|---|---|---|---|
| 02-descriptor-api-boot | Expose descriptor API and boot state | done | 2 |
|
plan.md | ../../specs/ui/requirements/quick-terminal.md |
Task 02: Expose descriptor API and boot state
Acceptance
- Authenticated GET/POST/PATCH/DELETE descriptor routes implement the documented idempotency, workspace authorization, lifecycle validation, best-effort stop, and already-closed behavior.
- Quick Chat boot includes the resolved workspace's persisted terminal descriptors, reconciled with the same live login-PTY manager used by the API; task-backed conversation boot remains unchanged.
- The repository/service is wired into storage and route construction without changing the legacy host-shell or Agents login endpoints.
Verification
(cd apps/backend && go test ./internal/quickterminal/...)
(cd apps/backend && go test ./internal/backendapp -run 'TestBootPayloadRestoresQuickChat|Test.*QuickTerminal')
Files likely touched
apps/backend/internal/quickterminal/handler_test.go(new)apps/backend/internal/backendapp/storage.goapps/backend/internal/backendapp/types.goapps/backend/internal/backendapp/helpers.goapps/backend/internal/backendapp/boot_state.goapps/backend/internal/backendapp/helpers_test.goapps/backend/internal/backendapp/boot_state_routes_test.go(if route wiring coverage belongs there)
Dependencies
Task 01.
Parallelism
Sequential. Route, boot, auth, and storage wiring must agree on one descriptor contract.
Inputs
- Spec API surface and boot/resync requirements.
- Task 01 service/repository interfaces.
- Existing user/task workspace authorization and
userhandlers.RegisterRoutespatterns. - Existing Quick Chat boot fixtures in
apps/backend/internal/backendapp/helpers_test.go.
Output contract
Report routes, boot payload shape, auth/workspace isolation evidence, exact backend tests, and any compatibility note for legacy clients. Synchronize task/plan status and results.
Results
- Registered the authenticated descriptor GET/POST/PATCH/DELETE routes, wired SQLite storage and the shared login-PTY manager, and added boot-state restoration with stale-session reconciliation.
(cd apps/backend && go test ./internal/backendapp ./internal/quickterminal/... ./internal/agent/loginpty/... -count=1)passed (279 test cases/subcases).(cd apps/backend && make lint)passed with 0 issues; legacy agent-login and host-shell routes remain covered by the same backend suite.