@azure-id/orc 1.0.0 → 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.
- package/CHANGELOG.md +2437 -2367
- package/README.md +694 -631
- package/bin/cli.js +639 -0
- package/bin/verify-contracts.js +74 -0
- package/bin/verify-package.js +568 -563
- package/bin/webui/api.js +15 -0
- package/bin/webui/app.html +210 -207
- package/bin/webui/css/panels/wait.css +123 -0
- package/bin/webui/fixtures/index.js +7 -0
- package/bin/webui/fixtures/wait.js +97 -0
- package/bin/webui/i18n/en/nav.json +21 -20
- package/bin/webui/i18n/en/wait.json +41 -0
- package/bin/webui/i18n/id/nav.json +21 -20
- package/bin/webui/i18n/id/wait.json +41 -0
- package/bin/webui/js/01-i18n.js +151 -150
- package/bin/webui/js/panels/wait.js +253 -0
- package/package.json +1 -1
- package/templates/commands/orc-wait.md +19 -0
- package/templates/hooks/orc-statusline.js +39 -0
- package/templates/skills/_shared/phases/preflight.md +22 -0
- package/templates/skills/_shared/wait.md +240 -0
- package/templates/skills/orc/SKILL.md +6 -1
- package/templates/skills/orc-aftermath/SKILL.md +6 -1
- package/templates/skills/orc-analyze/SKILL.md +6 -1
- package/templates/skills/orc-boundary/SKILL.md +6 -1
- package/templates/skills/orc-brainstorm/SKILL.md +6 -1
- package/templates/skills/orc-budget/SKILL.md +6 -1
- package/templates/skills/orc-challenge/SKILL.md +6 -1
- package/templates/skills/orc-claude/SKILL.md +6 -1
- package/templates/skills/orc-diy/SKILL.md +6 -1
- package/templates/skills/orc-doc/SKILL.md +6 -1
- package/templates/skills/orc-explain/SKILL.md +5 -0
- package/templates/skills/orc-export/SKILL.md +5 -0
- package/templates/skills/orc-fast/SKILL.md +6 -1
- package/templates/skills/orc-grill/SKILL.md +6 -1
- package/templates/skills/orc-learn/SKILL.md +6 -1
- package/templates/skills/orc-mini/SKILL.md +6 -1
- package/templates/skills/orc-pact/SKILL.md +6 -1
- package/templates/skills/orc-pattern/SKILL.md +6 -1
- package/templates/skills/orc-poly/SKILL.md +6 -1
- package/templates/skills/orc-quick/SKILL.md +6 -1
- package/templates/skills/orc-retro/SKILL.md +6 -1
- package/templates/skills/orc-route/SKILL.md +6 -1
- package/templates/skills/orc-verify/SKILL.md +6 -1
- package/templates/skills/orc-wait/SKILL.md +163 -0
- package/templates/skills/orc-wiki/SKILL.md +6 -1
package/bin/verify-contracts.js
CHANGED
|
@@ -438,6 +438,65 @@ const CONTRACTS = [
|
|
|
438
438
|
binFiles: ["bin/cli.js"],
|
|
439
439
|
files: ["skills/_shared/extra-dispatch.md"],
|
|
440
440
|
},
|
|
441
|
+
{
|
|
442
|
+
// v1.1.0 W1 — THE WAIT. A wait is a stop, and every stop in ORC writes its
|
|
443
|
+
// hand-back before it ends, because the thing that resumes the run may not
|
|
444
|
+
// be this session: the wake-up message is a Claude Code behaviour ORC
|
|
445
|
+
// cannot promise. Registered as the eighth member of the family with
|
|
446
|
+
// `a lane that answers its own interview question`, `a lane that picks its
|
|
447
|
+
// own favourite`, `a lane that fixes what it judged`, `a lane that picks
|
|
448
|
+
// its own council`, `a lane that reads its own document`, `a lane that
|
|
449
|
+
// sends work off Claude without saying so` and `a lane that re-does work
|
|
450
|
+
// the worktree already contains`.
|
|
451
|
+
//
|
|
452
|
+
// W3 adds every lane spine in WAIT_LANE_SHAPES to `files` — the token plus
|
|
453
|
+
// a pointer, never a forked copy of the prose.
|
|
454
|
+
name: "a wait is a stop, and a stop writes its hand-back (v1.1.0)",
|
|
455
|
+
token: "a lane that waits without a hand-back",
|
|
456
|
+
files: [
|
|
457
|
+
"commands/orc-wait.md",
|
|
458
|
+
"skills/_shared/wait.md",
|
|
459
|
+
"skills/orc-wait/SKILL.md",
|
|
460
|
+
// v1.1.0 W3 — EVERY lane in WAIT_LANE_SHAPES, in one release. A wait
|
|
461
|
+
// whose behaviour depends on which lane you are in is worse than no wait,
|
|
462
|
+
// so a half-rolled-out contract was never an option. /orc-ultra and
|
|
463
|
+
// /orc-plan are covered by skills/orc/SKILL.md — neither has a spine.
|
|
464
|
+
"skills/orc/SKILL.md",
|
|
465
|
+
"skills/orc-aftermath/SKILL.md",
|
|
466
|
+
"skills/orc-analyze/SKILL.md",
|
|
467
|
+
"skills/orc-boundary/SKILL.md",
|
|
468
|
+
"skills/orc-brainstorm/SKILL.md",
|
|
469
|
+
"skills/orc-budget/SKILL.md",
|
|
470
|
+
"skills/orc-challenge/SKILL.md",
|
|
471
|
+
"skills/orc-claude/SKILL.md",
|
|
472
|
+
"skills/orc-diy/SKILL.md",
|
|
473
|
+
"skills/orc-doc/SKILL.md",
|
|
474
|
+
"skills/orc-explain/SKILL.md",
|
|
475
|
+
"skills/orc-export/SKILL.md",
|
|
476
|
+
"skills/orc-fast/SKILL.md",
|
|
477
|
+
"skills/orc-grill/SKILL.md",
|
|
478
|
+
"skills/orc-learn/SKILL.md",
|
|
479
|
+
"skills/orc-mini/SKILL.md",
|
|
480
|
+
"skills/orc-pact/SKILL.md",
|
|
481
|
+
"skills/orc-pattern/SKILL.md",
|
|
482
|
+
"skills/orc-poly/SKILL.md",
|
|
483
|
+
"skills/orc-quick/SKILL.md",
|
|
484
|
+
"skills/orc-retro/SKILL.md",
|
|
485
|
+
"skills/orc-route/SKILL.md",
|
|
486
|
+
"skills/orc-verify/SKILL.md",
|
|
487
|
+
"skills/orc-wiki/SKILL.md",
|
|
488
|
+
],
|
|
489
|
+
},
|
|
490
|
+
{
|
|
491
|
+
// v1.1.0 W1 — the lane table is CODE, not only prose. Same shape and same
|
|
492
|
+
// reason as the `orc extra` row below it: `WAIT_LANE_SHAPES` in bin/cli.js
|
|
493
|
+
// is the machine-readable copy, and a golden test in test/cli/wait.test.js
|
|
494
|
+
// compares the two IN BOTH DIRECTIONS.
|
|
495
|
+
name: "the wait lane table is CODE, not only prose (v1.1.0)",
|
|
496
|
+
token: "Which lanes support a wait",
|
|
497
|
+
binFiles: ["bin/cli.js"],
|
|
498
|
+
files: ["skills/_shared/wait.md"],
|
|
499
|
+
},
|
|
441
500
|
{
|
|
442
501
|
// v0.52.0 (D6) — WHICH LANES ROUTE FOREIGN. The table was prose in one
|
|
443
502
|
// markdown file and nothing computed it, so the routing table could say
|
|
@@ -1295,6 +1354,9 @@ const CONTRACTS = [
|
|
|
1295
1354
|
"commands/orc-brainstorm.md",
|
|
1296
1355
|
"skills/_shared/README.md",
|
|
1297
1356
|
"skills/_shared/lane-suspend.md",
|
|
1357
|
+
// v1.1.0: wait.md contrasts itself with BOTH leaving shapes in one table.
|
|
1358
|
+
// If a suspend's obligations change, that table is wrong.
|
|
1359
|
+
"skills/_shared/wait.md",
|
|
1298
1360
|
"skills/orc-brainstorm/SKILL.md",
|
|
1299
1361
|
"skills/orc-challenge/references/intake.md",
|
|
1300
1362
|
"skills/orc-doc/SKILL.md",
|
|
@@ -1355,6 +1417,10 @@ const CONTRACTS = [
|
|
|
1355
1417
|
// {run_dir}/{slug}/, and is deleted with the run. A move of one is a move
|
|
1356
1418
|
// of the other.
|
|
1357
1419
|
"skills/_shared/extra-dispatch.md",
|
|
1420
|
+
// v1.1.0 — a wait is a stop, so it owes the same hand-back. The whole
|
|
1421
|
+
// contract token `a lane that waits without a hand-back` rests on this.
|
|
1422
|
+
"skills/_shared/wait.md",
|
|
1423
|
+
"skills/orc-wait/SKILL.md",
|
|
1358
1424
|
"skills/orc-challenge/SKILL.md",
|
|
1359
1425
|
"skills/orc-challenge/examples/tsd-two-iterations.md",
|
|
1360
1426
|
"skills/orc-challenge/references/fix-brief.md",
|
|
@@ -1425,6 +1491,9 @@ const CONTRACTS = [
|
|
|
1425
1491
|
// v0.45.0: lane-suspend.md defines itself AGAINST this contract — leaving
|
|
1426
1492
|
// and returning vs leaving for good. Naming the sibling is the point.
|
|
1427
1493
|
"skills/_shared/lane-suspend.md",
|
|
1494
|
+
// v1.1.0: and wait.md against BOTH of them — a third shape, where nothing
|
|
1495
|
+
// runs at all.
|
|
1496
|
+
"skills/_shared/wait.md",
|
|
1428
1497
|
],
|
|
1429
1498
|
},
|
|
1430
1499
|
{
|
|
@@ -3506,6 +3575,11 @@ for (const b of BUDGETS) {
|
|
|
3506
3575
|
"extra_resume_max",
|
|
3507
3576
|
"extra_demote_after",
|
|
3508
3577
|
"extra_demote_stale_min",
|
|
3578
|
+
// v1.1.0 — operating keys of the WAIT itself. A lane runs `orc wait plan`
|
|
3579
|
+
// and the CLI reads these two; no spine ever reads them, exactly as no
|
|
3580
|
+
// spine reads `extra_timeout_s`. An empty lanes[] here is an ANSWER.
|
|
3581
|
+
"wait_hop_minutes",
|
|
3582
|
+
"wait_max_hops",
|
|
3509
3583
|
]);
|
|
3510
3584
|
for (const e of metaEntries) {
|
|
3511
3585
|
if (!e.lanes) {
|