@tea-agent/loop-agent 0.28.9 → 0.28.10

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/CHANGELOG.md CHANGED
@@ -2,6 +2,16 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.28.10] - 2026-08-05
6
+
7
+ ### 重点更新
8
+
9
+ - 修复 DAG 变更清单 schema 校验误杀合法执行清单的问题,恢复夜间测试成功路径
10
+
11
+ ### 修复
12
+
13
+ - DAG writer change-manifest 的 schema 校验现可正确接受 Pi 执行器写入的 effectiveWriteSet 与 approval 元数据字段,修复 verify-pi project-governance-integrity 因 ownership/schema 不匹配而误拒合法 implement-pi 清单的问题
14
+
5
15
  ## [0.28.9] - 2026-08-05
6
16
 
7
17
  ### 重点更新
@@ -292,6 +292,9 @@ const writerChangeManifestSchema = z
292
292
  .object({
293
293
  schemaVersion: z.literal(1),
294
294
  writerNodeId: z.string().min(1),
295
+ effectiveWriteSet: z.array(z.string()).optional(),
296
+ approvalSourceNodeId: z.string().min(1).optional(),
297
+ approvalDigest: z.string().min(1).optional(),
295
298
  changedFiles: z.array(relativePathSchema),
296
299
  beforeStatusSha256: sha256Schema,
297
300
  afterStatusSha256: sha256Schema,
@@ -419,13 +419,19 @@ function parseContext(value) {
419
419
  throw new DagProjectGovernanceIntegrityError(`project governance context schema validation failed: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
420
420
  }
421
421
  }
422
- const writerChangeManifestArtifactSchema = z.object({
422
+ const writerChangeManifestArtifactSchema = z
423
+ .object({
423
424
  schemaVersion: z.literal(1),
424
425
  writerNodeId: z.string().min(1),
426
+ /** Runtime authorization used by the writer (optional on older manifests). */
427
+ effectiveWriteSet: z.array(z.string()).optional(),
428
+ approvalSourceNodeId: z.string().min(1).optional(),
429
+ approvalDigest: z.string().min(1).optional(),
425
430
  changedFiles: z.array(z.string()),
426
431
  beforeStatusSha256: z.string().regex(/^[a-f0-9]{64}$/),
427
432
  afterStatusSha256: z.string().regex(/^[a-f0-9]{64}$/),
428
- }).strict();
433
+ })
434
+ .strict();
429
435
  /**
430
436
  * Read run-owned manifests only for Pi nodes that actually finished with the
431
437
  * bounded write tool profile. A finished writer without its manifest fails
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tea-agent/loop-agent",
3
- "version": "0.28.9",
3
+ "version": "0.28.10",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "loop-agent": "bin/loop-agent.js",