FACTUAL ACTIVITY RECORD · 実際の作業をもとにした活動記録
Pencil作業を安全なライフサイクルへ整える
document照合、公式Export、保存、ownershipに応じた終了とruntime resetを一つの契約にする
目的
Pencil Desktopでのデザイン作業には、対象documentの取り違え、physical exportの証拠不足、未保存変更の破棄、GUI runtimeの終了漏れを防ぐ一貫した状態契約が必要だった。
authoring surfaceを固定し、開始前の確認から保存、export、終了までを再現できる順序に揃え、失敗や承認待ちでも安全に停止できるworkflowを目指した。
実装
.agents/skills/pencil-design-workflow/SKILL.mdで、preflight、launch/connect、identity-check、work、export、verify/save、teardownを順に進むbounded lifecycleを定義した。各stateの前提を満たさない限り後続へ進まず、待機中も別surfaceから同じartifactを並行操作しない。
authoringはPencil Desktop + MCPへ固定した。active documentのphysical .pen pathがcanonical pathと一致するまでread、write、exportを行わず、DesktopやMCPが利用できない場合もIDE extension、CLI、headless処理へ切り替えずwaitingまたはblockerを返す。
physical exportは、identity確認済みの同じdocumentを保ったまま、Computer UseでPencil Desktopの公式Export UIを操作する手順にした。format、scale、出力pathを固定し、出力fileの存在、寸法、frameとの対応、visual acceptanceを確認する。MCP screenshotやbase64 resultはlayout確認には使えてもphysical evidenceの代わりにしない。
- Computer Use開始後、最初のapp state取得より前に
list_apps()でPencilの起動状態を記録する。 - 起動ownershipを
user-owned、task-owned、unknownへ分け、未保存変更の所有者が不明なら終了しない。 - task-ownedで保存済みの場合だけComputer Useを維持したまま通常終了し、終了後はappを再起動し得るstate取得を使わず
list_apps()で停止を確認する。 - 最後に
mcp__node_repl__js_reset({})を1回だけ実行し、その後Computer Useを再利用しない。toolがない、または失敗した場合はcleanup完了とせずblockerを返す。
Desktop UI exportの再試行は、fresh stateから根拠のある原因を一つ直した1回だけに制限した。同じerror、identity未確認、別surfaceへの切り替えを繰り返さず、保存状態とartifact不変性を確認して停止する。.pen本文へのshell、generic file tool、scriptによる直接accessも禁止した。
agent定義、CEO向けprompt、運用文書、handoff例、review checklistも同じcontractへ同期した。確認中に、古いsurface説明、teardownのownership順序、direct access禁止、runtime resetの具体的手順が不足していることが見つかり、reset toolが使えない場合までfail-closedになるよう修正した。
1. `preflight`: repository、branch、対象file、Task acceptance、Pencil Desktop / MCP availabilityを確認する
2. `launch/connect`: Pencil Desktopを起動しMCPへ接続する
3. `identity-check`: active documentと対象physical `.pen`が一致することを確認する
4. `work`: Task scope内のread / authoring / layout確認を行う
5. `export`: Taskで要求された時だけDesktop公式Export UIをComputer Useで操作して書き出す
6. `verify/save`: physical outputと保存済み`.pen`を検証する
7. `teardown`: Computer Use runtimeを維持したままtask-owned Pencil Desktopを先に終了確認し、その後GUI automation runtimeをcleanup / resetする図を描画しています…
確認したこと
確認結果
Pencil Desktop + MCPへのsurface固定、document identity、公式Export UI、明示Save、安全なteardownが一つの状態契約として反映された。
project設定とagent定義のTOML parseに成功し、agent inventory 9、thread上限12、delegation depth 1が維持された。
reset contractとfail-closed分岐の横断検索、古いsurfaceと曖昧なcleanup参照のnegative search、secret scan、差分検査が成功した。
cutoff時点でworkflowと運用文書は対象へ反映されていた。個別productのdesign変更や、全failure pathを実際のPencil sessionで通す検証はこのActivityの範囲に含めていない。
完了とした根拠
開始から終了までのstate、physical export、保存、ownership、retry、runtime resetの契約が設定・Skill・運用文書へ揃い、構文・検索・差分検査に成功して対象へ反映されたことをもって完了とした。