A preference-elicitation instrument in a role-play wrapper. The generic engine lives at reflect.meno.sh; the 高考志愿 variant (now its own repo meno-gaokao-counsellor) is live at gaokao.meno.sh.

Status: active · People: Zhonghao He, Tianyi Alex Qiu

Architecture — info flow & key algorithms

Codebase (2026-06-27): the 高考志愿 engine is now its own repo meno-gaokao-counsellorcore/ (engine) · serving/ (web) · data/ · prompts/ · human_modeling/ · miniprogram/. Extracted from reflection-game; see gaokao-standalone-plan. Paths below are the new layout.

flowchart TD
  subgraph INTAKE["① 入场 Intake · 4 页 + 每页 AI 对话(可语音)"]
    V["🎙 语音一段话<br/>/voice_profile?intake=1 → 自动填表"] -.-> A1
    A1["P1 专业选择 major@school"] -->|"core/resolve.py 实体解析"| A2["确认真实专业/学校"]
    A1b["P2 你的纠结 + 对未来的宏观思考<br/>free_text"] --> P0
    A3["P3 价值权重 + 毕业去向"] --> P0
    A4["P4 确定度 confidence"] --> P0
    CH["每页『和 AI 聊一聊你的想法』<br/>/intake_chat · 无状态"] -.-> P0
    A2 --> P0["build_narrative<br/>core/ranked.py · v4-pro"]
    P0 --> NAR[("画像 · point-form")]
  end
  subgraph LOOP["② 每一站 Per-Scene Loop"]
    NAR --> WTE{"WTE select_factor<br/>按 VOI 选未检视维度 target_dim<br/>core/wte · core/ranked"}
    WTE -->|"target_dim + scene"| UT["unified_turn(一次调用)<br/>场景叙事 + 调查员视角 + grounding<br/>core/ranked.py · deepseek"]
    UT --> EL["最想听你说 · 场景定制追问 elicit"]
    EL -->|"/rank_next + 答案"| UPD["update_narrative<br/>并入新信息 + 修正旧要点"]
    UPD --> NAR
    UT -.->|"随时可调排序"| RO["reorder · /rank_reorder"]
    RO --> WTE
    UT -.->|"每站可多轮对话"| SC["scene chat · /rank_chat"]
  end
  subgraph ENDG["③ 结尾 Ending"]
    NAR --> FT["frame-test 抗话术框架"]
    FT --> CK["反思均衡检查清单<br/>core/checklist.py"]
    CK --> RPT["报告**自动生成**<br/>/rank_report(retry + 兜底,永不空)<br/>+ 复制 / 下载"]
    RPT --> DOC[("用户报告 · 可下载 .md")]
  end

Legend / where each lives. Intake entity-resolution → [core/resolve.py]; the running 画像 (human model) → build_narrative / update_narrative in [core/ranked.py] (v4-pro), see profile-construction + the value dimensions. The per-scene engine — WTE dimension-pick (value-of-information) + the fused investigator + scene writer — is one unified_turn call (core/ranked.py, deepseek), see WTE + investigator + scene-data layer, grounded by grounding-layer. Intake (2026-06): 4 pages (专业选择 / 纠结+对未来的宏观思考 / 价值权重+去向 / 确定度) with a per-page /intake_chat companion + optional voice-fills-the-form (/voice_profile?intake=1). Ending: a tailored elicitation folds into the 画像 each scene; the ending emits a reflective-equilibrium checklist + an auto-generated, downloadable user report.

Open Problems

  • Preference modelling is a deterministic state machinenow an LLM-backed running 画像 (build_narrative → per-scene update). Open: validating its fidelity vs. the elicited signal.
  • Open-world (“emergent”) generation needs systematic testing for coherence and quality.
  • UI/UX: keep explanation text minimal; instrument must not read as a game demo.

Progress

  • Bilingual — 中 / EN toggle (2026-06-09). All 7 authored arcs + UI + engine chrome switch language; English arcs (plot/arcs/en/) are structure-preserving (scene-ids / branch tags / 8-dim vectors / {{}} markers byte-identical) so instrument validity is unchanged. ?lang=en serves the English arc, falling back to 中文 where untranslated.
  • Save / resume (2026-06-11). localStorage autosave of the player’s decision sequence + a Resume button on the cover (fast-forwards a fresh session by replaying decisions; no account, per-device, deterministic on the authored arcs).
  • On-page feedback logging (2026-06-11). The in-game button writes FeedbackEvents to the session JSONL (tied to scene/decision), viewable at /dev; a deterministic feedback → hub subpage is planned (note: sessions/ is ephemeral on Render).
  • UI fully redesigned to the meno.sh palette + light/dark toggle (PR #21 merged).
  • ?world=emergent per-session toggle wired to the real LLM open-world generator.
  • Deployed and serving at reflect.meno.sh; mechanisms.md is the authoritative spec.

Codebase

reflection-game

  • 06-11 MenoClaw — localStorage save/resume (autosave decisions; Resume replays them)
  • 06-10 MenoClaw — i18n: make engine-emitted chrome language-aware for EN arcs
  • 06-09 MenoClaw — English version of all 7 arcs + 中/EN toggle
  • 05-21 Zhonghao He — web: recolor game UI to meno.sh palette + light/dark toggle
  • 05-21 Zhonghao He — emergent: wire ?world=emergent to the real LLM generator
  • 05-21 Zhonghao He — Merge PR #21 — web/ui-redesign

Meeting Notes

  • STUB — no Circleback notes linked to this channel yet

Slack Discussion

Channel: project-reflection-game

  • 05-21 Tianyi Alex Qiu: MenoClaw, rewrite UI to copy this HTML file (minimal explanation text).
  • 05-17 Zhonghao He: What we want here: models that learn human theory of mind.

Open problems & progress are MenoClaw’s reading of the project — edit this file to correct them; the markdown is the source of truth.

22 items under this folder.