@dsh-enhanced/assistant-evolution 0.1.5 → 0.1.7
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 +21 -7
- package/cordis.patch.yml +1 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/service.d.ts +49 -7
- package/lib/service.d.ts.map +1 -1
- package/lib/service.js +53 -6
- package/lib/service.js.map +1 -1
- package/lib/sqlite.d.ts +1 -1
- package/lib/sqlite.d.ts.map +1 -1
- package/lib/sqlite.js +62 -3
- package/lib/sqlite.js.map +1 -1
- package/lib/store.d.ts +39 -1
- package/lib/store.d.ts.map +1 -1
- package/lib/store.js +178 -0
- package/lib/store.js.map +1 -1
- package/lib/tools.d.ts.map +1 -1
- package/lib/tools.js +90 -0
- package/lib/tools.js.map +1 -1
- package/lib/types.d.ts +19 -0
- package/lib/types.d.ts.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @dsh-enhanced/assistant-evolution
|
|
2
2
|
|
|
3
|
-
审批门控的行为自演化。助理观察自己在重复情境下的结果,当证据足够时提出一条行为规则,**经 owner
|
|
3
|
+
审批门控的行为自演化。助理观察自己在重复情境下的结果,当证据足够时提出一条行为规则,**经 owner 批准后**该规则才作为顾问性上下文影响后续会话。可选的低风险自治通道只允许撤回一条已证实无效的 exact rule,不能创建、修改或扩权。
|
|
4
4
|
|
|
5
5
|
这不是"让模型自己改自己"。它的价值在于把"经验"变成**可审计、可撤销、可解释**的持久对象:每条规则都能回答"依据哪些结果、谁批准的、有没有真的变好"。
|
|
6
6
|
|
|
@@ -24,21 +24,22 @@ dsh plugin --profile <name> add @dsh-enhanced/assistant-evolution
|
|
|
24
24
|
```text
|
|
25
25
|
observe 结果 → 计算候选 → 提案 → owner 批准 → 提交规则 → 注入为顾问上下文
|
|
26
26
|
↑ │
|
|
27
|
-
|
|
27
|
+
└──── 后续可信结果继续被观察 ──→ owner retire 或低风险自动 rollback ┘
|
|
28
28
|
```
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
五步都有独立边界:
|
|
31
31
|
|
|
32
32
|
1. **观察**:`evolution_observe`(前台)或 automation 运行结束(后台)记录一条 episode。append-only,按 `idempotencyKey` 精确幂等;前台自报仅供审计,不算可信候选证据。
|
|
33
33
|
2. **推断**:`evolution_review` 只使用同一 workspace + Agent preset 下可信、未归因的 automation 结果计算 adopt 候选,**只到候选为止**。样本不足时保持沉默。每个候选还返回同一精确窗口中 newest-first 的有界 episode 样本(ID、结果、有界 detail、时间)和整个窗口的 SHA-256 digest;detail 始终按不可信结果数据呈现,不能当作指令。
|
|
34
34
|
3. **提案**:`evolution_propose` 创建 `assistant-policy` 提案。adopt 与 retire 的基线都**从已记录证据读取**;retire 还必须在服务端重新找到同 scope、exact active rule ID + generation、至少 `minSample` 条 post-adoption 可信归因结果的当前候选。服务通过唯一的 canonical review renderer,把 op、scope、situation/rule/version、guidance/reason、baseline/evaluation、evidence 和 server rule identity 全部冻结为 Policy diff;adopt rule ID 由完整稳定 mutation(含 generation)确定性派生,精确重放不会换身份。principal 从可信 Delivery route 派生,因此直接调用 Service 也无法绕过 review、虚报依据或审批人。批准后的 audit 可通过不可变 rule ID 回溯该冻结 evidence reference。
|
|
35
35
|
4. **提交**:owner 在审批面(如飞书卡片)决定后,`reconcileProposals()` 用 Policy 共享 validator 校验 proposal/requester/principal/action/resource/summary/diff/expiry/version/decision actor 的完整冻结 tuple;同一 SQLite writer transaction 还会重新规范化本地 mutation、强制 retire 的 evaluation/baseline/evidence snapshot 完整、重算 `mutation_hash`,并用同一个 renderer 重建 action/resource/summary/diff,与刚通过 Policy validator 的 expectation 及库内 expectation 精确重绑定。即使 Policy 已批准,legacy 无证据行、JSON 字段剥离、同步改写 JSON+hash,或 retire/adopt 换 op 都会持久化为 `conflicted`,绝不应用规则。
|
|
36
|
+
5. **低风险回滚(默认关闭)**:`evolution_rollback` 只接收 `rule_id + expected_version`。启用 `autonomousRollback` 且 Policy 对 exact `{action: rollback, resource: evolution/rule:<id>}` 放行后,Host 在 `BEGIN IMMEDIATE` 内重新读取同 scope、exact rule ID + generation 的可信 post-exposure 证据;只有样本达到 `minSample`、失败率达到 `retireFailureRate`,并且没有优于 adoption baseline 时才 retire。reason、risk=`low`、完整窗口 digest 和有界 episode ID 均由 Host 生成并与规则 compare-and-set、audit 在同一事务提交。它不能 adopt、改 guidance、改 Policy、选择证据或降低门槛。
|
|
36
37
|
|
|
37
38
|
## 三条结构性安全边界
|
|
38
39
|
|
|
39
40
|
这三条不是文档承诺,而是有测试守护的结构约束:
|
|
40
41
|
|
|
41
|
-
-
|
|
42
|
+
- **不能自我批准或自我扩展**。服务**没有** `decideProposal`。任何 adopt / guidance 变化只能由 owner 在 policy 账本上决定,本插件只能读取该决定。可选 rollback 只能删除 exact 旧 guidance,不能授予新行为。
|
|
42
43
|
- **不能扩权**。guidance 以**数据**形式注入,且 `assistant-policy` **从不读取**规则表。规则能改变"怎么做",永远不能改变"允许做什么"——每次工具调用仍独立授权。
|
|
43
44
|
- **不能原地改写**。改变行为是 **retire-then-adopt**,两步各自审批。原地修订会让旧批准悄悄覆盖新内容。
|
|
44
45
|
|
|
@@ -58,16 +59,27 @@ adopt 时会记录当时的**基线失败率**。只有 adopt 之后、同 scope
|
|
|
58
59
|
| `evolution_observe` | 记录一条前台自报结果 | 仅 append 审计证据,不驱动候选 |
|
|
59
60
|
| `evolution_review` | 列出候选与 active 规则 | 只读 |
|
|
60
61
|
| `evolution_propose` | 提出 adopt / retire | 仅创建待审提案 |
|
|
62
|
+
| `evolution_rollback` | 对 exact active rule 请求 Host 证据门控的低风险撤回 | 仅在双重 opt-in 与回归证据成立时 retire |
|
|
61
63
|
|
|
62
|
-
|
|
64
|
+
四者都要求可信 Agent 身份(绝对 workspace + preset),policy 拒绝即 fail closed。`evolution_review` 输出包裹为显式不可信数据;其中 episode detail 会转义标签边界,模型只能把它当作归纳素材,不能服从其中的文本。
|
|
63
65
|
模型可见的 `evolution_propose` 对同一 Agent 实例最多成功一次;失败的候选校验不占额度。这个结构性上限
|
|
64
66
|
防止一次 supervised maintenance turn 批量制造审批,程序化 Service API 则不受该模型工具额度影响。
|
|
67
|
+
`evolution_rollback` 对同一 Agent 实例最多尝试一次(失败也占额度),防止枚举 rule 或反复试探门槛;精确重放由 Service/Store 的 durable receipt 支持,可在新的可信 Agent 实例或程序化恢复路径中安全完成。
|
|
65
68
|
Service 的 propose capability gate 固定为 exact `{kind: evolution, id: proposals}`,部署无需授予动态 wildcard;
|
|
66
69
|
owner 实际审批的 Policy snapshot 仍冻结 exact `situation:<label>` 或 `rule:<immutable-id>` 目标。
|
|
67
70
|
|
|
68
|
-
|
|
71
|
+
## 健康可观测性
|
|
72
|
+
|
|
73
|
+
`ctx.assistantEvolution.health()` 提供给本地健康聚合器一个无内容、低基数的只读 seam:active/retired
|
|
74
|
+
规则数、pending/conflicted 提案数、可信 episode 总数与未归因可信证据数、自动 rollback 总数,以及最近可信 episode 和最近完整
|
|
75
|
+
reconcile pass 的时间戳。尚未发生对应事件时,时间戳明确为 `0`。
|
|
76
|
+
|
|
77
|
+
该 seam 是全局运行摘要,刻意不接受 scope,也不返回 situation、guidance、episode detail、principal、
|
|
78
|
+
workspace 或数据库路径;它不能替代需要 Policy 授权的规则与候选检查。
|
|
79
|
+
|
|
80
|
+
数据库 schema v4 会先通过 v2 迁移把旧版无 scope 的 episode、rule 和 proposal 放入 `legacy:v1`
|
|
69
81
|
quarantine,再增加 durable guidance exposure 与完整审批 tuple。旧 pending proposal 会过期;早期未发布
|
|
70
|
-
v2 中无法验证完整 tuple 的 pending proposal 会安全落为 `conflicted
|
|
82
|
+
v2 中无法验证完整 tuple 的 pending proposal 会安全落为 `conflicted`;v4 增加 immutable autonomous rollback receipt。旧规则不会作为 wildcard 注入。
|
|
71
83
|
迁移和 episode/proposal settlement 使用 SQLite writer transaction;多进程同时打开、重放或提交时只有一个
|
|
72
84
|
winner,其余读取 winner 并做精确幂等比较。
|
|
73
85
|
跨 Evolution/Policy 数据库创建审批时,Evolution 先持久化本地 intent,再调用 Policy 的原子
|
|
@@ -91,6 +103,7 @@ winner,其余读取 winner 并做精确幂等比较。
|
|
|
91
103
|
| `defaultProposalTtlMs` | 900000 | 提案默认有效期 |
|
|
92
104
|
| `reconcileIntervalMs` | 15000 | 提交延迟审批的轮询间隔;`0` 关闭定时器 |
|
|
93
105
|
| `reconcileLimit` | 50 | 每轮检查的待决提案上限 |
|
|
106
|
+
| `autonomousRollback` | `false` | 是否启用仅能 retire exact guidance 的低风险代码通道;仍需 Policy 单独允许 exact `rollback` action |
|
|
94
107
|
|
|
95
108
|
## 与 assistant-automations 的可选联动
|
|
96
109
|
|
|
@@ -118,3 +131,4 @@ winner,其余读取 winner 并做精确幂等比较。
|
|
|
118
131
|
- 不修改 Skill、prompt 模板、插件代码或 policy 规则。"自演化"仅限**经批准的顾问性 guidance**。
|
|
119
132
|
- 不做向量检索、自动遗忘、跨设备同步、多用户 ACL。
|
|
120
133
|
- guidance 会进入模型上下文:不要在 guidance 中写入密钥或敏感数据。
|
|
134
|
+
- 自动 rollback 是收缩行为能力的安全阀,不是通用“AI 自批”入口;部署若启用,Policy 只应授予 `rollback`,不要把它复用为 adopt、权限或外部副作用授权。
|
package/cordis.patch.yml
CHANGED
package/lib/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export declare const inject: string[];
|
|
|
7
7
|
export { AssistantEvolutionService, version };
|
|
8
8
|
export type { Config };
|
|
9
9
|
export { AssistantEvolutionError } from './service.js';
|
|
10
|
-
export type { EvolutionProposalResult } from './service.js';
|
|
10
|
+
export type { AssistantEvolutionHealth, EvolutionProposalResult, EvolutionRollbackResult, } from './service.js';
|
|
11
11
|
export * from './types.js';
|
|
12
12
|
export declare function apply(ctx: Context, config: Config): void;
|
|
13
13
|
export default AssistantEvolutionService;
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,eAAO,MAAM,IAAI,qCAAqC,CAAA;AACtD,eAAO,MAAM,MAAM,UAAsB,CAAA;AACzC,OAAO,EAAE,yBAAyB,EAAE,OAAO,EAAE,CAAA;AAC7C,YAAY,EAAE,MAAM,EAAE,CAAA;AACtB,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AACtD,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,eAAO,MAAM,IAAI,qCAAqC,CAAA;AACtD,eAAO,MAAM,MAAM,UAAsB,CAAA;AACzC,OAAO,EAAE,yBAAyB,EAAE,OAAO,EAAE,CAAA;AAC7C,YAAY,EAAE,MAAM,EAAE,CAAA;AACtB,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AACtD,YAAY,EACV,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,cAAc,CAAA;AACrB,cAAc,YAAY,CAAA;AAE1B,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAExD;AAED,eAAe,yBAAyB,CAAA"}
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,CAAC,MAAM,IAAI,GAAG,kCAAkC,CAAA;AACtD,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,iBAAiB,CAAC,CAAA;AACzC,OAAO,EAAE,yBAAyB,EAAE,OAAO,EAAE,CAAA;AAE7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,CAAC,MAAM,IAAI,GAAG,kCAAkC,CAAA;AACtD,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,iBAAiB,CAAC,CAAA;AACzC,OAAO,EAAE,yBAAyB,EAAE,OAAO,EAAE,CAAA;AAE7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AAMtD,cAAc,YAAY,CAAA;AAE1B,MAAM,UAAU,KAAK,CAAC,GAAY,EAAE,MAAc;IAChD,IAAI,yBAAyB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;AAC5C,CAAC;AAED,eAAe,yBAAyB,CAAA"}
|
package/lib/service.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { Context, Service } from '@deepseek-ai/cordis';
|
|
|
2
2
|
import type { Agent } from '@deepseek-ai/dsh-agent';
|
|
3
3
|
import Schema from '@deepseek-ai/schemastery';
|
|
4
4
|
import type { ApprovalProposalResult } from '@dsh-enhanced/assistant-policy';
|
|
5
|
-
import type { EvolutionProposalMutation, RuleCandidate, StoredEpisode, StoredProposal, StoredRule } from './types.js';
|
|
5
|
+
import type { EvolutionProposalMutation, RuleCandidate, StoredAutonomousRollback, StoredEpisode, StoredProposal, StoredRule } from './types.js';
|
|
6
6
|
export interface Config {
|
|
7
7
|
databasePath: string;
|
|
8
8
|
/** Recent episodes per situation considered when judging a rule. */
|
|
@@ -25,6 +25,11 @@ export interface Config {
|
|
|
25
25
|
/** Poll interval for committing decisions settled after the originating turn. */
|
|
26
26
|
reconcileIntervalMs?: number;
|
|
27
27
|
reconcileLimit?: number;
|
|
28
|
+
/**
|
|
29
|
+
* Permit the narrow evidence-gated rollback lane. This only enables the code
|
|
30
|
+
* path; Policy must independently allow exact `rollback` actions.
|
|
31
|
+
*/
|
|
32
|
+
autonomousRollback?: boolean;
|
|
28
33
|
}
|
|
29
34
|
export type AssistantEvolutionErrorCode = 'disposed' | 'forbidden' | 'invalid-input' | 'missing-identity' | 'not-found';
|
|
30
35
|
export declare class AssistantEvolutionError extends Error {
|
|
@@ -39,6 +44,24 @@ export interface EvolutionProposalResult {
|
|
|
39
44
|
replayed: boolean;
|
|
40
45
|
rule: StoredRule | undefined;
|
|
41
46
|
}
|
|
47
|
+
export interface EvolutionRollbackResult {
|
|
48
|
+
rollback: StoredAutonomousRollback;
|
|
49
|
+
rule: StoredRule;
|
|
50
|
+
replayed: boolean;
|
|
51
|
+
}
|
|
52
|
+
/** Content-free, global operational summary for local health aggregation. */
|
|
53
|
+
export interface AssistantEvolutionHealth {
|
|
54
|
+
activeRules: number;
|
|
55
|
+
retiredRules: number;
|
|
56
|
+
pendingProposals: number;
|
|
57
|
+
conflictedProposals: number;
|
|
58
|
+
trustedEpisodes: number;
|
|
59
|
+
unattributedTrustedEpisodes: number;
|
|
60
|
+
lastTrustedEpisodeAt: number;
|
|
61
|
+
/** Last fully completed reconciliation pass; zero means none has completed. */
|
|
62
|
+
lastReconciledAt: number;
|
|
63
|
+
autonomousRollbacks: number;
|
|
64
|
+
}
|
|
42
65
|
export interface ForegroundEpisodeInput {
|
|
43
66
|
situation: string;
|
|
44
67
|
outcome: 'succeeded' | 'failed';
|
|
@@ -62,13 +85,15 @@ declare module '@deepseek-ai/cordis' {
|
|
|
62
85
|
* only then let an approved rule shape future sessions as injected advisory
|
|
63
86
|
* context. Three boundaries are structural rather than cosmetic:
|
|
64
87
|
*
|
|
65
|
-
* - **No self-
|
|
66
|
-
*
|
|
67
|
-
*
|
|
88
|
+
* - **No self-adoption.** New or changed guidance is always an
|
|
89
|
+
* `assistant-policy` proposal. The only optional autonomous mutation removes
|
|
90
|
+
* an exact active rule after Host-recomputed regression evidence; it can never
|
|
91
|
+
* create or revise guidance.
|
|
68
92
|
* - **No privilege growth.** Guidance is injected as data and policy never reads
|
|
69
93
|
* the rule table, so a rule can change approach but never authority.
|
|
70
|
-
* - **No in-place revision.**
|
|
71
|
-
*
|
|
94
|
+
* - **No in-place revision.** Replacement is always retire-then-adopt. A rollback
|
|
95
|
+
* may remove the old rule, but the replacement still needs its own approval,
|
|
96
|
+
* so an old decision can never silently cover new guidance.
|
|
72
97
|
*/
|
|
73
98
|
export declare class AssistantEvolutionService extends Service {
|
|
74
99
|
static Config: Schema<Config>;
|
|
@@ -77,9 +102,15 @@ export declare class AssistantEvolutionService extends Service {
|
|
|
77
102
|
private readonly policy;
|
|
78
103
|
private readonly config;
|
|
79
104
|
private readonly injected;
|
|
105
|
+
private readonly now;
|
|
80
106
|
private delivery;
|
|
81
107
|
private active;
|
|
82
|
-
|
|
108
|
+
private lastReconciledAt;
|
|
109
|
+
constructor(ctx: Context, input: Config, options?: {
|
|
110
|
+
now?: () => number;
|
|
111
|
+
});
|
|
112
|
+
/** Aggregate health seam. It never returns content, identities, scopes, or paths. */
|
|
113
|
+
health(): Readonly<AssistantEvolutionHealth>;
|
|
83
114
|
/** Record one observed outcome as evidence. */
|
|
84
115
|
recordEpisode(agent: Agent | undefined, input: ForegroundEpisodeInput): StoredEpisode;
|
|
85
116
|
/**
|
|
@@ -117,6 +148,17 @@ export declare class AssistantEvolutionService extends Service {
|
|
|
117
148
|
/** Candidate rule changes implied by current evidence. Never auto-applied. */
|
|
118
149
|
candidates(agent: Agent | undefined): RuleCandidate[];
|
|
119
150
|
listRules(agent: Agent | undefined, status?: 'active' | 'retired'): StoredRule[];
|
|
151
|
+
/**
|
|
152
|
+
* Remove one exact active guidance generation through the opt-in low-risk lane.
|
|
153
|
+
*
|
|
154
|
+
* The model identifies only the immutable rule and its observed version. This
|
|
155
|
+
* method derives scope from the Agent, authorizes the exact Policy action, and
|
|
156
|
+
* delegates the evidence/risk/reason decision to one transactional Host path.
|
|
157
|
+
*/
|
|
158
|
+
rollback(agent: Agent | undefined, input: {
|
|
159
|
+
ruleId: string;
|
|
160
|
+
expectedVersion: number;
|
|
161
|
+
}): EvolutionRollbackResult;
|
|
120
162
|
/**
|
|
121
163
|
* Propose adopting or retiring a rule. Returns a pending proposal; the owner
|
|
122
164
|
* decides through the normal approval surface.
|
package/lib/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAEnD,OAAO,MAAM,MAAM,0BAA0B,CAAA;AAC7C,OAAO,KAAK,EAGV,sBAAsB,EAGvB,MAAM,gCAAgC,CAAA;AASvC,OAAO,KAAK,EAGV,yBAAyB,EACzB,aAAa,EACb,aAAa,EACb,cAAc,EACd,UAAU,EACX,MAAM,YAAY,CAAA;AAGnB,MAAM,WAAW,MAAM;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,qEAAqE;IACrE,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,oDAAoD;IACpD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,iFAAiF;IACjF,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
package/lib/service.js
CHANGED
|
@@ -23,6 +23,7 @@ const configSchema = Schema.object({
|
|
|
23
23
|
defaultProposalTtlMs: Schema.number().step(1).min(1).default(900_000),
|
|
24
24
|
reconcileIntervalMs: Schema.number().step(1).min(0).default(15_000),
|
|
25
25
|
reconcileLimit: Schema.number().step(1).min(1).max(1_000).default(50),
|
|
26
|
+
autonomousRollback: Schema.boolean().default(false),
|
|
26
27
|
});
|
|
27
28
|
const evolutionApprovalSource = 'dsh-enhanced-assistant-evolution';
|
|
28
29
|
export class AssistantEvolutionError extends Error {
|
|
@@ -63,13 +64,15 @@ function ruleIdFromStableMutation(stable) {
|
|
|
63
64
|
* only then let an approved rule shape future sessions as injected advisory
|
|
64
65
|
* context. Three boundaries are structural rather than cosmetic:
|
|
65
66
|
*
|
|
66
|
-
* - **No self-
|
|
67
|
-
*
|
|
68
|
-
*
|
|
67
|
+
* - **No self-adoption.** New or changed guidance is always an
|
|
68
|
+
* `assistant-policy` proposal. The only optional autonomous mutation removes
|
|
69
|
+
* an exact active rule after Host-recomputed regression evidence; it can never
|
|
70
|
+
* create or revise guidance.
|
|
69
71
|
* - **No privilege growth.** Guidance is injected as data and policy never reads
|
|
70
72
|
* the rule table, so a rule can change approach but never authority.
|
|
71
|
-
* - **No in-place revision.**
|
|
72
|
-
*
|
|
73
|
+
* - **No in-place revision.** Replacement is always retire-then-adopt. A rollback
|
|
74
|
+
* may remove the old rule, but the replacement still needs its own approval,
|
|
75
|
+
* so an old decision can never silently cover new guidance.
|
|
73
76
|
*/
|
|
74
77
|
export class AssistantEvolutionService extends Service {
|
|
75
78
|
static Config = configSchema;
|
|
@@ -78,9 +81,11 @@ export class AssistantEvolutionService extends Service {
|
|
|
78
81
|
policy;
|
|
79
82
|
config;
|
|
80
83
|
injected = new WeakSet();
|
|
84
|
+
now;
|
|
81
85
|
delivery;
|
|
82
86
|
active = true;
|
|
83
|
-
|
|
87
|
+
lastReconciledAt = 0;
|
|
88
|
+
constructor(ctx, input, options = {}) {
|
|
84
89
|
super(ctx, 'assistantEvolution');
|
|
85
90
|
try {
|
|
86
91
|
this.config = configSchema(input);
|
|
@@ -92,6 +97,7 @@ export class AssistantEvolutionService extends Service {
|
|
|
92
97
|
if (policy === undefined)
|
|
93
98
|
throw new Error('assistant-evolution: assistantPolicy service is required');
|
|
94
99
|
this.policy = policy;
|
|
100
|
+
this.now = options.now ?? Date.now;
|
|
95
101
|
this.store = new EvolutionStore({
|
|
96
102
|
path: this.config.databasePath,
|
|
97
103
|
maxGuidanceBytes: this.config.maxRuleGuidanceBytes,
|
|
@@ -135,6 +141,14 @@ export class AssistantEvolutionService extends Service {
|
|
|
135
141
|
}, 'assistant-evolution.reconcile');
|
|
136
142
|
}
|
|
137
143
|
}
|
|
144
|
+
/** Aggregate health seam. It never returns content, identities, scopes, or paths. */
|
|
145
|
+
health() {
|
|
146
|
+
this.assertActive();
|
|
147
|
+
return Object.freeze({
|
|
148
|
+
...this.store.health(),
|
|
149
|
+
lastReconciledAt: this.lastReconciledAt,
|
|
150
|
+
});
|
|
151
|
+
}
|
|
138
152
|
/** Record one observed outcome as evidence. */
|
|
139
153
|
recordEpisode(agent, input) {
|
|
140
154
|
const scopeKey = this.authorize(agent, 'append', `situation:${input.situation}`);
|
|
@@ -221,6 +235,38 @@ export class AssistantEvolutionService extends Service {
|
|
|
221
235
|
const scopeKey = this.authorize(agent, 'inspect', 'rules');
|
|
222
236
|
return this.store.listRules(scopeKey, status);
|
|
223
237
|
}
|
|
238
|
+
/**
|
|
239
|
+
* Remove one exact active guidance generation through the opt-in low-risk lane.
|
|
240
|
+
*
|
|
241
|
+
* The model identifies only the immutable rule and its observed version. This
|
|
242
|
+
* method derives scope from the Agent, authorizes the exact Policy action, and
|
|
243
|
+
* delegates the evidence/risk/reason decision to one transactional Host path.
|
|
244
|
+
*/
|
|
245
|
+
rollback(agent, input) {
|
|
246
|
+
this.assertActive();
|
|
247
|
+
if (!this.config.autonomousRollback) {
|
|
248
|
+
throw new AssistantEvolutionError('forbidden', 'autonomous evolution rollback is disabled');
|
|
249
|
+
}
|
|
250
|
+
const ruleId = input.ruleId.normalize('NFC').trim();
|
|
251
|
+
if (!/^rule-[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/u
|
|
252
|
+
.test(ruleId)) {
|
|
253
|
+
throw new AssistantEvolutionError('invalid-input', 'ruleId must be an immutable server-issued rule ID');
|
|
254
|
+
}
|
|
255
|
+
if (!Number.isSafeInteger(input.expectedVersion) || input.expectedVersion < 1
|
|
256
|
+
|| input.expectedVersion > 1_000_000_000) {
|
|
257
|
+
throw new AssistantEvolutionError('invalid-input', 'expectedVersion must be a positive safe integer');
|
|
258
|
+
}
|
|
259
|
+
const scopeKey = this.authorize(agent, 'rollback', `rule:${ruleId}`);
|
|
260
|
+
return this.store.rollbackRule({
|
|
261
|
+
scopeKey,
|
|
262
|
+
ruleId,
|
|
263
|
+
expectedVersion: input.expectedVersion,
|
|
264
|
+
window: this.config.evaluationWindow,
|
|
265
|
+
minSample: this.config.minSample,
|
|
266
|
+
retireFailureRate: this.config.retireFailureRate,
|
|
267
|
+
evidenceSampleLimit: this.config.maxEvidenceSamples,
|
|
268
|
+
});
|
|
269
|
+
}
|
|
224
270
|
/**
|
|
225
271
|
* Propose adopting or retiring a rule. Returns a pending proposal; the owner
|
|
226
272
|
* decides through the normal approval surface.
|
|
@@ -355,6 +401,7 @@ export class AssistantEvolutionService extends Service {
|
|
|
355
401
|
this.store.deferPendingProposal(pending.proposalId);
|
|
356
402
|
}
|
|
357
403
|
}
|
|
404
|
+
this.lastReconciledAt = this.now();
|
|
358
405
|
return settled;
|
|
359
406
|
}
|
|
360
407
|
submitLocalProposal(local, replayed) {
|
package/lib/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
package/lib/sqlite.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DatabaseSync } from 'node:sqlite';
|
|
2
|
-
export declare const evolutionSchemaVersion =
|
|
2
|
+
export declare const evolutionSchemaVersion = 4;
|
|
3
3
|
export declare class EvolutionDatabaseError extends Error {
|
|
4
4
|
readonly code: 'invalid-path' | 'schema-too-new';
|
|
5
5
|
constructor(code: 'invalid-path' | 'schema-too-new', message: string);
|
package/lib/sqlite.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../src/sqlite.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,eAAO,MAAM,sBAAsB,IAAI,CAAA;AAEvC,qBAAa,sBAAuB,SAAQ,KAAK;IAE7C,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB;gBAAvC,IAAI,EAAE,cAAc,GAAG,gBAAgB,EAChD,OAAO,EAAE,MAAM;CAKlB;
|
|
1
|
+
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../src/sqlite.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,eAAO,MAAM,sBAAsB,IAAI,CAAA;AAEvC,qBAAa,sBAAuB,SAAQ,KAAK;IAE7C,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB;gBAAvC,IAAI,EAAE,cAAc,GAAG,gBAAgB,EAChD,OAAO,EAAE,MAAM;CAKlB;AA4RD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAoBhE"}
|
package/lib/sqlite.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { chmodSync, mkdirSync } from 'node:fs';
|
|
2
2
|
import { dirname, isAbsolute } from 'node:path';
|
|
3
3
|
import { DatabaseSync } from 'node:sqlite';
|
|
4
|
-
export const evolutionSchemaVersion =
|
|
4
|
+
export const evolutionSchemaVersion = 4;
|
|
5
5
|
export class EvolutionDatabaseError extends Error {
|
|
6
6
|
code;
|
|
7
7
|
constructor(code, message) {
|
|
@@ -87,6 +87,38 @@ function migrateV2ToV3(database) {
|
|
|
87
87
|
PRAGMA user_version = 3;
|
|
88
88
|
`);
|
|
89
89
|
}
|
|
90
|
+
function migrateV3ToV4(database) {
|
|
91
|
+
database.exec(`
|
|
92
|
+
CREATE TABLE evolution_autonomous_rollbacks (
|
|
93
|
+
idempotency_key TEXT PRIMARY KEY,
|
|
94
|
+
scope_key TEXT NOT NULL,
|
|
95
|
+
rule_id TEXT NOT NULL,
|
|
96
|
+
expected_version INTEGER NOT NULL CHECK (expected_version >= 1),
|
|
97
|
+
result_version INTEGER NOT NULL CHECK (result_version = expected_version + 1),
|
|
98
|
+
risk TEXT NOT NULL CHECK (risk = 'low'),
|
|
99
|
+
reason TEXT NOT NULL,
|
|
100
|
+
evaluation_failures INTEGER NOT NULL CHECK (evaluation_failures >= 0),
|
|
101
|
+
evaluation_total INTEGER NOT NULL CHECK (
|
|
102
|
+
evaluation_total > 0 AND evaluation_failures <= evaluation_total),
|
|
103
|
+
baseline_failures INTEGER NOT NULL CHECK (baseline_failures >= 0),
|
|
104
|
+
baseline_total INTEGER NOT NULL CHECK (
|
|
105
|
+
baseline_total > 0 AND baseline_failures <= baseline_total),
|
|
106
|
+
evidence_digest TEXT NOT NULL CHECK (length(evidence_digest) = 64),
|
|
107
|
+
evidence_total INTEGER NOT NULL CHECK (evidence_total = evaluation_total),
|
|
108
|
+
sample_episode_ids_json TEXT NOT NULL CHECK (
|
|
109
|
+
json_valid(sample_episode_ids_json) AND json_type(sample_episode_ids_json) = 'array'),
|
|
110
|
+
occurred_at INTEGER NOT NULL,
|
|
111
|
+
UNIQUE(scope_key, rule_id, expected_version),
|
|
112
|
+
FOREIGN KEY(rule_id) REFERENCES evolution_rules(id)
|
|
113
|
+
) STRICT;
|
|
114
|
+
CREATE INDEX evolution_autonomous_rollbacks_occurred
|
|
115
|
+
ON evolution_autonomous_rollbacks(occurred_at);
|
|
116
|
+
|
|
117
|
+
INSERT INTO schema_meta(key, value) VALUES ('schema-version', '4')
|
|
118
|
+
ON CONFLICT(key) DO UPDATE SET value = excluded.value;
|
|
119
|
+
PRAGMA user_version = 4;
|
|
120
|
+
`);
|
|
121
|
+
}
|
|
90
122
|
function createCurrentSchema(database) {
|
|
91
123
|
database.exec(`
|
|
92
124
|
CREATE TABLE schema_meta (
|
|
@@ -176,8 +208,33 @@ function createCurrentSchema(database) {
|
|
|
176
208
|
CREATE INDEX evolution_guidance_exposures_lookup
|
|
177
209
|
ON evolution_guidance_exposures(session_id, scope_key, situation, exposed_at, rule_id);
|
|
178
210
|
|
|
179
|
-
|
|
180
|
-
|
|
211
|
+
CREATE TABLE evolution_autonomous_rollbacks (
|
|
212
|
+
idempotency_key TEXT PRIMARY KEY,
|
|
213
|
+
scope_key TEXT NOT NULL,
|
|
214
|
+
rule_id TEXT NOT NULL,
|
|
215
|
+
expected_version INTEGER NOT NULL CHECK (expected_version >= 1),
|
|
216
|
+
result_version INTEGER NOT NULL CHECK (result_version = expected_version + 1),
|
|
217
|
+
risk TEXT NOT NULL CHECK (risk = 'low'),
|
|
218
|
+
reason TEXT NOT NULL,
|
|
219
|
+
evaluation_failures INTEGER NOT NULL CHECK (evaluation_failures >= 0),
|
|
220
|
+
evaluation_total INTEGER NOT NULL CHECK (
|
|
221
|
+
evaluation_total > 0 AND evaluation_failures <= evaluation_total),
|
|
222
|
+
baseline_failures INTEGER NOT NULL CHECK (baseline_failures >= 0),
|
|
223
|
+
baseline_total INTEGER NOT NULL CHECK (
|
|
224
|
+
baseline_total > 0 AND baseline_failures <= baseline_total),
|
|
225
|
+
evidence_digest TEXT NOT NULL CHECK (length(evidence_digest) = 64),
|
|
226
|
+
evidence_total INTEGER NOT NULL CHECK (evidence_total = evaluation_total),
|
|
227
|
+
sample_episode_ids_json TEXT NOT NULL CHECK (
|
|
228
|
+
json_valid(sample_episode_ids_json) AND json_type(sample_episode_ids_json) = 'array'),
|
|
229
|
+
occurred_at INTEGER NOT NULL,
|
|
230
|
+
UNIQUE(scope_key, rule_id, expected_version),
|
|
231
|
+
FOREIGN KEY(rule_id) REFERENCES evolution_rules(id)
|
|
232
|
+
) STRICT;
|
|
233
|
+
CREATE INDEX evolution_autonomous_rollbacks_occurred
|
|
234
|
+
ON evolution_autonomous_rollbacks(occurred_at);
|
|
235
|
+
|
|
236
|
+
INSERT INTO schema_meta(key, value) VALUES ('schema-version', '4');
|
|
237
|
+
PRAGMA user_version = 4;
|
|
181
238
|
`);
|
|
182
239
|
}
|
|
183
240
|
/** Serialize every schema transition and re-read the version after the lock. */
|
|
@@ -199,6 +256,8 @@ function migrate(database) {
|
|
|
199
256
|
migrateV1ToV2(database);
|
|
200
257
|
else if (version === 2)
|
|
201
258
|
migrateV2ToV3(database);
|
|
259
|
+
else if (version === 3)
|
|
260
|
+
migrateV3ToV4(database);
|
|
202
261
|
version = schemaVersion(database);
|
|
203
262
|
}
|
|
204
263
|
database.exec('COMMIT');
|
package/lib/sqlite.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../src/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAA;AAEvC,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAEpC;IADX,YACW,IAAuC,EAChD,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAA;QAHL,SAAI,GAAJ,IAAI,CAAmC;QAIhD,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAA;IACtC,CAAC;CACF;AAED,SAAS,aAAa,CAAC,QAAsB;IAC3C,OAAQ,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAA+B,CAAC,YAAY,CAAA;AACjG,CAAC;AAED,SAAS,eAAe,CAAC,OAAe;IACtC,IAAI,OAAO,GAAG,sBAAsB,EAAE,CAAC;QACrC,MAAM,IAAI,sBAAsB,CAC9B,gBAAgB,EAChB,oBAAoB,OAAO,mCAAmC,sBAAsB,EAAE,CACvF,CAAA;IACH,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,QAAsB;IAC3C,QAAQ,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCb,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,QAAsB;IAC3C,QAAQ,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4Bb,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAsB;IACjD,QAAQ,CAAC,IAAI,CAAC
|
|
1
|
+
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../src/sqlite.ts"],"names":[],"mappings":"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"}
|