ticket: record coder implementation reports

This commit is contained in:
Keisuke Hirata 2026-06-18 23:15:32 +09:00
parent 6c52e5dddf
commit 7ae725c95d
No known key found for this signature in database
4 changed files with 105 additions and 2 deletions

View File

@ -2,7 +2,7 @@
title: 'Plugin: enforce Plugin permission grants'
state: 'inprogress'
created_at: '2026-06-15T14:48:59Z'
updated_at: '2026-06-18T13:56:44Z'
updated_at: '2026-06-18T14:15:12Z'
assignee: null
readiness: 'implementation_ready'
risk_flags: ['plugin', 'permission', 'grant-enforcement', 'capability-boundary', 'tool-execution']

View File

@ -142,3 +142,56 @@ Current status:
- root/original workspace は触らず、implementation worktree 上で作業するよう指示済み。
---
<!-- event: implementation_report author: yoi-orchestrator at: 2026-06-18T14:15:12Z -->
## Implementation report
Coder implementation report received:
Commit:
- `b1ba1599``plugin: enforce permission grants`
Summary:
- typed plugin permission declarations/grants を追加。
- `surfaces.tool`
- specific tool names
- tool namespaces
- `external_write`
- future `host_api.https` / `host_api.fs`
- grant binding を source-qualified package id / deterministic digest / exact package version に結合。
- registration gating を `PluginToolFeature::install` に実装。
- ungranted / unrequested plugin tools は登録されない。
- partial grant では authorized tools のみ登録し、skipped tools は bounded diagnostics。
- runtime execution gating を `run_plugin_wasm_tool` に実装。
- WASM 読み込み/実行前に binding と requested/granted tool authority を再確認。
- future host API boundary として `validate_wasm_imports``yoi:https` / `yoi:fs` imports を認識し、non-implemented boundary error の前に permission check。
- actual `https` / `fs` host API は実装していない。
- `external_write` を plugin tool manifest metadata に追加し、requested+granted の場合のみ許可。
- Existing PreToolCall/tool permission path は変更せず、plugin grant checks を追加の fail-closed gate とした。
Files changed:
- `crates/manifest/src/plugin.rs`
- `crates/pod/src/feature/plugin.rs`
- `crates/pod/src/pod.rs`
Validation reported by Coder:
- `cargo fmt --check`
- `cargo check -p manifest -p pod`
- `cargo test -p pod plugin -- --nocapture` — 27 passed
- `cargo test -p manifest plugin -- --nocapture` — 17 passed
- `git diff --check`
Orchestrator evidence checked:
- Pod output を確認。
- implementation worktree は clean。
- commit `b1ba1599` が branch `impl/00001KV5W3PJ3-plugin-permission-grants` の HEAD。
- diff stat: `crates/manifest/src/plugin.rs`, `crates/pod/src/feature/plugin.rs`, `crates/pod/src/pod.rs` に 575 insertions / 19 deletions。
Routing classification: review_needed
Next action:
- recorded intent / invariants / acceptance criteria に照らして、read-only Reviewer Pod で外部レビューする。
- 特に fail-closed grant enforcement、source/digest/version binding、no ambient authority、external_write/effect metadata、bounded diagnostics、existing PreToolCall path との整合性を確認する。
---

View File

@ -2,7 +2,7 @@
title: 'Panel startup latency をユーザー目線の dashboard content ready 基準で計測・改善する'
state: 'inprogress'
created_at: '2026-06-18T13:30:51Z'
updated_at: '2026-06-18T13:59:23Z'
updated_at: '2026-06-18T14:15:27Z'
assignee: null
readiness: 'implementation_ready'
risk_flags: ['panel', 'e2e', 'startup-latency', 'user-visible-readiness', 'dashboard-content', 'profiling']

View File

@ -128,3 +128,53 @@ Next:
- Coder は dashboard content ready metric / live-like fixture / slow-source breakdown / focused validation を実装し、commit と実装報告を返す予定。
---
<!-- event: implementation_report author: yoi-orchestrator at: 2026-06-18T14:15:27Z -->
## Implementation report
Coder implementation report received:
Commit:
- `fc1ee5bb``tui: measure panel dashboard readiness`
Summary:
- Panel startup E2E に dashboard-content-ready metric を追加。
- fixture に複数 Ticket、Pod metadata、Companion claim、orchestration overlay を追加。
- Expected dashboard content snapshot / assertions を導入し、loading/partial/single-row では ready 判定しないようにした。
- stdout JSON に `dashboard_content_ready`, `startup_readiness_checks`, `startup_sources` を追加。
- source breakdown と render-source summary を追加。
- startup regression test を first frame / single-row ではなく dashboard content ready basis に更新。
- semantic shortcut ではなく expected dashboard row set と overlay/action/status を検証する readiness path として実装。
Files changed:
- `crates/tui/tests/e2e/panel.rs`
Validation reported by Coder:
- `cargo fmt --check`
- `cargo test -p tui --test panel --features e2e -- --nocapture panel_startup_latency_e2e_reports_content_ready_after_rows`
- `cargo test -p tui --test panel --features e2e -- --nocapture panel_startup_latency_e2e_fails_if_expected_dashboard_content_is_missing`
- `cargo test -p tui --test panel --features e2e -- --nocapture panel_startup_latency_e2e_fails_if_orchestration_overlay_is_missing`
- `cargo check -p tui`
- `git diff --check`
Measured evidence reported by Coder:
- passing content-ready run:
- `panel_ready_ms`: 39
- `row_ready_ms`: 140
- `dashboard_content_ready_ms`: 140
- negative fixtures fail as expected for missing expected dashboard content / missing orchestration overlay。
Orchestrator evidence checked:
- Pod output を確認。
- implementation worktree は clean。
- commit `fc1ee5bb` が branch `impl/00001KVDETSN6-panel-dashboard-content-ready` の HEAD。
- diff stat: `crates/tui/tests/e2e/panel.rs` に 385 insertions / 34 deletions。
Routing classification: review_needed
Next action:
- recorded intent / invariants / acceptance criteria に照らして、read-only Reviewer Pod で外部レビューする。
- 特に dashboard content ready が名前だけの metric ではないこと、fixture が live-like な representative dashboard content を検証していること、single-row readiness だけでは通らないこと、negative fixtures が有効であること、Panel semantics を accidental に変更していないことを確認する。
---