diff --git a/.yoi/tickets/00001KVHKWNQS/item.md b/.yoi/tickets/00001KVHKWNQS/item.md index fd1463f5..b8fa7fcd 100644 --- a/.yoi/tickets/00001KVHKWNQS/item.md +++ b/.yoi/tickets/00001KVHKWNQS/item.md @@ -1,8 +1,8 @@ --- title: 'Plugin: add authoring CLI new/check/pack' -state: 'done' +state: 'closed' created_at: '2026-06-20T04:16:14Z' -updated_at: '2026-06-20T06:54:45Z' +updated_at: '2026-06-20T06:55:06Z' assignee: null readiness: 'implementation_ready' risk_flags: ['plugin', 'cli', 'authoring', 'templates', 'package-validation', 'packaging', 'read-only-check'] diff --git a/.yoi/tickets/00001KVHKWNQS/resolution.md b/.yoi/tickets/00001KVHKWNQS/resolution.md new file mode 100644 index 00000000..163c1a97 --- /dev/null +++ b/.yoi/tickets/00001KVHKWNQS/resolution.md @@ -0,0 +1,41 @@ +## Resolution + +`00001KVHKWNQS` を完了しました。 + +実装内容: +- `yoi plugin new rust-component-tool ` を追加しました。 +- `yoi plugin check [--json]` を追加しました。 +- `yoi plugin pack [--output ] [--json]` を追加しました。 +- Safe directory/package reading、deterministic digesting、deterministic `.yoi-plugin` writing、symlink/root-escape rejection を含む materialized package helpers を追加しました。 +- `check` / `pack` は Plugin code を実行せず、既存 static Plugin inspection を再利用して manifest/runtime/schema/permission/host API declarations を検査します。 +- Embedded Rust Component Tool template を `new` で利用し、generated template を check/pack できるよう placeholder `plugin.component.wasm` を追加しました。 +- Placeholder artifact は `check` で検出され、generated template / packed archive は `partial` と bounded diagnostic を返します。placeholder が残る間は enablement-ready guidance を出しません。 +- `plugin new` は existing destination symlink を拒否し、write-through を防ぎます。 +- JSON report shape、human output、CLI help/docs を更新しました。 +- Focused tests と CLI smoke coverage を追加しました。 + +主な commit: +- `945ecdf6 plugin: add authoring cli` +- `699db538 plugin: harden authoring checks` +- `87704ad4 merge: plugin authoring cli` + +Review: +- r1 は destination symlink write-through と placeholder artifact の enablement-ready 表示で `request_changes`。 +- Coder が symlink refusal、placeholder detection、`partial` status/diagnostics、tests/docs を追加。 +- r2 は `approve`。 + +最終 validation: +- `cargo fmt --check` +- `git diff --check HEAD^1..HEAD` +- `cargo check -p yoi` +- `cargo test -p yoi plugin_cli` +- `cargo test -p yoi-plugin-pdk template` +- `nix build .#yoi --no-link` + +補足: +- 初回 `nix build .#yoi --no-link` は `aws-lc-sys` build 中に `No space left on device` で environment failure。 +- Orchestrator worktree の Cargo build artifacts を `cargo clean` で削除してから再実行し、Nix build は成功しました。 +- `nix path-info -S .#yoi`: `112260512` + +Validation log: +- `/run/user/1000/yoi/yoi-orchestrator/bash-output/bash-Q0KE3A.log` \ No newline at end of file diff --git a/.yoi/tickets/00001KVHKWNQS/thread.md b/.yoi/tickets/00001KVHKWNQS/thread.md index 3a3be75f..fd5ab0e3 100644 --- a/.yoi/tickets/00001KVHKWNQS/thread.md +++ b/.yoi/tickets/00001KVHKWNQS/thread.md @@ -368,3 +368,60 @@ Final state: Implementation was merged into Orchestrator branch at `87704ad4`, r2 review approved, and final Orchestrator validation passed: `cargo fmt --check`, `git diff --check HEAD^1..HEAD`, `cargo check -p yoi`, focused `yoi plugin_cli` / `yoi-plugin-pdk template` tests, and `nix build .#yoi --no-link` after freeing Orchestrator worktree build artifacts. --- + + + +## State changed + +Ticket を closed にしました。 + + +--- + + + +## 完了 + +## Resolution + +`00001KVHKWNQS` を完了しました。 + +実装内容: +- `yoi plugin new rust-component-tool ` を追加しました。 +- `yoi plugin check [--json]` を追加しました。 +- `yoi plugin pack [--output ] [--json]` を追加しました。 +- Safe directory/package reading、deterministic digesting、deterministic `.yoi-plugin` writing、symlink/root-escape rejection を含む materialized package helpers を追加しました。 +- `check` / `pack` は Plugin code を実行せず、既存 static Plugin inspection を再利用して manifest/runtime/schema/permission/host API declarations を検査します。 +- Embedded Rust Component Tool template を `new` で利用し、generated template を check/pack できるよう placeholder `plugin.component.wasm` を追加しました。 +- Placeholder artifact は `check` で検出され、generated template / packed archive は `partial` と bounded diagnostic を返します。placeholder が残る間は enablement-ready guidance を出しません。 +- `plugin new` は existing destination symlink を拒否し、write-through を防ぎます。 +- JSON report shape、human output、CLI help/docs を更新しました。 +- Focused tests と CLI smoke coverage を追加しました。 + +主な commit: +- `945ecdf6 plugin: add authoring cli` +- `699db538 plugin: harden authoring checks` +- `87704ad4 merge: plugin authoring cli` + +Review: +- r1 は destination symlink write-through と placeholder artifact の enablement-ready 表示で `request_changes`。 +- Coder が symlink refusal、placeholder detection、`partial` status/diagnostics、tests/docs を追加。 +- r2 は `approve`。 + +最終 validation: +- `cargo fmt --check` +- `git diff --check HEAD^1..HEAD` +- `cargo check -p yoi` +- `cargo test -p yoi plugin_cli` +- `cargo test -p yoi-plugin-pdk template` +- `nix build .#yoi --no-link` + +補足: +- 初回 `nix build .#yoi --no-link` は `aws-lc-sys` build 中に `No space left on device` で environment failure。 +- Orchestrator worktree の Cargo build artifacts を `cargo clean` で削除してから再実行し、Nix build は成功しました。 +- `nix path-info -S .#yoi`: `112260512` + +Validation log: +- `/run/user/1000/yoi/yoi-orchestrator/bash-output/bash-Q0KE3A.log` + +---