ticket: route wasm runtime and panel readiness e2e
This commit is contained in:
@@ -0,0 +1 @@
|
||||
{"id":"orch-plan-20260617-094906-1","ticket_id":"00001KV62PF32","kind":"accepted_plan","accepted_plan":{"summary":"Accept Panel startup latency E2E readiness correction. Add data-backed rows-ready event/helper/assertions using concrete fixture Ticket rows, keeping first-frame metric separate.","branch":"impl/00001KV62PF32-panel-rows-ready-e2e","worktree":"/home/hare/Projects/yoi/.worktree/00001KV62PF32-panel-rows-ready-e2e","role_plan":"Orchestrator creates dedicated implementation worktree and spawns Coder with write scope limited to that worktree. Reviewer will run read-only after implementation report. Can run in parallel with Plugin WASM runtime because source surfaces are distinct."},"author":"yoi-orchestrator","at":"2026-06-17T09:49:06Z"}
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
title: 'Panel startup latency E2E を一覧データ描画完了基準に修正する'
|
||||
state: 'queued'
|
||||
state: 'inprogress'
|
||||
created_at: '2026-06-15T16:44:06Z'
|
||||
updated_at: '2026-06-17T09:46:03Z'
|
||||
updated_at: '2026-06-17T09:49:19Z'
|
||||
assignee: null
|
||||
readiness: 'implementation_ready'
|
||||
risk_flags: ['panel', 'e2e', 'startup-latency', 'readiness-metric', 'ticket-list-rendering']
|
||||
|
||||
@@ -13,4 +13,85 @@ LocalTicketBackend によって作成されました。
|
||||
Ticket を `workspace-panel` が queued にしました。
|
||||
|
||||
|
||||
---
|
||||
|
||||
<!-- event: decision author: yoi-orchestrator at: 2026-06-17T09:49:06Z -->
|
||||
|
||||
## Decision
|
||||
|
||||
Routing decision: implementation_ready
|
||||
|
||||
Reason:
|
||||
- Panel Queue により routing が明示的に許可され、Ticket は `queued`。
|
||||
- Ticket body / thread / relations / OrchestrationPlan / Orchestrator workspace state を確認した。blocking relation はなく、planning に戻す concrete missing information はない。
|
||||
- Related `00001KV5MRH6D` は done で、first-frame latency E2E の前提を修正する follow-up として scope が明確。
|
||||
- 本 Ticket は Panel startup readiness metric の E2E correction に限定され、Panel ViewModel architecture / lifecycle semantics / complete live latency fix は non-goal として明確。
|
||||
- 同時 queued の Plugin WASM runtime work とは source surface が異なるため並行開始可能。
|
||||
|
||||
Evidence checked:
|
||||
- Ticket body/thread: first frame vs rows ready distinction、fixture row assertion、tests、acceptance criteria、validation を確認。
|
||||
- Ticket relations: outgoing `related 00001KV5MRH6D` のみで blocker なし。
|
||||
- OrchestrationPlan: 既存 record なし。
|
||||
- Orchestrator workspace: `/home/hare/Projects/yoi/.worktree/orchestration` は clean、`bcb8068e` 上。
|
||||
- Visible Pods: implementation child Pod なし。
|
||||
|
||||
IntentPacket:
|
||||
|
||||
Intent:
|
||||
- Panel startup latency E2E の primary readiness を `panel_ready` / first frame から、fixture の具体的 Ticket/Pod/Orchestrator row が取得・描画された `panel_rows_ready` 相当に修正する。
|
||||
|
||||
Binding decisions / invariants:
|
||||
- `panel_ready` は first visible frame として扱い、一覧 data-ready と混同しない。
|
||||
- Primary startup latency assertion/report は fixture row render readiness に置く。
|
||||
- Weak condition (`rows_rendered.len() >= N`) だけで pass にしない。
|
||||
- Expected Ticket id/title/state/row kind 等の実データ反映を確認する。
|
||||
- Background reload が hold されている間、first frame は出ても rows-ready は出ないことを確認する。
|
||||
- Existing Panel behavior / Ticket lifecycle / ViewModel architecture は必要以上に変えない。
|
||||
- E2E pass と manual/live validation を混同しない。
|
||||
|
||||
Requirements / acceptance criteria:
|
||||
- E2E が concrete fixture Ticket row render timing を rows-ready readiness として測る。
|
||||
- first frame だけでは main startup assertion が通らない。
|
||||
- Helper/event names/comments で first frame と rows ready の違いが分かる。
|
||||
- Delayed reload delays rows-ready metric but not necessarily first-frame metric。
|
||||
- Row readiness fails if expected fixture row is absent。
|
||||
- Existing Panel mouse / row selection E2E regression なし。
|
||||
- Report includes what before/after numbers measure: first frame, rows ready, full/background completion if measured。
|
||||
|
||||
Implementation latitude:
|
||||
- Existing `panel_ready` event can remain as first-frame event; add new `panel_rows_ready` event/helper/observer as needed。
|
||||
- Fixture data may use Ticket id/title/state; Pod/orchestration overlay rows optional unless useful。
|
||||
- Timing budget may reuse or adjust prior threshold, but must not permit 7s regression as pass without explanation。
|
||||
- If current harness cannot observe row metadata reliably, add e2e-test-only observer rather than relying on screen string heuristics alone。
|
||||
|
||||
Escalate if:
|
||||
- Current E2E harness cannot distinguish first frame from data-backed rows without broad redesign。
|
||||
- Stable timing threshold for rows-ready is too flaky。
|
||||
- Fixture row readiness depends on live workspace/global state rather than isolated fixture。
|
||||
- Fix would require Panel architecture/lifecycle semantics outside Ticket scope。
|
||||
|
||||
Validation:
|
||||
- `cargo test -p yoi-e2e --features e2e panel` or relevant narrow scenario。
|
||||
- `cargo test -p yoi-e2e --features e2e --no-run`。
|
||||
- `cargo check -p yoi-e2e -p yoi -p tui` if touched。
|
||||
- `cargo fmt --check`。
|
||||
- `git diff --check`。
|
||||
- `nix build .#yoi` if runtime/package/dependency changes occur。
|
||||
|
||||
Critical risks / reviewer focus:
|
||||
- row readiness is data-backed, not first frame。
|
||||
- expected fixture row specificity。
|
||||
- delayed reload ordering proves distinction。
|
||||
- no regression to Panel mouse / row selection E2E。
|
||||
- E2E isolation / no-provider / no-network。
|
||||
- report does not overclaim live startup fix。
|
||||
|
||||
---
|
||||
|
||||
<!-- event: state_changed author: yoi-orchestrator at: 2026-06-17T09:49:19Z from: queued to: inprogress reason: orchestrator_acceptance field: state -->
|
||||
|
||||
## State changed
|
||||
|
||||
Routing decision と accepted implementation/evidence plan を記録済み。blocking relation / unresolved OrchestrationPlan blocker はなく、Panel readiness E2E work は同時開始する Plugin WASM runtime work と主対象が異なるため、implementation side effects の前に `queued -> inprogress` acceptance を記録する。
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user