@minonl/dia 0.0.6 → 0.0.8
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/dist/cli.js +1562 -228
- package/docs/cli.md +2 -2
- package/docs/msg-collab-m1.md +30 -0
- package/docs/status.md +1 -0
- package/package.json +1 -1
package/docs/cli.md
CHANGED
|
@@ -95,11 +95,11 @@ dia persona remove dabo
|
|
|
95
95
|
| `persona update <id>` | **已实现** | 从 lock 记录的 source+ref 重装,并把 active 指向新版本;本地源亦可;`--force` 覆盖宿主/内联内容冲突(先备份) |
|
|
96
96
|
| `persona default <id>` | **已实现** | 改宿主 `default_agent`:备份原文件 + 记原值,`--unset` 精确还原;非严格 JSON 直接拒绝 |
|
|
97
97
|
| `persona create / render` | **已实现** | `create` 出骨架;`render --check` 只比对不写盘(跳过宿主自写文件,如 dsh `cordis.yml` / `package.json` / 锁文件);`render` 只覆盖 persona 产物,不整树重建宿主 profile |
|
|
98
|
-
| `kit add / list / verify / remove` | **已实现** | 复制/软链/记账;冲突写盘前全量检查(`E_CONFLICT`);`src/kit.ts` + `tests/kit.test.ts` |
|
|
98
|
+
| `kit add / list / verify / remove` | **已实现** | 复制/软链/记账;冲突写盘前全量检查(`E_CONFLICT`);**空清单/空内容拒绝**(`E_MANIFEST`/`E_KIT_EMPTY`);`src/kit.ts` + `tests/kit.test.ts` |
|
|
99
99
|
| `env list / check / run` | **已实现** | 白名单注入、不回显值、`--redact`、密钥不进 argv;清单由 persona 声明(`src/env.ts` + `tests/env.test.ts`) |
|
|
100
100
|
| `update [--check]` | **已实现** | 查 npm `dist-tags`;`--check` 有新版 exit 1、领先/最新 exit 0;**按安装方式分流**:npm 全局包 → `npm i -g`;脚本安装 → 提示 `git pull && bun run build && bash install.sh`(避免装到不在 PATH 的 npm prefix) |
|
|
101
101
|
| `deps list / record` | **已实现** | `list` = 登记 + 实测派生视图(required 缺失 exit 2);`record` = 只追加一行(`--id/--kind/--version` 必填);`src/deps.ts` + `tests/deps*.test.ts` |
|
|
102
|
-
| `doctor` | **已实现** | 组合自检:persona verify / **persona.render(宿主产物只读漂移,warn + 修复命令)** / default_agent / kit
|
|
102
|
+
| `doctor` | **已实现** | 组合自检:persona verify / **persona.render(宿主产物只读漂移,warn + 修复命令)** / default_agent / kit(**只查该 persona 引用的**,孤儿 kit 不拖红)/ knowledge(**索引新鲜度三态**,过期给重建命令)/ dsh preset / **deps 登记校验** / **platform 版本(读 `docs/platforms/registry.json`)** / wt;exit 0/1/2。不指定 persona 且装了多个 → **逐个自检**(条目加 `<id>.` 前缀),不再整体 `E_SCOPE` |
|
|
103
103
|
| `wt …` | **已实现(需安装包)** | 转发 `packages/wt/bin/dia-wt`(create/adopt/doctor/gate/list/status/check/clean/prune-merged;详见 [worktree.md](worktree.md));未装时 `E_WT`(exit 33),`install.sh` 会分发 |
|
|
104
104
|
| `kb index/search/query/get/lint/path/review` | **已实现** | persona 作用域下索引过期自动重建;显式 `--root` 保持「缺索引即报错」 |
|
|
105
105
|
| `kb <域命令>` | **已实现(委派)** | 未命中内置 → persona `commands` → 委派;argv 透传、exit code 原样 |
|
package/docs/msg-collab-m1.md
CHANGED
|
@@ -34,3 +34,33 @@ dia unclaim install.sh # 释放自己的
|
|
|
34
34
|
- 这是 **advisory**:不保证别人真的让路,也不自动改代码/合并;
|
|
35
35
|
- 不做全 worktree 锁;文件系统写操作仍以人工/MR 协调为准;
|
|
36
36
|
- M1a 不含 `dia in` 提示、pre-commit/MR 强制点(留到后续)。
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
# dia task 依赖 / dia graph(M1b)
|
|
41
|
+
|
|
42
|
+
## 任务声明
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
dia task add "实现 X" --owner ses_... --depends t-a,t-b --touches src/x.ts,docs/x.md --judge "bun test"
|
|
46
|
+
dia task link t-xxx --depends t-new --touches src/y.ts
|
|
47
|
+
dia task link t-xxx --remove-depends t-old
|
|
48
|
+
dia task done t-xxx --evidence "bun test 通过" --reason done
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
- `owner` / `deps` / `touches` 都是可选;旧 task 没有这些字段时自动为 `[]`。
|
|
52
|
+
- `done` 仍强制 judge + evidence;`--reason` 只记录 closure_reason,不新增终态。
|
|
53
|
+
- `pending`/`blocked` 用 `task status <id> blocked --blocked-reason ...`。
|
|
54
|
+
|
|
55
|
+
## 依赖图
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
dia graph --json
|
|
59
|
+
dia graph # 人类可读:task → deps + claims
|
|
60
|
+
dia graph --json --task t-xxx
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
- 只输出 **declared** 边:`depends_on` / `touches` / `claims`;
|
|
64
|
+
- `blocked_by` 只在 task 节点里做派生提示,不是边;
|
|
65
|
+
- 任务依赖成环:`cycles` 非空,退出码 **3**(参数错仍是 2);
|
|
66
|
+
- `--task` 只输出该任务的直接依赖/touches/claim 邻居,不做全图闭包。
|
package/docs/status.md
CHANGED
|
@@ -90,6 +90,7 @@
|
|
|
90
90
|
| D0.21 | worktree 抽取 `packages/wt` | **完成** | 7 处 python→node;`dia wt`;4 套测试原样迁移全绿 |
|
|
91
91
|
| D0.23 | doctor 平台版本自检 | **完成** | `platform:opencode` / `platform:dsh` 报版本(缺宿主 = warn,不判红);`tests/active-doctor.test.ts` |
|
|
92
92
|
| D0.44 | 配置迁移走 LLM 任务 | **完成** | `docs/migrations/llm-migration.md`:升级只改声明;迁移=任务+判据+回滚;禁止代码里堆版本分支(安全敏感/原子场景例外) |
|
|
93
|
+
| D0.61 | kit 空内容拒绝 + doctor 只查引用 kit | **完成** | `kit add` 拒绝空清单/空树(E_MANIFEST/E_KIT_EMPTY);doctor 按 persona lock 的 kits 校验,孤儿不再拖红 |
|
|
93
94
|
| D0.60 | persona --force 覆盖内联内容 / update --force | **完成** | `kit.renderContent` 支持 force(写盘前备份到 `backups/force-*`);`persona update --force`;版本冲突错误给可执行提示;`tests/kit.test.ts` |
|
|
94
95
|
| D0.59 | 包内容守卫 | **完成** | 单测覆盖 docs 回退;publish workflow 发布前断言 tarball 含 docs/deps.jsonl + docs/platforms/registry.json(防「发完才发现缺文件」) |
|
|
95
96
|
| D0.58 | 推送前敏感扫描 | **完成** | `dia wt adopt` 的 pre-push 扫描新增行:真实家目录/私钥/token 形态;`DIA_WT_GUARD_SCAN=0` 逃生;`adopt.test.sh` 34 pass |
|