Spice → Hermes Decision Layer Lite 吸收收口报告
本轮对 Dyalwayshappy/Spice 的吸收应在 Hermes Decision Layer Lite 收口。
本轮对 Dyalwayshappy/Spice 的吸收应在 Hermes Decision Layer Lite 收口。
到这里应正式收口。
不调用真实 executor;生产动作另走审批。
关键判断
| 判断项 | 摘要 |
|---|---|
| 推荐方案 | 到这里应正式收口。 |
| 关键依据 | Spice JSON 直发验证页: |
| 落地方式 | 按行动清单推进,保持可回退。 |
| 风险边界 | 不跨执行边界;真实执行需另走审批。 |
证据摘要
- Spice JSON 直发验证页:证据点 1
- <https://decision.ht1072.top/2026-05-28-spice-json-direct-publish-check.html>证据点 2
- 该页验证了:证据点 3
- Spice Decision JSON 可直接进入 Hermes Decision Trace证据点 4
- 页面样式已统一证据点 5
- 摘要层不再泄漏 Markdown 表格 / JSON / code fence证据点 6
- 执行边界显示为不调用真实 executor证据点 7
行动清单
边界 / 风险
未记录额外风险。
完整记录
Spice → Hermes Decision Layer Lite 吸收收口报告
结论
本轮对 Dyalwayshappy/Spice 的吸收应在 Hermes Decision Layer Lite 收口。
最终判断:
我们已经把 Spice 最值得进入 Hermes 的部分拆出来并落地:
这是一条轻量、可审计、只读优先、draft-only 的决策层链路。
为什么收口在这里
Spice 的核心价值不是“再引一个 agent 框架”,而是它把 agent 上方的决策层拆得比较清楚:
- 外部事件如何进入决策状态
- 候选方案如何表达
- 为什么选 / 为什么不选
- 执行前如何卡审批边界
- 执行后如何回流 outcome
这些能力已经被拆成 Hermes 本地脚本和 contract。继续往下吸 runtime / bridge / memory 会制造平行系统,收益下降、风险上升。
已完成吸收清单
| 序号 | 能力 | Hermes 落点 | 状态 |
|---|---|---|---|
| 1 | Spice Decision JSON → Decision Trace | decision_trace_publish.py --spice-decision-json | 已完成 |
| 2 | Executor Outcome Contract | decision_executor_outcome_validate.py | 已完成 |
| 3 | Observation Schema Contract | decision_observation_validate.py | 已完成 |
| 4 | Decision Context Projection | decision_context_project.py | 已完成 |
| 5 | Decision Card Builder from Context | decision_card_build_from_context.py | 已完成 |
| 6 | Draft-to-Trace Adapter | decision_card_draft_to_trace_md.py | 已完成 |
| 7 | Decision Layer Lite Runbook | skill reference | 已完成 |
最终运行链路
1. 外部事件进入 observation
只允许 4 类 observation:
故意不支持:
原则:
外部输入先变成白名单 observation,再影响 decision state。
2. Observation → Context Projection
脚本:
输出只读 context:
- commitments
- open work items
- executor capabilities
- recent execution results
- limits
固定边界:
3. Context → Draft Decision Card
脚本:
输出 schema:
关键字段:
原则:
builder 只生成草案,不选、不排、不执行。
4. Draft → Decision Trace Markdown
脚本:
5. Markdown → HTML / Wiki
脚本:
需要公网发布时:
6. Executor Outcome Contract
脚本:
原则:
executor reports outcome; executor does not decide.
禁止 executor outcome 出现:
已验证结果
单元 / contract 回归
结果:
端到端 smoke
已跑通:
验证结果:
Smoke 产物:
- HTML:
/home/ht/llm-wikis/decision-traces/html/2026-05-28-decision-layer-lite-e2e-smoke.html - Wiki:
/home/ht/llm-wikis/decision-traces/2026-05/2026-05-28-decision-layer-lite-e2e-smoke.md - Public path:
/home/ht/llm-wikis/decision-traces/public/2026-05-28-decision-layer-lite-e2e-smoke.html
已发布验证页
Spice JSON 直发验证页:
<https://decision.ht1072.top/2026-05-28-spice-json-direct-publish-check.html>
该页验证了:
- Spice Decision JSON 可直接进入 Hermes Decision Trace
- 页面样式已统一
- 摘要层不再泄漏 Markdown 表格 / JSON / code fence
- 执行边界显示为不调用真实 executor
明确不吸收的部分
| 不吸收项 | 原因 |
|---|---|
| Spice runtime | 会形成平行 runtime,收益不如轻量 contract |
.spice/memory | 与 Hermes memory / wiki / Hindsight / session_search 职责冲突 |
| Spice CLI 默认入口 | 用户入口已是 Hermes / WebUI / 飞书,没必要反客为主 |
| spice-hermes-bridge 生产链 | 会触发真实 hermes chat / executor 生命周期,风险高 |
| 自动 planner / scheduler | 跨入高风险自动调度,当前只保留 draft-only |
| 自动 candidate selection | 需要另设评分、审批和责任边界,本轮不做 |
当前文件索引
Scripts
/home/ht/.hermes/scripts/decision_observation_validate.py/home/ht/.hermes/scripts/decision_context_project.py/home/ht/.hermes/scripts/decision_card_build_from_context.py/home/ht/.hermes/scripts/decision_card_draft_to_trace_md.py/home/ht/.hermes/scripts/decision_executor_outcome_validate.py/home/ht/.hermes/scripts/spice_decision_to_hermes_trace_md.py/home/ht/.hermes/scripts/decision_trace_publish.py
Tests
/home/ht/.hermes/hermes-agent/tests/test_decision_card_draft_to_trace_md.py/home/ht/.hermes/hermes-agent/tests/test_decision_card_build_from_context.py/home/ht/.hermes/hermes-agent/tests/test_decision_context_project.py/home/ht/.hermes/hermes-agent/tests/test_decision_observation_validate.py/home/ht/.hermes/hermes-agent/tests/test_decision_executor_outcome_validate.py/home/ht/.hermes/hermes-agent/tests/test_decision_trace_scripts.py
References
/home/ht/.hermes/skills/productivity/decision-trace-reply-pattern/references/spice-decision-json-input-mode-2026-05-28.md/home/ht/.hermes/skills/productivity/decision-trace-reply-pattern/references/executor-outcome-contract-2026-05-28.md/home/ht/.hermes/skills/productivity/decision-trace-reply-pattern/references/observation-schema-contract-2026-05-28.md/home/ht/.hermes/skills/productivity/decision-trace-reply-pattern/references/decision-context-projection-2026-05-28.md/home/ht/.hermes/skills/productivity/decision-trace-reply-pattern/references/decision-card-builder-from-context-2026-05-28.md/home/ht/.hermes/skills/productivity/decision-trace-reply-pattern/references/decision-layer-lite-runbook-2026-05-28.md
主记录
/home/ht/llm-wikis/knowledge-ops/queries/spice-absorption-evaluation-2026-05-28.md/home/ht/llm-wikis/knowledge-ops/queries/spice-decision-layer-lite-absorption-final-report-2026-05-28.md
最终建议
到这里应正式收口。
后续只有在真实业务场景需要时,再按下面方式使用:
不要再继续往 Spice runtime / bridge / memory 主线集成。当前最优状态是: