BOLT-1191: Shareable chart views via URL-encoded state
failedGeneralized useChartViewUrlState hook + wire SiteEnergyCharts as reference consumer. Encodes after/before/windowSize/hidden/chartZoom/expanded in URL so sharing /sites/abc/energy?... reproduces the exact view. Extends RESERVED_PARAM_KEYS in apps/dashboard/lib/filtering/url-params.ts. v2 rollout to ~17 other ChartContainer consumers is separate follow-up issues. Linear: https://linear.app/texture/issue/BOLT-1191. Queued — do NOT start until #11762 (BOLT-1160 Phase 3) merges and Richie gives the go-ahead.
Event Timeline
created
status_change
queued → blocked
status_change
blocked → queued
status_change
queued → blocked
status_change
blocked → queued
status_change
queued → in_progress
failed
lease expired — re-queued for retry
in_progress → queued
status_change
queued → in_progress
failed
lease expired — re-queued for retry
in_progress → queued
subagent_spawned
spawn claim: BOLT-1191: Shareable chart views via URL-encoded state
status_change
queued → in_progress
failed
lease expired — max retries reached, marking failed (poison pill)
in_progress → failed
subagent_completed
subagent done: FALSE COMPLETION: sub-agent (kimi-k2.7-code) spent 4m16s researching (SiteEnergyCharts, url-params.ts, useReportTimeControls, ChartContainer) but made ZERO commits — git diff vs origin/main is empty, working tree clean. The 'completed' result text was actually raw grep tool-output (file:line matches for 'presets'), not a synthesized final answer — matches the known result-extraction bug tracked in task 6f4f2df3 (toolUse-bearing turn text picked up as final). Re-spawning with explicit commit+push requirement.
subagent_spawned
spawn claim: BOLT-1191 retry: url state hook
status_change
failed → in_progress
failed
lease expired — max retries reached, marking failed (poison pill)
in_progress → failed
status_change
failed → in_progress
failed
lease expired — max retries reached, marking failed (poison pill)
in_progress → failed
status_change
failed → in_progress
failed
lease expired — max retries reached, marking failed (poison pill)
in_progress → failed
status_change
failed → in_progress
failed
lease expired — max retries reached, marking failed (poison pill)
in_progress → failed
status_change
failed → in_progress
failed
lease expired — max retries reached, marking failed (poison pill)
in_progress → failed