Changelog
All notable changes to aichat-studio (shell + convert) are documented here.
Format: keepachangelog.com · Semver: semver.org
[Unreleased]
Added
- Brand kernel sync — emerald token migration + product register anchors (PR #169) — 4 mg-* tokens swapped from indigo (
#4F46E5/#EEF2FF/#3730A3) to canonical emerald (#047857/#ECFDF5/#065F46) peraichathub/BRAND.md§2. New tokens:--accent-hover/--accent-line+ 5--mg-*aliases.--ink-4restored to canonical slate-500#64748B. Added PRODUCT.md (product register, 9-surface table) + DESIGN.md (token source-of-truth, namespace history, diff table vs canonical) at root for the frontend-design-reviewer agent. - Impeccable-distilled antipattern detector (PR #168) —
scripts/audit-design-tells.mjsships 7 regex rules (color cream / hero ceiling / tracking floor / all-caps body / z-index scale / motion bounce / copy buzzwords) vendored frompbakaus/impeccableApache 2.0. New scripts:audit:design:tells,audit:design:tells:strict,audit:design:all. - Husky pre-push + CI strict gate (PR #171, pending) —
.husky/pre-pushrunspnpm audit:design:tells:strict(~500ms) before remote push; CI verify job adds the same strict step betweenaudit:designandtypecheck. Catches design antipattern regressions before merge. - a11y followup — restore LH a11y 100 on 3 surfaces (PR #170, pending) — shell
/93→100, sandbox/sandbox/auth/96→100,/sandbox/billing/97→100. Droppedopacity-[0.72]from ProductGrid coming-soon cards (used dashed border for visual distinction); added<main>landmark wrappers to shell BaseLayout + 3 sandbox pages. Root cause:--ink-4canonical migration magnified an existing opacity-on-color contrast latent issue (#64748B × 0.72over cream = 2.73:1, fail AA).
Changed
- Renamed
studio→aichat-studio(L2 scope, PR #167) — npm root + 7 workspace packages (@studio/*→@aichat-studio/*), GitHub repo (zmuleyu/studio→zmuleyu/aichat-studio), shell-group manifest entry. Cloudflare Pages project, D1 databases, Worker, production domainstudio.aichathub.uk, and OAuth/Creem callbacks all KEPT unchanged (out of scope). Local filesystem directory rename pending post-merge per Phase D of the rename plan.
Docs
- Next-phase roadmap consolidated (this commit) — added ROADMAP.md at root tracking R1 (M1/M2/M3 authed UATs), R2 (F-A/F-E/#155 ship), R3 (infra parallel: cross-app token drift / sandbox SEO / focus-ring), R4 (S3 GA gate + ai-image-studio integration sketch). Updated AGENTS.md "当前阶段" line (was stale at S0/S1).
- 2026-06-08 prod Convert UAT (6 HARD findings) — 5 design specs added under
docs/specs/2026-06-09-*covering triage, source-slugs unification (#155 root), widget↔editor state bridge (F-E), widget→editor scroll affordance (F-A). 3 authed-UAT design+plan packs (M1/M2/M3) ready for execution once fresh auth captured.
[1.0.0] - 2026-06-02
Added
- Convert fork mode (milestone C) — character cards can be "forked" into tone-rewritten variants instead of platform-converted. Word-level DiffView surfaces what changed per field, segmented Convert/Fork tablist provides a11y-clean mode toggle, lineage hint toast pins the source card name with per-card-id dismiss persistence. Backend SSE batch path holds N×200 credits and single-debits on success (CreditDO unchanged). Fields capped at 3 per batch to bound worst-case waste before D7 client-disconnect ships in v1.0.1.
- Shell ProductGrid hub (milestone B) —
apps/shell/src/pages/index.astronow composes<ProductGrid />driven byapps/shell/src/data/products.tsregistry. Grid scalesgrid-cols-1 / md:grid-cols-2 / lg:grid-cols-3and handles ready (<a>) vs coming-soon (<div role=group>) variants automatically. Cross-device Playwright smoke covers sm 375 / md 768 / lg 1280 viewports.
Notes
Closes the 1.0 roadmap (docs/specs/2026-06-02-studio-convert-1.0-roadmap-design.md). Carry-overs explicitly deferred: D7 client-disconnect handling, impl-review M/S items, orphan-holds reconciliation cron — all tracked for v1.0.1 / v1.1.
[0.0.1] - 2026-06-02
Added
- Initial
CHANGELOG.md(single L2 source of truth for shell + convert) - Top-nav
✦ v0.0.1version chip rendering on both apps /whats-newand/convert/whats-newroutes rendering this changelogparseChangelogToputility in@aichat-studio/ui(pure TS, build-time parse)
This is milestone A of the 1.0 roadmap — version surfaces only. Convert fork mode (C) and shell product grid (B) ship later.