Files
browser/openspec/changes/architecture-delivery-stream/delivery-plan.md
T
2026-07-11 14:56:10 +08:00

124 lines
10 KiB
Markdown

# Architecture Delivery Stream
This file is the working progress record for the architecture stream. It is intentionally stored with the OpenSpec change so a new chat can read the current queue before creating or implementing the next change.
## Status Legend
- `complete`: tasks and verification evidence exist.
- `active`: current implementation target.
- `guard`: current blocker that must be closed or explicitly reprioritized before generating the next concrete OpenSpec.
- `pending`: planned but not active.
- `paused`: intentionally deferred by the user.
- `blocked`: cannot proceed without a user decision or external state change.
## Current Guard
No active guard. `fix-env-profile-settings` task `3.5` was completed on 2026-07-08 with an API-backed browser walkthrough for the personal settings page, and `scripts/check-structure.sh` plus `openspec validate fix-env-profile-settings --strict` passed.
## Queue
| Order | Status | Change | Primary Roots | Completion Gate |
| --- | --- | --- | --- | --- |
| 0 | complete | `bootstrap-game-server-platform-architecture` | all | `scripts/check-structure.sh`; `openspec validate bootstrap-game-server-platform-architecture --strict`. |
| 1 | complete | `establish-development-runtime-baseline` | all | `scripts/check-all.sh`; `scripts/check-structure.sh`; `openspec validate establish-development-runtime-baseline --strict`; browser walkthrough. |
| 2 | complete | `implement-platform-core-domain` | `platform/` | Platform domain unit tests and strict validation. |
| 3 | complete | `implement-platform-api-surface` | `platform/` | API handler tests, validation tests, strict validation. |
| 4 | complete | `implement-ai-provider-management` | `platform/`, `platform_web/` | Secret redaction tests, API tests, browser walkthrough, strict validation. |
| 5 | complete | `implement-run-control-registration` | `run/`, `platform/` | Control protocol tests, registration integration test, strict validation. |
| 6 | complete | `implement-run-job-channel` | `run/`, `platform/` | Job lifecycle tests, journal/idempotency tests, strict validation. |
| 7 | complete | `implement-log-ingest-pipeline` | `run/`, `platform/` | Spool retry tests, batch ack tests, query tests, strict validation. |
| 8 | complete | `implement-artifact-transfer-channel` | `run/`, `platform/` | Chunk/resume/checksum tests, priority isolation tests, strict validation. |
| 9 | complete | `implement-plugin-registry-and-manifest-validation` | `plugins/`, `platform/` | Schema validation tests, registry API tests, strict validation. |
| 10 | complete | `implement-plugin-bridge-and-sdk` | `plugins/`, `platform_web/`, `platform/` | Bridge permission tests, SDK type checks, strict validation. |
| 11 | complete | `implement-platform-web-console-shell` | `platform_web/` | Frontend build, route/page tests, browser walkthrough, strict validation. |
| 12 | complete | `implement-server-management-workflows` | all | Create/start/stop workflow tests, browser walkthrough, strict validation. |
| 13 | complete | `redesign-platform-web-interactions` | `platform_web/` | Frontend tests/build, browser walkthrough, strict validation. |
| 14 | complete | `fix-platform-auth-session-api` | `platform/`, `platform_web/` | Auth/session API tests, frontend auth flow tests, strict validation. |
| 15 | complete | `implement-role-scoped-server-access` | `platform/`, `platform_web/` | Role access tests, UI visibility tests, strict validation. |
| 16 | complete | `implement-platform-observability-and-config-read` | `platform/`, `run/`, `platform_web/` | Observability/config read tests, browser walkthrough, strict validation. |
| 17 | complete | `implement-plugin-marketplace-api-driven-ui` | `platform/`, `platform_web/`, `plugins/` | Marketplace API tests, frontend tests/build, browser walkthrough, strict validation. |
| 18 | complete | `implement-config-write-and-file-dispatch` | `platform/`, `run/`, `platform_web/`, `plugins/` | Config diff/write tests, file dispatch tests, browser walkthrough, strict validation. |
| 19 | complete | `implement-run-worker-real-execution` | `run/`, `platform/` | Real worker lifecycle tests, job result tests, strict validation. |
| 20 | complete | `implement-plugin-page-bridge-execution` | `platform_web/`, `plugins/`, `platform/` | Plugin page bridge tests, permission tests, strict validation. |
| 21 | complete | `implement-platform-mediated-ai-invocation` | `platform/`, `platform_web/`, `plugins/` | AI invocation tests, key redaction tests, reviewable diff tests, strict validation. |
| 22 | complete | `implement-artifact-download-and-browser-transfer` | `platform/`, `run/`, `platform_web/` | Artifact download/transfer tests, browser download walkthrough, strict validation. |
| 23 | complete | `sync-implemented-docs-and-comments` | all | Documentation/comment sync checks and strict validation. |
| 24 | complete | `implement-durable-platform-storage` | `platform/` | Durable repository tests and strict validation. |
| 25 | complete | `add-local-docker-deployment` | all | Local docker smoke path and strict validation. |
| 26 | complete | `add-mysql-platform-metadata-storage` | `platform/`, deployment | MySQL metadata tests and strict validation. |
| 27 | complete | `fix-env-profile-settings` | `platform/`, `platform_web/` | Browser walkthrough task `3.5`; `scripts/check-structure.sh`; `openspec validate fix-env-profile-settings --strict`. |
| 28 | complete | `verify-current-platform-e2e-baseline` | all | Browser walkthrough and API/run/plugin proof report that classifies every required first-party flow as real, partial, demo-only, or blocked. |
| 29 | complete | `implement-real-game-plugin-lifecycle-proof` | `plugins/`, `platform/`, `platform_web/`, `run/` | Plugin/SDK tests, platform lifecycle tests, run lifecycle tests, platform_web tests/build, API-backed browser walkthrough, `scripts/check-structure.sh`, and `openspec validate implement-real-game-plugin-lifecycle-proof --strict`. |
| 30 | complete | `harden-log-artifact-channel-isolation` | `run/`, `platform/` | Run/platform channel isolation tests, protocol docs, `cd run && GOCACHE=/private/tmp/browser-go-build-cache go test ./... -count=1`, `cd platform && GOCACHE=/private/tmp/browser-go-build-cache go test ./... -count=1`, `scripts/check-structure.sh`, and `openspec validate harden-log-artifact-channel-isolation --strict`. |
| 31 | complete | `implement-local-debug-workspace` | all | Local debug docs/scripts, self-start smoke, browser walkthrough, frontend/plugin/platform/run checks, `scripts/check-structure.sh`, and `openspec validate implement-local-debug-workspace --strict`. |
| 32 | complete | `implement-browser-acceptance-suite` | `platform_web/`, all | Automated browser acceptance command, API-backed first-party route proof, plugin/server operation proof, frontend/plugin/platform/run checks, `scripts/check-structure.sh`, and `openspec validate implement-browser-acceptance-suite --strict`. |
| 33 | complete | `polish-platform-interaction-design` | `platform_web/` | Interaction/design polish criteria, desktop/mobile browser walkthroughs, automated browser acceptance, platform_web tests/build, `scripts/check-structure.sh`, and `openspec validate polish-platform-interaction-design --strict`. |
## Next Pointer
Read `openspec/changes/architecture-delivery-stream/NEXT_CHANGE.md` before starting a fresh architecture-stream chat. That file contains the exact next action and prompt.
## Generator Handoff Template
Use this template when starting a fresh chat whose job is to create the next OpenSpec only:
```text
Continue the architecture delivery stream in /Users/tasia/Desktop/code/browser.
Read first:
- AGENTS.md
- openspec/changes/architecture-delivery-stream/delivery-plan.md
- openspec/changes/architecture-delivery-stream/NEXT_CHANGE.md
Task:
- Follow NEXT_CHANGE.md exactly.
- If the current guard is still open, close or explicitly record the blocker first.
- Create exactly one new OpenSpec change.
- Generate proposal.md, design.md, specs/**/*.md, and tasks.md for that one change.
- Run openspec validate <new-change> --strict.
- Update NEXT_CHANGE.md to point at implementing the new change.
- Stop after the one new OpenSpec is ready; do not implement it in this chat unless explicitly asked.
```
## Implementation Handoff Template
Use this template when starting a fresh implementation chat for a concrete change:
```text
Implement OpenSpec change: <change-name>
Scope:
- Implement only openspec/changes/<change-name>/.
- Preserve root ownership boundaries in AGENTS.md.
- Do not add billing, cloud host sales, agent-provider/cloud-provider workflows, or unrelated marketplace features.
- Do not let browser or game management plugins access run directly; route plugin capabilities through platform-mediated contracts.
- Keep log ingest durable and independent from control, job result, and artifact/file transfer channels.
Read first:
- AGENTS.md
- openspec/changes/architecture-delivery-stream/delivery-plan.md
- openspec/changes/architecture-delivery-stream/NEXT_CHANGE.md
- openspec/changes/bootstrap-game-server-platform-architecture/proposal.md
- openspec/changes/bootstrap-game-server-platform-architecture/design.md
- openspec/changes/<change-name>/proposal.md
- openspec/changes/<change-name>/design.md
- openspec/changes/<change-name>/tasks.md
Required closure:
- Complete the tasks in openspec/changes/<change-name>/tasks.md only after evidence exists.
- Run scripts/check-structure.sh.
- Run openspec validate <change-name> --strict.
- Run all change-specific test/build/walkthrough commands listed in the task file.
- If frontend pages are touched, complete a browser walkthrough before claiming acceptance.
- Update delivery-plan.md and NEXT_CHANGE.md before closing.
- Stop after this change is closed; do not start the next backlog item in the same chat unless explicitly asked.
```
## Progress Rules
1. Resolve the current guard before generating a new concrete product OpenSpec unless the user explicitly reprioritizes.
2. Create or implement only one concrete OpenSpec by default.
3. If implementation reveals that a pending item is too large, split it before writing product code.
4. Update this progress file and `NEXT_CHANGE.md` through an OpenSpec change when the queue order, active item, or completion gates materially change.
5. Keep final answers from implementation chats focused on changed files, verification evidence, and the next suggested backlog item.