借鉴 gstack 设计模式: - 8 条命令统一引入 Confusion Protocol(关键事实缺证据停止推理) - 假设验证路径 + 假设上限(≤5 条 active) - CWD 显式项目边界声明 - pos/uj 前置指令摘要(对标 gstack /context-restore) - ROADMAP 同步 + state_template 增强 - CHANGELOG v0.2.1
2.7 KiB
2.7 KiB
YxStack 项目状态模板
_timeline.jsonl
追加格式,每行一条指令执行记录:
{"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 |
否 | 本次做出的关键决策 |
conflict |
否 | 本次发现的冲突(如有),格式:{冲突假设}:{冲突描述} |
特点:
- 只追加不修改 — 不会因写入中断损坏历史
- 可重建 — _state.md 丢失时从 timeline 重新推导
- 零依赖 —
echo '{...}' >> file即可
_state.md
从 timeline 推导的当前项目状态快照。首次使用时创建,每次指令执行完更新。
---
project: "{项目名称}"
phase: "{当前阶段}"
last_session: "2026-05-03"
last_command: "pfit"
---
## 当前阶段
{一句话描述当前在 YxStack 流程的哪个位置}
## 关键假设
| 假设 | 状态 | 验证标准 | 来源指令 | 提出时间 |
|------|------|----------|----------|----------|
| {假设内容} | active/challenged/outdated | {可证伪的一句话} | /xxx | YYYY-MM-DD |
假设状态取值规范:
- `active` — 当前认可,作为后续决策的依据
- `challenged` — 发现矛盾或新证据,待重新验证
- `outdated` — 已被新结论推翻或环境已变化
- 同时 active 假设不超过 5 条,达到上限时先标记旧假设为 outdated 才能新增
## 决策链
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)
不强制线性,但提供参考。阶段变化是状态更新的核心信号。