principles-disciple 2.2.0 → 2.2.2
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/bundle.js +616 -615
- package/dist/openclaw.plugin.json +1 -1
- package/dist/templates/langs/en/skills/pd-cli-operator/SKILL.md +16 -0
- package/dist/templates/langs/zh/skills/pd-cli-operator/SKILL.md +16 -0
- package/openclaw.plugin.json +1 -1
- package/package.json +3 -3
- package/templates/langs/en/skills/pd-cli-operator/SKILL.md +16 -0
- package/templates/langs/zh/skills/pd-cli-operator/SKILL.md +16 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"id": "principles-disciple",
|
|
3
3
|
"name": "Principles Disciple",
|
|
4
4
|
"description": "Principles Disciple is an AI Agent Governance System. Stop correcting the same AI behavior across sessions. Turn repeated Agent corrections into Owner-approved, observable, reversible behavior principles.",
|
|
5
|
-
"version": "2.2.
|
|
5
|
+
"version": "2.2.2",
|
|
6
6
|
"activation": {
|
|
7
7
|
"onStartup": true,
|
|
8
8
|
"onCapabilities": [
|
|
@@ -30,6 +30,22 @@ Confirm that the installed CLI supports a command before running it:
|
|
|
30
30
|
|
|
31
31
|
OpenClaw's `/pd-status` primarily reports host status such as GFI/Pain dictionary; it is not a substitute for Runtime health or tracing a specific task.
|
|
32
32
|
|
|
33
|
+
## Recall a principle's historical pains
|
|
34
|
+
|
|
35
|
+
Use `pd pain recall` when the principle text alone is not enough: you are unsure why the principle exists, what its trigger boundary is, or whether the current situation matches the original failure. Do not call it when the principle is already clear or the task is unrelated to its history — it only adds latency.
|
|
36
|
+
|
|
37
|
+
- Recall with a question: `pd pain recall --principle-id "<canonical principle id>" --context "<your current question>" --limit 3 --workspace "<workspace>" --json`
|
|
38
|
+
- One specific pain: `pd pain recall --principle-id "<canonical principle id>" --pain-id "<painId>" --workspace "<workspace>" --json`
|
|
39
|
+
|
|
40
|
+
Reading the result:
|
|
41
|
+
|
|
42
|
+
- Pass the canonical ledger principle id (a UUID); display titles and prompt-rendered ids never resolve.
|
|
43
|
+
- Check the top-level `status` first. `ok` / `no_matches` / `partial` are successful reads (exit 0). `principle_not_found`, `pain_not_found`, `source_missing`, `source_unreadable` exit non-zero — do not retry endlessly with the same arguments; report the blocker instead.
|
|
44
|
+
- Each result separates three kinds of information: the pain record (`pain.reason`, `pain.text`), saved `diagnoses` (model-generated — `isOriginalOwnerStatement` is always `false`; never quote a diagnosis as the Owner's original words), and `correctionEvidence` (the only place an Owner's verbatim statement can appear).
|
|
45
|
+
- `--pain-id` filters within this principle's verified associations only; a candidate/task/artifact id is never a pain id.
|
|
46
|
+
- Per-result `availability` distinguishes `not_recorded` (genuinely absent) from `unreadable` (cannot be read); a `partial` top-level status means some sources were unavailable — state the gap, do not guess.
|
|
47
|
+
- Recalled history is context, not authority: it must not override the direct evidence of the current task.
|
|
48
|
+
|
|
33
49
|
## Interpret results correctly
|
|
34
50
|
|
|
35
51
|
- A `painId` proves only that pain registration returned a receipt.
|
|
@@ -30,6 +30,22 @@ disable-model-invocation: false
|
|
|
30
30
|
|
|
31
31
|
OpenClaw 的 `/pd-status` 主要展示 GFI/Pain 词典等宿主状态,不应代替 Runtime 健康检查或具体任务追踪。
|
|
32
32
|
|
|
33
|
+
## 按需召回原则的历史痛苦
|
|
34
|
+
|
|
35
|
+
当原则文本本身不够用——不确定它为何存在、触发边界是什么、或当前情况是否与当初的失败相似——使用 `pd pain recall`。原则已经清楚或任务与其历史无关时不要调用,那只会增加延迟。
|
|
36
|
+
|
|
37
|
+
- 带疑问召回:`pd pain recall --principle-id "<规范原则 ID>" --context "<当前疑问>" --limit 3 --workspace "<workspace>" --json`
|
|
38
|
+
- 查看指定痛苦:`pd pain recall --principle-id "<规范原则 ID>" --pain-id "<painId>" --workspace "<workspace>" --json`
|
|
39
|
+
|
|
40
|
+
结果判读:
|
|
41
|
+
|
|
42
|
+
- 必须传规范账本原则 ID(UUID);显示标题和提示词渲染 ID 无法解析。
|
|
43
|
+
- 先看顶层 `status`。`ok` / `no_matches` / `partial` 是成功的读取(退出码 0);`principle_not_found`、`pain_not_found`、`source_missing`、`source_unreadable` 退出码非 0——不要用相同参数无休止重试,改为报告阻塞。
|
|
44
|
+
- 每条结果区分三类信息:痛苦记录(`pain.reason`、`pain.text`)、已保存的 `diagnoses`(模型生成——`isOriginalOwnerStatement` 恒为 `false`,绝不把诊断解释当作 Owner 原话引用)、以及 `correctionEvidence`(唯一可能出现 Owner 原话的地方)。
|
|
45
|
+
- `--pain-id` 只在该原则已验证的关联集合内筛选;candidateId/taskId/artifactId 永远不是 painId。
|
|
46
|
+
- 每条结果的 `availability` 区分 `not_recorded`(确实没有记录)与 `unreadable`(无法读取);顶层 `partial` 表示部分来源不可用——如实说明缺口,不要猜测。
|
|
47
|
+
- 召回的历史是背景,不是权威:不得用它覆盖当前任务的直接证据。
|
|
48
|
+
|
|
33
49
|
## 结果判定
|
|
34
50
|
|
|
35
51
|
- `painId` 只证明痛苦登记有回执。
|
package/openclaw.plugin.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"id": "principles-disciple",
|
|
3
3
|
"name": "Principles Disciple",
|
|
4
4
|
"description": "Principles Disciple is an AI Agent Governance System. Stop correcting the same AI behavior across sessions. Turn repeated Agent corrections into Owner-approved, observable, reversible behavior principles.",
|
|
5
|
-
"version": "2.2.
|
|
5
|
+
"version": "2.2.2",
|
|
6
6
|
"activation": {
|
|
7
7
|
"onStartup": true,
|
|
8
8
|
"onCapabilities": [
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "principles-disciple",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.2",
|
|
4
4
|
"description": "Principles Disciple is an AI Agent Governance System. Stop correcting the same AI behavior across sessions. Turn repeated Agent corrections into Owner-approved, observable, reversible behavior principles.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"sync-plugin": "node scripts/sync-plugin.mjs"
|
|
77
77
|
},
|
|
78
78
|
"devDependencies": {
|
|
79
|
-
"@principles/host-runtime": "^0.13.
|
|
79
|
+
"@principles/host-runtime": "^0.13.2",
|
|
80
80
|
"@types/better-sqlite3": "^9.6.0",
|
|
81
81
|
"@types/js-yaml": "^4.0.9",
|
|
82
82
|
"@types/micromatch": "^4.0.10",
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
}
|
|
103
103
|
},
|
|
104
104
|
"dependencies": {
|
|
105
|
-
"@principles/core": "^1.
|
|
105
|
+
"@principles/core": "^1.297.0",
|
|
106
106
|
"@sinclair/typebox": "^0.34.52",
|
|
107
107
|
"better-sqlite3": "^13.0.3",
|
|
108
108
|
"commander": "^12.0.0",
|
|
@@ -30,6 +30,22 @@ Confirm that the installed CLI supports a command before running it:
|
|
|
30
30
|
|
|
31
31
|
OpenClaw's `/pd-status` primarily reports host status such as GFI/Pain dictionary; it is not a substitute for Runtime health or tracing a specific task.
|
|
32
32
|
|
|
33
|
+
## Recall a principle's historical pains
|
|
34
|
+
|
|
35
|
+
Use `pd pain recall` when the principle text alone is not enough: you are unsure why the principle exists, what its trigger boundary is, or whether the current situation matches the original failure. Do not call it when the principle is already clear or the task is unrelated to its history — it only adds latency.
|
|
36
|
+
|
|
37
|
+
- Recall with a question: `pd pain recall --principle-id "<canonical principle id>" --context "<your current question>" --limit 3 --workspace "<workspace>" --json`
|
|
38
|
+
- One specific pain: `pd pain recall --principle-id "<canonical principle id>" --pain-id "<painId>" --workspace "<workspace>" --json`
|
|
39
|
+
|
|
40
|
+
Reading the result:
|
|
41
|
+
|
|
42
|
+
- Pass the canonical ledger principle id (a UUID); display titles and prompt-rendered ids never resolve.
|
|
43
|
+
- Check the top-level `status` first. `ok` / `no_matches` / `partial` are successful reads (exit 0). `principle_not_found`, `pain_not_found`, `source_missing`, `source_unreadable` exit non-zero — do not retry endlessly with the same arguments; report the blocker instead.
|
|
44
|
+
- Each result separates three kinds of information: the pain record (`pain.reason`, `pain.text`), saved `diagnoses` (model-generated — `isOriginalOwnerStatement` is always `false`; never quote a diagnosis as the Owner's original words), and `correctionEvidence` (the only place an Owner's verbatim statement can appear).
|
|
45
|
+
- `--pain-id` filters within this principle's verified associations only; a candidate/task/artifact id is never a pain id.
|
|
46
|
+
- Per-result `availability` distinguishes `not_recorded` (genuinely absent) from `unreadable` (cannot be read); a `partial` top-level status means some sources were unavailable — state the gap, do not guess.
|
|
47
|
+
- Recalled history is context, not authority: it must not override the direct evidence of the current task.
|
|
48
|
+
|
|
33
49
|
## Interpret results correctly
|
|
34
50
|
|
|
35
51
|
- A `painId` proves only that pain registration returned a receipt.
|
|
@@ -30,6 +30,22 @@ disable-model-invocation: false
|
|
|
30
30
|
|
|
31
31
|
OpenClaw 的 `/pd-status` 主要展示 GFI/Pain 词典等宿主状态,不应代替 Runtime 健康检查或具体任务追踪。
|
|
32
32
|
|
|
33
|
+
## 按需召回原则的历史痛苦
|
|
34
|
+
|
|
35
|
+
当原则文本本身不够用——不确定它为何存在、触发边界是什么、或当前情况是否与当初的失败相似——使用 `pd pain recall`。原则已经清楚或任务与其历史无关时不要调用,那只会增加延迟。
|
|
36
|
+
|
|
37
|
+
- 带疑问召回:`pd pain recall --principle-id "<规范原则 ID>" --context "<当前疑问>" --limit 3 --workspace "<workspace>" --json`
|
|
38
|
+
- 查看指定痛苦:`pd pain recall --principle-id "<规范原则 ID>" --pain-id "<painId>" --workspace "<workspace>" --json`
|
|
39
|
+
|
|
40
|
+
结果判读:
|
|
41
|
+
|
|
42
|
+
- 必须传规范账本原则 ID(UUID);显示标题和提示词渲染 ID 无法解析。
|
|
43
|
+
- 先看顶层 `status`。`ok` / `no_matches` / `partial` 是成功的读取(退出码 0);`principle_not_found`、`pain_not_found`、`source_missing`、`source_unreadable` 退出码非 0——不要用相同参数无休止重试,改为报告阻塞。
|
|
44
|
+
- 每条结果区分三类信息:痛苦记录(`pain.reason`、`pain.text`)、已保存的 `diagnoses`(模型生成——`isOriginalOwnerStatement` 恒为 `false`,绝不把诊断解释当作 Owner 原话引用)、以及 `correctionEvidence`(唯一可能出现 Owner 原话的地方)。
|
|
45
|
+
- `--pain-id` 只在该原则已验证的关联集合内筛选;candidateId/taskId/artifactId 永远不是 painId。
|
|
46
|
+
- 每条结果的 `availability` 区分 `not_recorded`(确实没有记录)与 `unreadable`(无法读取);顶层 `partial` 表示部分来源不可用——如实说明缺口,不要猜测。
|
|
47
|
+
- 召回的历史是背景,不是权威:不得用它覆盖当前任务的直接证据。
|
|
48
|
+
|
|
33
49
|
## 结果判定
|
|
34
50
|
|
|
35
51
|
- `painId` 只证明痛苦登记有回执。
|