@tryvitris/website-harness 1.0.1 → 1.1.0

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 (83) hide show
  1. package/README.md +76 -74
  2. package/agent/graph.yaml +769 -756
  3. package/agent/refs/admin.md +11 -11
  4. package/agent/refs/browser.md +6 -2
  5. package/agent/refs/business.md +20 -9
  6. package/agent/refs/compose.md +2 -0
  7. package/agent/refs/design-quality.md +2 -0
  8. package/agent/refs/direction.md +2 -0
  9. package/agent/refs/implement.md +8 -4
  10. package/agent/refs/scheduling.md +13 -0
  11. package/agent/refs/template-adaptation.md +2 -0
  12. package/agent/refs/template-library.md +2 -0
  13. package/agent/refs/typography.md +15 -0
  14. package/bin/api/agent/evaluate.js +7 -6
  15. package/bin/api/agent/grade.js +7 -6
  16. package/bin/api/cli/api.js +15 -14
  17. package/bin/api/cli.js +17 -16
  18. package/bin/api/engine.js +8 -7
  19. package/bin/api/hosting.js +9 -8
  20. package/bin/api/index.js +4 -3
  21. package/bin/api/render.js +2 -1
  22. package/bin/api/theme.js +2 -1
  23. package/bin/chunks/{chunk-M72KKZIB.js → chunk-5KRJQKHB.js} +4 -3
  24. package/bin/chunks/{chunk-72Y4YMTV.js → chunk-AD7WAHW2.js} +2 -2
  25. package/bin/chunks/{chunk-RE4GOHSU.js → chunk-AS74YXGM.js} +3 -3
  26. package/bin/chunks/{chunk-AUO5I56E.js → chunk-C3F7XQD2.js} +194 -1
  27. package/bin/chunks/{chunk-445FZZEC.js → chunk-DDJ3QCRR.js} +9 -9
  28. package/bin/chunks/{chunk-LKN75JGA.js → chunk-GE6UUEG2.js} +13 -8
  29. package/bin/chunks/chunk-GPS3SAGQ.js +1020 -0
  30. package/bin/chunks/{chunk-37F7XIMH.js → chunk-JTXFTNEA.js} +6 -1
  31. package/bin/chunks/{chunk-JBSGJR7X.js → chunk-KR5ZUZV2.js} +2 -2
  32. package/bin/chunks/{chunk-65LRZIBP.js → chunk-MAPY3YVE.js} +2 -2
  33. package/bin/chunks/{chunk-VKU5TY5C.js → chunk-MYX4FET4.js} +1 -1
  34. package/bin/chunks/{chunk-54QPYUM2.js → chunk-OZD7ZWDX.js} +1 -1
  35. package/bin/chunks/chunk-S2XVNTQP.js +90 -0
  36. package/bin/chunks/{chunk-UR4NWYVW.js → chunk-SBOUSO3S.js} +3 -3
  37. package/bin/chunks/{chunk-KIWEFRNG.js → chunk-SXPLCCO7.js} +6 -6
  38. package/bin/chunks/{chunk-H3BS2EBR.js → chunk-WIT6364Y.js} +4 -4
  39. package/bin/chunks/{chunk-GQPUILFR.js → chunk-WK7HJI5H.js} +1301 -1252
  40. package/bin/chunks/{design-context-store-ETVS4N6W.js → design-context-store-PGXCHUOF.js} +7 -6
  41. package/bin/chunks/{packets-XFXKHSEY.js → packets-B7MCJ42T.js} +7 -6
  42. package/bin/chunks/{preparation-3OR7LVPQ.js → preparation-MVKICQPD.js} +7 -6
  43. package/bin/cloudflare/backend.js +90 -11
  44. package/bin/types/src/agent/browser-typography.d.ts +33 -0
  45. package/bin/types/src/agent/theme-suite-identity.d.ts +1 -0
  46. package/bin/types/src/agent/typography-policy.d.ts +6 -0
  47. package/bin/types/src/build/index.d.ts +2 -0
  48. package/bin/types/src/cli/admin.d.ts +1 -1
  49. package/bin/types/src/compile/site.d.ts +1 -1
  50. package/bin/types/src/scheduling/config.d.ts +11 -0
  51. package/bin/types/src/scheduling/management.d.ts +2 -0
  52. package/bin/types/src/scheduling/styles.d.ts +1 -0
  53. package/bin/types/src/scheduling/widget.d.ts +2 -0
  54. package/bin/types/src/theme.d.ts +3 -1
  55. package/bin/types/src/types.d.ts +6 -1
  56. package/bin/types/src/typography.d.ts +27 -0
  57. package/bin/vitris-art.js +7 -6
  58. package/bin/vitris-build.js +5 -4
  59. package/bin/vitris-create-site.js +9 -8
  60. package/bin/vitris-cursor-hook.js +7 -6
  61. package/bin/vitris-eval.js +9 -8
  62. package/bin/vitris-go.js +9 -8
  63. package/bin/vitris-harvest.js +8 -7
  64. package/bin/vitris-knowledge.js +8 -7
  65. package/bin/vitris-launch-preflight.js +7 -6
  66. package/bin/vitris-motion-view.js +7 -6
  67. package/bin/vitris-references.js +5 -4
  68. package/bin/vitris-refresh.js +8 -7
  69. package/bin/vitris-stock.js +1 -1
  70. package/bin/vitris-templates.js +91 -1
  71. package/bin/vitris-themes.js +7 -6
  72. package/bin/vitris-upgrade.js +8 -7
  73. package/bin/vitris-verify-browser.js +33 -8
  74. package/bin/vitris-verify-performance.js +5 -4
  75. package/bin/vitris.js +17 -16
  76. package/design-system/MASTER.md +4 -0
  77. package/docs/ADMIN.md +85 -85
  78. package/docs/CLI.md +314 -308
  79. package/docs/SCHEDULING.md +67 -0
  80. package/package.json +5 -4
  81. package/templates/site/site.json +1 -0
  82. package/templates/site/theme/defaults.json +78 -17
  83. package/bin/chunks/chunk-L44ZTNDM.js +0 -332
package/agent/graph.yaml CHANGED
@@ -1,756 +1,769 @@
1
- {
2
- "version": 3,
3
- "stop_at": "preview_ready",
4
- "nodes": [
5
- {
6
- "id": "harvest",
7
- "needs": [],
8
- "inputs": [
9
- "launch.json"
10
- ],
11
- "writes": [
12
- "onboarding/brief.json",
13
- "onboarding/raw",
14
- "onboarding/harvest-inventory.json",
15
- "media/harvest"
16
- ],
17
- "refs": [
18
- "harvest"
19
- ],
20
- "tools": [
21
- "npm run harvest"
22
- ],
23
- "eval": "harvest",
24
- "maxAttempts": 4,
25
- "kind": "tool",
26
- "command": [
27
- "--experimental-strip-types",
28
- "{harness}/scripts/harvest.ts",
29
- "--no-prompt"
30
- ]
31
- },
32
- {
33
- "id": "business",
34
- "needs": [
35
- "harvest"
36
- ],
37
- "inputs": [
38
- "onboarding/brief.json",
39
- "onboarding/copy",
40
- "agent/change-request.json"
41
- ],
42
- "optionalInputs": [
43
- "agent/site-memory.json"
44
- ],
45
- "writes": [
46
- "onboarding/business.json"
47
- ],
48
- "refs": [
49
- "business",
50
- "contracts"
51
- ],
52
- "optionalRefs": [
53
- "refine"
54
- ],
55
- "tools": [],
56
- "eval": "business",
57
- "maxAttempts": 4,
58
- "kind": "agent"
59
- },
60
- {
61
- "id": "business-review",
62
- "needs": [
63
- "business"
64
- ],
65
- "inputs": [
66
- "onboarding/business.json"
67
- ],
68
- "writes": [
69
- "agent/reviews/business-review.json"
70
- ],
71
- "refs": [
72
- "critic",
73
- "contracts"
74
- ],
75
- "tools": [],
76
- "eval": "business-review",
77
- "maxAttempts": 4,
78
- "kind": "critic",
79
- "repair": "business"
80
- },
81
- {
82
- "id": "media",
83
- "needs": [
84
- "harvest"
85
- ],
86
- "inputs": [
87
- "onboarding/brief.json",
88
- "media/harvest"
89
- ],
90
- "writes": [
91
- "onboarding/media-inventory.json",
92
- "onboarding/contact-sheet.html",
93
- "media/stock",
94
- "media/recovered",
95
- "onboarding/media-requests.json"
96
- ],
97
- "refs": [
98
- "media",
99
- "contracts"
100
- ],
101
- "tools": [],
102
- "eval": "media",
103
- "maxAttempts": 4,
104
- "kind": "agent"
105
- },
106
- {
107
- "id": "narrative",
108
- "needs": [
109
- "business-review",
110
- "media"
111
- ],
112
- "inputs": [
113
- "onboarding/business.json",
114
- "onboarding/media-inventory.json"
115
- ],
116
- "writes": [
117
- "onboarding/narrative-brief.json"
118
- ],
119
- "refs": [
120
- "narrative",
121
- "contracts"
122
- ],
123
- "tools": [],
124
- "eval": "narrative",
125
- "maxAttempts": 4,
126
- "kind": "agent"
127
- },
128
- {
129
- "id": "narrative-review",
130
- "needs": [
131
- "narrative"
132
- ],
133
- "inputs": [
134
- "onboarding/narrative-brief.json",
135
- "onboarding/business.json"
136
- ],
137
- "writes": [
138
- "agent/reviews/narrative-review.json"
139
- ],
140
- "refs": [
141
- "critic",
142
- "contracts"
143
- ],
144
- "tools": [],
145
- "eval": "narrative-review",
146
- "maxAttempts": 4,
147
- "kind": "critic",
148
- "repair": "narrative"
149
- },
150
- {
151
- "id": "reference-analysis",
152
- "needs": [
153
- "narrative-review"
154
- ],
155
- "inputs": [
156
- "onboarding/narrative-brief.json",
157
- "onboarding/media-inventory.json"
158
- ],
159
- "writes": [
160
- "onboarding/reference-analysis.json"
161
- ],
162
- "refs": [
163
- "design-calibration",
164
- "contracts"
165
- ],
166
- "tools": [],
167
- "eval": "reference-analysis",
168
- "maxAttempts": 4,
169
- "kind": "agent"
170
- },
171
- {
172
- "id": "direction",
173
- "needs": [
174
- "reference-analysis"
175
- ],
176
- "inputs": [
177
- "onboarding/business.json",
178
- "onboarding/media-inventory.json",
179
- "onboarding/narrative-brief.json",
180
- "onboarding/reference-analysis.json",
181
- "agent/request.json"
182
- ],
183
- "writes": [
184
- "onboarding/direction.json",
185
- "theme/defaults.json"
186
- ],
187
- "refs": [
188
- "direction",
189
- "contracts",
190
- "design-calibration",
191
- "accessibility",
192
- "motion"
193
- ],
194
- "tools": [],
195
- "eval": "direction",
196
- "maxAttempts": 4,
197
- "kind": "agent",
198
- "optionalRefs": [
199
- "inspiration",
200
- "variant-directions",
201
- "refine",
202
- "motion-count",
203
- "motion-numeric",
204
- "motion-text",
205
- "motion-image",
206
- "motion-process",
207
- "motion-sequence",
208
- "motion-page"
209
- ],
210
- "optionalInputs": [
211
- "agent/assigned-direction.json",
212
- "agent/site-memory.json",
213
- "onboarding/media-requests.json"
214
- ]
215
- },
216
- {
217
- "id": "direction-review",
218
- "needs": [
219
- "direction"
220
- ],
221
- "inputs": [
222
- "onboarding/direction.json",
223
- "theme/defaults.json"
224
- ],
225
- "writes": [
226
- "agent/reviews/direction-review.json"
227
- ],
228
- "refs": [
229
- "critic",
230
- "contracts",
231
- "design-calibration",
232
- "motion"
233
- ],
234
- "tools": [],
235
- "eval": "direction-review",
236
- "maxAttempts": 4,
237
- "kind": "critic",
238
- "repair": "direction",
239
- "optionalRefs": [
240
- "motion-count",
241
- "motion-numeric",
242
- "motion-text",
243
- "motion-image",
244
- "motion-process",
245
- "motion-sequence",
246
- "motion-page"
247
- ]
248
- },
249
- {
250
- "id": "storyboard",
251
- "needs": [
252
- "direction-review"
253
- ],
254
- "inputs": [
255
- "onboarding/business.json",
256
- "onboarding/direction.json",
257
- "onboarding/media-inventory.json"
258
- ],
259
- "writes": [
260
- "onboarding/storyboard.json",
261
- "onboarding/media-selection.json"
262
- ],
263
- "refs": [
264
- "storyboard",
265
- "contracts",
266
- "design-calibration",
267
- "seo",
268
- "media",
269
- "motion",
270
- "icons",
271
- "analytics"
272
- ],
273
- "optionalRefs": [
274
- "design-synthesis",
275
- "motion-count",
276
- "motion-numeric",
277
- "motion-text",
278
- "motion-image",
279
- "motion-process",
280
- "motion-sequence",
281
- "motion-page"
282
- ],
283
- "optionalInputs": [
284
- "onboarding/synthesis-plan.json",
285
- "onboarding/media-requests.json"
286
- ],
287
- "tools": [],
288
- "eval": "storyboard",
289
- "maxAttempts": 4,
290
- "kind": "agent"
291
- },
292
- {
293
- "id": "copy",
294
- "needs": [
295
- "storyboard"
296
- ],
297
- "inputs": [
298
- "onboarding/business.json",
299
- "onboarding/storyboard.json",
300
- "agent/change-request.json"
301
- ],
302
- "writes": [
303
- "onboarding/copy-plan.json"
304
- ],
305
- "refs": [
306
- "copy",
307
- "contracts",
308
- "seo",
309
- "geo"
310
- ],
311
- "optionalRefs": [
312
- "design-synthesis",
313
- "refine"
314
- ],
315
- "optionalInputs": [
316
- "onboarding/synthesis-plan.json",
317
- "agent/site-memory.json"
318
- ],
319
- "tools": [],
320
- "eval": "copy",
321
- "maxAttempts": 4,
322
- "kind": "agent"
323
- },
324
- {
325
- "id": "copy-review",
326
- "needs": [
327
- "copy"
328
- ],
329
- "inputs": [
330
- "onboarding/business.json",
331
- "onboarding/storyboard.json",
332
- "onboarding/copy-plan.json"
333
- ],
334
- "writes": [
335
- "agent/reviews/copy-review.json"
336
- ],
337
- "refs": [
338
- "critic",
339
- "contracts"
340
- ],
341
- "tools": [],
342
- "eval": "copy-review",
343
- "maxAttempts": 4,
344
- "kind": "critic",
345
- "repair": "copy"
346
- },
347
- {
348
- "id": "representative",
349
- "needs": [
350
- "copy-review"
351
- ],
352
- "inputs": [
353
- "onboarding/direction.json",
354
- "onboarding/storyboard.json",
355
- "onboarding/copy-plan.json"
356
- ],
357
- "writes": [
358
- "pages",
359
- "components",
360
- "agent/decisions/authoring-decisions.json",
361
- "site.json"
362
- ],
363
- "refs": [
364
- "implement",
365
- "accessibility",
366
- "usability",
367
- "media",
368
- "motion",
369
- "icons",
370
- "analytics"
371
- ],
372
- "tools": [],
373
- "eval": "representative",
374
- "maxAttempts": 4,
375
- "kind": "agent",
376
- "optionalRefs": [
377
- "components",
378
- "compose",
379
- "design-synthesis",
380
- "motion-count",
381
- "motion-numeric",
382
- "motion-text",
383
- "motion-image",
384
- "motion-process",
385
- "motion-sequence",
386
- "motion-page"
387
- ],
388
- "optionalInputs": [
389
- "onboarding/synthesis-plan.json",
390
- "onboarding/media-requests.json",
391
- "onboarding/media-selection.json"
392
- ],
393
- "historicalAfter": "pages"
394
- },
395
- {
396
- "id": "representative-browser",
397
- "needs": [
398
- "representative"
399
- ],
400
- "inputs": [
401
- "pages",
402
- "components",
403
- "theme",
404
- "media",
405
- "site.json",
406
- "public",
407
- "onboarding/storyboard.json"
408
- ],
409
- "writes": [
410
- "agent/reviews/representative-browser.json",
411
- "agent/screenshots/representative-browser"
412
- ],
413
- "refs": [
414
- "browser",
415
- "motion",
416
- "icons",
417
- "analytics"
418
- ],
419
- "tools": [],
420
- "eval": "representative-browser",
421
- "maxAttempts": 4,
422
- "kind": "tool",
423
- "command": [
424
- "--experimental-strip-types",
425
- "{harness}/scripts/verify-browser.ts",
426
- "--site",
427
- "{site}",
428
- "--representative"
429
- ],
430
- "repair": "representative",
431
- "historicalAfter": "pages",
432
- "optionalRefs": [
433
- "motion-count",
434
- "motion-numeric",
435
- "motion-text",
436
- "motion-image",
437
- "motion-process",
438
- "motion-sequence"
439
- ]
440
- },
441
- {
442
- "id": "representative-review",
443
- "needs": [
444
- "representative-browser"
445
- ],
446
- "inputs": [
447
- "dist",
448
- "onboarding/direction.json"
449
- ],
450
- "writes": [
451
- "agent/reviews/representative-review.json"
452
- ],
453
- "refs": [
454
- "critic",
455
- "contracts",
456
- "design-calibration",
457
- "motion",
458
- "icons"
459
- ],
460
- "tools": [],
461
- "eval": "representative-review",
462
- "maxAttempts": 4,
463
- "kind": "critic",
464
- "repair": "representative",
465
- "historicalAfter": "pages",
466
- "optionalRefs": [
467
- "motion-count",
468
- "motion-numeric",
469
- "motion-text",
470
- "motion-image",
471
- "motion-process",
472
- "motion-sequence",
473
- "motion-page"
474
- ]
475
- },
476
- {
477
- "id": "representative-quality",
478
- "needs": [
479
- "representative-review"
480
- ],
481
- "inputs": [
482
- "dist",
483
- "pages",
484
- "onboarding/direction.json",
485
- "onboarding/narrative-brief.json",
486
- "onboarding/copy-plan.json",
487
- "onboarding/storyboard.json",
488
- "agent/decisions/authoring-decisions.json",
489
- "agent/reviews/representative-browser.json",
490
- "agent/screenshots/representative-browser"
491
- ],
492
- "writes": [
493
- "agent/reviews/representative-quality.json"
494
- ],
495
- "refs": [
496
- "design-quality",
497
- "critic",
498
- "contracts",
499
- "design-calibration",
500
- "motion"
501
- ],
502
- "tools": [],
503
- "eval": "representative-quality",
504
- "maxAttempts": 3,
505
- "kind": "critic",
506
- "repair": "representative",
507
- "historicalAfter": "pages",
508
- "optionalRefs": [
509
- "motion-count",
510
- "motion-numeric",
511
- "motion-text",
512
- "motion-image",
513
- "motion-process",
514
- "motion-sequence",
515
- "motion-page"
516
- ]
517
- },
518
- {
519
- "id": "copy-expansion",
520
- "needs": [
521
- "representative-quality"
522
- ],
523
- "inputs": [
524
- "onboarding/storyboard.json",
525
- "onboarding/copy-plan.json",
526
- "onboarding/business.json",
527
- "pages",
528
- "components"
529
- ],
530
- "writes": [
531
- "onboarding/copy-plan.json"
532
- ],
533
- "refs": [
534
- "copy",
535
- "contracts",
536
- "motion"
537
- ],
538
- "tools": [],
539
- "eval": "copy-expansion",
540
- "maxAttempts": 4,
541
- "kind": "agent",
542
- "historicalAfter": "pages",
543
- "optionalRefs": [
544
- "motion-page"
545
- ]
546
- },
547
- {
548
- "id": "pages",
549
- "needs": [
550
- "copy-expansion"
551
- ],
552
- "inputs": [
553
- "onboarding/storyboard.json",
554
- "onboarding/copy-plan.json",
555
- "onboarding/direction.json",
556
- "agent/change-request.json"
557
- ],
558
- "writes": [
559
- "pages",
560
- "components",
561
- "agent/decisions/authoring-decisions.json"
562
- ],
563
- "refs": [
564
- "implement",
565
- "accessibility",
566
- "performance",
567
- "motion",
568
- "icons",
569
- "analytics"
570
- ],
571
- "optionalRefs": [
572
- "design-synthesis",
573
- "refine",
574
- "motion-count",
575
- "motion-numeric",
576
- "motion-text",
577
- "motion-image",
578
- "motion-process",
579
- "motion-sequence",
580
- "motion-page"
581
- ],
582
- "optionalInputs": [
583
- "onboarding/synthesis-plan.json",
584
- "agent/site-memory.json"
585
- ],
586
- "tools": [],
587
- "eval": "pages",
588
- "maxAttempts": 4,
589
- "kind": "agent"
590
- },
591
- {
592
- "id": "browser",
593
- "needs": [
594
- "pages"
595
- ],
596
- "inputs": [
597
- "pages",
598
- "components",
599
- "theme",
600
- "media",
601
- "site.json",
602
- "public",
603
- "onboarding/storyboard.json"
604
- ],
605
- "writes": [
606
- "agent/reviews/browser.json",
607
- "agent/screenshots/browser"
608
- ],
609
- "refs": [
610
- "browser",
611
- "motion",
612
- "icons",
613
- "analytics"
614
- ],
615
- "tools": [],
616
- "eval": "browser",
617
- "maxAttempts": 4,
618
- "kind": "tool",
619
- "command": [
620
- "--experimental-strip-types",
621
- "{harness}/scripts/verify-browser.ts",
622
- "--site",
623
- "{site}"
624
- ],
625
- "repair": "pages",
626
- "optionalRefs": [
627
- "motion-count",
628
- "motion-numeric",
629
- "motion-text",
630
- "motion-image",
631
- "motion-process",
632
- "motion-sequence",
633
- "motion-page"
634
- ]
635
- },
636
- {
637
- "id": "visual-review",
638
- "needs": [
639
- "browser"
640
- ],
641
- "inputs": [
642
- "dist",
643
- "onboarding/direction.json"
644
- ],
645
- "writes": [
646
- "agent/reviews/visual-review.json"
647
- ],
648
- "refs": [
649
- "critic",
650
- "contracts",
651
- "design-calibration",
652
- "media",
653
- "motion",
654
- "icons"
655
- ],
656
- "tools": [],
657
- "eval": "visual-review",
658
- "maxAttempts": 4,
659
- "kind": "critic",
660
- "repair": "pages",
661
- "optionalInputs": [
662
- "onboarding/media-requests.json",
663
- "onboarding/media-selection.json"
664
- ],
665
- "optionalRefs": [
666
- "motion-count",
667
- "motion-numeric",
668
- "motion-text",
669
- "motion-image",
670
- "motion-process",
671
- "motion-sequence",
672
- "motion-page"
673
- ]
674
- },
675
- {
676
- "id": "content-review",
677
- "needs": [
678
- "visual-review"
679
- ],
680
- "inputs": [
681
- "dist",
682
- "onboarding/business.json",
683
- "onboarding/copy-plan.json"
684
- ],
685
- "writes": [
686
- "agent/reviews/content-review.json"
687
- ],
688
- "refs": [
689
- "critic",
690
- "contracts",
691
- "design-calibration",
692
- "media"
693
- ],
694
- "tools": [],
695
- "eval": "content-review",
696
- "maxAttempts": 4,
697
- "kind": "critic",
698
- "repair": "pages",
699
- "optionalInputs": [
700
- "onboarding/media-requests.json",
701
- "onboarding/media-selection.json"
702
- ]
703
- },
704
- {
705
- "id": "preview",
706
- "needs": [
707
- "content-review"
708
- ],
709
- "inputs": [
710
- "dist",
711
- "agent/reviews",
712
- "onboarding/business.json",
713
- "onboarding/media-inventory.json",
714
- "onboarding/direction.json",
715
- "onboarding/storyboard.json",
716
- "onboarding/copy-plan.json"
717
- ],
718
- "writes": [],
719
- "refs": [],
720
- "tools": [],
721
- "eval": "preview",
722
- "maxAttempts": 4,
723
- "kind": "tool",
724
- "command": [
725
- "--experimental-strip-types",
726
- "{harness}/scripts/eval-site.ts",
727
- "--site",
728
- "{site}",
729
- "--node",
730
- "preview"
731
- ],
732
- "repair": "pages"
733
- },
734
- {
735
- "id": "launch",
736
- "needs": [
737
- "preview"
738
- ],
739
- "inputs": [
740
- "launch.json"
741
- ],
742
- "writes": [
743
- "launch.json"
744
- ],
745
- "refs": [
746
- "launch",
747
- "analytics"
748
- ],
749
- "tools": [],
750
- "eval": "launch",
751
- "maxAttempts": 4,
752
- "kind": "agent",
753
- "optional": true
754
- }
755
- ]
756
- }
1
+ {
2
+ "version": 3,
3
+ "stop_at": "preview_ready",
4
+ "nodes": [
5
+ {
6
+ "id": "harvest",
7
+ "needs": [],
8
+ "inputs": [
9
+ "launch.json"
10
+ ],
11
+ "writes": [
12
+ "onboarding/brief.json",
13
+ "onboarding/raw",
14
+ "onboarding/harvest-inventory.json",
15
+ "media/harvest"
16
+ ],
17
+ "refs": [
18
+ "harvest"
19
+ ],
20
+ "tools": [
21
+ "npm run harvest"
22
+ ],
23
+ "eval": "harvest",
24
+ "maxAttempts": 4,
25
+ "kind": "tool",
26
+ "command": [
27
+ "--experimental-strip-types",
28
+ "{harness}/scripts/harvest.ts",
29
+ "--no-prompt"
30
+ ]
31
+ },
32
+ {
33
+ "id": "business",
34
+ "needs": [
35
+ "harvest"
36
+ ],
37
+ "inputs": [
38
+ "onboarding/brief.json",
39
+ "onboarding/copy",
40
+ "agent/change-request.json"
41
+ ],
42
+ "optionalInputs": [
43
+ "agent/site-memory.json"
44
+ ],
45
+ "writes": [
46
+ "onboarding/business.json"
47
+ ],
48
+ "refs": [
49
+ "business",
50
+ "contracts"
51
+ ],
52
+ "optionalRefs": [
53
+ "refine",
54
+ "scheduling"
55
+ ],
56
+ "tools": [],
57
+ "eval": "business",
58
+ "maxAttempts": 4,
59
+ "kind": "agent"
60
+ },
61
+ {
62
+ "id": "business-review",
63
+ "needs": [
64
+ "business"
65
+ ],
66
+ "inputs": [
67
+ "onboarding/business.json"
68
+ ],
69
+ "writes": [
70
+ "agent/reviews/business-review.json"
71
+ ],
72
+ "refs": [
73
+ "critic",
74
+ "contracts"
75
+ ],
76
+ "tools": [],
77
+ "eval": "business-review",
78
+ "maxAttempts": 4,
79
+ "kind": "critic",
80
+ "repair": "business"
81
+ },
82
+ {
83
+ "id": "media",
84
+ "needs": [
85
+ "harvest"
86
+ ],
87
+ "inputs": [
88
+ "onboarding/brief.json",
89
+ "media/harvest"
90
+ ],
91
+ "writes": [
92
+ "onboarding/media-inventory.json",
93
+ "onboarding/contact-sheet.html",
94
+ "media/stock",
95
+ "media/recovered",
96
+ "onboarding/media-requests.json"
97
+ ],
98
+ "refs": [
99
+ "media",
100
+ "contracts"
101
+ ],
102
+ "tools": [],
103
+ "eval": "media",
104
+ "maxAttempts": 4,
105
+ "kind": "agent"
106
+ },
107
+ {
108
+ "id": "narrative",
109
+ "needs": [
110
+ "business-review",
111
+ "media"
112
+ ],
113
+ "inputs": [
114
+ "onboarding/business.json",
115
+ "onboarding/media-inventory.json"
116
+ ],
117
+ "writes": [
118
+ "onboarding/narrative-brief.json"
119
+ ],
120
+ "refs": [
121
+ "narrative",
122
+ "contracts"
123
+ ],
124
+ "tools": [],
125
+ "eval": "narrative",
126
+ "maxAttempts": 4,
127
+ "kind": "agent",
128
+ "optionalRefs": [
129
+ "scheduling"
130
+ ]
131
+ },
132
+ {
133
+ "id": "narrative-review",
134
+ "needs": [
135
+ "narrative"
136
+ ],
137
+ "inputs": [
138
+ "onboarding/narrative-brief.json",
139
+ "onboarding/business.json"
140
+ ],
141
+ "writes": [
142
+ "agent/reviews/narrative-review.json"
143
+ ],
144
+ "refs": [
145
+ "critic",
146
+ "contracts"
147
+ ],
148
+ "tools": [],
149
+ "eval": "narrative-review",
150
+ "maxAttempts": 4,
151
+ "kind": "critic",
152
+ "repair": "narrative"
153
+ },
154
+ {
155
+ "id": "reference-analysis",
156
+ "needs": [
157
+ "narrative-review"
158
+ ],
159
+ "inputs": [
160
+ "onboarding/narrative-brief.json",
161
+ "onboarding/media-inventory.json"
162
+ ],
163
+ "writes": [
164
+ "onboarding/reference-analysis.json"
165
+ ],
166
+ "refs": [
167
+ "design-calibration",
168
+ "contracts"
169
+ ],
170
+ "tools": [],
171
+ "eval": "reference-analysis",
172
+ "maxAttempts": 4,
173
+ "kind": "agent"
174
+ },
175
+ {
176
+ "id": "direction",
177
+ "needs": [
178
+ "reference-analysis"
179
+ ],
180
+ "inputs": [
181
+ "onboarding/business.json",
182
+ "onboarding/media-inventory.json",
183
+ "onboarding/narrative-brief.json",
184
+ "onboarding/reference-analysis.json",
185
+ "agent/request.json"
186
+ ],
187
+ "writes": [
188
+ "onboarding/direction.json",
189
+ "theme/defaults.json"
190
+ ],
191
+ "refs": [
192
+ "direction",
193
+ "contracts",
194
+ "design-calibration",
195
+ "accessibility",
196
+ "motion",
197
+ "typography"
198
+ ],
199
+ "tools": [],
200
+ "eval": "direction",
201
+ "maxAttempts": 4,
202
+ "kind": "agent",
203
+ "optionalRefs": [
204
+ "inspiration",
205
+ "variant-directions",
206
+ "refine",
207
+ "motion-count",
208
+ "motion-numeric",
209
+ "motion-text",
210
+ "motion-image",
211
+ "motion-process",
212
+ "motion-sequence",
213
+ "motion-page"
214
+ ],
215
+ "optionalInputs": [
216
+ "agent/assigned-direction.json",
217
+ "agent/site-memory.json",
218
+ "onboarding/media-requests.json"
219
+ ]
220
+ },
221
+ {
222
+ "id": "direction-review",
223
+ "needs": [
224
+ "direction"
225
+ ],
226
+ "inputs": [
227
+ "onboarding/direction.json",
228
+ "theme/defaults.json"
229
+ ],
230
+ "writes": [
231
+ "agent/reviews/direction-review.json"
232
+ ],
233
+ "refs": [
234
+ "critic",
235
+ "contracts",
236
+ "design-calibration",
237
+ "motion",
238
+ "typography"
239
+ ],
240
+ "tools": [],
241
+ "eval": "direction-review",
242
+ "maxAttempts": 4,
243
+ "kind": "critic",
244
+ "repair": "direction",
245
+ "optionalRefs": [
246
+ "motion-count",
247
+ "motion-numeric",
248
+ "motion-text",
249
+ "motion-image",
250
+ "motion-process",
251
+ "motion-sequence",
252
+ "motion-page"
253
+ ]
254
+ },
255
+ {
256
+ "id": "storyboard",
257
+ "needs": [
258
+ "direction-review"
259
+ ],
260
+ "inputs": [
261
+ "onboarding/business.json",
262
+ "onboarding/direction.json",
263
+ "onboarding/media-inventory.json"
264
+ ],
265
+ "writes": [
266
+ "onboarding/storyboard.json",
267
+ "onboarding/media-selection.json"
268
+ ],
269
+ "refs": [
270
+ "storyboard",
271
+ "contracts",
272
+ "design-calibration",
273
+ "seo",
274
+ "media",
275
+ "motion",
276
+ "icons",
277
+ "analytics"
278
+ ],
279
+ "optionalRefs": [
280
+ "design-synthesis",
281
+ "motion-count",
282
+ "motion-numeric",
283
+ "motion-text",
284
+ "motion-image",
285
+ "motion-process",
286
+ "motion-sequence",
287
+ "motion-page"
288
+ ],
289
+ "optionalInputs": [
290
+ "onboarding/synthesis-plan.json",
291
+ "onboarding/media-requests.json"
292
+ ],
293
+ "tools": [],
294
+ "eval": "storyboard",
295
+ "maxAttempts": 4,
296
+ "kind": "agent"
297
+ },
298
+ {
299
+ "id": "copy",
300
+ "needs": [
301
+ "storyboard"
302
+ ],
303
+ "inputs": [
304
+ "onboarding/business.json",
305
+ "onboarding/storyboard.json",
306
+ "agent/change-request.json"
307
+ ],
308
+ "writes": [
309
+ "onboarding/copy-plan.json"
310
+ ],
311
+ "refs": [
312
+ "copy",
313
+ "contracts",
314
+ "seo",
315
+ "geo"
316
+ ],
317
+ "optionalRefs": [
318
+ "design-synthesis",
319
+ "refine"
320
+ ],
321
+ "optionalInputs": [
322
+ "onboarding/synthesis-plan.json",
323
+ "agent/site-memory.json"
324
+ ],
325
+ "tools": [],
326
+ "eval": "copy",
327
+ "maxAttempts": 4,
328
+ "kind": "agent"
329
+ },
330
+ {
331
+ "id": "copy-review",
332
+ "needs": [
333
+ "copy"
334
+ ],
335
+ "inputs": [
336
+ "onboarding/business.json",
337
+ "onboarding/storyboard.json",
338
+ "onboarding/copy-plan.json"
339
+ ],
340
+ "writes": [
341
+ "agent/reviews/copy-review.json"
342
+ ],
343
+ "refs": [
344
+ "critic",
345
+ "contracts"
346
+ ],
347
+ "tools": [],
348
+ "eval": "copy-review",
349
+ "maxAttempts": 4,
350
+ "kind": "critic",
351
+ "repair": "copy"
352
+ },
353
+ {
354
+ "id": "representative",
355
+ "needs": [
356
+ "copy-review"
357
+ ],
358
+ "inputs": [
359
+ "onboarding/direction.json",
360
+ "onboarding/storyboard.json",
361
+ "onboarding/copy-plan.json"
362
+ ],
363
+ "writes": [
364
+ "pages",
365
+ "components",
366
+ "agent/decisions/authoring-decisions.json",
367
+ "site.json"
368
+ ],
369
+ "refs": [
370
+ "implement",
371
+ "accessibility",
372
+ "usability",
373
+ "media",
374
+ "motion",
375
+ "icons",
376
+ "analytics",
377
+ "typography"
378
+ ],
379
+ "tools": [],
380
+ "eval": "representative",
381
+ "maxAttempts": 4,
382
+ "kind": "agent",
383
+ "optionalRefs": [
384
+ "components",
385
+ "compose",
386
+ "design-synthesis",
387
+ "motion-count",
388
+ "motion-numeric",
389
+ "motion-text",
390
+ "motion-image",
391
+ "motion-process",
392
+ "motion-sequence",
393
+ "motion-page"
394
+ ],
395
+ "optionalInputs": [
396
+ "onboarding/synthesis-plan.json",
397
+ "onboarding/media-requests.json",
398
+ "onboarding/media-selection.json"
399
+ ],
400
+ "historicalAfter": "pages"
401
+ },
402
+ {
403
+ "id": "representative-browser",
404
+ "needs": [
405
+ "representative"
406
+ ],
407
+ "inputs": [
408
+ "pages",
409
+ "components",
410
+ "theme",
411
+ "media",
412
+ "site.json",
413
+ "public",
414
+ "onboarding/storyboard.json"
415
+ ],
416
+ "writes": [
417
+ "agent/reviews/representative-browser.json",
418
+ "agent/screenshots/representative-browser"
419
+ ],
420
+ "refs": [
421
+ "browser",
422
+ "motion",
423
+ "icons",
424
+ "analytics",
425
+ "typography"
426
+ ],
427
+ "tools": [],
428
+ "eval": "representative-browser",
429
+ "maxAttempts": 4,
430
+ "kind": "tool",
431
+ "command": [
432
+ "--experimental-strip-types",
433
+ "{harness}/scripts/verify-browser.ts",
434
+ "--site",
435
+ "{site}",
436
+ "--representative"
437
+ ],
438
+ "repair": "representative",
439
+ "historicalAfter": "pages",
440
+ "optionalRefs": [
441
+ "motion-count",
442
+ "motion-numeric",
443
+ "motion-text",
444
+ "motion-image",
445
+ "motion-process",
446
+ "motion-sequence"
447
+ ]
448
+ },
449
+ {
450
+ "id": "representative-review",
451
+ "needs": [
452
+ "representative-browser"
453
+ ],
454
+ "inputs": [
455
+ "dist",
456
+ "onboarding/direction.json"
457
+ ],
458
+ "writes": [
459
+ "agent/reviews/representative-review.json"
460
+ ],
461
+ "refs": [
462
+ "critic",
463
+ "contracts",
464
+ "design-calibration",
465
+ "motion",
466
+ "icons",
467
+ "typography"
468
+ ],
469
+ "tools": [],
470
+ "eval": "representative-review",
471
+ "maxAttempts": 4,
472
+ "kind": "critic",
473
+ "repair": "representative",
474
+ "historicalAfter": "pages",
475
+ "optionalRefs": [
476
+ "motion-count",
477
+ "motion-numeric",
478
+ "motion-text",
479
+ "motion-image",
480
+ "motion-process",
481
+ "motion-sequence",
482
+ "motion-page"
483
+ ]
484
+ },
485
+ {
486
+ "id": "representative-quality",
487
+ "needs": [
488
+ "representative-review"
489
+ ],
490
+ "inputs": [
491
+ "dist",
492
+ "pages",
493
+ "onboarding/direction.json",
494
+ "onboarding/narrative-brief.json",
495
+ "onboarding/copy-plan.json",
496
+ "onboarding/storyboard.json",
497
+ "agent/decisions/authoring-decisions.json",
498
+ "agent/reviews/representative-browser.json",
499
+ "agent/screenshots/representative-browser"
500
+ ],
501
+ "writes": [
502
+ "agent/reviews/representative-quality.json"
503
+ ],
504
+ "refs": [
505
+ "design-quality",
506
+ "critic",
507
+ "contracts",
508
+ "design-calibration",
509
+ "motion",
510
+ "typography"
511
+ ],
512
+ "tools": [],
513
+ "eval": "representative-quality",
514
+ "maxAttempts": 3,
515
+ "kind": "critic",
516
+ "repair": "representative",
517
+ "historicalAfter": "pages",
518
+ "optionalRefs": [
519
+ "motion-count",
520
+ "motion-numeric",
521
+ "motion-text",
522
+ "motion-image",
523
+ "motion-process",
524
+ "motion-sequence",
525
+ "motion-page"
526
+ ]
527
+ },
528
+ {
529
+ "id": "copy-expansion",
530
+ "needs": [
531
+ "representative-quality"
532
+ ],
533
+ "inputs": [
534
+ "onboarding/storyboard.json",
535
+ "onboarding/copy-plan.json",
536
+ "onboarding/business.json",
537
+ "pages",
538
+ "components"
539
+ ],
540
+ "writes": [
541
+ "onboarding/copy-plan.json"
542
+ ],
543
+ "refs": [
544
+ "copy",
545
+ "contracts",
546
+ "motion"
547
+ ],
548
+ "tools": [],
549
+ "eval": "copy-expansion",
550
+ "maxAttempts": 4,
551
+ "kind": "agent",
552
+ "historicalAfter": "pages",
553
+ "optionalRefs": [
554
+ "motion-page"
555
+ ]
556
+ },
557
+ {
558
+ "id": "pages",
559
+ "needs": [
560
+ "copy-expansion"
561
+ ],
562
+ "inputs": [
563
+ "onboarding/storyboard.json",
564
+ "onboarding/copy-plan.json",
565
+ "onboarding/direction.json",
566
+ "agent/change-request.json"
567
+ ],
568
+ "writes": [
569
+ "pages",
570
+ "components",
571
+ "agent/decisions/authoring-decisions.json"
572
+ ],
573
+ "refs": [
574
+ "implement",
575
+ "accessibility",
576
+ "performance",
577
+ "motion",
578
+ "icons",
579
+ "analytics",
580
+ "typography"
581
+ ],
582
+ "optionalRefs": [
583
+ "design-synthesis",
584
+ "refine",
585
+ "motion-count",
586
+ "motion-numeric",
587
+ "motion-text",
588
+ "motion-image",
589
+ "motion-process",
590
+ "motion-sequence",
591
+ "motion-page"
592
+ ],
593
+ "optionalInputs": [
594
+ "onboarding/synthesis-plan.json",
595
+ "agent/site-memory.json"
596
+ ],
597
+ "tools": [],
598
+ "eval": "pages",
599
+ "maxAttempts": 4,
600
+ "kind": "agent"
601
+ },
602
+ {
603
+ "id": "browser",
604
+ "needs": [
605
+ "pages"
606
+ ],
607
+ "inputs": [
608
+ "pages",
609
+ "components",
610
+ "theme",
611
+ "media",
612
+ "site.json",
613
+ "public",
614
+ "onboarding/storyboard.json"
615
+ ],
616
+ "writes": [
617
+ "agent/reviews/browser.json",
618
+ "agent/screenshots/browser"
619
+ ],
620
+ "refs": [
621
+ "browser",
622
+ "motion",
623
+ "icons",
624
+ "analytics",
625
+ "typography"
626
+ ],
627
+ "tools": [],
628
+ "eval": "browser",
629
+ "maxAttempts": 4,
630
+ "kind": "tool",
631
+ "command": [
632
+ "--experimental-strip-types",
633
+ "{harness}/scripts/verify-browser.ts",
634
+ "--site",
635
+ "{site}"
636
+ ],
637
+ "repair": "pages",
638
+ "optionalRefs": [
639
+ "motion-count",
640
+ "motion-numeric",
641
+ "motion-text",
642
+ "motion-image",
643
+ "motion-process",
644
+ "motion-sequence",
645
+ "motion-page",
646
+ "scheduling"
647
+ ]
648
+ },
649
+ {
650
+ "id": "visual-review",
651
+ "needs": [
652
+ "browser"
653
+ ],
654
+ "inputs": [
655
+ "dist",
656
+ "onboarding/direction.json"
657
+ ],
658
+ "writes": [
659
+ "agent/reviews/visual-review.json"
660
+ ],
661
+ "refs": [
662
+ "critic",
663
+ "contracts",
664
+ "design-calibration",
665
+ "media",
666
+ "motion",
667
+ "icons"
668
+ ],
669
+ "tools": [],
670
+ "eval": "visual-review",
671
+ "maxAttempts": 4,
672
+ "kind": "critic",
673
+ "repair": "pages",
674
+ "optionalInputs": [
675
+ "onboarding/media-requests.json",
676
+ "onboarding/media-selection.json"
677
+ ],
678
+ "optionalRefs": [
679
+ "motion-count",
680
+ "motion-numeric",
681
+ "motion-text",
682
+ "motion-image",
683
+ "motion-process",
684
+ "motion-sequence",
685
+ "motion-page"
686
+ ]
687
+ },
688
+ {
689
+ "id": "content-review",
690
+ "needs": [
691
+ "visual-review"
692
+ ],
693
+ "inputs": [
694
+ "dist",
695
+ "onboarding/business.json",
696
+ "onboarding/copy-plan.json"
697
+ ],
698
+ "writes": [
699
+ "agent/reviews/content-review.json"
700
+ ],
701
+ "refs": [
702
+ "critic",
703
+ "contracts",
704
+ "design-calibration",
705
+ "media"
706
+ ],
707
+ "tools": [],
708
+ "eval": "content-review",
709
+ "maxAttempts": 4,
710
+ "kind": "critic",
711
+ "repair": "pages",
712
+ "optionalInputs": [
713
+ "onboarding/media-requests.json",
714
+ "onboarding/media-selection.json"
715
+ ]
716
+ },
717
+ {
718
+ "id": "preview",
719
+ "needs": [
720
+ "content-review"
721
+ ],
722
+ "inputs": [
723
+ "dist",
724
+ "agent/reviews",
725
+ "onboarding/business.json",
726
+ "onboarding/media-inventory.json",
727
+ "onboarding/direction.json",
728
+ "onboarding/storyboard.json",
729
+ "onboarding/copy-plan.json"
730
+ ],
731
+ "writes": [],
732
+ "refs": [],
733
+ "tools": [],
734
+ "eval": "preview",
735
+ "maxAttempts": 4,
736
+ "kind": "tool",
737
+ "command": [
738
+ "--experimental-strip-types",
739
+ "{harness}/scripts/eval-site.ts",
740
+ "--site",
741
+ "{site}",
742
+ "--node",
743
+ "preview"
744
+ ],
745
+ "repair": "pages"
746
+ },
747
+ {
748
+ "id": "launch",
749
+ "needs": [
750
+ "preview"
751
+ ],
752
+ "inputs": [
753
+ "launch.json"
754
+ ],
755
+ "writes": [
756
+ "launch.json"
757
+ ],
758
+ "refs": [
759
+ "launch",
760
+ "analytics"
761
+ ],
762
+ "tools": [],
763
+ "eval": "launch",
764
+ "maxAttempts": 4,
765
+ "kind": "agent",
766
+ "optional": true
767
+ }
768
+ ]
769
+ }