mio-agent-runtime 0.14.1 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -53,10 +53,11 @@ mio memory forget --ids a,b PERMANENTLY delete records (--yes required; writ
53
53
  mio memory merge --ids a,b Merge duplicate records into one survivor (--keep/--allow-divergent; --yes required)
54
54
  mio memory migrate --ids a,b --scope global|project Move records between the project and global layers
55
55
  mio policy check "<action>" Check the historical risk of an action before running it (--project; reads global MIO_HOME)
56
- mio creativity status Show creativity hypothesis counts and recent top ideas (reads global MIO_HOME)
56
+ mio creativity status Show creativity hypothesis counts, recent top ideas, adoption join (reads global MIO_HOME)
57
57
  mio creativity list List creativity hypotheses (--status active|validated|rejected|draft, --limit N)
58
58
  mio creativity generate Generate hypotheses from 2+ --source "name|content" (or --from-insights; calls an LLM)
59
59
  mio creativity ferment Review and refine active hypotheses (calls an LLM)
60
+ mio creativity adopt Record an adoption event for a stored hypothesis (writes traces only)
60
61
  mio idea generate --goal "..." Grounded idea pipeline: auto sources + novelty gate, persisted (calls an LLM)
61
62
  mio insight status Insight counts: total, reported, unreported, high-value (needs @akemi-mio/insight)
62
63
  mio insight list List insights (--unreported, --min-score N, --detector X, --limit N)
@@ -102,7 +103,7 @@ mio --version Print the version and exit (-V)
102
103
 
103
104
  ## MCP 工具
104
105
 
105
- MCP 服务端在 5 大域共暴露 51 个工具:
106
+ MCP 服务端在 5 大域共暴露 52 个工具:
106
107
 
107
108
  ### 记忆(11)
108
109
  `mio.memory.query` · `mio.memory.record` · `mio.memory.archive` · `mio.memory.merge` · `mio.memory.migrate` · `mio.memory.analyze` · `mio.memory.forget` · `mio.experience.list` · `mio.experience.confirm` · `mio.experience.reuse` · `mio.policy.check`
@@ -115,8 +116,8 @@ MCP 服务端在 5 大域共暴露 51 个工具:
115
116
  ### 洞察自省(4)
116
117
  `mio.insight.status` · `mio.insight.list` · `mio.insight.mark_reported` · `mio.insight.generate`
117
118
 
118
- ### 创意引擎(5)
119
- `mio.creativity.generate` · `mio.creativity.ferment` · `mio.creativity.list` · `mio.creativity.status` · `mio.idea.generate`
119
+ ### 创意引擎(6)
120
+ `mio.creativity.generate` · `mio.creativity.ferment` · `mio.creativity.adopt` · `mio.creativity.list` · `mio.creativity.status` · `mio.idea.generate`
120
121
 
121
122
  ### 任务、Agent 与演化(16)
122
123
  `mio.task.route` · `mio.task.record_outcome` · `mio.agent.register` · `mio.agent.list` · `mio.agent.report` · `mio.agent.evaluation` · `mio.host.capabilities` · `mio.evolution.status` · `mio.evolution.report` · `mio.evolution.shadow.record` · `mio.evolution.dual_write.record` · `mio.evolution.cutover.readiness` · `mio.evolution.cutover.apply` · `mio.evolution.migration.plan` · `mio.evolution.authority.plan` · `mio.phase0.report`
@@ -389,6 +390,7 @@ mio creativity list --json
389
390
  Creativity engine:
390
391
  hypotheses: 5 combos: 3 experiments: 1
391
392
  active: 2 validated: 1 rejected: 1 draft: 1
393
+ adoption: 2 adopted (events=2, tags=2) — derived join, not a metric
392
394
 
393
395
  Recent top ideas:
394
396
  - Plugin architecture (novelty=80 feasibility=70 impact=90 score=240)
@@ -403,6 +405,32 @@ Recent top ideas:
403
405
  - **空存储是正常状态。** 引擎运行之前,`status` 报告全零计数,`list` 显示 "No hypotheses match." 两者都是有效输出,不是错误。
404
406
  - **缓存会在文件变化时失效。** 三个 JSONL 的读取按 `(size, mtime)` 校验,因此另一个进程写入后长驻的 MCP 服务端无需重启就能看到——与 `server/insight-store.js` 同一套守卫。
405
407
 
408
+ ### 采用证据链(adopt / status / list)
409
+
410
+ 假设的「采用」**不在存储里**,而是三轴分离的证据链——store 只管评审,采用是假设与外部世界的关系:
411
+
412
+ - **评审轴(`creativity-hypotheses.jsonl`)**:`draft → active → validated / rejected`,假说自身的生命周期,由 `generate` / `ferment` 推进。
413
+ - **声称轴(`traces.jsonl`)**:`mio.creativity.adopt`(MCP `mio.creativity.adopt`)追加 `creativity.adopt` 事件,`payload.hypothesisId` 即声称;只写事件、绝不碰 memory,校验失败零写入。
414
+ - **证据轴(`memory.jsonl`)**:`mio memory record ... --hypothesis-id <uuid>`(MCP 参数 `hypothesisId`)把 `hypothesis:<uuid>` 注入记录 tags;`mio memory query --tags hypothesis:<uuid>` 即按标签召回。`AGENTS.md` 规范:**采用假设做决策时 `memory.record` 必带 `hypothesisId`**——这是把决策与假设挂上钩的唯一写入口。
415
+
416
+ `status` / `list` 在**读侧**把两轴 join 成派生计数(`mio.creativity.status` 返回):
417
+
418
+ ```json
419
+ "adoption": {
420
+ "adopted": 2, "claimed": 3, "evidenced": 2,
421
+ "metric": false,
422
+ "note": "derived join of creativity.adopt events and hypothesis:<id> memory tags — informational; no rate or threshold by design",
423
+ "sources": {
424
+ "events": { "file": "traces.jsonl", "durable": true },
425
+ "memory": { "file": "memory.jsonl", "durable": true }
426
+ }
427
+ }
428
+ ```
429
+
430
+ - `claimed` / `evidenced` 是两轴各自的 **distinct id 原始计数**(可以含已不在存储中的悬空 id);`adopted` = 两集合并集与存储假设 id 的交集——只有它回答「**存下来的**假设里哪些被采用过」。原始与 join 并报,悬空证据因此可见而不是被静默吞掉。
431
+ - **`metric: false` 是承重字段**:这是信息性派生 join,**不是** ADR-017 评估指标——没有 adoption rate、没有阈值。`sources` 照 `routeAdoption` 的模式注明每个轴的背书文件与 durable 性,于是「0 adopted(真没人用)」与「证据文件没留存(不可测)」能区分开。
432
+ - `list` 每行带 `adopted: boolean`,文本模式在状态后显示 `[adopted]` 标记;JSON 输出即引擎结果,MCP 与 CLI 两侧天然一致。
433
+
406
434
  ### 生成与发酵(`generate` / `ferment`)
407
435
 
408
436
  这两个子命令会调用 LLM,`mio creativity` 同样支持它们——用的是**共享的 LLM 客户端**