ws-spec-kit 0.1.0-beta.0 → 0.1.0-beta.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.
Files changed (75) hide show
  1. package/README.md +2 -2
  2. package/dist/adapters/cli/workflow.js +11 -1
  3. package/dist/adapters/cli/workflow.js.map +1 -1
  4. package/dist/application/acquire.js +40 -25
  5. package/dist/application/acquire.js.map +1 -1
  6. package/dist/application/artifact.js +8 -4
  7. package/dist/application/artifact.js.map +1 -1
  8. package/dist/application/snapshot.d.ts +2 -1
  9. package/dist/application/snapshot.js +5 -1
  10. package/dist/application/snapshot.js.map +1 -1
  11. package/dist/application/start.js +26 -42
  12. package/dist/application/start.js.map +1 -1
  13. package/dist/application/state.d.ts +1 -0
  14. package/dist/application/state.js +7 -46
  15. package/dist/application/state.js.map +1 -1
  16. package/dist/application/submit.js +17 -4
  17. package/dist/application/submit.js.map +1 -1
  18. package/dist/cli/main.js +1 -1
  19. package/dist/domain/digests.d.ts +1 -1
  20. package/dist/domain/digests.js +27 -3
  21. package/dist/domain/digests.js.map +1 -1
  22. package/dist/domain/workflow.d.ts +2 -1
  23. package/dist/engine/approvals.js +29 -19
  24. package/dist/engine/approvals.js.map +1 -1
  25. package/dist/engine/archive.d.ts +1 -0
  26. package/dist/engine/archive.js +9 -4
  27. package/dist/engine/archive.js.map +1 -1
  28. package/dist/engine/compiler.js +2 -1
  29. package/dist/engine/compiler.js.map +1 -1
  30. package/dist/engine/scheduler.js +3 -9
  31. package/dist/engine/scheduler.js.map +1 -1
  32. package/dist/engine/verification.d.ts +6 -0
  33. package/dist/engine/verification.js +12 -3
  34. package/dist/engine/verification.js.map +1 -1
  35. package/dist/protocol/public-contract.d.ts +6 -6
  36. package/dist/protocol/public-contract.js +5 -5
  37. package/dist/protocol/public-contract.js.map +1 -1
  38. package/dist/protocol/work-package.d.ts +5 -0
  39. package/dist/registry/connectors/requirement-source.d.ts +3 -1
  40. package/dist/registry/connectors/requirement-source.js +9 -4
  41. package/dist/registry/connectors/requirement-source.js.map +1 -1
  42. package/dist/registry/skills/resolver.d.ts +3 -1
  43. package/dist/registry/skills/resolver.js +3 -2
  44. package/dist/registry/skills/resolver.js.map +1 -1
  45. package/dist/schemas/definitions.js +7 -2
  46. package/dist/schemas/definitions.js.map +1 -1
  47. package/dist/storage/control-plane.d.ts +12 -0
  48. package/dist/storage/control-plane.js +49 -8
  49. package/dist/storage/control-plane.js.map +1 -1
  50. package/dist/storage/repository.d.ts +1 -0
  51. package/dist/storage/repository.js +21 -4
  52. package/dist/storage/repository.js.map +1 -1
  53. package/dist/storage/work-items.d.ts +8 -1
  54. package/dist/storage/work-items.js +150 -35
  55. package/dist/storage/work-items.js.map +1 -1
  56. package/dist/workflow-package/types.d.ts +2 -0
  57. package/dist/workflow-package/types.js.map +1 -1
  58. package/dist/workflow-package/workflow-v1.js +4 -2
  59. package/dist/workflow-package/workflow-v1.js.map +1 -1
  60. package/package.json +1 -1
  61. package/resources/catalog.yaml +9 -9
  62. package/resources/skills/bug-fixing/SKILL.md +18 -6
  63. package/resources/skills/code-review/SKILL.md +18 -6
  64. package/resources/skills/documentation-editing/SKILL.md +14 -6
  65. package/resources/skills/documentation-exploration/SKILL.md +14 -6
  66. package/resources/skills/documentation-review/SKILL.md +17 -6
  67. package/resources/skills/requirement-exploration/SKILL.md +20 -6
  68. package/resources/skills/solution-design/SKILL.md +18 -6
  69. package/resources/skills/task-planning/SKILL.md +18 -6
  70. package/resources/skills/tdd-implementation/SKILL.md +27 -7
  71. package/resources/workflows/documentation-delivery/workflow.yaml +15 -0
  72. package/resources/workflows/feature-delivery/workflow.yaml +18 -0
  73. package/schemas/builtin-agent-action-v1.schema.json +20 -0
  74. package/schemas/builtin-work-item-v1.schema.json +4 -2
  75. package/schemas/builtin-work-package-v1.schema.json +20 -0
@@ -2,10 +2,11 @@ import type { CompiledStep, CompiledWorkflow, ProfileId, ResolvedChangePolicy, S
2
2
  import type { ProjectGatePolicy } from "../engine/compiler.js";
3
3
  import type { ArtifactReference, ResolvedSkillDescriptor } from "../protocol/work-package.js";
4
4
  import type { SkillLock, SkillProvider } from "../registry/skills/types.js";
5
- import type { ProfileAudit, ProfilePublishing, WorkflowActorRole, WorkflowPackageLock, WorkflowRetry } from "../workflow-package/types.js";
5
+ import type { ProfileAudit, ProfilePublishing, WorkflowActorRole, WorkflowPackageLock, WorkflowRetry, WorkspaceMode } from "../workflow-package/types.js";
6
6
  export interface SnapshotStep {
7
7
  id: string;
8
8
  uses: string;
9
+ workspace?: WorkspaceMode;
9
10
  actorRole?: WorkflowActorRole;
10
11
  securityClass: SecurityClass;
11
12
  needs: string[];
@@ -100,13 +100,15 @@ function parseArtifactDeclaration(value, label) {
100
100
  }
101
101
  function parseSnapshotStep(value, label) {
102
102
  const source = record(value, label, [
103
- "id", "uses", "actorRole", "securityClass", "needs", "enabled", "skills", "inputs", "outputs", "gates", "approval",
103
+ "id", "uses", "workspace", "actorRole", "securityClass", "needs", "enabled", "skills", "inputs", "outputs", "gates", "approval",
104
104
  "authorizationRequired", "artifactLevel", "objective", "expectedOutcome", "when", "action", "until", "retry",
105
105
  "maxIterations", "independentReviewActor", "steps",
106
106
  ]);
107
107
  const securityClasses = ["agent", "local-read", "local-write", "external-read", "external-write", "control"];
108
108
  if (!securityClasses.includes(source.securityClass))
109
109
  invalid(`${label}.securityClass`);
110
+ if (source.workspace !== undefined && source.workspace !== "read-only" && source.workspace !== "isolated-worktree")
111
+ invalid(`${label}.workspace`);
110
112
  if (source.actorRole !== undefined && source.actorRole !== "implementation" && source.actorRole !== "review" && source.actorRole !== "fix") {
111
113
  invalid(`${label}.actorRole`);
112
114
  }
@@ -120,6 +122,7 @@ function parseSnapshotStep(value, label) {
120
122
  return {
121
123
  id: text(source.id, `${label}.id`),
122
124
  uses: text(source.uses, `${label}.uses`),
125
+ ...(source.workspace === undefined ? {} : { workspace: source.workspace }),
123
126
  ...(source.actorRole === undefined ? {} : { actorRole: source.actorRole }),
124
127
  securityClass: source.securityClass,
125
128
  needs: strings(source.needs, `${label}.needs`),
@@ -303,6 +306,7 @@ export function snapshotStep(step, skills) {
303
306
  return {
304
307
  id: step.id,
305
308
  uses: step.uses,
309
+ workspace: step.workspace,
306
310
  ...(step.actorRole === undefined ? {} : { actorRole: step.actorRole }),
307
311
  securityClass: step.securityClass,
308
312
  needs: [...step.needs],
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/application/snapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/application/snapshot.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- import { mkdir, readFile, readdir, stat, unlink } from "node:fs/promises";
1
+ import { readFile } from "node:fs/promises";
2
2
  import path from "node:path";
3
3
  import { ulid } from "ulid";
4
4
  import { parse, stringify } from "yaml";
5
5
  import { sha256 } from "../domain/digests.js";
6
6
  import { compileWorkflow } from "../engine/compiler.js";
7
+ import { fixedTestGateFromConfig, requiresTrustedTestGate, VerificationError } from "../engine/verification.js";
7
8
  import { mutateControlPlane } from "../engine/scheduler.js";
8
9
  import { deriveInitialStages } from "./initial-stages.js";
9
10
  import { emptyRuntimeRiskSignals } from "./profile.js";
@@ -48,17 +49,21 @@ export function projectConfiguration(raw, pkg) {
48
49
  const gates = quality === undefined ? undefined : record(quality.gates);
49
50
  const defaultGate = pkg.workflow.workflow.id === "documentation-delivery" ? "docs.integrity" : "test";
50
51
  let gatePolicy;
52
+ const knownGateIds = new Set(pkg.workflow.gates.map(({ id }) => id));
51
53
  if (gates === undefined) {
52
54
  gatePolicy = { requiredGateIds: [defaultGate], configuredGateIds: [defaultGate] };
53
55
  }
54
56
  else {
55
- const configuredGateIds = Object.keys(gates).sort();
56
- if (configuredGateIds.length === 0)
57
- throw new ApplicationStartError("WSSPEC_PROJECT_GATE_POLICY_INVALID", "项目不能用空 Gate 配置绕过 Workflow 安全策略。 ");
58
- const requiredGateIds = configuredGateIds.filter((id) => record(gates[id])?.required === true);
59
- if (requiredGateIds.length === 0)
60
- throw new ApplicationStartError("WSSPEC_PROJECT_GATE_POLICY_INVALID", "项目必须明确至少一个 required Gate。 ");
61
- gatePolicy = { requiredGateIds, configuredGateIds };
57
+ const configuredGateIds = Object.keys(gates).filter((id) => knownGateIds.has(id)).sort();
58
+ if (configuredGateIds.length === 0) {
59
+ gatePolicy = { requiredGateIds: [defaultGate], configuredGateIds: [defaultGate] };
60
+ }
61
+ else {
62
+ const requiredGateIds = configuredGateIds.filter((id) => record(gates[id])?.required === true);
63
+ if (requiredGateIds.length === 0)
64
+ throw new ApplicationStartError("WSSPEC_PROJECT_GATE_POLICY_INVALID", "项目必须明确至少一个 required Gate。 ");
65
+ gatePolicy = { requiredGateIds, configuredGateIds };
66
+ }
62
67
  }
63
68
  const runtime = record(source.runtime);
64
69
  const claimTtlSeconds = runtime?.claimTtlSeconds;
@@ -127,35 +132,6 @@ function portableSkill(skill, catalog) {
127
132
  description: builtin?.description ?? "已锁定的工作流 Skill。",
128
133
  };
129
134
  }
130
- async function snapshotWorkflowPackage(pkg, target) {
131
- for (const file of pkg.files) {
132
- const destination = path.join(target, file.path);
133
- await mkdir(path.dirname(destination), { recursive: true });
134
- await writeFileAtomic(destination, await readFile(path.join(pkg.root, file.path), "utf8"));
135
- }
136
- }
137
- async function copySkillDirectory(source, target) {
138
- for (const entry of await readdir(source, { withFileTypes: true })) {
139
- const input = path.join(source, entry.name);
140
- const output = path.join(target, entry.name);
141
- const current = await stat(input);
142
- if (current.isDirectory())
143
- await copySkillDirectory(input, output);
144
- else if (current.isFile()) {
145
- await mkdir(path.dirname(output), { recursive: true });
146
- await writeFileAtomic(output, await readFile(input, "utf8"));
147
- }
148
- }
149
- }
150
- async function snapshotSkills(skills, target) {
151
- for (const skill of skills) {
152
- if (skill.source !== "builtin" && skill.source !== "project")
153
- continue;
154
- const id = skill.ref.split("/").at(-1);
155
- const destination = path.join(target, skill.source, id);
156
- await copySkillDirectory(path.dirname(skill.entrypoint), destination);
157
- }
158
- }
159
135
  function titleFor(text, origin) {
160
136
  const firstLine = text.split(/\r?\n/u).find((line) => line.trim() !== "")?.trim();
161
137
  return (firstLine ?? origin).slice(0, 120);
@@ -200,6 +176,17 @@ export async function startApplication(input, dependencies) {
200
176
  }, configuration.gatePolicy);
201
177
  profiles[profileId] = snapshotProfile(compiled, descriptors);
202
178
  }
179
+ if (Object.values(profiles).some((profile) => requiresTrustedTestGate(profile.steps))) {
180
+ try {
181
+ fixedTestGateFromConfig(parse(configText));
182
+ }
183
+ catch (error) {
184
+ if (error instanceof VerificationError) {
185
+ throw new ApplicationStartError(error.code, "Project Config 缺少固定且完整的 test Gate,无法启动含 verify-red/verify-green 的 Workflow。");
186
+ }
187
+ throw error;
188
+ }
189
+ }
203
190
  const requestedProfile = input.profile ?? projectWorkflow.profile;
204
191
  const selected = requestedProfile === "auto" ? selectProfile({ mode: "auto", phase: "intake", risk: null }).id : requestedProfile;
205
192
  if (profiles[selected].publishing.knowledgeRequired && configuration.knowledgeTarget === undefined) {
@@ -236,9 +223,9 @@ export async function startApplication(input, dependencies) {
236
223
  worktreeRoot: configuration.worktreeRoot,
237
224
  branchPrefix: configuration.branchPrefix,
238
225
  },
226
+ materialize: false,
239
227
  });
240
- const worktree = path.join(identity.repositoryRoot, item.execution.worktree);
241
- const itemRoot = path.join(worktree, ".wsspec", "work-items", workItemId);
228
+ const itemRoot = path.join(identity.commonDir, "wsspec", "work-items", workItemId, "authority");
242
229
  const sourceReference = {
243
230
  artifactType: "requirement-source",
244
231
  schemaVersion: 1,
@@ -268,9 +255,6 @@ export async function startApplication(input, dependencies) {
268
255
  maxStageRetries: configuration.maxStageRetries,
269
256
  createdAt,
270
257
  };
271
- await snapshotWorkflowPackage(pkg, path.join(itemRoot, "snapshot", "workflow"));
272
- await unlink(path.join(itemRoot, "snapshot", "workflow.yaml"));
273
- await snapshotSkills(resolved, path.join(itemRoot, "snapshot", "skills"));
274
258
  await writeFileAtomic(path.join(itemRoot, "snapshot", "workflow.lock.json"), `${JSON.stringify(snapshot.workflowPackageLock, null, 2)}\n`);
275
259
  await writeFileAtomic(path.join(itemRoot, "snapshot", "skill.lock.json"), `${JSON.stringify(snapshot.skillLock, null, 2)}\n`);
276
260
  const applicationText = `${JSON.stringify(snapshot, null, 2)}\n`;
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/application/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/application/start.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export type { ApplicationSnapshot, SnapshotProfile, SnapshotStep } from "./snaps
5
5
  export interface ApplicationState {
6
6
  projection: RuntimeProjection;
7
7
  worktree: string;
8
+ authorityRoot: string;
8
9
  itemRoot: string;
9
10
  item: WorkItem;
10
11
  snapshot: ApplicationSnapshot;
@@ -1,7 +1,7 @@
1
- import { readFile, readdir, stat } from "node:fs/promises";
1
+ import { readFile } from "node:fs/promises";
2
2
  import path from "node:path";
3
3
  import { sha256 } from "../domain/digests.js";
4
- import { authenticateApplicationSourceAuthority, readControlPlane } from "../storage/control-plane.js";
4
+ import { authenticateApplicationSourceAuthority, readControlPlane, resolveWorkItemContext } from "../storage/control-plane.js";
5
5
  export class ApplicationStateError extends Error {
6
6
  code;
7
7
  constructor(code, message) {
@@ -10,33 +10,11 @@ export class ApplicationStateError extends Error {
10
10
  this.name = "ApplicationStateError";
11
11
  }
12
12
  }
13
- async function relativeFiles(root, directory = root) {
14
- const files = [];
15
- for (const entry of await readdir(directory, { withFileTypes: true })) {
16
- const absolute = path.join(directory, entry.name);
17
- const target = await stat(absolute);
18
- if (target.isDirectory())
19
- files.push(...await relativeFiles(root, absolute));
20
- else if (target.isFile())
21
- files.push({ path: path.relative(root, absolute).split(path.sep).join("/"), digest: sha256(await readFile(absolute)) });
22
- }
23
- return files.sort((left, right) => left.path.localeCompare(right.path));
24
- }
25
13
  async function verifySnapshots(itemRoot, item, snapshot) {
26
14
  const config = await readFile(path.join(itemRoot, "snapshot", "config.yaml"), "utf8");
27
15
  if (sha256(config) !== item.execution.configDigest) {
28
16
  throw new ApplicationStateError("WSSPEC_CONFIG_SNAPSHOT_CHANGED", "Project Config 快照已变化。 ");
29
17
  }
30
- const schemaRoot = path.join(itemRoot, "snapshot", "schemas");
31
- const schemaNames = (await readdir(schemaRoot)).filter((name) => name.endsWith(".schema.json")).sort();
32
- const schemaContents = await Promise.all(schemaNames.map(async (name) => `${name}\0${await readFile(path.join(schemaRoot, name), "utf8")}`));
33
- if (sha256(schemaContents.join("\0")) !== item.execution.schemaDigest) {
34
- throw new ApplicationStateError("WSSPEC_SCHEMA_SNAPSHOT_CHANGED", "Public Schema 快照已变化。 ");
35
- }
36
- const workflowFiles = await relativeFiles(path.join(itemRoot, "snapshot", "workflow"));
37
- if (JSON.stringify(workflowFiles) !== JSON.stringify(snapshot.workflowPackageLock.files)) {
38
- throw new ApplicationStateError("WSSPEC_WORKFLOW_SNAPSHOT_CHANGED", "Workflow Package 快照与 Lock 不一致。 ");
39
- }
40
18
  const [workflowLock, skillLock] = await Promise.all([
41
19
  readFile(path.join(itemRoot, "snapshot", "workflow.lock.json"), "utf8"),
42
20
  readFile(path.join(itemRoot, "snapshot", "skill.lock.json"), "utf8"),
@@ -47,34 +25,17 @@ async function verifySnapshots(itemRoot, item, snapshot) {
47
25
  if (JSON.stringify(JSON.parse(skillLock)) !== JSON.stringify(snapshot.skillLock)) {
48
26
  throw new ApplicationStateError("WSSPEC_SKILL_SNAPSHOT_CHANGED", "Skill Lock 快照已变化。 ");
49
27
  }
50
- const verifiedSkills = new Set();
51
- for (const lock of snapshot.skillLock.skills) {
52
- const selected = lock.selected;
53
- if (selected.source !== "builtin" && selected.source !== "project")
54
- continue;
55
- const id = selected.ref.split("/").at(-1);
56
- const skillRoot = path.join(itemRoot, "snapshot", "skills", selected.source, id);
57
- if (verifiedSkills.has(skillRoot))
58
- continue;
59
- verifiedSkills.add(skillRoot);
60
- const files = await relativeFiles(skillRoot);
61
- const digest = sha256(`${JSON.stringify({ version: 1, files })}\n`);
62
- if (digest !== selected.digest) {
63
- throw new ApplicationStateError("WSSPEC_SKILL_SNAPSHOT_CHANGED", `Skill ${selected.ref} 快照与 Lock 不一致。 `);
64
- }
65
- }
66
28
  }
67
29
  export async function loadApplicationState(root, workItemId) {
68
30
  const projection = await readControlPlane(root, workItemId);
69
- const locator = JSON.parse(await readFile(path.join(path.dirname(projection.controlPlane), "locator.json"), "utf8"));
70
- const cache = JSON.parse(await readFile(path.resolve(projection.controlPlane, "../../../repository.json"), "utf8"));
71
- if (cache.repositoryId !== projection.repositoryId || typeof cache.repositoryRoot !== "string" || typeof locator.worktree !== "string") {
31
+ const context = await resolveWorkItemContext(root, workItemId);
32
+ if (context.repositoryId !== projection.repositoryId) {
72
33
  throw new ApplicationStateError("WSSPEC_REPOSITORY_ID_MISMATCH", "Application locator 与仓库身份不一致。 ");
73
34
  }
74
- const worktree = path.join(cache.repositoryRoot, locator.worktree);
75
35
  const authority = await authenticateApplicationSourceAuthority({
76
36
  controlPlane: projection.controlPlane,
77
- worktree,
37
+ worktree: context.executionWorktree,
38
+ authorityRoot: context.authorityRoot,
78
39
  workItemId,
79
40
  repositoryId: projection.repositoryId,
80
41
  });
@@ -86,7 +47,7 @@ export async function loadApplicationState(root, workItemId) {
86
47
  selectedProfile: projection.profile.selected,
87
48
  changePolicy: snapshot.profiles[projection.profile.selected].changePolicy,
88
49
  };
89
- return { projection, worktree, itemRoot, item, snapshot };
50
+ return { projection, worktree: context.executionWorktree, authorityRoot: context.authorityRoot, itemRoot, item, snapshot };
90
51
  }
91
52
  export function selectedProfile(snapshot) {
92
53
  return snapshot.profiles[snapshot.selectedProfile];
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/application/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/application/state.ts"],"names":[],"mappings":"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"}
@@ -162,9 +162,14 @@ async function verifySubmittedArtifact(state, step, attemptId, reference) {
162
162
  if (path.isAbsolute(normalized) || normalized.split("/").includes("..")) {
163
163
  throw new ApplicationSubmitError("WSSPEC_ARTIFACT_REFERENCE_INVALID", "Artifact 路径必须位于工作区内。 ");
164
164
  }
165
- const filename = path.join(state.worktree, normalized);
165
+ const delayed = state.item.execution.materialized === false;
166
+ const artifactRoot = delayed ? state.authorityRoot : state.worktree;
167
+ const physicalPath = delayed
168
+ ? normalized.replace(`.wsspec/work-items/${state.item.workItemId}/`, "")
169
+ : normalized;
170
+ const filename = path.join(artifactRoot, physicalPath);
166
171
  const verified = await verifyArtifact(filename, {
167
- repositoryRoot: state.worktree,
172
+ repositoryRoot: artifactRoot,
168
173
  artifactType: reference.artifactType,
169
174
  workItemId: state.item.workItemId,
170
175
  stageId: step.id,
@@ -173,7 +178,7 @@ async function verifySubmittedArtifact(state, step, attemptId, reference) {
173
178
  if (verified.artifactType !== reference.artifactType
174
179
  || verified.outputId !== reference.outputId
175
180
  || verified.schemaVersion !== reference.schemaVersion
176
- || verified.path !== normalized
181
+ || verified.path !== physicalPath
177
182
  || verified.revision !== reference.revision
178
183
  || verified.contentHash !== reference.contentHash
179
184
  || (reference.mediaType !== undefined && verified.mediaType !== reference.mediaType)) {
@@ -200,12 +205,17 @@ async function verifySubmittedArtifact(state, step, attemptId, reference) {
200
205
  }
201
206
  async function verifyPublicationArtifacts(state, artifacts) {
202
207
  const bodies = [];
208
+ const delayed = state.item.execution.materialized === false;
209
+ const artifactRoot = delayed ? state.authorityRoot : state.worktree;
203
210
  for (const reference of artifacts) {
204
211
  try {
205
212
  if (reference.path === undefined || reference.contentHash === undefined || reference.revision === undefined)
206
213
  throw new Error("incomplete reference");
207
214
  const normalized = reference.path.replaceAll("\\", "/");
208
- const filename = await resolveRepositoryRegularFile(state.worktree, normalized);
215
+ const physicalPath = delayed
216
+ ? normalized.replace(`.wsspec/work-items/${state.item.workItemId}/`, "")
217
+ : normalized;
218
+ const filename = await resolveRepositoryRegularFile(artifactRoot, physicalPath);
209
219
  const artifact = await readArtifact(filename);
210
220
  const { contentHash: storedHash, ...metadataWithoutHash } = artifact.metadata;
211
221
  const actualHash = computeArtifactContentHash(metadataWithoutHash, artifact.body);
@@ -329,6 +339,9 @@ async function validateResult(input, state, target, projection, now) {
329
339
  throw new ApplicationSubmitError("WSSPEC_ATTEMPT_NOT_ACTIVE", "Attempt Lease 已过期。 ");
330
340
  }
331
341
  const changed = await actualChangedFiles(state, claim.workspaceSnapshot);
342
+ if (context?.workPackage.workspace.mode === "read-only" && changed.length > 0) {
343
+ throw new ApplicationSubmitError("WSSPEC_WORKSPACE_MODE_VIOLATION", "read-only Step 不允许修改 workspace。 ");
344
+ }
332
345
  if (state.snapshot.changePolicy.kind === "documentation-only" && changed.some((file) => !permitted(file, state.snapshot.changePolicy.allowedPaths))) {
333
346
  throw new ApplicationSubmitError("WSSPEC_DOCUMENTATION_SCOPE_VIOLATION", "实际 Git diff 越出 documentation-only 路径边界。 ");
334
347
  }