ticket: approve decodal profile archive work
This commit is contained in:
parent
7f81c6cdf4
commit
e17c7a5b82
|
|
@ -2,7 +2,7 @@
|
||||||
title: 'Migrate Profiles to Decodal ProfileSourceArchive for Runtime launch'
|
title: 'Migrate Profiles to Decodal ProfileSourceArchive for Runtime launch'
|
||||||
state: 'inprogress'
|
state: 'inprogress'
|
||||||
created_at: '2026-07-07T20:51:35Z'
|
created_at: '2026-07-07T20:51:35Z'
|
||||||
updated_at: '2026-07-08T10:23:11Z'
|
updated_at: '2026-07-08T10:33:16Z'
|
||||||
assignee: null
|
assignee: null
|
||||||
queued_by: 'workspace-panel'
|
queued_by: 'workspace-panel'
|
||||||
queued_at: '2026-07-08T09:11:22Z'
|
queued_at: '2026-07-08T09:11:22Z'
|
||||||
|
|
|
||||||
|
|
@ -266,3 +266,37 @@ Review-fix implementation report:
|
||||||
- Requesting follow-up external review against `a823d414..a2833dad` and full combined implementation。
|
- Requesting follow-up external review against `a823d414..a2833dad` and full combined implementation。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
<!-- event: review author: reviewer at: 2026-07-08T10:33:16Z status: approve -->
|
||||||
|
|
||||||
|
## Review: approve
|
||||||
|
|
||||||
|
External follow-up review result: approve
|
||||||
|
|
||||||
|
Result: approve
|
||||||
|
|
||||||
|
Review evidence:
|
||||||
|
- Prior blocker 1 is fixed:
|
||||||
|
- Builtin Decodal profiles now resolve through `default_embedded_config_bundle(...) -> ProfileSourceArchive -> verify() -> resolve_profile(...) -> ProfileConfig` rather than bypassing archive resolution。
|
||||||
|
- `resources/profiles/*.dcdl` no longer use unsupported `tool_enabled`; they use supported `feature = { ... }` fields and are covered by the added embedded-profile resolution test。
|
||||||
|
- Prior blocker 2 is fixed:
|
||||||
|
- `VerifiedProfileSourceArchive::resolve_profile` no longer falls back to `default` for missing selectors。
|
||||||
|
- Unknown `Builtin` and `Named` selectors are rejected before bundle construction in `embedded_profile_path(...)`, with typed runtime diagnostics from embedded/remote launch paths。
|
||||||
|
- Explicit runtime default remains valid via default/builtin-default archive entrypoints。
|
||||||
|
- Browser/Backend launch path:
|
||||||
|
- Browser only selects Backend-published profile candidates。
|
||||||
|
- Workspace Backend builds/syncs a config bundle containing the archive before `CreateWorkerRequest`。
|
||||||
|
- Runtime `create_worker` passes the stored config bundle into the execution backend; `ProfileRuntimeWorkerFactory` only uses the Lua/filesystem fallback when no config bundle is present, so ordinary Browser/Backend launch does not read Runtime-local profile discovery。
|
||||||
|
- Archive invariants:
|
||||||
|
- Archive build/verify enforces relative safe tar paths, source counts/sizes/total bytes, source digests, archive digest, supported source kind, and declared import-map lookup。
|
||||||
|
- Undeclared imports are rejected by `ArchiveSourceLoader`。
|
||||||
|
- Browser-facing exposure:
|
||||||
|
- Web launch types expose only profile candidates。
|
||||||
|
- Config bundle summaries expose source graph summary rather than archive content or archive digest; worker summaries retain only profile selector/config-bundle ref metadata and do not expose runtime store paths/endpoints/secrets。
|
||||||
|
- Compatibility:
|
||||||
|
- Lua/filesystem fallback remains isolated to direct/debug paths without a config bundle。
|
||||||
|
- Dependency/package changes look sound, and the provided validation set includes Rust tests/checks, Deno checks/tests, ticket doctor, and `nix build .#yoi --no-link`。
|
||||||
|
|
||||||
|
No merge blockers found.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user