Skip to content

Goal-driven onboarding, card weights and station gap feedback - #32

Merged
Yaphet2015 merged 3 commits into
mainfrom
goal-weights
Oct 31, 2026
Merged

Yaphet2015 merged 3 commits into
mainfrom
goal-weights

Conversation

@Yaphet2015

Copy link
Copy Markdown
Owner

Implements spec v2 (goal + card weights), keeping the canvas almost unchanged and putting the goal experience in the Agent panel.

What changed

  • Onboarding: ordinary chat questions (3–5, one at a time, with tappable chips) collect deliverable, success criteria, constraints and experience into a structured plan.goal; the last message shows a goal summary and the existing "开始第 1 站" button.
  • Cards: a 来源 · 截至 YYYY-MM line under the body; station progress dots (filled = mastered, ring = read, none = not started).
  • Weights: background / core / hard cards look the same and differ only in the footer (「懂了」 / choice question / question + input). A wrong answer promotes one level; the new footer fades in over 240ms.
  • Agent panel: goal pin row under the header (editable by saying 「改目标…」, tint sweep on change). After a station, numeric gaps are calculated in code from the model's measured values (no model-written numbers), followed by a focus route diff and a collapsible 「我的产出物 · n/5 块」 attachment that is expanded only on the newest message.
  • Copy cleanup: removed the 「4 拍」/「第 N 拍」 labels.
  • Older canvases load with default values.

Verification (Linux box)

  • tsc (renderer + electron) pass
  • Vitest: 50 files / 467 tests pass
  • vite build pass
  • Playwright: goal-weights, chat, kickoff, flow: 26/26 pass, with light/dark screenshots

Not verified: real LLM calls, Electron packaging and macOS-only behavior.

- Onboarding asks 3-5 ordinary chat questions with chips and stores a structured goal
- Cards show source/date line and progress dots; background/core/hard footers with one-step promotion
- Agent panel pins the goal line; after each station the gap is computed in code and a focus route edit is proposed
- Collapsible artifact attachment tracks filled blocks
- Copy cleanup: drop the 4-beat labels
…tes, 你觉得呢? placeholder

- Background cards only count as read; mastery needs core/hard cards
- Card sources must be 'Name https://url' and open externally; unlinked sources are hidden
- Gap results carry basis measured/estimated; estimates show their reasoning
- Prompts forbid echoing goal targets as current values or unsourced numbers
- Opt-in real-model e2e (REAL_LLM=1) for 构建我的投资组合
@Yaphet2015
Yaphet2015 merged commit 00046e4 into main Oct 31, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant