Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
324182d
chore: 收回 v2 方法論與內部 roadmap(open-core 切割)
MakiDevelop May 18, 2026
3cc04ec
docs: 清理收回檔的 dangling reference
MakiDevelop May 18, 2026
a4d5507
chore: 鎖定 bait_reaction(方法論實作 + 個人 PII)防止誤 commit
MakiDevelop May 18, 2026
25a3dc1
fix: LINE webhook _event_id 移除不穩定 fallback,改 fail-closed
MakiDevelop May 18, 2026
86c7cc4
feat: add build_turn_state helper and TurnState for interview reasoni…
MakiDevelop May 19, 2026
47fdb3c
feat: add complete TurnReasoner class with full prompt and four few-s…
MakiDevelop May 19, 2026
0428119
feat: add Guardrail class (strengthened conservative version)
MakiDevelop May 19, 2026
fa58709
feat: add turn_reasoner_schema.py to break circular import
MakiDevelop May 19, 2026
834144b
fix: use simple class instead of dataclass for TurnReasonerOutput to …
MakiDevelop May 19, 2026
d775af9
feat: add reasoning settings fields to Settings for feature flag
MakiDevelop May 19, 2026
8b8815d
fix: correctly add reasoning_turn_enabled and reasoning_test_user_ids…
MakiDevelop May 19, 2026
26b9313
fix: correctly insert reasoning settings fields after persona_export_dir
MakiDevelop May 19, 2026
881819e
feat: 修復 config.py 破損 + 接線 L2 TurnReasoner(whitelist 安全 rollout)
MakiDevelop May 19, 2026
95c956c
fix: 新增 line_snapshot_export_* 設定以相容 VPS .env
MakiDevelop May 19, 2026
8f25141
fix: TurnReasoner 預設 model 改用 MODEL_FAST,避免 Anthropic 404
MakiDevelop May 19, 2026
402497d
feat: L2 wiring 升級 — 真正聽 next_move / next_question_id + 豐富決策 log
MakiDevelop May 19, 2026
430bbef
fix: TurnReasoner prompt 強化「用例子澄清期望深度」能力
MakiDevelop May 19, 2026
f86b593
fix: TurnReasoner 新增『判斷追問無效、主動總結並推進』能力
MakiDevelop May 19, 2026
b09f4aa
feat: 接進 LINE Flex Message 訪談進度卡片
MakiDevelop May 19, 2026
c0b7e65
fix: 更寬容的 FlexMessage 建構方式,避免 SDK 版本相容性問題
MakiDevelop May 19, 2026
aeb7c97
fix: 進度查詢改為可靠文字版報告,避免 Flex 相容性問題
MakiDevelop May 19, 2026
4f56a7e
feat: 開始把真實 CoverageSnapshot(8維 × 3層)接進 TurnState
MakiDevelop May 19, 2026
42bc97d
feat: 讓 TurnReasoner 吃到真實 coverage_snapshot
MakiDevelop May 19, 2026
3514d29
fix: 修復 Layer enum 引用錯誤(SHALLOW/MIDDLE/DEEP → 使用真實 FACT/PATTERN/PRINC…
MakiDevelop May 19, 2026
4ca3da3
feat: 進度指令切換成真實 CoverageSnapshot
MakiDevelop May 19, 2026
571f873
fix: 實作層級依賴(Option A)——中層/深層進度會被下層基礎打折
MakiDevelop May 19, 2026
4a0778e
feat: 在 TurnReasoner 明確加入「淺層優先」原則
MakiDevelop May 19, 2026
aad4cba
feat: 加強 reasoner「換維度勇氣」與全局意識
MakiDevelop May 19, 2026
9962677
feat: 強化 reasoner 對低品質回答的偵測與換維度機制
MakiDevelop May 19, 2026
1be7f5e
feat: 把兩個核心目標寫成 reasoner 的最高指導原則
MakiDevelop May 19, 2026
a240ba5
feat: 把用戶的三個核心目的直接寫成 reasoner 最高指導原則
MakiDevelop May 19, 2026
114bdae
feat: 強化 reasoner 的收集目的性
MakiDevelop May 19, 2026
1cb334c
feat: 把「收集意圖確認」設為思考步驟的第 0 步(最高優先)
MakiDevelop May 19, 2026
abcf36e
feat: 把「收集策略優先」徹底變成 reasoner 的第一思考步驟
MakiDevelop May 19, 2026
b9dc071
experiment: 支持 REASONER_MODEL_NAME 環境變數,實驗期間自動在 anchors 記錄使用哪個模型
MakiDevelop May 19, 2026
2d165c6
fix: 修正 reasoner path 狀態更新
MakiDevelop May 19, 2026
9265bce
fix: 支援 reasoner model env 設定
MakiDevelop May 19, 2026
76d2977
release: 標註 v1.0.0
MakiDevelop May 19, 2026
4dbe461
chore: 抽離 reasoner prompt 護城河
MakiDevelop May 19, 2026
c0397f7
merge: 合入 main 修正並解決衝突
MakiDevelop May 19, 2026
cc92334
feat: 實作用戶自助匯出人格檔
MakiDevelop May 20, 2026
6e3db9a
feat: 新增人格檔下載連結
MakiDevelop May 20, 2026
9a7fe52
docs: 新增 specs/11-constitution.md(Constitution v1.1,七位一體 ratified)
MakiDevelop May 20, 2026
2b68857
feat: 實作 P3 Reflective Restraint M1 hard gate(Constitution v1.1)
MakiDevelop May 20, 2026
c6a5bc0
feat: 實作 P5 Self-Correction & Agency M1 hard gate(Constitution v1.1)
MakiDevelop May 20, 2026
2d4bab5
feat: 實作 P1 State-Trait Separation M1 hard gate(Constitution v1.1)
MakiDevelop May 20, 2026
bbd68af
feat: 實作 P4 Multi-Session Pattern Validation M1 hard gate(Constitutio…
MakiDevelop May 20, 2026
f188d27
release: 升 v1.0.0 → v1.1.0 + 更新 README 雙語標 Constitution v1.1 highlights
MakiDevelop May 20, 2026
829110a
補上 production demo 文件並修正 ruff
MakiDevelop May 24, 2026
e69af45
同步套件版本為 v1.1.0
MakiDevelop May 24, 2026
b09c24d
新增工程成熟度 review
MakiDevelop May 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 22 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,10 @@ build/

# Environment
.env
.env*
!.env.example
.env.local
.env.*.local
!.env.example

# SQLite databases (local data)
*.db
Expand Down Expand Up @@ -47,6 +48,7 @@ Thumbs.db
# Never commit actual interview transcripts or extracted SOUL/VOICE/SKILL files
artifacts/
transcripts/
exports/
*.transcript.md
SOUL-*.md
VOICE-*.md
Expand All @@ -67,6 +69,25 @@ STATE-*.md

# Internal working dir (not for public)
concept-for-chatgpt-diagram.md
GEMINI.md
docs/design/
.private/
private/

# Claude Code local settings (operator-specific MCP refs, not for public)
.claude/

# === Moat protocol: v2 methodology + internal roadmap, withdrawn 2026-05-18 ===
/src/virtualme/data/question-pool-v2.yaml
/src/virtualme/data/domain-packs-v2.yaml
/specs/09-interview-engine-v2.md
/docs/research/virtualme-domain-pack-8-fields.md
/src/virtualme/interview/v2_schema.py
/src/virtualme/interview/v2_loader.py
/tests/unit/test_interview_v2_loader.py
/tests/unit/test_domain_packs_v2.py
/docs/TRUNK.md

# === Moat protocol: methodology implementations stay private(含 Version D 腳本 + 個人 PII)===
/src/virtualme/interview/bait_reaction.py
/tests/unit/test_bait_reaction.py
15 changes: 15 additions & 0 deletions README.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,21 @@

> Extract a person into an AI agent — through an 8-week interview, not a form.

**Current release: v1.1.0** — baseline interview + coverage tracking + persona markdown export, plus Constitution v1.1 (six Stability & Restraint Principles) and matching M1 hard gates.

### v1.1.0 Highlights

- **[Constitution v1.1](specs/11-constitution.md)** — ratified by seven-agent council on 2026-05-20. Codifies the project's "caution, restraint, reverence" stance previously scattered across `docs/TRUNK.md` / `specs/05` / milestones into six principles: P1 State-Trait Separation / P2 Contradiction Preservation / P3 Reflective Restraint / P4 Multi-Session Validation / P5 Self-Correction & Agency / P6 Provenance, Confidence & Temporal Decay.
- **Interview reasoning engine refactor** — L0 transport idempotency fail-closed + L1 read-only TurnState + L2 `turn_reasoner.decide_and_reply()` + Guardrail + feature flag (`reasoning_turn_enabled`) whitelist rollout.
- **User-initiated persona archive export + download link**
- **M1 hard gate detectors (4 principles) + 115 contract tests**:
- P3 — `SkipStopReason` enum + Guardrail metadata + `reflection_note` no-leak
- P5 — `hedge_validator` (8 forbidden patterns / 12 hedge markers) + `unlike_me` regression
- P1 — `stability_gate.is_eligible_for_core_truths()` (STATE never enters Core Truths)
- P4 — `multi_session_validator.can_be_validated()` (single-session can never be validated)

> M2 will wire detectors into `build_snapshot_bundle` / export pipeline. This release ships detectors + contract tests that lock the invariants. See `specs/11-constitution.md` §M2/M3.

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
[![Python 3.11+](https://img.shields.io/badge/Python-3.11+-blue.svg)](https://www.python.org/)
[![中文](https://img.shields.io/badge/Lang-中文-red.svg)](README.md)
Expand Down
30 changes: 30 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,22 @@

> 把一個人**萃取**成 AI 代理人——用 8 週訪談,不用填表。

**Current release: v1.1.0** — baseline interview + coverage tracking + persona markdown export 之上,補上 Constitution v1.1(六條 Stability & Restraint Principles)與對應的 M1 hard gates。

### v1.1.0 Highlights

- **[Constitution v1.1](specs/11-constitution.md)** — 七位一體 council 2026-05-20 ratified;把先前散落於 `docs/TRUNK.md` / `specs/05` / milestone 的「謹慎、克制、有敬畏」立場 codify 為六條:P1 State-Trait Separation / P2 Contradiction Preservation / P3 Reflective Restraint / P4 Multi-Session Validation / P5 Self-Correction & Agency / P6 Provenance, Confidence & Temporal Decay
- **訪談 reasoning engine 重構** — L0 transport idempotency fail-closed + L1 TurnState 只讀狀態物件 + L2 `turn_reasoner.decide_and_reply()` + Guardrail + feature flag (`reasoning_turn_enabled`) whitelist rollout
- **使用者自助匯出人格檔 + 下載連結**
- **Production demo map** — [`docs/architecture-demo-flow.md`](docs/architecture-demo-flow.md) documents the deployed LINE Bot / VPS architecture and a short demo script.
- **M1 hard gate detectors(4 條)+ 115 contract tests**:
- P3 — `SkipStopReason` enum + Guardrail metadata + reflection_note no-leak
- P5 — `hedge_validator`(8 forbidden patterns / 12 hedge markers)+ unlike_me regression
- P1 — `stability_gate.is_eligible_for_core_truths()`(STATE 不進 Core Truths)
- P4 — `multi_session_validator.can_be_validated()`(single-session 不得 validated)

> M2 將把 detector wire 進 build_snapshot_bundle / export pipeline;本版只交付 detector + contract test 鎖住 invariant。詳見 `specs/11-constitution.md` §M2/M3。

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
[![Python 3.11+](https://img.shields.io/badge/Python-3.11+-blue.svg)](https://www.python.org/)
[![English](https://img.shields.io/badge/Lang-English-red.svg)](README.en.md)
Expand Down Expand Up @@ -89,6 +105,11 @@ VirtualMe 把這個發現延伸成可上線的 pipeline:

匯出時會再次 scrub anchor 內容中的 PII;`interviewee_id`、資料夾名與 archive metadata 不會被改名,請不要用 email / 真名當 interviewee id。

v1.0.0 的輸出包含兩種層級:

- **Raw archive**:`python -m virtualme.export` 產生 8 個 dimension markdown、入口檔與 manifest。
- **Review draft**:可依 anchors 人工整理成 `SOUL.md` / `VOICE.md` / `SKILL.md` / `PEOPLE.md` / `HISTORY.md` / `JOURNAL.md` / `BOUNDARIES.md` / `STATE.md` 八份可讀人格檔,用於「像 / 不像 / 缺例子」review。

加上一個可用的 agent endpoint,可以:
- 起草給客戶 / 候選人 / 同事的訊息
- 用你的語氣回覆公開貼文
Expand Down Expand Up @@ -159,6 +180,15 @@ python scripts/init_db.py --path ./data/virtualme.db
python -m virtualme.cli --interviewee yourself
```

### LINE dogfood

v1.0.0 的 LINE path 可用 feature flag 開啟 supervised dogfood。新路徑會在每輪訪談後寫入 anchors,讓「進度」查詢顯示真實 coverage。

```env
REASONING_TURN_ENABLED=true
REASONING_TEST_USER_IDS=<your-line-user-id>
```

### 本機 demo flow

訪談累積資料後,可以先輸出 markdown archive,再準備一次手動 blind test:
Expand Down
Loading