@rudderhq/agent-runtime-codex-local 0.7.2-canary.0 → 0.7.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.
Files changed (64) hide show
  1. package/dist/index.d.ts +4 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +27 -8
  4. package/dist/index.js.map +1 -1
  5. package/dist/server/codex-home.d.ts +1 -1
  6. package/dist/server/codex-home.d.ts.map +1 -1
  7. package/dist/server/codex-home.js +17 -9
  8. package/dist/server/codex-home.js.map +1 -1
  9. package/dist/server/codex-home.test.js +47 -1
  10. package/dist/server/codex-home.test.js.map +1 -1
  11. package/dist/server/execute.d.ts.map +1 -1
  12. package/dist/server/execute.js +72 -17
  13. package/dist/server/execute.js.map +1 -1
  14. package/dist/server/index.d.ts +1 -1
  15. package/dist/server/index.d.ts.map +1 -1
  16. package/dist/server/index.js +1 -1
  17. package/dist/server/index.js.map +1 -1
  18. package/dist/server/parse.d.ts +4 -0
  19. package/dist/server/parse.d.ts.map +1 -1
  20. package/dist/server/parse.js +14 -1
  21. package/dist/server/parse.js.map +1 -1
  22. package/dist/server/parse.test.js +15 -1
  23. package/dist/server/parse.test.js.map +1 -1
  24. package/dist/ui/parse-stdout.d.ts.map +1 -1
  25. package/dist/ui/parse-stdout.js +276 -18
  26. package/dist/ui/parse-stdout.js.map +1 -1
  27. package/package.json +3 -3
  28. package/skills/app-builder/SKILL.md +39 -9
  29. package/skills/app-builder/assets/scaffold/app/globals.css +109 -16
  30. package/skills/app-builder/assets/scaffold/components/contacts-workspace.tsx +176 -152
  31. package/skills/app-builder/assets/scaffold/components/ui/alert.tsx +12 -0
  32. package/skills/app-builder/assets/scaffold/components/ui/badge.tsx +27 -0
  33. package/skills/app-builder/assets/scaffold/components/ui/button.tsx +9 -7
  34. package/skills/app-builder/assets/scaffold/components/ui/card.tsx +15 -3
  35. package/skills/app-builder/assets/scaffold/components/ui/empty.tsx +18 -0
  36. package/skills/app-builder/assets/scaffold/components/ui/field.tsx +23 -0
  37. package/skills/app-builder/assets/scaffold/components/ui/input.tsx +1 -1
  38. package/skills/app-builder/assets/scaffold/components/ui/label.tsx +1 -1
  39. package/skills/app-builder/assets/scaffold/components/ui/separator.tsx +6 -0
  40. package/skills/app-builder/assets/scaffold/components/ui/skeleton.tsx +6 -0
  41. package/skills/app-builder/assets/scaffold/components/ui/table.tsx +30 -0
  42. package/skills/app-builder/assets/scaffold/components.json +20 -0
  43. package/skills/app-builder/assets/scaffold/next-env.d.ts +1 -1
  44. package/skills/app-builder/assets/scaffold/next.config.ts +19 -0
  45. package/skills/app-builder/assets/scaffold/package.json +2 -1
  46. package/skills/app-builder/assets/scaffold/rudder.app.json +1 -1
  47. package/skills/app-builder/assets/scaffold/rudder.ui.json +13 -0
  48. package/skills/app-builder/assets/scaffold/scripts/validate-rudder-ui.mjs +50 -0
  49. package/skills/app-builder/assets/scaffold/tests/e2e/app.spec.ts +35 -1
  50. package/skills/app-builder/evals/evals.json +2 -1
  51. package/skills/app-builder/references/design-guidelines.md +19 -2
  52. package/skills/app-builder/references/rudder-ui-preset.md +73 -0
  53. package/skills/app-builder/references/scaffold-contract.md +12 -0
  54. package/skills/app-builder/references/verification.md +6 -0
  55. package/skills/app-builder/scripts/report-build-status.mjs +83 -0
  56. package/skills/browser/SKILL.md +11 -4
  57. package/skills/browser/agents/openai.yaml +2 -2
  58. package/skills/browser/evals/trigger-evals.json +22 -0
  59. package/skills/rudder-docs/SKILL.md +2 -2
  60. package/skills/rudder-docs/evals/retrieval-authority-evals.json +40 -0
  61. package/skills/rudder-docs/evals/trigger-evals.json +2 -2
  62. package/skills/rudder-docs/references/api-reference.md +0 -2
  63. package/skills/rudder-docs/references/plugin-authoring.md +38 -114
  64. package/skills/rudder-docs/references/source-map.md +2 -0
@@ -178,22 +178,276 @@ function parseCommandExecutionItem(item, ts, phase) {
178
178
  isError,
179
179
  }];
180
180
  }
181
- function parseFileChangeItem(item, ts) {
182
- const changes = Array.isArray(item.changes) ? item.changes : [];
183
- const entries = changes
184
- .map((changeRaw) => asRecord(changeRaw))
185
- .filter((change) => Boolean(change))
186
- .map((change) => {
187
- const kind = asString(change.kind, "update");
188
- const path = asString(change.path, "unknown");
189
- return `${kind} ${path}`;
190
- });
191
- if (entries.length === 0) {
192
- return [{ kind: "system", ts, text: "file changes applied" }];
181
+ const FILE_CHANGE_FILE_LIMIT = 100;
182
+ const FILE_CHANGE_EVIDENCE_BYTE_LIMIT = 256 * 1024;
183
+ const FILE_CHANGE_HEADER_BYTE_LIMIT = 4 * 1024;
184
+ function utf8ByteLength(value) {
185
+ let bytes = 0;
186
+ for (const char of value) {
187
+ const codePoint = char.codePointAt(0) ?? 0;
188
+ bytes += codePoint <= 0x7f
189
+ ? 1
190
+ : codePoint <= 0x7ff
191
+ ? 2
192
+ : codePoint <= 0xffff
193
+ ? 3
194
+ : 4;
195
+ }
196
+ return bytes;
197
+ }
198
+ function jsonByteLength(value) {
199
+ return utf8ByteLength(JSON.stringify(value));
200
+ }
201
+ function truncateUtf8(value, maxBytes) {
202
+ if (maxBytes <= 0)
203
+ return "";
204
+ if (utf8ByteLength(value) <= maxBytes)
205
+ return value;
206
+ let usedBytes = 0;
207
+ let endIndex = 0;
208
+ for (const char of value) {
209
+ const codePoint = char.codePointAt(0) ?? 0;
210
+ const charBytes = codePoint <= 0x7f
211
+ ? 1
212
+ : codePoint <= 0x7ff
213
+ ? 2
214
+ : codePoint <= 0xffff
215
+ ? 3
216
+ : 4;
217
+ if (usedBytes + charBytes > maxBytes)
218
+ break;
219
+ usedBytes += charBytes;
220
+ endIndex += char.length;
221
+ }
222
+ return value.slice(0, endIndex);
223
+ }
224
+ function normalizeFileChangeKind(value) {
225
+ if (typeof value === "string")
226
+ return value || "update";
227
+ const record = asRecord(value);
228
+ if (!record)
229
+ return "update";
230
+ const type = firstString(record.type, record.kind) || "update";
231
+ const hasMovePath = Object.prototype.hasOwnProperty.call(record, "move_path")
232
+ || Object.prototype.hasOwnProperty.call(record, "movePath");
233
+ const rawMovePath = Object.prototype.hasOwnProperty.call(record, "move_path")
234
+ ? record.move_path
235
+ : record.movePath;
236
+ return {
237
+ type,
238
+ ...(hasMovePath && (typeof rawMovePath === "string" || rawMovePath === null)
239
+ ? { move_path: rawMovePath }
240
+ : {}),
241
+ };
242
+ }
243
+ function normalizeFileChange(value) {
244
+ const record = asRecord(value);
245
+ if (!record)
246
+ return null;
247
+ const change = {
248
+ path: asString(record.path),
249
+ kind: normalizeFileChangeKind(record.kind),
250
+ };
251
+ if (typeof record.diff === "string") {
252
+ const originalBytes = utf8ByteLength(record.diff);
253
+ const boundedDiff = truncateUtf8(record.diff, FILE_CHANGE_EVIDENCE_BYTE_LIMIT);
254
+ change.diff = boundedDiff;
255
+ if (boundedDiff !== record.diff) {
256
+ change.diff_truncated = true;
257
+ change.diff_original_bytes = originalBytes;
258
+ }
259
+ }
260
+ return change;
261
+ }
262
+ function createFileChangeTruncation(originalFileCount, retainedFileCount, options) {
263
+ return {
264
+ truncated: true,
265
+ original_file_count: originalFileCount,
266
+ retained_file_count: retainedFileCount,
267
+ omitted_file_count: Math.max(0, originalFileCount - retainedFileCount),
268
+ max_files: FILE_CHANGE_FILE_LIMIT,
269
+ max_bytes: FILE_CHANGE_EVIDENCE_BYTE_LIMIT,
270
+ file_count_limited: options.fileCountLimited,
271
+ byte_limited: options.byteLimited,
272
+ truncated_diff_count: options.truncatedDiffCount,
273
+ metadata_truncated: options.metadataTruncated,
274
+ message: "File-change evidence was truncated to at most 100 files and 262144 bytes. "
275
+ + "Raw provider logs may contain omitted paths or diff content.",
276
+ };
277
+ }
278
+ function fitFileChangeWithTruncatedDiff(baseEvidence, retainedChanges, change, originalFileCount, fileCountLimited, metadataTruncated, existingTruncatedDiffCount) {
279
+ if (typeof change.diff !== "string")
280
+ return null;
281
+ const originalDiffBytes = change.diff_original_bytes ?? utf8ByteLength(change.diff);
282
+ const withoutDiff = {
283
+ path: change.path,
284
+ kind: change.kind,
285
+ diff_truncated: true,
286
+ diff_original_bytes: originalDiffBytes,
287
+ };
288
+ const changesWithoutDiff = [...retainedChanges, withoutDiff];
289
+ const evidenceWithoutDiff = {
290
+ ...baseEvidence,
291
+ changes: changesWithoutDiff,
292
+ truncation: createFileChangeTruncation(originalFileCount, changesWithoutDiff.length, {
293
+ fileCountLimited,
294
+ byteLimited: true,
295
+ truncatedDiffCount: existingTruncatedDiffCount + 1,
296
+ metadataTruncated,
297
+ }),
298
+ };
299
+ if (jsonByteLength(evidenceWithoutDiff) > FILE_CHANGE_EVIDENCE_BYTE_LIMIT) {
300
+ return null;
301
+ }
302
+ const diffCharacters = Array.from(change.diff);
303
+ if (diffCharacters.length === 0)
304
+ return withoutDiff;
305
+ const firstCharacterCandidate = {
306
+ ...withoutDiff,
307
+ diff: diffCharacters[0],
308
+ };
309
+ const evidenceWithFirstCharacter = {
310
+ ...baseEvidence,
311
+ changes: [...retainedChanges, firstCharacterCandidate],
312
+ truncation: evidenceWithoutDiff.truncation,
313
+ };
314
+ if (jsonByteLength(evidenceWithFirstCharacter) > FILE_CHANGE_EVIDENCE_BYTE_LIMIT) {
315
+ return withoutDiff;
316
+ }
317
+ let low = 0;
318
+ let high = diffCharacters.length;
319
+ let best = firstCharacterCandidate;
320
+ while (low <= high) {
321
+ const midpoint = Math.floor((low + high) / 2);
322
+ const candidate = {
323
+ path: change.path,
324
+ kind: change.kind,
325
+ ...(midpoint > 0 ? { diff: diffCharacters.slice(0, midpoint).join("") } : {}),
326
+ diff_truncated: true,
327
+ diff_original_bytes: originalDiffBytes,
328
+ };
329
+ const changes = [...retainedChanges, candidate];
330
+ const evidence = {
331
+ ...baseEvidence,
332
+ changes,
333
+ truncation: createFileChangeTruncation(originalFileCount, changes.length, {
334
+ fileCountLimited,
335
+ byteLimited: true,
336
+ truncatedDiffCount: existingTruncatedDiffCount + 1,
337
+ metadataTruncated,
338
+ }),
339
+ };
340
+ if (jsonByteLength(evidence) <= FILE_CHANGE_EVIDENCE_BYTE_LIMIT) {
341
+ best = candidate;
342
+ low = midpoint + 1;
343
+ }
344
+ else {
345
+ high = midpoint - 1;
346
+ }
347
+ }
348
+ return best;
349
+ }
350
+ function createFileChangeEvidence(item, phase) {
351
+ const rawId = asString(item.id);
352
+ const rawStatus = asString(item.status, phase === "started" ? "in_progress" : "completed");
353
+ const id = truncateUtf8(rawId, FILE_CHANGE_HEADER_BYTE_LIMIT);
354
+ const status = truncateUtf8(rawStatus, FILE_CHANGE_HEADER_BYTE_LIMIT);
355
+ const metadataTruncated = id !== rawId || status !== rawStatus;
356
+ const baseEvidence = { id, status };
357
+ const rawChanges = Array.isArray(item.changes) ? item.changes : [];
358
+ const normalizedChanges = rawChanges
359
+ .map(normalizeFileChange)
360
+ .filter((change) => Boolean(change));
361
+ const invalidChangeCount = rawChanges.length - normalizedChanges.length;
362
+ const fileCountLimited = normalizedChanges.length > FILE_CHANGE_FILE_LIMIT;
363
+ const candidateChanges = normalizedChanges.slice(0, FILE_CHANGE_FILE_LIMIT);
364
+ const completeEvidence = {
365
+ ...baseEvidence,
366
+ changes: candidateChanges,
367
+ };
368
+ if (!fileCountLimited
369
+ && invalidChangeCount === 0
370
+ && !metadataTruncated
371
+ && jsonByteLength(completeEvidence) <= FILE_CHANGE_EVIDENCE_BYTE_LIMIT) {
372
+ return completeEvidence;
373
+ }
374
+ const retainedChanges = [];
375
+ let byteLimited = metadataTruncated;
376
+ let truncatedDiffCount = 0;
377
+ for (const change of candidateChanges) {
378
+ const changes = [...retainedChanges, change];
379
+ const nextTruncatedDiffCount = truncatedDiffCount + (change.diff_truncated ? 1 : 0);
380
+ const provisionalEvidence = {
381
+ ...baseEvidence,
382
+ changes,
383
+ truncation: createFileChangeTruncation(rawChanges.length, changes.length, {
384
+ fileCountLimited,
385
+ byteLimited: true,
386
+ truncatedDiffCount: nextTruncatedDiffCount,
387
+ metadataTruncated,
388
+ }),
389
+ };
390
+ if (jsonByteLength(provisionalEvidence) <= FILE_CHANGE_EVIDENCE_BYTE_LIMIT) {
391
+ retainedChanges.push(change);
392
+ truncatedDiffCount = nextTruncatedDiffCount;
393
+ continue;
394
+ }
395
+ byteLimited = true;
396
+ const fittedChange = fitFileChangeWithTruncatedDiff(baseEvidence, retainedChanges, change, rawChanges.length, fileCountLimited, metadataTruncated, truncatedDiffCount);
397
+ if (fittedChange) {
398
+ retainedChanges.push(fittedChange);
399
+ truncatedDiffCount += 1;
400
+ }
193
401
  }
194
- const preview = entries.slice(0, 6).join(", ");
195
- const more = entries.length > 6 ? ` (+${entries.length - 6} more)` : "";
196
- return [{ kind: "system", ts, text: `file changes: ${preview}${more}` }];
402
+ const evidence = {
403
+ ...baseEvidence,
404
+ changes: retainedChanges,
405
+ truncation: createFileChangeTruncation(rawChanges.length, retainedChanges.length, {
406
+ fileCountLimited,
407
+ byteLimited: byteLimited || retainedChanges.length < candidateChanges.length,
408
+ truncatedDiffCount,
409
+ metadataTruncated,
410
+ }),
411
+ };
412
+ while (evidence.changes.length > 0 && jsonByteLength(evidence) > FILE_CHANGE_EVIDENCE_BYTE_LIMIT) {
413
+ evidence.changes.pop();
414
+ evidence.truncation = createFileChangeTruncation(rawChanges.length, evidence.changes.length, {
415
+ fileCountLimited,
416
+ byteLimited: true,
417
+ truncatedDiffCount: evidence.changes.filter((change) => change.diff_truncated).length,
418
+ metadataTruncated,
419
+ });
420
+ }
421
+ return evidence;
422
+ }
423
+ function isArtifactErrorStatus(status) {
424
+ return ["error", "errored", "failed", "cancelled", "canceled", "denied", "rejected"]
425
+ .includes(status.trim().toLowerCase());
426
+ }
427
+ function fileChangeToolUseId(item, evidence) {
428
+ return asString(item.id)
429
+ || (evidence.changes[0]?.path ? `file_change:${evidence.changes[0].path}` : "file_change");
430
+ }
431
+ function parseFileChangeItem(item, ts, phase) {
432
+ const evidence = createFileChangeEvidence(item, phase);
433
+ const toolUseId = fileChangeToolUseId(item, evidence);
434
+ if (phase === "started") {
435
+ return [{
436
+ kind: "tool_call",
437
+ ts,
438
+ name: "file_change",
439
+ toolUseId,
440
+ input: evidence,
441
+ }];
442
+ }
443
+ return [{
444
+ kind: "tool_result",
445
+ ts,
446
+ toolUseId,
447
+ toolName: "file_change",
448
+ content: JSON.stringify(evidence),
449
+ isError: isToolError(item) || isArtifactErrorStatus(evidence.status),
450
+ }];
197
451
  }
198
452
  function parseImageViewItem(item, ts, phase) {
199
453
  const path = asString(item.path);
@@ -302,7 +556,11 @@ function parseCollabAgentTranscriptItems(items, fallbackTs) {
302
556
  || type === "collab_agent_tool_call"
303
557
  || type === "collab_tool_call"
304
558
  || type === "subAgentActivity"
305
- || type === "sub_agent_activity") {
559
+ || type === "sub_agent_activity"
560
+ || type === "file_change"
561
+ || type === "fileChange"
562
+ || type === "image_view"
563
+ || type === "imageView") {
306
564
  return [
307
565
  ...parseCodexItem(item, ts, "started"),
308
566
  ...parseCodexItem(item, ts, "completed"),
@@ -478,8 +736,8 @@ function parseCodexItem(item, ts, phase) {
478
736
  if (itemType === "sub_agent_activity" || itemType === "subAgentActivity") {
479
737
  return parseSubAgentActivityItem(item, ts, phase);
480
738
  }
481
- if (itemType === "file_change" && phase === "completed") {
482
- return parseFileChangeItem(item, ts);
739
+ if (itemType === "file_change" || itemType === "fileChange") {
740
+ return parseFileChangeItem(item, ts, phase);
483
741
  }
484
742
  if (itemType === "imageView" || itemType === "image_view") {
485
743
  return parseImageViewItem(item, ts, phase);
@@ -1 +1 @@
1
- {"version":3,"file":"parse-stdout.js","sourceRoot":"","sources":["../../src/ui/parse-stdout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-stdout.js","sourceRoot":"","sources":["../../src/ui/parse-stdout.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rudderhq/agent-runtime-codex-local",
3
- "version": "0.7.2-canary.0",
3
+ "version": "0.7.3",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "homepage": "https://github.com/Undertone0809/rudder",
6
6
  "bugs": {
@@ -68,8 +68,8 @@
68
68
  "probe:quota": "pnpm exec tsx src/cli/quota-probe.ts --json"
69
69
  },
70
70
  "dependencies": {
71
- "@rudderhq/agent-runtime-utils": "0.7.2-canary.0",
72
- "@rudderhq/shared": "0.7.2-canary.0",
71
+ "@rudderhq/agent-runtime-utils": "0.7.3",
72
+ "@rudderhq/shared": "0.7.3",
73
73
  "picocolors": "^1.1.1"
74
74
  },
75
75
  "devDependencies": {
@@ -28,6 +28,9 @@ loopback attestation, and embedded opening.
28
28
  manager, development script, data boundary, and tests before editing.
29
29
  Preserve its stack and conventions; never replace it with the maintained
30
30
  scaffold merely to make it a Rudder App.
31
+ When the originating prompt includes `Rudder App handoff`, retain its App ID
32
+ for the completion protocol below. Do not guess an App ID or use one from a
33
+ different conversation.
31
34
  3. Read [references/scaffold-contract.md](references/scaffold-contract.md)
32
35
  before changing the runtime, database foundation, manifest, health endpoint,
33
36
  import/export contract, or background-job runner.
@@ -37,27 +40,51 @@ loopback attestation, and embedded opening.
37
40
  already has data, imports user data, changes its schema, or needs a real-data
38
41
  diagnosis.
39
42
  6. Follow [references/design-guidelines.md](references/design-guidelines.md)
40
- for visible UI work. Prefer coherent workflow screens over a generic
41
- dashboard assembled from decorative cards.
43
+ for visible UI work. For a new App, also read
44
+ [references/rudder-ui-preset.md](references/rudder-ui-preset.md) and start
45
+ from the versioned Rudder UI preset already present in the maintained
46
+ scaffold. Keep its semantic tokens and source-owned shadcn primitives unless
47
+ the brief explicitly requires a different product identity. For an existing
48
+ project, preserve its design system by default; align it to Rudder only when
49
+ the user asks for that change. Prefer coherent workflow screens over a
50
+ generic dashboard assembled from decorative cards.
42
51
  7. Run migrations against development or snapshot data, then run typecheck,
43
- unit tests, build, and relevant app E2E tests.
52
+ unit tests, build, and relevant app E2E tests. Review the final source and
53
+ rendered product for correctness, regressions, usability, data safety, and
54
+ evidence integrity; resolve every blocking finding before handoff.
44
55
  8. Prepare the website for its Rudder Apps handoff:
45
- - A new managed App created from Apps Home keeps its typed manifest and
46
- returns to that App's **Register & preview** action. Do not load the same
47
- source again through the manual Local App path.
56
+ - A new managed App created from Apps Home keeps its typed manifest. After
57
+ the completion gate passes, report `verified_source_ready` with the
58
+ originating App ID so Rudder Desktop can verify, start, and open that App
59
+ automatically. Do not load the same source through the manual Local App
60
+ path.
48
61
  - An independently authored existing project keeps a direct supported
49
62
  development script. Add the `package.json` `rudder` readiness or open-path
50
63
  fields only when discovery cannot infer them safely, then direct the
51
64
  operator to **Apps + > Add local web project** to select the folder and
52
65
  review the launch definition.
53
- The Agent writes and verifies source; Desktop alone owns runtime approval and
54
- process start. Do not invent a public URL, tunnel, cloud deployment, or
66
+ The Agent writes and verifies source; Desktop alone owns runtime admission
67
+ and process start. Do not invent a public URL, tunnel, cloud deployment, or
55
68
  unreviewed launch command.
56
69
  9. Read [references/verification.md](references/verification.md), then verify
57
70
  the rendered app with Rudder Browser. Exercise the main workflow plus at
58
71
  least one production-shaped edge case and inspect console errors.
59
72
  10. Materialize final screenshots and validation evidence in the originating
60
73
  Chat or Run. A localhost URL or tool-only screenshot is not durable output.
74
+ 11. For an originating managed App handoff, use the injected run context without
75
+ printing or requesting credentials:
76
+ - Run `node scripts/report-build-status.mjs building <app-id>` when
77
+ implementation begins.
78
+ - Run `node scripts/report-build-status.mjs verified_source_ready <app-id>`
79
+ only after every Completion Gate item passes. This is the machine-visible
80
+ signal that authorizes Desktop to verify, start, and open the exact
81
+ assigned source root.
82
+ - Run `node scripts/report-build-status.mjs failed <app-id>` when work ends
83
+ in a terminal failure. Do not emit `verified_source_ready` for a question,
84
+ partial implementation, canceled run, missing evidence, or blocker.
85
+ Finish by telling the user the App is opening and that they can continue
86
+ improving it in this Chat. If the status command fails, report that failure
87
+ honestly instead of claiming the App opened.
61
88
 
62
89
  ## Real Data Decision
63
90
 
@@ -86,7 +113,8 @@ controls and least-data workflow choices; explain the boundary honestly.
86
113
  screenshots, test fixtures, or logs. V1 does not provide a Rudder Secret
87
114
  binding UI, so ask the user how the App should obtain any required
88
115
  integration credential.
89
- - Opening Chat, Apps, an App tab, or a saved view must not passively start an app.
116
+ - Opening Chat, Apps Home, or a saved view must not passively start an app. A
117
+ run-scoped `verified_source_ready` handoff may start and open its managed App.
90
118
  - Cloud builds, hosted runtimes, public preview links, custom domains, managed
91
119
  cloud databases, and cross-device synchronization are outside this skill.
92
120
 
@@ -96,8 +124,10 @@ Do not call the app complete until:
96
124
 
97
125
  - source and any required manifest or `package.json` Rudder configuration are durable;
98
126
  - typecheck, unit tests, and build pass;
127
+ - blocking code and product review findings are resolved;
99
128
  - the reviewed readiness path is ready on an attested loopback process;
100
129
  - Browser verification covers the primary workflow and a relevant edge case;
130
+ - the versioned Rudder UI preset check passes for a new maintained App;
101
131
  - persistence behavior is verified against development or snapshot data;
102
132
  - current screenshot evidence is attached to the work;
103
133
  - user data was not modified without explicit intent; and