review: request spawnpod profile tests

This commit is contained in:
Keisuke Hirata 2026-05-30 14:11:43 +09:00
parent a22edf160f
commit 2acc72ca5e
No known key found for this signature in database
2 changed files with 27 additions and 1 deletions

View File

@ -7,7 +7,7 @@ kind: feature
priority: P2 priority: P2
labels: [pod, manifest, tools, workflow] labels: [pod, manifest, tools, workflow]
created_at: 2026-05-29T20:55:40Z created_at: 2026-05-29T20:55:40Z
updated_at: 2026-05-30T04:54:02Z updated_at: 2026-05-30T05:11:43Z
assignee: null assignee: null
legacy_ticket: null legacy_ticket: null
--- ---

View File

@ -70,4 +70,30 @@ Validation plan:
- Run `cargo test -p manifest profile`, `cargo test -p pod spawn_pod`, relevant prompt catalog tests, `cargo fmt --check`, and `./tickets.sh doctor`. - Run `cargo test -p manifest profile`, `cargo test -p pod spawn_pod`, relevant prompt catalog tests, `cargo fmt --check`, and `./tickets.sh doctor`.
---
<!-- event: review author: hare at: 2026-05-30T05:11:43Z status: request_changes -->
## Review: request changes
Request changes.
The implementation direction appears sound, and the reviewer did not find a concrete authority-expansion or lifecycle regression. However, the work item acceptance criteria require focused tests for the new SpawnPod profile semantics, and the submitted tests mostly cover selector parsing plus existing lifecycle tests forced to `profile = "inherit"`.
Required fixes:
- Add SpawnPod default-profile coverage proving omitted `profile` resolves the effective registry default.
- Add a source-qualified profile coverage case, e.g. `project:reviewer`, proving role config from the selected profile reaches the generated `--spawn-config-json`.
- Add `inherit` config coverage proving reusable parent fields are copied while `pod.name`, `scope.allow`, and `scope.deny` are replaced.
- Add explicit `instruction` override coverage proving only `worker.instruction` changes.
- Add invalid / ambiguous / no-default diagnostics coverage proving the available-selector block appears.
- Add profile scope replacement coverage proving profile/inherited scope cannot expand delegated scope.
Non-blocking follow-ups:
- Available profile list currently emits source-qualified selectors only; future refinement may mention unqualified names when unambiguous.
- Workflow examples can later be updated to use explicit `project:coder` / `project:reviewer` selectors.
Validation note:
- `cargo test -p pod spawn_profile --no-default-features` currently only proves parser behavior, not profile resolution or child config construction.
--- ---