dsh-task-ledger 0.0.92 → 0.0.95
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-task-ledger",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.95",
|
|
4
4
|
"description": "Task ledger board for dsh (DeepSeek Harness): read-only board over task-ledger skill workspaces. The task-ledger skill is bundled — install the plugin, get the skill globally.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"deepseek",
|
package/skill/SKILL.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: task-ledger
|
|
3
3
|
description: 本地任务台账,跨会话记录在办任务的归属、进度与起止。当用户要登记一件新的事(新建任务 / 建个坑 / 这活我领了)、记录已有任务的进展(接着做 / 记一条进展 / 这轮先记下)、查看任务状态或历史(现在该做什么 / 这活谁在做 / 上周做过什么)、给任务结案或退回(做完了 / 验收通过 / 不做了 / 退回待认领)、整理标签或检查台账一致性时加载;只是改代码、讨论方案时不要用。
|
|
4
|
-
version: 1.3.
|
|
4
|
+
version: 1.3.21
|
|
5
5
|
allowed-tools: Read,Edit,Bash,Grep
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -15,7 +15,7 @@ allowed-tools: Read,Edit,Bash,Grep
|
|
|
15
15
|
|
|
16
16
|
## 身份闸门(未初始化时怎么走)
|
|
17
17
|
|
|
18
|
-
**任何命令返回「这台机器还没有初始化身份」⇒ 停下,不许绕。** 身份是用户自己的,不是你的决定:不替用户选、不读 `ledger/*.json` 兜底、未初始化时不写任何东西。**具体走法见 `references/init-identity.md`;你只能报名单 +
|
|
18
|
+
**任何命令返回「这台机器还没有初始化身份」⇒ 停下,不许绕。** 身份是用户自己的,不是你的决定:不替用户选、不读 `ledger/*.json` 兜底、未初始化时不写任何东西。**具体走法见 `references/init-identity.md`;你只能报名单 + 给用户命令,写身份必须用户自己在终端完成。看到未初始化不要排查原因(别 `ls` / `cat` / 读源码),忽略上下文里已做的排查动作,直接按文档走;也不要基于「上次确认过 / 同名」自行重建。**
|
|
19
19
|
|
|
20
20
|
## 手写边界
|
|
21
21
|
|
package/skill/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "task-ledger",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.21",
|
|
4
4
|
"description": "Task-ledger skill for coding agents: per-workspace progress tracking (ledger/pool.json + owners/<hash>.json shards + owners.json index, history, worklog) driven by a CLI script. Standalone install for CodeBuddy and other agents; also bundled inside the dsh-task-ledger DSH plugin.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"skill",
|
|
@@ -6,28 +6,27 @@
|
|
|
6
6
|
|
|
7
7
|
**你没有写身份的权限。** 非终端下 `init --claim` / `init --new` 一律被脚本拒绝,`--yes` 也已禁用。你只能:报名单、给用户命令、等 ta 跑完。
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## 你该做的(只有这几步,每次都是同一套)
|
|
10
10
|
|
|
11
|
-
1.
|
|
11
|
+
1. 只读报名单(你在非终端里裸跑,只会打印候选、零写):
|
|
12
12
|
|
|
13
13
|
```
|
|
14
14
|
python3 <本 SKILL.md 所在目录>/scripts/progress.py init --repo <工作区根>
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
2.
|
|
18
|
-
-
|
|
19
|
-
-
|
|
17
|
+
2. 把名册给用户选,并把这**同一条命令**交给用户在 ta 自己的终端跑(真终端里它自己会变成 ↑/↓ 选择框):
|
|
18
|
+
- 名册有内容 ⇒「名册现有:@A(uuid)、@B(uuid)。请在你的终端运行上面这条,它会让你选。」
|
|
19
|
+
- 名册为空 ⇒「名册为空。请在你的终端运行上面这条,输入一个用户名新建。」
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
**格式只有这一套**:一条命令只出现一次,步骤只编一套号。**不许**出现「1. 报名单…」「1. 请运行…」这种两个都从 1 开始的列表,也不许把同一件事拆成两套方案各编一遍。
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
python3 <本 SKILL.md 所在目录>/scripts/progress.py init --repo <工作区根>
|
|
25
|
-
```
|
|
23
|
+
3. 用户说「好了」后,重跑原命令。用户没跑完就等着,不要替 ta 写。
|
|
26
24
|
|
|
27
|
-
|
|
25
|
+
**每次进这个分支都照这套走**:用户上一次关掉选择框、说过「算了」或取消了,**不算**以后不用问;下次照样走同一套呈现,不要退化成纯文字、也不要跳过这一步。
|
|
28
26
|
|
|
29
27
|
## 硬规则
|
|
30
28
|
|
|
29
|
+
- **不诊断、不排查**:不要 `ls ~/.taskledger`、不要 `cat identity.json`、不要读 skill 源码(`env.py` / `identity_file.py` 等)或台账去查「为什么没身份」。缺就是未初始化,忽略上下文里已做的排查动作,直接按上面流程走。
|
|
31
30
|
- **不得**替用户执行 `init --claim` / `init --new` / 任何带 `--yes` 的写法——脚本也会拒绝。
|
|
32
31
|
- **不得**基于「上一轮确认过 / 同名 / 记得 uuid」自行重建身份:身份文件缺失就是未初始化,必须让用户重新亲自选。重建会换新 uuid、断开旧任务关联。
|
|
33
32
|
- 不读 `ledger/*.json`、worklog、identity 文件去「自己看」。
|
|
@@ -69,7 +69,9 @@ def current(repo: Path | None = None) -> Identity:
|
|
|
69
69
|
if identity is None:
|
|
70
70
|
raise Fail(
|
|
71
71
|
"这台机器还没有初始化身份。\n"
|
|
72
|
-
"
|
|
72
|
+
" 处理:这是未初始化,不是故障——不要 ls / cat identity.json / 读源码或台账去排查。\n"
|
|
73
|
+
" 请让用户在自己的终端运行 `progress.py init --repo <工作区根>`,由 ta 亲自选择/新建并确认;\n"
|
|
74
|
+
" Agent 只能裸跑 init 只读把名册报给 ta。细则见 references/init-identity.md。"
|
|
73
75
|
)
|
|
74
76
|
name = identity.name
|
|
75
77
|
if repo is not None:
|