Keep Canvas creation identity on retry and simplify the yellow rail
This commit is contained in:
1 parent
f34e651774
commit
ca546c987c
10 files changed
+379
-34
No files matched your search
@@ -0,0 +1,80 @@
|
||||
# Task: Remove creation copy and diagnose Canvas project creation timeouts
|
||||
|
||||
## Identity
|
||||
|
||||
- Task ID: 20261014-canvas-create-recovery-a72d49e6
|
||||
- Mode: Feature
|
||||
- Branch: codex/20261014-canvas-create-recovery-a72d49e6-canvas-create-recovery
|
||||
- Worktree: /Users/chillishark/Makelore 麦洛/.codex-worktrees/makelore/20261014-canvas-create-recovery-a72d49e6
|
||||
- Base commit: f34e651774beb6a2a213b5711f2ffb887d22d4b7
|
||||
- Owner: codex-root
|
||||
- Status: Ready for Integration
|
||||
|
||||
## Scope
|
||||
|
||||
- Remove the exact create-dialog description, change the Canvas rail from pale lavender to pale yellow, diagnose actual Canvas project creation timeouts, and implement the smallest evidenced safe recovery/fix.
|
||||
|
||||
## Intent And Constraints
|
||||
|
||||
- User explicitly requests the copy removal and timeout diagnosis, then steers the same task to pale-yellow background. Main remains the sole authenticated network authority; preserve real projects/drafts/accounts, recent sidebar changes, compact layout and idempotent command boundaries. Do not blindly replay unknown create requests, delete real data, trigger paid generation, deploy backend services, change runtime auth/contracts or edit other owned worktrees. Preserve primary checkout and all existing runtime features. Earlier user merge/push/temporary-app update/cleanup authorization persists, but fresh runtime state must be verified before delivery.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Removed the exact desktop creation description and disabled its absent aria description; Canvas shared rail surface is pale yellow #fff9e8, with Code recipes preserved. Both creation dialogs hold a distinct creation intent. Any failed request for unchanged intent/name reuses its original server clientWorkspaceId; a new dialog or modified name creates a new intent, and repeated concurrent submissions share one in-flight request. Account/logout/reset generations prevent old responses from changing another account or reset store. Create/rename name input is disabled during submission. README synchronized.
|
||||
|
||||
## Verification
|
||||
|
||||
- Exact runtime failure confirmed through the current authenticated local Host API: Canvas bootstrap 504/30015ms with DESIGN_WORKSPACE_REQUEST_TIMEOUT. Native telemetry also showed simultaneous ~30s Canvas, Agent and teacher cloud failures. Public Square capabilities returned actual JSON200/0.17s, so reachable upstream was verified. Fresh current pointer/Main/PPID/profile guard allowed only NetworkService PID35175 SIGTERM; Chromium rebuilt PID71263. Main35142, Renderer35176 and pointer SHA remained unchanged. Same authenticated readonly bootstrap then returned200/116ms and 5 existing workspaces; requested Autumn/秋天 was absent. No create replay, model call, paid generation, binding operation or Main restart was performed. Underlying NetworkService hang trigger is not proven; recovery establishes the affected transport path. Receipt under .trial-runtime/canvas-create-recovery-20261014-a72d49e6/network-recovery-receipt.json.
|
||||
- Standard typecheck, scoped lint, default full build:vite, whitespace and feature documentation drift passed; 81 focused unit tests in4 files passed, including API/store identities/auth/races and both UI scopes. Isolated Electron Canvas V2 acceptance passed (1 test, 7.0s), including desktop/compact split, draft/plan/production history and new creation popup; pale-yellow surface and absent exact description checked. Inspected final creation-dialog screenshot. Independent source/concurrency/auth review passed. Logs and screenshots retained outside source checkout in .trial-runtime/canvas-create-recovery-20261014-a72d49e6.
|
||||
|
||||
## Follow-ups
|
||||
|
||||
- Unified update coordination chat 01a12eba-e98b-76a3-8fd5-206f2820d623 notified under direct previously verified human coordination authorization. It is currently preparing a separate Code Main diagnostic change. Current runtime pointer still says436, but actual stable alias points at WeChat name-edit Renderer f1dab; that peer file activation is awaiting native metadata finalization. Any final build/update must preserve actual f1dab product changes and freeze the real runtime pair; do not overwrite them using stale current.json alone. Primary checkout remains occupied/untouched. Native user is actively navigating, so avoid racing UI reloads or discarding work; no whole-app restart has been performed.
|
||||
|
||||
## Promotion Candidates
|
||||
|
||||
- None recorded.
|
||||
|
||||
## Project Context Loaded
|
||||
|
||||
Task context:
|
||||
- Task ID: 20261014-canvas-create-recovery-a72d49e6
|
||||
- Mode: Feature
|
||||
- Branch: codex/20261014-canvas-create-recovery-a72d49e6-canvas-create-recovery
|
||||
- Worktree: /Users/chillishark/Makelore 麦洛/.codex-worktrees/makelore/20261014-canvas-create-recovery-a72d49e6
|
||||
- Base commit: f34e651774beb6a2a213b5711f2ffb887d22d4b7 (fresh origin/main)
|
||||
- Ownership: official start/check/status match; occupied dirty primary teacher-consensus checkout remains untouched.
|
||||
- Other tasks: 74 peer records read-only Scope/Intent/Promotion inventory at /tmp/makelore-canvas-create-peer-scopes.json. Current WeChat local-remark task targets another Renderer surface and runtime436; runtime delivery must preserve it. Prior Canvas/sidebar/consolidation sources are ready and integrated; Code session diagnosis is independent. Old unrelated placeholder scope remains unknown, without a dependency.
|
||||
- Overlap/conflict: no semantic conflict in source. Runtime updates require a fresh current pointer/build-pair check; no source record edits or adoption.
|
||||
|
||||
Read:
|
||||
- AGENTS.md, existing README product state and prior same-conversation accepted context
|
||||
- .project-docs/05-agent-entry/read-before-planning.md, memory-index.md, planning-gate.md
|
||||
- Own task, positioning, current-state integrated snapshot, decision-index, system-overview
|
||||
- business-rules, success-criteria; evidence/reflection/commitment indexes in Canvas/runtime context
|
||||
- adr-007-ai-design-living-form-v2.md; peer task Scope/Intent/Promotion sections
|
||||
- maintain-project-docs skill; existing design skill remains applicable only to the requested color/copy consistency
|
||||
|
||||
Relevant understanding:
|
||||
- Goal: Chinese project-based creative client, preserving authoritative cloud Living Form, server reducer, quotes/tasks/assets.
|
||||
- Current focus: all prior Canvas/Code rail refinements are in main f34; live full trial436/35142 uses a frozen compiled snapshot and main-owned development login.
|
||||
- Active scope: exact description removal, pale-yellow rail, evidenced create timeout cause and recovery.
|
||||
- Constraints/decisions: Main owns auth/network. Unknown mutations must reuse stable identities and reconcile canonical server state; no local semantic fallback or fabricated successful form.
|
||||
- Evidence: current native Canvas shows project names but its main detail remains loading; screenshots show create timeout. Main createWorkspace performs POST then getWorkspace. Renderer currently generates a new clientWorkspaceId on every create retry. Neither observation proves which live leg timed out.
|
||||
- Files/modules: ImageWorkspaceSidebar, shared sidebar CSS, DesignWorksRail compact dialog, image-workspace client/store, WorksSquareDesignWorkspace/request deadline, focused tests and runtime evidence.
|
||||
- Stale/unknown: canonical presentation descriptions predate accepted V2 layout; preserve latest source. Live network stack may differ from source evidence, and NetworkService reset was once effective without a permanent root cause; do not assume recurrence or restart the whole app before precise read-only observations.
|
||||
|
||||
Gate result:
|
||||
- Passed
|
||||
|
||||
## Plan
|
||||
|
||||
- Remove the quoted description and use pale-yellow rail surface, keeping shared Code recipes.
|
||||
- Independently trace the Main create/load timeout path and Renderer retry identity; obtain precise read-only current UI/network evidence to identify the failed stage before changing timeout or transport behavior.
|
||||
- Fix evidenced behavior, verify timeout/retry and existing desktop/compact creation with focused tests, typecheck/lint/full build. Deliver through a fresh verified runtime tree while preserving active work; record truthful native and fixture limits, then commit/handoff or push within existing authorization.
|
||||
|
||||
## Delivery Handoff
|
||||
|
||||
- Product commit and final HEAD will be reported to the authorized coordination chat. This clean Ready source contains Renderer-only changes; Main/shared/resources are unchanged against runtime436. Source implementation and live network recovery are separately evidenced.
|
||||
- A precise read-only real-project bootstrap recovered; no real Autumn project was created. Real UI color/copy activation remains for the combined update, because actual WeChat f1dab files are active while current.json still points at436, and another Code Main update is in progress. Preserve actual newer Renderer feature source and active user work rather than blindly replacing the old pointer's tree.
|
||||
- Any different title or explicitly reopened create dialog is a new creation intent; an older transport-unknown project may still exist on the server. Never delete it or infer identity from a matching name. This patch prevents same-intent retries from making extra identities; it does not establish the underlying NetworkService hang trigger or prove real model generation.
|
||||
Reference in new issue
Block a user