ticket: approve profile extend removal
This commit is contained in:
parent
7c6070ef2f
commit
c12fbd8eb7
|
|
@ -0,0 +1,21 @@
|
||||||
|
承認します。
|
||||||
|
|
||||||
|
Evidence:
|
||||||
|
- `crates/manifest/src/profile.rs` の Lua API は `yoi.profile.import(...)` を残し、`yoi.profile.extend(...)` は常にエラーにする互換診断スタブに変更されている。旧 `deep_merge_profile_json` と hidden deep-merge composition は削除されており、診断文も `yoi.profile.import(...)` と explicit Lua assignment への移行を示している。
|
||||||
|
- Builtin role profiles (`resources/profiles/{companion,intake,orchestrator,coder,reviewer}.lua`) は `yoi.profile.import("builtin:default")` 後に Lua の明示代入で必要フィールドだけを上書きしている。feature policy は各 role で全 key を明示し、worker instruction は table mutation で default reasoning 等を保持している。
|
||||||
|
- scope/delegation は既存 role の明示値を移植しており、profile composition の変更に留まっている。launch policy / authority semantics は別 Ticket `00001KV11DHGZ` の範囲として残され、今回の diff では拡張されていない。
|
||||||
|
- Tests cover import + explicit assignment, object replacement instead of deep merge, removed extend diagnostic, and builtin role resolution/policy (`profile::tests`).
|
||||||
|
- Resource embedding/packaging risk is low: changed files are existing `resources/profiles/*.lua` loaded through the existing include table; `cargo build -p yoi` passed.
|
||||||
|
|
||||||
|
Validation performed:
|
||||||
|
- `git diff f709fc10..HEAD` inspected.
|
||||||
|
- `cargo fmt --check` passed.
|
||||||
|
- `git diff --check f709fc10..HEAD` passed.
|
||||||
|
- `cargo test -p manifest profile::tests:: -- --nocapture` passed.
|
||||||
|
- `cargo build -p yoi` passed.
|
||||||
|
|
||||||
|
Not rerun:
|
||||||
|
- `nix build .#yoi` was not rerun in this reviewer scope because it would write outside the permitted `target/`/Ticket-record areas unless using broader Nix/store/result-link authority. Coder reported it was run; cargo build validated resource embedding on this branch.
|
||||||
|
|
||||||
|
Risks / notes:
|
||||||
|
- Existing callers of `yoi.profile.extend` now fail intentionally; this is the requested break. The retained stub is a diagnostic compatibility trap, not a merge API.
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
title: 'Profile extend API を廃止して import + Lua 代入に寄せる'
|
title: 'Profile extend API を廃止して import + Lua 代入に寄せる'
|
||||||
state: 'inprogress'
|
state: 'inprogress'
|
||||||
created_at: '2026-06-13T07:31:09Z'
|
created_at: '2026-06-13T07:31:09Z'
|
||||||
updated_at: '2026-06-14T06:24:18Z'
|
updated_at: '2026-06-14T06:29:17Z'
|
||||||
assignee: null
|
assignee: null
|
||||||
readiness: 'implementation_ready'
|
readiness: 'implementation_ready'
|
||||||
risk_flags: ['profiles', 'lua-api', 'builtin-resources', 'migration']
|
risk_flags: ['profiles', 'lua-api', 'builtin-resources', 'migration']
|
||||||
|
|
|
||||||
|
|
@ -107,4 +107,33 @@ Risks/notes:
|
||||||
- Scope/delegation authority semantics were not expanded; this change only preserves existing builtin profile scope/delegation declarations while changing composition style.
|
- Scope/delegation authority semantics were not expanded; this change only preserves existing builtin profile scope/delegation declarations while changing composition style.
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: review author: hare at: 2026-06-14T06:29:17Z status: approve -->
|
||||||
|
|
||||||
|
## Review: approve
|
||||||
|
|
||||||
|
承認します。
|
||||||
|
|
||||||
|
Evidence:
|
||||||
|
- `crates/manifest/src/profile.rs` の Lua API は `yoi.profile.import(...)` を残し、`yoi.profile.extend(...)` は常にエラーにする互換診断スタブに変更されている。旧 `deep_merge_profile_json` と hidden deep-merge composition は削除されており、診断文も `yoi.profile.import(...)` と explicit Lua assignment への移行を示している。
|
||||||
|
- Builtin role profiles (`resources/profiles/{companion,intake,orchestrator,coder,reviewer}.lua`) は `yoi.profile.import("builtin:default")` 後に Lua の明示代入で必要フィールドだけを上書きしている。feature policy は各 role で全 key を明示し、worker instruction は table mutation で default reasoning 等を保持している。
|
||||||
|
- scope/delegation は既存 role の明示値を移植しており、profile composition の変更に留まっている。launch policy / authority semantics は別 Ticket `00001KV11DHGZ` の範囲として残され、今回の diff では拡張されていない。
|
||||||
|
- Tests cover import + explicit assignment, object replacement instead of deep merge, removed extend diagnostic, and builtin role resolution/policy (`profile::tests`).
|
||||||
|
- Resource embedding/packaging risk is low: changed files are existing `resources/profiles/*.lua` loaded through the existing include table; `cargo build -p yoi` passed.
|
||||||
|
|
||||||
|
Validation performed:
|
||||||
|
- `git diff f709fc10..HEAD` inspected.
|
||||||
|
- `cargo fmt --check` passed.
|
||||||
|
- `git diff --check f709fc10..HEAD` passed.
|
||||||
|
- `cargo test -p manifest profile::tests:: -- --nocapture` passed.
|
||||||
|
- `cargo build -p yoi` passed.
|
||||||
|
|
||||||
|
Not rerun:
|
||||||
|
- `nix build .#yoi` was not rerun in this reviewer scope because it would write outside the permitted `target/`/Ticket-record areas unless using broader Nix/store/result-link authority. Coder reported it was run; cargo build validated resource embedding on this branch.
|
||||||
|
|
||||||
|
Risks / notes:
|
||||||
|
- Existing callers of `yoi.profile.extend` now fail intentionally; this is the requested break. The retained stub is a diagnostic compatibility trap, not a merge API.
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user