134 lines
6.9 KiB
Markdown
134 lines
6.9 KiB
Markdown
# Task: Make AI Design conversation primary
|
||
|
||
## Identity
|
||
|
||
- Task ID: 20260903-design-guided-conversation-client-8b4e1c72
|
||
- Mode: Feature
|
||
- Branch: codex/20260903-design-guided-conversation-client-8b4e1c72-design-guided-conversation-client
|
||
- Worktree: D:\Datas\OthersProjects\.codex-worktrees\makelore\20260903-design-guided-conversation-client-8b4e1c72
|
||
- Base commit: 14efa99f0ca7a02d6ae4e08311f125c56b9399a6
|
||
- Owner: codex-root
|
||
- Status: Ready for Integration
|
||
|
||
## Scope
|
||
|
||
- Make the AI Design conversation the primary creation surface and remove the
|
||
impression that a young creator must complete a design form before the Agent can
|
||
help.
|
||
- Reframe the canonical Specification projection as a compact, secondary “current
|
||
understanding” summary with optional detail editing; keep Quote, Task, Asset, and
|
||
typed reducer behavior unchanged.
|
||
- Add clear first-use guidance that invites a free description and gives a few
|
||
example starting points without turning them into required choices.
|
||
- Own only the ImageCanvas Renderer presentation and focused unit/Electron tests.
|
||
Do not change Electron Main transport, server DTOs, Plugin navigation, packaging,
|
||
deployment, publication, or paid generation.
|
||
|
||
## Intent And Constraints
|
||
|
||
- Preserve ADR-007: the server Current Specification remains the single semantic
|
||
authority, Renderer drafts stay local until accepted, and generation still uses
|
||
an immutable Quote ID.
|
||
- Conversation must remain visually and behaviorally usable when the Specification
|
||
is sparse. The interface should invite the user to describe subject, scene, and
|
||
feeling in their own words, not enumerate professional fields or force option
|
||
cards.
|
||
- The compact summary may show what the Agent currently understands and expose an
|
||
optional detail drawer, but it must not compete with the composer for attention or
|
||
claim readiness before server validation.
|
||
- Keep Chinese-only copy, the existing light visual language, keyboard behavior,
|
||
reduced-motion support, 40–44 px interactive targets, and current responsive
|
||
single-mount rules.
|
||
- Preserve the prior definitive-failure versus transport-unknown behavior and all
|
||
stable operation identities.
|
||
|
||
## Concurrent Task Gate
|
||
|
||
- Task ID: `20260903-design-guided-conversation-client-8b4e1c72`.
|
||
- Mode: Feature.
|
||
- Branch/worktree:
|
||
`codex/20260903-design-guided-conversation-client-8b4e1c72-design-guided-conversation-client` /
|
||
`D:\Datas\OthersProjects\.codex-worktrees\makelore\20260903-design-guided-conversation-client-8b4e1c72`.
|
||
- Base commit: `14efa99f0ca7a02d6ae4e08311f125c56b9399a6`.
|
||
- Ownership result: isolated and exclusively claimed by `codex-root`; the root
|
||
`main` worktree and its three foreign untracked task records remain untouched.
|
||
- Peer assessment: the only planning Design peers are an old test-only Enter change
|
||
on an August baseline and an undefined historical assessment task. Neither owns
|
||
the current ImageCanvas production surface. Plugin navigation and other active
|
||
tasks use separate worktrees and have no path overlap.
|
||
- Gate result: Passed.
|
||
|
||
## Project Context Loaded
|
||
|
||
- Read the startup memory set, active task, integrated state, decision index,
|
||
ADR-007, system overview, module/data flow, Design business rules and success
|
||
criteria, evidence/reflection/commitment/stale indexes, the integrated youth Design
|
||
source, the command-outcome source, and relevant peer scopes.
|
||
- Confirmed that the existing “我的创作” card is a projection, not semantic
|
||
authority. Making it secondary is compatible with ADR-007 and does not require a
|
||
DTO or reducer change.
|
||
- `project-positioning.md` and the top-level project success placeholder remain
|
||
incomplete; concrete product constraints come from `AGENTS.md`, current state,
|
||
ADR-007, architecture, domain rules, and the previous integrated Design tasks.
|
||
- Planning Gate result: Passed.
|
||
|
||
## Outcome
|
||
|
||
- The conversation is now the dominant creation surface on desktop and mobile. Its
|
||
first-use copy teaches creators to describe a subject, scene, or feeling in their
|
||
own words, and example sentences only prefill the composer.
|
||
- Ordinary server Decision Prompts are no longer rendered as option-card forms or
|
||
allowed to hold the youth-facing projection in an artificial “choice” phase.
|
||
- The secondary panel is now “AI 听懂的想法”: it states that it updates from the
|
||
conversation, keeps the concise summary and production readiness visible, and
|
||
places constraints, references, and video details behind an optional disclosure.
|
||
- Manual field editing remains available as an explicitly optional action. Quote,
|
||
Task, Asset, typed reducer, stable operation identity, and Main transport behavior
|
||
are unchanged.
|
||
- The desktop layout gives materially more width to conversation while preserving a
|
||
single mounted summary/production surface at each responsive breakpoint.
|
||
|
||
## Verification
|
||
|
||
- Red baseline: the two initial component files produced `8 failed / 7 passed`,
|
||
confirming the old headings, mobile entry, and Decision Prompt cards still drove
|
||
the experience.
|
||
- Focused conversation/card/projection tests: `22 passed`.
|
||
- Adjacent ImageCanvas, Fine Tune, issue-copy, and store regression: `45 passed`.
|
||
- TypeScript `tsc --noEmit`: passed.
|
||
- Changed-file ESLint: passed.
|
||
- Production Vite/Electron build: passed; only existing browserslist, dynamic-import,
|
||
and chunk-size warnings were emitted.
|
||
- Electron/Playwright Design workspace flow: `2 passed`, covering desktop/mobile
|
||
responsive mounts, optional manual adjustment, conversation, Quote, and generation
|
||
confirmation.
|
||
- Full unit run reached `1866 passed / 2 skipped / 1 failed`; the sole failure was an
|
||
unrelated Pi real-process timing assertion (2.232 seconds against a 2-second
|
||
threshold) under parallel load. Its isolated rerun passed `5/5`.
|
||
- Coding chat pressure test, which the package script runs separately: `1 passed`.
|
||
- `git diff --check`: passed.
|
||
|
||
## Follow-ups
|
||
|
||
- None recorded.
|
||
|
||
## Promotion Candidates
|
||
|
||
- Target: `.project-docs/30-worklog/current-state.md` and the canonical AI Design UX
|
||
description.
|
||
- Proposal: record the MakeLore AI Design surface as conversation-primary. The
|
||
persistent Specification projection is a compact “AI understood” summary and
|
||
optional manual-edit surface, never a prerequisite form for beginning or
|
||
continuing creation.
|
||
- Evidence: explicit user direction, red tests demonstrating the former form-led
|
||
behavior, 45 focused/adjacent passing tests, production build, and 2/2 Electron
|
||
end-to-end flow.
|
||
- Future impact: new Specification fields must not automatically become visible
|
||
questions or controls; Agent guidance should remain natural language and request
|
||
only one consequential clarification at a time.
|
||
- Semantic conflicts: this supersedes the earlier “persistent Creation Card as the
|
||
primary co-authored form” presentation while preserving ADR-007 authority,
|
||
reducer, Quote, and production boundaries.
|
||
- Human confirmation: already supplied by the user in this task; no additional
|
||
product-direction confirmation is required during integration.
|