137 lines
7.9 KiB
Markdown
137 lines
7.9 KiB
Markdown
# Task: Integrate youth-facing AI Design client changes
|
|
|
|
## Identity
|
|
|
|
- Task ID: 20260902-design-youth-client-integration-7a6d3c92
|
|
- Mode: Integration
|
|
- Branch: codex/20260902-design-youth-client-integration-7a6d3c92-design-youth-client-integration
|
|
- Worktree: D:\Datas\OthersProjects\makelore-design-youth-integration-7a6d3c92
|
|
- Base commit: 7552cf59526449c29d663a769c0fb62d84a1a759
|
|
- Owner: codex-root
|
|
- Status: Ready for Integration
|
|
|
|
## Scope
|
|
|
|
- Integrate reviewed Design Youth source commit
|
|
`0fd32a2d49045a8f9e7f2e19ba6477f48f93e30c` onto the current client frontier
|
|
`7552cf59526449c29d663a769c0fb62d84a1a759`.
|
|
- Replace the default professional field matrix with conversation plus one compact
|
|
“我的创作” card for creators aged 8-16, while retaining contextual “精细调整”.
|
|
- Preserve the V2 Current Specification reducer, immutable Quote confirmation,
|
|
Task/Asset reconciliation, stable operation identities, and Main-owned transport.
|
|
- Own the integration record, canonical current-state reconciliation, cross-frontier
|
|
verification, and safe promotion to local `main`.
|
|
- Correct the current frontier's eager CommonJS load of the ESM-only Pi package
|
|
manager, which the integrated Electron E2E exposed before any Design page opened.
|
|
|
|
## Intent And Constraints
|
|
|
|
- One understandable default serves creators aged 8-16; there is no separate age or
|
|
expert mode. Advanced controls remain progressive disclosure over canonical state.
|
|
- Direct choices use existing typed commands. Renderer drafts, assistant deltas,
|
|
Quote/Task events, and localized copy never become Specification authority.
|
|
- Known compiler/Task issues render code-based youth-facing Chinese copy; unknown
|
|
messages use a fixed safe fallback rather than raw server or Provider text.
|
|
- Do not add or change a database migration, DTO/API, semantic store, compatibility
|
|
layer, Provider route, pricing path, deployment, publication, push, or paid request.
|
|
- Keep the Pi package-manager correction limited to loading its existing dependency
|
|
on demand for remote Device Package installation; do not change package semantics.
|
|
- Preserve the two user-owned untracked records in the root checkout exactly as-is:
|
|
`20260901-package-122-c5e8.md` and `20260901-package-123-d7f3.md`.
|
|
- The source task record is read-only evidence. The integrated default branch will
|
|
retain this integration task and canonical memory, not import a second active task
|
|
ownership record.
|
|
|
|
## Concurrent Task Gate
|
|
|
|
- Task ID: `20260902-design-youth-client-integration-7a6d3c92`
|
|
- Mode: Integration
|
|
- Branch: `codex/20260902-design-youth-client-integration-7a6d3c92-design-youth-client-integration`
|
|
- Worktree: `D:\Datas\OthersProjects\makelore-design-youth-integration-7a6d3c92`
|
|
- Base commit: `7552cf59526449c29d663a769c0fb62d84a1a759`
|
|
- Ownership result: Claimed in an independent linked worktree. The preceding Model
|
|
Tools integration lock is complete and released; its exact client frontier is this
|
|
task's base commit.
|
|
- Other local state: root `main` contains only the two allowlisted user-owned untracked
|
|
task records. They are outside the source commit's changed paths and remain untouched.
|
|
- Gate result: Passed.
|
|
|
|
## Project Context Loaded
|
|
|
|
Read:
|
|
- the startup memory set, memory index, project positioning, success criteria,
|
|
decision index, current state, system overview, business rules, and ADR-007;
|
|
- source task `20260902-design-youth-client-7c5e3a82`, its exact commit boundary,
|
|
verification evidence, follow-ups, and promotion candidates;
|
|
- current Model Tools integration record and its released frontier.
|
|
|
|
Relevant understanding:
|
|
- The Current Specification remains the only semantic authority. The Creation Card
|
|
and Fine Tune drawer are projections/editors over the existing V2 reducer.
|
|
- Main remains the only Works Square transport and secret owner. Generation confirms
|
|
only an immutable Quote ID; public copy must not expose Provider internals.
|
|
- Youth readiness language may offer to check a production plan, but must not claim
|
|
server readiness before concrete Quote blockers have been evaluated.
|
|
- Source verification already covers responsive composition, direct edit, chat,
|
|
Quote/Task flow, stable Shot identities up to 24, terminal Quote-blocked settlement,
|
|
safe issue copy, typecheck, lint, build, broad tests, and Electron E2E.
|
|
- The new frontier changes Coding model tools/device packages and canonical memory,
|
|
not the ImageCanvas product/test files. Canonical documentation must be reconciled
|
|
in this integration task rather than overwritten from the older source base.
|
|
- Planning Gate result: Passed.
|
|
|
|
## Outcome
|
|
|
|
- Integrated reviewed source `0fd32a2d49045a8f9e7f2e19ba6477f48f93e30c`
|
|
onto the exact released Model Tools frontier with merge
|
|
`16157388afc2f6103aaee0bfd3c4e4e80c8fec48` and no source conflict.
|
|
- Canvas now presents one conversation-first “我的创作” card, A/B/C youth choices,
|
|
“你帮我选”, responsive single mounting, and contextual “精细调整” while the
|
|
server-owned Current Specification remains the only semantic authority.
|
|
- Quote blockers are revision-bound and terminal blocked responses/events settle
|
|
pending operations. Compiler and Task issues use code-based youth-facing Chinese
|
|
copy with fixed unknown fallbacks instead of raw technical messages.
|
|
- Fine Tune preserves stable Shot ids, timing/camera/framing/motion/focus/transition
|
|
metadata, supports the full 24-Shot server contract, and treats a cleared beat as
|
|
explicit deletion rather than submitting an invalid null value.
|
|
- The integrated Electron check exposed a pre-existing current-frontier startup
|
|
blocker before the Design page opened: Vite externalized an ESM-only static Pi
|
|
package-manager import as top-level CommonJS `require`. Commit
|
|
`c5447ae90c434c06dbafa724b229d8459cb829d0` now dynamically imports that existing
|
|
module only for remote Device Package installation; package semantics are unchanged.
|
|
- Removed the imported source task record from default-branch ownership scope; this
|
|
integration record and canonical current state contain the promoted evidence.
|
|
- No database migration, public DTO/API, second semantic store, compatibility layer,
|
|
Provider activation, paid generation, package, deployment, publication, push, or
|
|
PR was added or performed.
|
|
|
|
## Verification
|
|
|
|
- `corepack pnpm exec vitest run tests/unit/youth-form-projection.test.ts tests/unit/youth-creation-card.test.tsx tests/unit/youth-issue-copy.test.ts tests/unit/fine-tune-drawer.test.tsx tests/unit/image-workspace-store.test.ts tests/unit/image-canvas-page.test.tsx` — 6 files / 40 tests passed on the integrated frontier.
|
|
- `corepack pnpm exec vitest run tests/unit/device-package-manager.test.ts` — 5 tests
|
|
passed after the ESM loading correction.
|
|
- `corepack pnpm run typecheck` — passed before and after the correction.
|
|
- Scoped ESLint over all Design Youth source/tests and the corrected Device Package
|
|
manager — passed.
|
|
- `corepack pnpm run build:vite` — passed; only existing chunk-size and mixed
|
|
static/dynamic import warnings were reported. The active Main chunk contains the
|
|
expected dynamic Pi import and no eager Pi package-manager `require`.
|
|
- The first Electron run deterministically failed 2/2 at app launch with
|
|
`ERR_PACKAGE_PATH_NOT_EXPORTED`, before either test reached Canvas. After
|
|
`c5447ae`, the identical
|
|
`corepack pnpm exec playwright test tests/e2e/image-workspace-v2.spec.ts` run passed
|
|
2/2 in 3.8 seconds, covering Prompt Museum isolation plus desktop/375 px/768 px
|
|
Design conversation, direct edit, Quote confirmation, and Task flow.
|
|
- `check_project_docs.py` and task-aware `check_doc_drift.py` — passed after the
|
|
imported source task record was removed from the final integration tree.
|
|
|
|
## Follow-ups
|
|
|
|
- Run moderated usability sessions with creators aged 8-16 after packaging.
|
|
- Production package/deployment and real-account Design V2 smoke remain separate
|
|
release gates; paid Provider activation still requires explicit authorization.
|
|
|
|
## Promotion Candidates
|
|
|
|
- None recorded.
|