yoi/.yoi/tickets/00001KVMT2J25/thread.md

6.6 KiB

作成

LocalTicketBackend によって作成されました。


State changed

Panel returned ready Ticket 00001KVMT2J25 to planning for requirements sync. This is not Queue routing and must not start implementation.

User refinement instruction

今あるフロントSPAをnodeからdenoにしたい。 https://hareworks.net/blog/tech/sveltekit-with-deno


Comment

Intake requirements sync result

対象 Ticket 00001KVMT2J25 の item/thread/artifacts と関連 Ticket/source を確認した結果、今回の refinement instruction はこの Ticket の既存スコープとは一致しないため、00001KVMT2J25 を ready に戻したり queue routing したりせず、requirements sync の結果としてここに記録する。

User claims / request snapshot

  • ユーザーは「今あるフロントSPAを node から deno にしたい」と述べた。
  • 参考 URL として https://hareworks.net/blog/tech/sveltekit-with-deno が提示された。

Confirmed facts / sources

  • 00001KVMT2J25 の item は「Attach mid-stream TUI client without losing in-flight content」で、protocol / pod / TUI reconnect / stream-state の実装 Ticket である。
  • 00001KVMT2J25 の thread には、Panel が ready から planning に戻した理由として上記 frontend/Deno refinement instruction が記録されている。
  • 関連する closed Ticket 00001KVMFFYVX は Workspace web control plane bootstrap で、SvelteKit static SPA skeleton を web/workspace に追加した作業である。
  • web/workspace/README.md は現在の package manager を npm とし、npm install, npm run check, npm run build を案内している。
  • web/workspace/package.json は SvelteKit static SPA の scripts / devDependencies を持ち、package-lock.json が存在する。
  • web/workspace/svelte.config.js@sveltejs/adapter-static を使い、build/ に static output を出す設定である。
  • package.nixweb/workspace/node_modules, .svelte-kit, build を source filter から除外している。
  • devshell.nix には deno が含まれている。

Intake conclusion

  • この refinement は 00001KVMT2J25 の late-attach / stream-state work item とは別目的であり、同一 Ticket の requirements / acceptance criteria に混ぜると work item が破綻する。
  • 既存の frontend bootstrap Ticket 00001KVMFFYVX は closed であり、現在の npm 採用は当時の bootstrap decision / implementation detail として記録されている。Deno 移行は closed Ticket の再オープンではなく、別の concrete follow-up Ticket として扱うのが妥当。
  • 現時点では、ユーザーが「新規 Ticket を作成して」と明示していないため、duplicate/new Ticket は作成しない。

Candidate follow-up draft if user approves new Ticket

Title: Workspace web SPA の frontend tooling を npm/Node から Deno に移行する

Readiness: implementation_ready Risk flags: [frontend-tooling, packaging, nix-source-filter, validation]

Requirements:

  • web/workspace の開発・検証・build 手順を npm/Node 前提から Deno 前提へ移行する。
  • SvelteKit static SPA であること、Rust backend が business/API authority を持つこと、static output が web/workspace/build/ に出ることは維持する。
  • web/workspace/README.md の package manager / command guidance を Deno 前提に更新する。
  • lockfile と依存関係管理を Deno 前提で明確にし、古い npm lockfile/source-of-truth が残る場合は理由を明示する。
  • generated artifacts (node_modules, .svelte-kit, build など) が git/Nix package source に混入しない状態を維持する。

Acceptance criteria:

  • web/workspace の check/build が Deno command で成功する。
  • README と project files から、通常の frontend 作業者が Deno で install/check/build できることが分かる。
  • npm lockfile / npm scripts / Node-only guidance が不要なら削除され、必要なら Deno 移行後も残す理由が code/docs に明確である。
  • package.nix / devshell / repository hygiene が Deno 移行後の generated artifacts と矛盾しない。
  • 既存の Rust backend static serving assumptions と .yoi records as authority の境界を変えない。

Implementation latitude:

  • Deno project layout は deno.json / deno.lock / deno task を使う形でよい。
  • SvelteKit/Vite を Deno の npm compatibility で動かすか、最小限の package metadata を残すかは実装時に選んでよい。ただし source-of-truth と command guidance は曖昧にしない。

Validation:

  • cd web/workspace && deno task check
  • cd web/workspace && deno task build
  • git diff --check
  • packaging/source-filter を変更する場合は nix build .#yoi --no-link または Orchestrator が妥当と判断する同等確認

Next routing recommendation:

  • 00001KVMT2J25 はこの refinement では implementation_ready に戻さない。
  • ユーザーが Deno 移行の新規 Ticket 作成を承認した場合、上記 draft を別 Ticket として materialize する。
  • ユーザーがあくまで 00001KVMT2J25 の差し替えを望む場合は、既存 Ticket を repurpose するのではなく、Orchestrator/maintainer に cancel/close/replacement 方針の判断を戻す。

Intake summary

ユーザーから、Deno 移行 refinement は 00001KVMT2J25 に誤って付いたものであり、00001KVMT2J25 は ready に戻してよいとの明示指示があった。再確認したところ、00001KVMT2J25 の body は late attach / in-flight stream snapshot の concrete work item で、readiness は implementation_ready、blocking open question はない。Deno 移行は別 Ticket 00001KVMV03QY として作成済みであり、本 Ticket の要件には混ぜない。


State changed

Deno 移行 refinement は誤付与として分離済み。00001KVMT2J25 は元の protocol reconnect / unfinished block snapshot Ticket として Orchestrator routing 可能な ready 状態へ戻す。queue routing や implementation start は行わない。