feat: v0.2.0 多轮对话状态保持

- 新增 templates/state_template.md — _state.md 和 _timeline.jsonl 模板
- 8 条命令模板增加"第 0 步:加载项目状态"和"更新项目状态"规则
- install.sh 注入会话状态恢复逻辑(CODEBUDDY.md)
- ROADMAP 调整为 v0.2.0=状态保持,v1.0.0=评测体系

借鉴 gstack 的 Context Recovery + append-only JSONL 模式:
_timeline.jsonl 只追加不修改作为事实来源,_state.md 做当前快照
This commit is contained in:
开阳星
2026-05-03 03:26:46 +08:00
parent 3bfe1a7cbe
commit ce844cdf51
11 changed files with 321 additions and 17 deletions

View File

@@ -0,0 +1,76 @@
# YxStack 项目状态模板
## _timeline.jsonl
追加格式,每行一条指令执行记录:
```json
{"skill":"pfit","event":"completed","ts":"2026-05-03T10:02:22+08:00","phase":"exploration","summary":"XX痛点验证通过Go","assumption":"用户对XX的需求是刚需","decision":""}
```
字段说明:
| 字段 | 必需 | 说明 |
|------|------|------|
| `skill` | 是 | 指令名: pfit/pos/uj/prd/money/gtm/metric/comp |
| `event` | 是 | `completed` |
| `ts` | 是 | ISO 8601 时间戳,带时区 |
| `phase` | 否 | 当前阶段: exploration/validation/positioning/pricing/growth |
| `summary` | 否 | 本次产出的核心结论(一句话) |
| `assumption` | 否 | 本次新增的关键假设 |
| `decision` | 否 | 本次做出的关键决策 |
特点:
- 只追加不修改 — 不会因写入中断损坏历史
- 可重建 — _state.md 丢失时从 timeline 重新推导
- 零依赖 — `echo '{...}' >> file` 即可
## _state.md
从 timeline 推导的当前项目状态快照。首次使用时创建,每次指令执行完更新。
```yaml
---
project: "{项目名称}"
phase: "{当前阶段}"
last_session: "2026-05-03"
last_command: "pfit"
---
## 当前阶段
{一句话描述当前在 YxStack 流程的哪个位置}
## 关键假设
| 假设 | 状态 | 来源指令 | 提出时间 |
|------|------|----------|----------|
| {假设内容} | active/challenged/outdated | /xxx | YYYY-MM-DD |
## 决策链
1. YYYY-MM-DD /xxx: {决策内容} — {理由}
## 待处理项
- [ ] {事项}
```
### 更新规则
指令执行完后,更新 _state.md
| 字段 | 何时更新 |
|------|----------|
| `phase` | 本次指令推动了阶段前进时更新 |
| `last_session` | 每次更新为当天 |
| `last_command` | 每次更新为本次指令 |
| `关键假设` | 新增假设active、推翻旧假设challenged/outdated |
| `决策链` | 有重要决策时追加 |
| `待处理项` | 标记完成 + 新增下一步 |
### 阶段流转建议
```
exploration → validation → positioning → pricing → growth
(pfit) (uj) (pos) (money) (gtm/metric)
↘ (comp)
```
不强制线性,但提供参考。阶段变化是状态更新的核心信号。