@tea-agent/loop-agent 0.35.1-beta.2 → 0.35.1-beta.3

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
@@ -1,6 +1,6 @@
1
1
  # 更新日志
2
2
 
3
- ## [0.35.1-beta.2] - 2026-08-14
3
+ ## [0.35.1-beta.3] - 2026-08-14
4
4
 
5
5
  > frontend-implementation DAG 优化 v9 全六阶段 + Console 展示层(beta,发布到 `beta` dist-tag)。
6
6
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "version": "0.35.1-beta.2",
4
- "gitSha": "91471612918747b6f3d56271eb0198dc83f177a7",
5
- "builtAt": "2026-08-14T16:38:30.567Z"
3
+ "version": "0.35.1-beta.3",
4
+ "gitSha": "00588c8aa89d6a2df20b60c55af769a0076b3d7f",
5
+ "builtAt": "2026-08-14T18:42:37.895Z"
6
6
  }
@@ -2359,6 +2359,12 @@ async function buildFrontendHybridDagFromTask(sources) {
2359
2359
  `Every requirement MUST have a non-empty expectedOutcome. Every interaction MUST have non-empty trigger and expectedBehavior. UI states with applicable=true MUST have non-empty expectedBehavior. Empty strings or omitted fields for these will cause contract rejection.`,
2360
2360
  ].join("\n")
2361
2361
  : "";
2362
+ const verificationTargetFileInstruction = [
2363
+ `## Verification target file semantics`,
2364
+ `verificationTargets[].file is the code file that the target verifies (the file the writer changes), NOT where the command is defined.`,
2365
+ `Non-static targets (type unit/component/integration/mock) MUST set file to a concrete code file inside the implementation writeSet (task allowedPaths); the prewrite gate rejects any non-static target whose file falls outside the writeSet.`,
2366
+ `Command-level checks that run project-wide (all tests, typecheck, build, governance) MUST use type "static" and must NOT be bound as non-static targets with file=package.json/tsconfig.json/vite.config.ts/scripts/*. Static targets are exempt from the writeSet containment check.`,
2367
+ ].join("\n");
2362
2368
  const strategy = resolveDagVerifyStrategy(taskConfig);
2363
2369
  const readOnlyPaths = taskConfig.allowedPaths.length > 0 ? taskConfig.allowedPaths : ["**"];
2364
2370
  const behaviorPaths = deriveFrontendBehaviorPaths(taskConfig);
@@ -2570,6 +2576,7 @@ async function buildFrontendHybridDagFromTask(sources) {
2570
2576
  "Each requirement must state its user-observable or logic-observable expectedOutcome. Each interaction must state its trigger and expectedBehavior. IDs plus file paths are not sufficient behavior semantics.",
2571
2577
  requirementCoverageInstruction,
2572
2578
  "verificationTargets[].commandLabel MUST be one of the frozen command labels listed above. Any other value will be rejected at contract materialization.",
2579
+ verificationTargetFileInstruction,
2573
2580
  "Read-only: do not modify code, docs, artifacts, or repository files.",
2574
2581
  fixedVerificationContext,
2575
2582
  sourceContext,
@@ -2627,6 +2634,7 @@ async function buildFrontendHybridDagFromTask(sources) {
2627
2634
  "End the response with exactly one fenced json object conforming to frontend-implementation-contract-v1. This node is the single contract JSON producer when the design review requests revision: the fenced block is the authoritative contract the prewrite gate materializes. Do not emit any raw JSON, JSON in prose, or a second fenced block anywhere in the response. Bind it to the supplied task sources; map every requirement and applicable UI state to concrete implementation and verification targets or an explicit blocking evidence gap. Do not include secrets or unsafe paths.",
2628
2635
  "Preserve each requirement expectedOutcome and each interaction trigger/expectedBehavior in the revised contract; do not reduce behavior semantics to IDs and paths.",
2629
2636
  "verificationTargets[].commandLabel MUST be one of the frozen command labels listed above. Any other value will be rejected at contract materialization.",
2637
+ verificationTargetFileInstruction,
2630
2638
  fixedVerificationContext,
2631
2639
  sourceContext,
2632
2640
  frontendContractSchemaBlock,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tea-agent/loop-agent",
3
- "version": "0.35.1-beta.2",
3
+ "version": "0.35.1-beta.3",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "loop-agent": "bin/loop-agent.js",