mirror of
https://github.com/nexu-io/open-design.git
synced 2026-06-01 03:14:35 +07:00
docs(plugins): record M-series — retention TTL + atom prompt rewiring + Phase 6/7/8 substrate
CHANGELOG.md ## Unreleased gets a new bullet block summarising:
- OD_SNAPSHOT_RETENTION_DAYS referenced-row TTL (PB2 closed).
- OD_BUNDLED_ATOM_PROMPTS=1 activates composeDaemonSystemPrompt's
atom-block branch (default off; byte-equal to today's prompt).
- Nine new bundled atom SKILL.md fragments under
plugins/_official/atoms/ for Phases 6, 7, and 8.
docs/plans/plugins-implementation.md §6 Phase 6 / 7 / 8 deliverables
record their substrate-shipped state; the actual implementations
remain scheduled. §9 Status snapshot updated; next-planned-PR cell
moves the AWS SDK / postgres adapter wiring + Phase 6 / 7 / 8
shell-out implementations + the OD_BUNDLED_ATOM_PROMPTS default
flip to the head of the queue.
Final gates: pnpm guard ✓, daemon 1521 tests ✓, web 586 tests ✓,
contracts 12 tests ✓, agui-adapter 9 tests ✓, plugin-runtime 21.
Co-authored-by: Tom Huang <1043269994@qq.com>
This commit is contained in:
parent
030d5ce7b2
commit
4aec507cd3
2 changed files with 11 additions and 7 deletions
|
|
@ -9,7 +9,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
|
||||
### Added
|
||||
|
||||
- **Plugin & marketplace system — Phase 2A + 1 + 1.5 + 2B + 2C entry slice + 3 (full) + 4 (scaffold / export / publish / atoms doc / library CLI / pipeline-into-startChatRun / bundled atoms / AG-UI adapter / atom-block renderer / surface.component manifest field + sandboxed iframe loader + activeStageBlocks composer field) + 5 (Dockerfile / docker-compose / Helm chart + per-cloud overrides / bound-API-token guard / ghcr.io CI workflow / ProjectStorage + DaemonDb adapter substrate / plugin asset route).** Spec: [`docs/plugins-spec.md`](docs/plugins-spec.md). Living plan: [`docs/plans/plugins-implementation.md`](docs/plans/plugins-implementation.md).
|
||||
- **Plugin & marketplace system — Phase 2A + 1 + 1.5 + 2B + 2C entry slice + 3 (full) + 4 (full minus the live OD_BUNDLED_ATOM_PROMPTS prompt-rewiring activation; substrate + flag-gated wiring shipped) + 5 (full minus the AWS SDK + postgres adapter wiring) + 6 / 7 / 8 atom-prompt substrate.** Spec: [`docs/plugins-spec.md`](docs/plugins-spec.md). Living plan: [`docs/plans/plugins-implementation.md`](docs/plans/plugins-implementation.md).
|
||||
- **`OD_SNAPSHOT_RETENTION_DAYS` referenced-row TTL (PB2).** `pruneExpiredSnapshots` now retires referenced snapshot rows whose project has been deleted AND whose `applied_at` is older than the configured window. Live-project rows stay pinned forever (reproducibility wins). The GC worker reads `readPluginEnvKnobs().snapshotRetentionDays` so the env-var contract spec PB2 reserved is now end-to-end.
|
||||
- **`OD_BUNDLED_ATOM_PROMPTS=1` activates `composeDaemonSystemPrompt`'s atom-block path.** When set AND the run carries an applied snapshot with a non-empty `od.pipeline.stages[*]`, the daemon walks each stage, calls `loadAtomBodies` + `renderActiveStageBlock`, and threads the result as `composeSystemPrompt({ activeStageBlocks })`. Default behaviour (flag unset) is byte-equal to today's prompt.
|
||||
- **Phase 6 / 7 / 8 atom SKILL.md substrate.** Nine new `plugins/_official/atoms/<atom>/{SKILL.md, open-design.json}` pairs the bundled boot walker registers on startup: `figma-extract`, `token-map` (Phase 6); `code-import`, `design-extract`, `rewrite-plan`, `patch-edit`, `diff-review`, `build-test` (Phase 7); `handoff` (Phase 8). The fragments teach the agent what each (planned) atom expects so a plugin author who references one of these ids in `od.pipeline.stages[*].atoms[]` sees the canonical fragment without a doctor warning. The matching shell-out implementations stay scheduled per spec §16 Phase 6 / 7 / 8.
|
||||
- **Plugin & marketplace system — earlier landing.** Spec: [`docs/plugins-spec.md`](docs/plugins-spec.md). Living plan: [`docs/plans/plugins-implementation.md`](docs/plans/plugins-implementation.md).
|
||||
- **Per-cloud Helm value overrides.** `tools/pack/helm/open-design/values-{aws,gcp,azure,aliyun,tencent,huawei,self}.yaml` ship the volume + ingress diffs spec §15.5 enumerates. Operators install with `helm install od ./tools/pack/helm/open-design -f values-aws.yaml`.
|
||||
- **`composeSystemPrompt({ activeStageBlocks })`.** Both daemon and contracts composers accept a pre-rendered list of `## Active stage` blocks (produced by `renderActiveStageBlock` + `loadAtomBodies`). Substrate slice for the §23.3.2 prompt-fragment migration; the actual call-site wiring stays gated on the next phase so default behaviour is byte-equal to today's prompt.
|
||||
- **Plugin-bundled component surface.** `GenUISurfaceRenderer` mounts a `sandbox="allow-scripts"` iframe at `/api/plugins/:id/asset/<path>` when a surface declares `od.genui.surfaces[].component`. Communication is one-way via `postMessage({ kind: 'genui:respond', surfaceId, value })`. The daemon-side asset endpoint serves files from `installed_plugins.fs_path` under the §9.2 preview CSP (`default-src 'none'; connect-src 'none'; frame-ancestors 'self'`) plus `X-Content-Type-Options: nosniff`.
|
||||
|
|
|
|||
|
|
@ -486,9 +486,9 @@ Validation
|
|||
|
||||
These are tracked but **not part of v1 sign-off**. Listed here so spec patches that promote `(planned)` atoms have a place to update.
|
||||
|
||||
- [ ] **Phase 6 — figma-migration native**: implement `figma-extract` + `token-map`; ship official `figma-migration` plugin.
|
||||
- [ ] **Phase 7 — code-migration native** (§20.3 §21.3.2): `code-import`, `design-extract`, `rewrite-plan`, `patch-edit`, `diff-review`, `build-test` evaluator; freeze target-stack contract; freeze design-token mapping contract.
|
||||
- [ ] **Phase 8 — production code delivery native**: repo-aware multi-file patch orchestration; native review-and-apply surface; promote `handoffKind: 'deployable-app'` from reservation to implementation.
|
||||
- [ ] **Phase 6 — figma-migration native**: implement `figma-extract` + `token-map`; ship official `figma-migration` plugin. **Substrate landed (plan §3.M3): SKILL.md + open-design.json for both ids ship under `plugins/_official/atoms/`; the bundled boot walker registers them at startup. Implementation (Figma REST + node walk + token map heuristic) is the next PR.**
|
||||
- [ ] **Phase 7 — code-migration native** (§20.3 §21.3.2): `code-import`, `design-extract`, `rewrite-plan`, `patch-edit`, `diff-review`, `build-test` evaluator; freeze target-stack contract; freeze design-token mapping contract. **Substrate landed (plan §3.M4): SKILL.md + open-design.json for all six ids ship under `plugins/_official/atoms/`; the prompt fragments lock the per-atom output shape (e.g. `code/index.json`, `plan/steps.json`, `critique/build-test.json`) so the implementation PR reads the same contract.**
|
||||
- [ ] **Phase 8 — production code delivery native**: repo-aware multi-file patch orchestration; native review-and-apply surface; promote `handoffKind: 'deployable-app'` from reservation to implementation. **Substrate landed (plan §3.M4): `handoff` atom SKILL.md ships, locking the seven `exportTargets[].surface` enum values.**
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -545,10 +545,10 @@ Plus repo-wide gates
|
|||
|
||||
| Field | Value |
|
||||
| --- | --- |
|
||||
| Current phase | Phase 2A + 1 + 1.5 + 2B + 2C entry slice + 3 (full) + 4 (full minus the live composeSystemPrompt rewiring) + 5 (full minus the AWS SDK + postgres adapter wiring) |
|
||||
| Next planned PR | (a) Wire composeSystemPrompt's pipeline branch through loadAtomBodies + renderActiveStageBlock so OD_BUNDLED_ATOM_PROMPTS=1 swaps the inline DISCOVERY_AND_PHILOSOPHY constants for SKILL.md fragments; (b) AWS SDK wiring inside S3ProjectStorage; (c) postgres adapter wiring inside the DaemonDb resolver; (d) `OD_SNAPSHOT_RETENTION_DAYS` referenced-row TTL enforcement; (e) Phase 6 / 7 / 8 native scenarios (figma-extract / token-map / code-import / build-test). |
|
||||
| Current phase | Phase 2A + 1 + 1.5 + 2B + 2C entry slice + 3 (full) + 4 (full minus the live OD_BUNDLED_ATOM_PROMPTS rollout) + 5 (full minus the AWS SDK + postgres adapter wiring) + 6 / 7 / 8 atom-prompt substrate |
|
||||
| Next planned PR | (a) Promote OD_BUNDLED_ATOM_PROMPTS=1 to the daemon default once the prompt fragment library covers DISCOVERY_AND_PHILOSOPHY's responsibilities; (b) AWS SDK wiring inside S3ProjectStorage; (c) postgres adapter wiring inside the DaemonDb resolver; (d) Phase 6 figma-extract + token-map shell-out implementations; (e) Phase 7 code-import + design-extract + rewrite-plan + patch-edit + diff-review + build-test shell-out implementations; (f) Phase 8 deployable-app handoff path + ArtifactManifest.handoffKind='deployable-app' promotion. |
|
||||
| Open spec push-backs | none — PB1 / PB2 resolved (see §7) |
|
||||
| Last sync against `docs/plugins-spec.md` | 2026-05-09 (Phase 5 per-cloud Helm overrides + composeSystemPrompt activeStageBlocks + plugin asset route + ProjectStorage / DaemonDb adapter substrate landing) |
|
||||
| Last sync against `docs/plugins-spec.md` | 2026-05-09 (OD_SNAPSHOT_RETENTION_DAYS referenced-row TTL + OD_BUNDLED_ATOM_PROMPTS runtime wiring + Phase 6 / 7 / 8 atom SKILL.md substrate landing) |
|
||||
|
||||
Update this table on every plugin-system PR merge. When the value of "Current phase" advances, also flip the matching deliverables in §6 and the modules in §3.
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue