runcastle 0.2.0 → 1.0.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 (80) hide show
  1. package/README.md +47 -0
  2. package/bin/runcastle.js +5580 -0
  3. package/drizzle/0000_amused_bruce_banner.sql +74 -0
  4. package/drizzle/0001_mapped_feature_flag.sql +1 -0
  5. package/drizzle/0002_waypoints.sql +14 -0
  6. package/drizzle/0003_project_closed_at.sql +1 -0
  7. package/drizzle/0004_events_project_id.sql +28 -0
  8. package/drizzle/0005_project_setting_overrides.sql +2 -0
  9. package/drizzle/meta/0000_snapshot.json +466 -0
  10. package/drizzle/meta/0001_snapshot.json +474 -0
  11. package/drizzle/meta/0002_snapshot.json +568 -0
  12. package/drizzle/meta/0003_snapshot.json +575 -0
  13. package/drizzle/meta/0004_snapshot.json +582 -0
  14. package/drizzle/meta/0005_snapshot.json +596 -0
  15. package/drizzle/meta/_journal.json +48 -0
  16. package/hook-client.ts +67 -0
  17. package/index.js +5424 -0
  18. package/package.json +24 -30
  19. package/pty-host.cjs +186 -0
  20. package/sandcastle-template/Containerfile +33 -0
  21. package/sandcastle-template/Dockerfile +33 -0
  22. package/skills/burner/implement-ticket.md +42 -0
  23. package/skills/burner/research-waypoint.md +45 -0
  24. package/skills/packs/README.md +50 -0
  25. package/skills/packs/runcastle/.claude-plugin/plugin.json +6 -0
  26. package/skills/packs/runcastle/skills/converge/SKILL.md +51 -0
  27. package/skills/packs/runcastle/skills/ideate/SKILL.md +81 -0
  28. package/skills/packs/runcastle/skills/qa/SKILL.md +30 -0
  29. package/skills/packs/runcastle/skills/spec/SKILL.md +43 -0
  30. package/skills/packs/runcastle/skills/tickets/SKILL.md +52 -0
  31. package/skills/packs/runcastle/skills/waypoint/SKILL.md +54 -0
  32. package/web/assets/index-CKZ5Z7vc.css +1 -0
  33. package/web/assets/index-YBuT7tTz.js +108 -0
  34. package/web/index.html +13 -0
  35. package/dist/add-DD7G73HH.js +0 -315
  36. package/dist/add-DD7G73HH.js.map +0 -1
  37. package/dist/chunk-44KDPUYJ.js +0 -49
  38. package/dist/chunk-44KDPUYJ.js.map +0 -1
  39. package/dist/chunk-5VPKMXSV.js +0 -190
  40. package/dist/chunk-5VPKMXSV.js.map +0 -1
  41. package/dist/chunk-6CWCR5SO.js +0 -24
  42. package/dist/chunk-6CWCR5SO.js.map +0 -1
  43. package/dist/chunk-7CHGGMP7.js +0 -73
  44. package/dist/chunk-7CHGGMP7.js.map +0 -1
  45. package/dist/chunk-AHRTPV2C.js +0 -1082
  46. package/dist/chunk-AHRTPV2C.js.map +0 -1
  47. package/dist/chunk-GU4LRYYH.js +0 -41
  48. package/dist/chunk-GU4LRYYH.js.map +0 -1
  49. package/dist/chunk-LP5MV76P.js +0 -33
  50. package/dist/chunk-LP5MV76P.js.map +0 -1
  51. package/dist/chunk-OJ356IMJ.js +0 -136
  52. package/dist/chunk-OJ356IMJ.js.map +0 -1
  53. package/dist/chunk-PRNBOQHW.js +0 -32
  54. package/dist/chunk-PRNBOQHW.js.map +0 -1
  55. package/dist/chunk-QTC5Y3LU.js +0 -146
  56. package/dist/chunk-QTC5Y3LU.js.map +0 -1
  57. package/dist/chunk-SNUH2UT6.js +0 -95
  58. package/dist/chunk-SNUH2UT6.js.map +0 -1
  59. package/dist/chunk-UG25BZUN.js +0 -59
  60. package/dist/chunk-UG25BZUN.js.map +0 -1
  61. package/dist/chunk-VWAIXSB6.js +0 -78
  62. package/dist/chunk-VWAIXSB6.js.map +0 -1
  63. package/dist/index.js +0 -99
  64. package/dist/index.js.map +0 -1
  65. package/dist/info-3PW6A6JA.js +0 -80
  66. package/dist/info-3PW6A6JA.js.map +0 -1
  67. package/dist/init-MOJNLWXK.js +0 -212
  68. package/dist/init-MOJNLWXK.js.map +0 -1
  69. package/dist/logout-YPGZ6BB6.js +0 -27
  70. package/dist/logout-YPGZ6BB6.js.map +0 -1
  71. package/dist/publish-W37Y6TO6.js +0 -211
  72. package/dist/publish-W37Y6TO6.js.map +0 -1
  73. package/dist/run-M4XXNPGD.js +0 -291
  74. package/dist/run-M4XXNPGD.js.map +0 -1
  75. package/dist/search-2KNAXPM5.js +0 -55
  76. package/dist/search-2KNAXPM5.js.map +0 -1
  77. package/dist/update-UCT4K6IQ.js +0 -125
  78. package/dist/update-UCT4K6IQ.js.map +0 -1
  79. package/dist/validate-GFDSEVPV.js +0 -12
  80. package/dist/validate-GFDSEVPV.js.map +0 -1
@@ -0,0 +1,582 @@
1
+ {
2
+ "version": "6",
3
+ "dialect": "sqlite",
4
+ "id": "a1b2c3d4-0004-4004-8004-000000000004",
5
+ "prevId": "a1b2c3d4-0003-4003-8003-000000000003",
6
+ "tables": {
7
+ "events": {
8
+ "name": "events",
9
+ "columns": {
10
+ "id": {
11
+ "name": "id",
12
+ "type": "integer",
13
+ "primaryKey": true,
14
+ "notNull": true,
15
+ "autoincrement": true
16
+ },
17
+ "project_id": {
18
+ "name": "project_id",
19
+ "type": "text",
20
+ "primaryKey": false,
21
+ "notNull": true,
22
+ "autoincrement": false
23
+ },
24
+ "feature_id": {
25
+ "name": "feature_id",
26
+ "type": "text",
27
+ "primaryKey": false,
28
+ "notNull": false,
29
+ "autoincrement": false
30
+ },
31
+ "run_id": {
32
+ "name": "run_id",
33
+ "type": "text",
34
+ "primaryKey": false,
35
+ "notNull": false,
36
+ "autoincrement": false
37
+ },
38
+ "ticket_id": {
39
+ "name": "ticket_id",
40
+ "type": "text",
41
+ "primaryKey": false,
42
+ "notNull": false,
43
+ "autoincrement": false
44
+ },
45
+ "ts": {
46
+ "name": "ts",
47
+ "type": "integer",
48
+ "primaryKey": false,
49
+ "notNull": true,
50
+ "autoincrement": false
51
+ },
52
+ "type": {
53
+ "name": "type",
54
+ "type": "text",
55
+ "primaryKey": false,
56
+ "notNull": true,
57
+ "autoincrement": false
58
+ },
59
+ "message": {
60
+ "name": "message",
61
+ "type": "text",
62
+ "primaryKey": false,
63
+ "notNull": true,
64
+ "autoincrement": false
65
+ },
66
+ "data": {
67
+ "name": "data",
68
+ "type": "text",
69
+ "primaryKey": false,
70
+ "notNull": false,
71
+ "autoincrement": false
72
+ }
73
+ },
74
+ "indexes": {},
75
+ "foreignKeys": {},
76
+ "compositePrimaryKeys": {},
77
+ "uniqueConstraints": {},
78
+ "checkConstraints": {}
79
+ },
80
+ "features": {
81
+ "name": "features",
82
+ "columns": {
83
+ "id": {
84
+ "name": "id",
85
+ "type": "text",
86
+ "primaryKey": true,
87
+ "notNull": true,
88
+ "autoincrement": false
89
+ },
90
+ "project_id": {
91
+ "name": "project_id",
92
+ "type": "text",
93
+ "primaryKey": false,
94
+ "notNull": true,
95
+ "autoincrement": false
96
+ },
97
+ "slug": {
98
+ "name": "slug",
99
+ "type": "text",
100
+ "primaryKey": false,
101
+ "notNull": true,
102
+ "autoincrement": false
103
+ },
104
+ "title": {
105
+ "name": "title",
106
+ "type": "text",
107
+ "primaryKey": false,
108
+ "notNull": true,
109
+ "autoincrement": false
110
+ },
111
+ "one_liner": {
112
+ "name": "one_liner",
113
+ "type": "text",
114
+ "primaryKey": false,
115
+ "notNull": true,
116
+ "autoincrement": false
117
+ },
118
+ "size": {
119
+ "name": "size",
120
+ "type": "text",
121
+ "primaryKey": false,
122
+ "notNull": true,
123
+ "autoincrement": false
124
+ },
125
+ "phase": {
126
+ "name": "phase",
127
+ "type": "text",
128
+ "primaryKey": false,
129
+ "notNull": true,
130
+ "autoincrement": false
131
+ },
132
+ "branch": {
133
+ "name": "branch",
134
+ "type": "text",
135
+ "primaryKey": false,
136
+ "notNull": true,
137
+ "autoincrement": false
138
+ },
139
+ "status": {
140
+ "name": "status",
141
+ "type": "text",
142
+ "primaryKey": false,
143
+ "notNull": true,
144
+ "autoincrement": false
145
+ },
146
+ "created_at": {
147
+ "name": "created_at",
148
+ "type": "integer",
149
+ "primaryKey": false,
150
+ "notNull": true,
151
+ "autoincrement": false
152
+ },
153
+ "mapped": {
154
+ "name": "mapped",
155
+ "type": "integer",
156
+ "primaryKey": false,
157
+ "notNull": true,
158
+ "autoincrement": false,
159
+ "default": "false"
160
+ }
161
+ },
162
+ "indexes": {},
163
+ "foreignKeys": {},
164
+ "compositePrimaryKeys": {},
165
+ "uniqueConstraints": {},
166
+ "checkConstraints": {}
167
+ },
168
+ "gate_overrides": {
169
+ "name": "gate_overrides",
170
+ "columns": {
171
+ "id": {
172
+ "name": "id",
173
+ "type": "integer",
174
+ "primaryKey": true,
175
+ "notNull": true,
176
+ "autoincrement": true
177
+ },
178
+ "feature_id": {
179
+ "name": "feature_id",
180
+ "type": "text",
181
+ "primaryKey": false,
182
+ "notNull": true,
183
+ "autoincrement": false
184
+ },
185
+ "gate": {
186
+ "name": "gate",
187
+ "type": "text",
188
+ "primaryKey": false,
189
+ "notNull": true,
190
+ "autoincrement": false
191
+ },
192
+ "reason": {
193
+ "name": "reason",
194
+ "type": "text",
195
+ "primaryKey": false,
196
+ "notNull": true,
197
+ "autoincrement": false
198
+ },
199
+ "ts": {
200
+ "name": "ts",
201
+ "type": "integer",
202
+ "primaryKey": false,
203
+ "notNull": true,
204
+ "autoincrement": false
205
+ }
206
+ },
207
+ "indexes": {},
208
+ "foreignKeys": {},
209
+ "compositePrimaryKeys": {},
210
+ "uniqueConstraints": {},
211
+ "checkConstraints": {}
212
+ },
213
+ "projects": {
214
+ "name": "projects",
215
+ "columns": {
216
+ "id": {
217
+ "name": "id",
218
+ "type": "text",
219
+ "primaryKey": true,
220
+ "notNull": true,
221
+ "autoincrement": false
222
+ },
223
+ "name": {
224
+ "name": "name",
225
+ "type": "text",
226
+ "primaryKey": false,
227
+ "notNull": true,
228
+ "autoincrement": false
229
+ },
230
+ "repo_path": {
231
+ "name": "repo_path",
232
+ "type": "text",
233
+ "primaryKey": false,
234
+ "notNull": true,
235
+ "autoincrement": false
236
+ },
237
+ "main_branch": {
238
+ "name": "main_branch",
239
+ "type": "text",
240
+ "primaryKey": false,
241
+ "notNull": true,
242
+ "autoincrement": false
243
+ },
244
+ "dev_command": {
245
+ "name": "dev_command",
246
+ "type": "text",
247
+ "primaryKey": false,
248
+ "notNull": false,
249
+ "autoincrement": false
250
+ },
251
+ "closed_at": {
252
+ "name": "closed_at",
253
+ "type": "integer",
254
+ "primaryKey": false,
255
+ "notNull": false,
256
+ "autoincrement": false
257
+ }
258
+ },
259
+ "indexes": {},
260
+ "foreignKeys": {},
261
+ "compositePrimaryKeys": {},
262
+ "uniqueConstraints": {},
263
+ "checkConstraints": {}
264
+ },
265
+ "runs": {
266
+ "name": "runs",
267
+ "columns": {
268
+ "id": {
269
+ "name": "id",
270
+ "type": "text",
271
+ "primaryKey": true,
272
+ "notNull": true,
273
+ "autoincrement": false
274
+ },
275
+ "feature_id": {
276
+ "name": "feature_id",
277
+ "type": "text",
278
+ "primaryKey": false,
279
+ "notNull": true,
280
+ "autoincrement": false
281
+ },
282
+ "workflow": {
283
+ "name": "workflow",
284
+ "type": "text",
285
+ "primaryKey": false,
286
+ "notNull": true,
287
+ "autoincrement": false
288
+ },
289
+ "status": {
290
+ "name": "status",
291
+ "type": "text",
292
+ "primaryKey": false,
293
+ "notNull": true,
294
+ "autoincrement": false
295
+ },
296
+ "started_at": {
297
+ "name": "started_at",
298
+ "type": "integer",
299
+ "primaryKey": false,
300
+ "notNull": true,
301
+ "autoincrement": false
302
+ },
303
+ "ended_at": {
304
+ "name": "ended_at",
305
+ "type": "integer",
306
+ "primaryKey": false,
307
+ "notNull": false,
308
+ "autoincrement": false
309
+ },
310
+ "summary": {
311
+ "name": "summary",
312
+ "type": "text",
313
+ "primaryKey": false,
314
+ "notNull": false,
315
+ "autoincrement": false
316
+ }
317
+ },
318
+ "indexes": {},
319
+ "foreignKeys": {},
320
+ "compositePrimaryKeys": {},
321
+ "uniqueConstraints": {},
322
+ "checkConstraints": {}
323
+ },
324
+ "sessions": {
325
+ "name": "sessions",
326
+ "columns": {
327
+ "id": {
328
+ "name": "id",
329
+ "type": "text",
330
+ "primaryKey": true,
331
+ "notNull": true,
332
+ "autoincrement": false
333
+ },
334
+ "feature_id": {
335
+ "name": "feature_id",
336
+ "type": "text",
337
+ "primaryKey": false,
338
+ "notNull": true,
339
+ "autoincrement": false
340
+ },
341
+ "kind": {
342
+ "name": "kind",
343
+ "type": "text",
344
+ "primaryKey": false,
345
+ "notNull": true,
346
+ "autoincrement": false
347
+ },
348
+ "cc_session_id": {
349
+ "name": "cc_session_id",
350
+ "type": "text",
351
+ "primaryKey": false,
352
+ "notNull": false,
353
+ "autoincrement": false
354
+ },
355
+ "transcript_path": {
356
+ "name": "transcript_path",
357
+ "type": "text",
358
+ "primaryKey": false,
359
+ "notNull": false,
360
+ "autoincrement": false
361
+ },
362
+ "status": {
363
+ "name": "status",
364
+ "type": "text",
365
+ "primaryKey": false,
366
+ "notNull": true,
367
+ "autoincrement": false
368
+ },
369
+ "worktree_path": {
370
+ "name": "worktree_path",
371
+ "type": "text",
372
+ "primaryKey": false,
373
+ "notNull": true,
374
+ "autoincrement": false
375
+ }
376
+ },
377
+ "indexes": {},
378
+ "foreignKeys": {},
379
+ "compositePrimaryKeys": {},
380
+ "uniqueConstraints": {},
381
+ "checkConstraints": {}
382
+ },
383
+ "tickets": {
384
+ "name": "tickets",
385
+ "columns": {
386
+ "id": {
387
+ "name": "id",
388
+ "type": "text",
389
+ "primaryKey": true,
390
+ "notNull": true,
391
+ "autoincrement": false
392
+ },
393
+ "feature_id": {
394
+ "name": "feature_id",
395
+ "type": "text",
396
+ "primaryKey": false,
397
+ "notNull": true,
398
+ "autoincrement": false
399
+ },
400
+ "seq": {
401
+ "name": "seq",
402
+ "type": "integer",
403
+ "primaryKey": false,
404
+ "notNull": true,
405
+ "autoincrement": false
406
+ },
407
+ "title": {
408
+ "name": "title",
409
+ "type": "text",
410
+ "primaryKey": false,
411
+ "notNull": true,
412
+ "autoincrement": false
413
+ },
414
+ "goal": {
415
+ "name": "goal",
416
+ "type": "text",
417
+ "primaryKey": false,
418
+ "notNull": true,
419
+ "autoincrement": false
420
+ },
421
+ "context": {
422
+ "name": "context",
423
+ "type": "text",
424
+ "primaryKey": false,
425
+ "notNull": true,
426
+ "autoincrement": false
427
+ },
428
+ "acceptance_criteria": {
429
+ "name": "acceptance_criteria",
430
+ "type": "text",
431
+ "primaryKey": false,
432
+ "notNull": true,
433
+ "autoincrement": false
434
+ },
435
+ "seams": {
436
+ "name": "seams",
437
+ "type": "text",
438
+ "primaryKey": false,
439
+ "notNull": true,
440
+ "autoincrement": false
441
+ },
442
+ "blocked_by": {
443
+ "name": "blocked_by",
444
+ "type": "text",
445
+ "primaryKey": false,
446
+ "notNull": true,
447
+ "autoincrement": false
448
+ },
449
+ "status": {
450
+ "name": "status",
451
+ "type": "text",
452
+ "primaryKey": false,
453
+ "notNull": true,
454
+ "autoincrement": false
455
+ },
456
+ "commits": {
457
+ "name": "commits",
458
+ "type": "text",
459
+ "primaryKey": false,
460
+ "notNull": true,
461
+ "autoincrement": false
462
+ },
463
+ "error": {
464
+ "name": "error",
465
+ "type": "text",
466
+ "primaryKey": false,
467
+ "notNull": false,
468
+ "autoincrement": false
469
+ }
470
+ },
471
+ "indexes": {},
472
+ "foreignKeys": {},
473
+ "compositePrimaryKeys": {},
474
+ "uniqueConstraints": {},
475
+ "checkConstraints": {}
476
+ },
477
+ "waypoints": {
478
+ "name": "waypoints",
479
+ "columns": {
480
+ "id": {
481
+ "name": "id",
482
+ "type": "text",
483
+ "primaryKey": true,
484
+ "notNull": true,
485
+ "autoincrement": false
486
+ },
487
+ "feature_id": {
488
+ "name": "feature_id",
489
+ "type": "text",
490
+ "primaryKey": false,
491
+ "notNull": true,
492
+ "autoincrement": false
493
+ },
494
+ "seq": {
495
+ "name": "seq",
496
+ "type": "integer",
497
+ "primaryKey": false,
498
+ "notNull": true,
499
+ "autoincrement": false
500
+ },
501
+ "title": {
502
+ "name": "title",
503
+ "type": "text",
504
+ "primaryKey": false,
505
+ "notNull": true,
506
+ "autoincrement": false
507
+ },
508
+ "type": {
509
+ "name": "type",
510
+ "type": "text",
511
+ "primaryKey": false,
512
+ "notNull": true,
513
+ "autoincrement": false
514
+ },
515
+ "question": {
516
+ "name": "question",
517
+ "type": "text",
518
+ "primaryKey": false,
519
+ "notNull": true,
520
+ "autoincrement": false
521
+ },
522
+ "blocked_by": {
523
+ "name": "blocked_by",
524
+ "type": "text",
525
+ "primaryKey": false,
526
+ "notNull": true,
527
+ "autoincrement": false
528
+ },
529
+ "origin_waypoint_id": {
530
+ "name": "origin_waypoint_id",
531
+ "type": "text",
532
+ "primaryKey": false,
533
+ "notNull": false,
534
+ "autoincrement": false
535
+ },
536
+ "status": {
537
+ "name": "status",
538
+ "type": "text",
539
+ "primaryKey": false,
540
+ "notNull": true,
541
+ "autoincrement": false
542
+ },
543
+ "claimed_by": {
544
+ "name": "claimed_by",
545
+ "type": "text",
546
+ "primaryKey": false,
547
+ "notNull": false,
548
+ "autoincrement": false
549
+ },
550
+ "last_session_id": {
551
+ "name": "last_session_id",
552
+ "type": "text",
553
+ "primaryKey": false,
554
+ "notNull": false,
555
+ "autoincrement": false
556
+ },
557
+ "summary": {
558
+ "name": "summary",
559
+ "type": "text",
560
+ "primaryKey": false,
561
+ "notNull": false,
562
+ "autoincrement": false
563
+ }
564
+ },
565
+ "indexes": {},
566
+ "foreignKeys": {},
567
+ "compositePrimaryKeys": {},
568
+ "uniqueConstraints": {},
569
+ "checkConstraints": {}
570
+ }
571
+ },
572
+ "views": {},
573
+ "enums": {},
574
+ "_meta": {
575
+ "schemas": {},
576
+ "tables": {},
577
+ "columns": {}
578
+ },
579
+ "internal": {
580
+ "indexes": {}
581
+ }
582
+ }