@azure-id/orc 1.8.1 → 1.9.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 +386 -0
- package/README-id.md +110 -73
- package/README.md +96 -33
- package/bin/cli.js +45520 -44867
- package/bin/graph-extract.js +2409 -120
- package/bin/graph-gain.js +404 -0
- package/bin/graph-map.js +232 -0
- package/bin/graph-notes.js +49 -8
- package/bin/graph-query.js +1770 -808
- package/bin/graph-resolve.js +93 -16
- package/bin/graph-shard.js +325 -0
- package/bin/graph.js +658 -605
- package/bin/verify-contracts.js +297 -56
- package/bin/verify-package.js +29 -1
- package/bin/webui/api.js +6 -0
- package/bin/webui/fixtures/index.js +6 -1
- package/bin/webui/fixtures/knowledge.js +41 -1
- package/bin/webui/fixtures/stats.js +107 -104
- package/bin/webui/i18n/en/knowledge.json +16 -1
- package/bin/webui/i18n/id/knowledge.json +16 -1
- package/bin/webui/js/panels/knowledge.js +68 -3
- package/mock-run/orc-quick.md +141 -113
- package/package.json +1 -1
- package/templates/agents/MODEL-MAPPING.md +15 -5
- package/templates/agents/orc-executor-haiku-4-5.md +25 -13
- package/templates/agents/orc-executor-opus-4-7-high.md +25 -13
- package/templates/agents/orc-executor-opus-4-7-med.md +25 -13
- package/templates/agents/orc-executor-opus-4-8-high.md +25 -13
- package/templates/agents/orc-executor-opus-5-high.md +25 -13
- package/templates/agents/orc-executor-opus-5-low.md +25 -13
- package/templates/agents/orc-executor-opus-5-med.md +25 -13
- package/templates/agents/orc-executor-sonnet-4-6-high.md +25 -13
- package/templates/agents/orc-executor-sonnet-4-6-med.md +25 -13
- package/templates/agents/orc-executor-sonnet-5-high.md +25 -13
- package/templates/agents/orc-graph-noter-sonnet-4-6-med.md +15 -12
- package/templates/agents/orc-planner-mini-opus-5-med.md +75 -69
- package/templates/agents/orc-planner-mini-sonnet-5-high.md +73 -67
- package/templates/agents/orc-recon-opus-5-low.md +99 -0
- package/templates/agents/orc-recon-sonnet-4-6-med.md +99 -0
- package/templates/commands/orc-mini.md +10 -12
- package/templates/commands/orc-quick.md +20 -33
- package/templates/hooks/README.md +13 -3
- package/templates/hooks/orc-graph-hook.js +148 -13
- package/templates/hooks/orc-trace.js +476 -471
- package/templates/skills/_shared/code-graph.md +148 -20
- package/templates/skills/_shared/phases/execution.md +13 -11
- package/templates/skills/_shared/phases/planning.md +8 -1
- package/templates/skills/_shared/phases/rules.md +172 -159
- package/templates/skills/_shared/phases/ship.md +5 -1
- package/templates/skills/_shared/phases/trace.md +4 -1
- package/templates/skills/_shared/phases/wiki-consult.md +10 -6
- package/templates/skills/_shared/read-ladder.md +10 -2
- package/templates/skills/_shared/return-validation.md +22 -0
- package/templates/skills/context-combiner/SKILL.md +13 -13
- package/templates/skills/orc/SKILL.md +1 -1
- package/templates/skills/orc/subskills/orc-execution/core.md +171 -159
- package/templates/skills/orc-analyze/SKILL.md +13 -13
- package/templates/skills/orc-diy/references/flow-schema.md +1 -1
- package/templates/skills/orc-mini/SKILL.md +148 -136
- package/templates/skills/orc-mini/examples/mini-run-mock.md +64 -50
- package/templates/skills/orc-mini/references/complexity.md +105 -0
- package/templates/skills/orc-quick/README.md +495 -423
- package/templates/skills/orc-quick/SKILL.md +157 -211
- package/templates/skills/orc-quick/references/context-doc.md +145 -114
- package/templates/skills/orc-quick/references/defect.md +101 -0
- package/templates/skills/orc-quick/references/dispatch-gate.md +55 -24
- package/templates/skills/orc-quick/references/gh-mode.md +148 -127
- package/templates/skills/orc-quick/references/look.md +107 -0
- package/templates/skills/orc-wiki/references/staleness.md +1 -1
package/bin/verify-contracts.js
CHANGED
|
@@ -27,8 +27,6 @@ const CONTRACTS = [
|
|
|
27
27
|
token: "actual_model",
|
|
28
28
|
files: [
|
|
29
29
|
"agents/MODEL-MAPPING.md",
|
|
30
|
-
// v1.8.0 — the graph noter reports its model like every other role.
|
|
31
|
-
"agents/orc-graph-noter-sonnet-4-6-med.md",
|
|
32
30
|
"agents/orc-advisor-opus-5-xhigh.md",
|
|
33
31
|
"agents/orc-analyze-mini-opus-5-med.md",
|
|
34
32
|
"agents/orc-analyze-mini-sonnet-5-high.md",
|
|
@@ -62,6 +60,8 @@ const CONTRACTS = [
|
|
|
62
60
|
"agents/orc-planner-mini-opus-5-med.md",
|
|
63
61
|
"agents/orc-planner-mini-sonnet-5-high.md",
|
|
64
62
|
"agents/orc-planner-opus-5-med.md",
|
|
63
|
+
"agents/orc-recon-opus-5-low.md",
|
|
64
|
+
"agents/orc-recon-sonnet-4-6-med.md",
|
|
65
65
|
"agents/orc-retro-opus-5-med.md",
|
|
66
66
|
"agents/orc-retro-sonnet-5-high.md",
|
|
67
67
|
"agents/orc-reviewer-opus-5-med.md",
|
|
@@ -76,6 +76,9 @@ const CONTRACTS = [
|
|
|
76
76
|
"agents/orc-wiki-scanner-sonnet-5-high.md",
|
|
77
77
|
"hooks/orc-trace.js",
|
|
78
78
|
"skills/_shared/extra-dispatch.md",
|
|
79
|
+
"skills/_shared/phases/execution.md",
|
|
80
|
+
"skills/_shared/phases/trace.md",
|
|
81
|
+
"skills/_shared/phases/trace.md",
|
|
79
82
|
"skills/_shared/return-validation.md",
|
|
80
83
|
"skills/orc-advisor/SKILL.md",
|
|
81
84
|
"skills/orc-analyze-mini/SKILL.md",
|
|
@@ -88,7 +91,6 @@ const CONTRACTS = [
|
|
|
88
91
|
"skills/orc-challenge/references/council.md",
|
|
89
92
|
"skills/orc-claude/SKILL.md",
|
|
90
93
|
"skills/orc-claude/examples/claude-run-mock.md",
|
|
91
|
-
"skills/_shared/phases/trace.md",
|
|
92
94
|
"skills/orc-doc/SKILL.md",
|
|
93
95
|
"skills/orc-doc/examples/orc-doc-prd-run.md",
|
|
94
96
|
"skills/orc-fast/SKILL.md",
|
|
@@ -104,7 +106,6 @@ const CONTRACTS = [
|
|
|
104
106
|
"skills/orc-wiki/references/extra.md",
|
|
105
107
|
"skills/orc/README.md",
|
|
106
108
|
"skills/orc/SKILL.md",
|
|
107
|
-
"skills/_shared/phases/trace.md",
|
|
108
109
|
"skills/orc/schemas/checkpoint.md",
|
|
109
110
|
"skills/orc/subskills/orc-execution/SKILL.md",
|
|
110
111
|
"skills/orc/subskills/orc-execution/core.md",
|
|
@@ -112,7 +113,8 @@ const CONTRACTS = [
|
|
|
112
113
|
"skills/orc/subskills/orc-review-verify/SKILL.md",
|
|
113
114
|
"skills/orc/subskills/orc-review-verify/core.md",
|
|
114
115
|
"skills/orc/subskills/orc-testgen/core.md",
|
|
115
|
-
|
|
116
|
+
// v1.8.0 — the graph noter reports its model like every other role.
|
|
117
|
+
"agents/orc-graph-noter-sonnet-4-6-med.md",
|
|
116
118
|
],
|
|
117
119
|
},
|
|
118
120
|
{
|
|
@@ -440,16 +442,18 @@ const CONTRACTS = [
|
|
|
440
442
|
token: "orc run inflight",
|
|
441
443
|
binFiles: ["bin/cli.js"],
|
|
442
444
|
files: [
|
|
443
|
-
"
|
|
445
|
+
"agents/MODEL-MAPPING.md",
|
|
444
446
|
"hooks/README.md",
|
|
445
|
-
"skills/_shared/return-validation.md",
|
|
446
447
|
"skills/_shared/phases/execution.md",
|
|
447
|
-
"skills/
|
|
448
|
+
"skills/_shared/return-validation.md",
|
|
448
449
|
"skills/orc-doc/SKILL.md",
|
|
449
|
-
"skills/orc-wiki/SKILL.md",
|
|
450
|
-
"skills/orc-quick/SKILL.md",
|
|
451
|
-
"skills/orc-mini/SKILL.md",
|
|
452
450
|
"skills/orc-fast/SKILL.md",
|
|
451
|
+
"skills/orc-mini/SKILL.md",
|
|
452
|
+
"skills/orc-quick/SKILL.md",
|
|
453
|
+
"skills/orc-quick/references/dispatch-gate.md",
|
|
454
|
+
"skills/orc-test/SKILL.md",
|
|
455
|
+
"skills/orc-wiki/SKILL.md",
|
|
456
|
+
"skills/orc/SKILL.md",
|
|
453
457
|
],
|
|
454
458
|
},
|
|
455
459
|
{
|
|
@@ -624,10 +628,9 @@ const CONTRACTS = [
|
|
|
624
628
|
files: [
|
|
625
629
|
"agents/orc-analyze-mini-opus-5-med.md",
|
|
626
630
|
"agents/orc-analyze-mini-sonnet-5-high.md",
|
|
631
|
+
"agents/orc-recon-opus-5-low.md",
|
|
632
|
+
"agents/orc-recon-sonnet-4-6-med.md",
|
|
627
633
|
"agents/orc-system-analyst-opus-5-high.md",
|
|
628
|
-
// v0.39.0: the read ladder's anti-chain rule ends in a `searched:` return,
|
|
629
|
-
// so a rename of the attestation field has to reach it too.
|
|
630
|
-
"skills/_shared/read-ladder.md",
|
|
631
634
|
"skills/orc-analyze-mini/SKILL.md",
|
|
632
635
|
"skills/orc-analyze/SKILL.md",
|
|
633
636
|
"skills/orc-analyze/references/deep-mode.md",
|
|
@@ -635,6 +638,9 @@ const CONTRACTS = [
|
|
|
635
638
|
"skills/orc-analyze/schemas/report-prose.md",
|
|
636
639
|
"skills/orc-analyze/schemas/report-requirement.md",
|
|
637
640
|
"skills/orc-analyze/schemas/requirement-spec.md",
|
|
641
|
+
// so a rename of the attestation field has to reach it too.
|
|
642
|
+
"skills/_shared/read-ladder.md",
|
|
643
|
+
// v0.39.0: the read ladder's anti-chain rule ends in a `searched:` return,
|
|
638
644
|
],
|
|
639
645
|
},
|
|
640
646
|
{
|
|
@@ -722,29 +728,31 @@ const CONTRACTS = [
|
|
|
722
728
|
files: [
|
|
723
729
|
"agents/orc-retro-opus-5-med.md",
|
|
724
730
|
"agents/orc-retro-sonnet-5-high.md",
|
|
725
|
-
"skills/
|
|
731
|
+
"skills/_shared/phases/analyst-gates.md",
|
|
732
|
+
"skills/_shared/phases/execution.md",
|
|
733
|
+
"skills/_shared/phases/plan-handoff.md",
|
|
734
|
+
"skills/_shared/phases/planning.md",
|
|
735
|
+
"skills/_shared/phases/preflight.md",
|
|
736
|
+
"skills/_shared/phases/ship.md",
|
|
737
|
+
"skills/_shared/phases/stop-resume.md",
|
|
738
|
+
"skills/_shared/phases/trace.md",
|
|
726
739
|
"skills/_shared/phases/trace.md",
|
|
740
|
+
"skills/orc-analyze/SKILL.md",
|
|
727
741
|
"skills/orc-fast/SKILL.md",
|
|
728
742
|
"skills/orc-mini/SKILL.md",
|
|
743
|
+
"skills/orc-mini/references/complexity.md",
|
|
729
744
|
"skills/orc-poly/SKILL.md",
|
|
730
745
|
"skills/orc-poly/examples/poly-run-mock.md",
|
|
746
|
+
"skills/orc-pr-driver/SKILL.md",
|
|
731
747
|
"skills/orc-quick/SKILL.md",
|
|
748
|
+
"skills/orc-quick/references/look.md",
|
|
732
749
|
"skills/orc-retro/SKILL.md",
|
|
733
750
|
"skills/orc/SKILL.md",
|
|
734
|
-
"skills/
|
|
751
|
+
"skills/orc/config.md",
|
|
735
752
|
"skills/orc/references/effort-and-mode.md",
|
|
736
|
-
"skills/
|
|
737
|
-
"skills/_shared/phases/stop-resume.md",
|
|
738
|
-
"skills/_shared/phases/trace.md",
|
|
753
|
+
"skills/orc/references/preflight-report.md",
|
|
739
754
|
"skills/orc/references/ultra-mode.md",
|
|
740
|
-
"skills/orc-pr-driver/SKILL.md",
|
|
741
755
|
"skills/orc/subskills/orc-pr/stack-gate.md",
|
|
742
|
-
"skills/orc/config.md",
|
|
743
|
-
"skills/orc/references/preflight-report.md",
|
|
744
|
-
"skills/_shared/phases/preflight.md",
|
|
745
|
-
"skills/_shared/phases/execution.md",
|
|
746
|
-
"skills/_shared/phases/planning.md",
|
|
747
|
-
"skills/_shared/phases/ship.md",
|
|
748
756
|
],
|
|
749
757
|
},
|
|
750
758
|
{
|
|
@@ -1161,6 +1169,7 @@ const CONTRACTS = [
|
|
|
1161
1169
|
"skills/_shared/README.md",
|
|
1162
1170
|
"skills/_shared/interview.md",
|
|
1163
1171
|
"skills/_shared/lane-suspend.md",
|
|
1172
|
+
"skills/_shared/phases/intake.md",
|
|
1164
1173
|
"skills/orc-boundary/SKILL.md",
|
|
1165
1174
|
"skills/orc-brainstorm/SKILL.md",
|
|
1166
1175
|
"skills/orc-challenge/SKILL.md",
|
|
@@ -1170,7 +1179,8 @@ const CONTRACTS = [
|
|
|
1170
1179
|
"skills/orc-doc/references/gates.md",
|
|
1171
1180
|
"skills/orc-grill/SKILL.md",
|
|
1172
1181
|
"skills/orc-pact/SKILL.md",
|
|
1173
|
-
"skills/
|
|
1182
|
+
"skills/orc-quick/SKILL.md",
|
|
1183
|
+
"skills/orc-quick/references/dispatch-gate.md",
|
|
1174
1184
|
],
|
|
1175
1185
|
},
|
|
1176
1186
|
{
|
|
@@ -1893,25 +1903,26 @@ const CONTRACTS = [
|
|
|
1893
1903
|
"agents/orc-planner-opus-5-med.md",
|
|
1894
1904
|
"agents/orc-retro-opus-5-med.md",
|
|
1895
1905
|
"agents/orc-retro-sonnet-5-high.md",
|
|
1906
|
+
"commands/orc-route.md",
|
|
1907
|
+
"skills/_shared/phases/analyst-gates.md",
|
|
1908
|
+
"skills/_shared/phases/plan-handoff.md",
|
|
1909
|
+
"skills/_shared/phases/planning.md",
|
|
1910
|
+
"skills/_shared/phases/scoring.md",
|
|
1911
|
+
"skills/_shared/phases/trace.md",
|
|
1912
|
+
"skills/_shared/phases/wave-grouping.md",
|
|
1896
1913
|
"skills/orc-mini/SKILL.md",
|
|
1914
|
+
"skills/orc-mini/references/complexity.md",
|
|
1897
1915
|
"skills/orc-retro/SKILL.md",
|
|
1916
|
+
"skills/orc-route/SKILL.md",
|
|
1898
1917
|
"skills/orc/README.md",
|
|
1899
1918
|
"skills/orc/SKILL.md",
|
|
1900
1919
|
"skills/orc/config.md",
|
|
1901
1920
|
"skills/orc/examples/full-run-mock.md",
|
|
1902
|
-
"skills/_shared/phases/analyst-gates.md",
|
|
1903
1921
|
"skills/orc/references/effort-and-mode.md",
|
|
1904
|
-
"skills/
|
|
1905
|
-
"skills/_shared/phases/trace.md",
|
|
1906
|
-
"skills/_shared/phases/wave-grouping.md",
|
|
1922
|
+
"skills/orc/references/preflight-report.md",
|
|
1907
1923
|
"skills/orc/schemas/planning-output.md",
|
|
1908
1924
|
"skills/orc/subskills/orc-planner-mini/SKILL.md",
|
|
1909
1925
|
"skills/orc/subskills/orc-planner/SKILL.md",
|
|
1910
|
-
"commands/orc-route.md",
|
|
1911
|
-
"skills/orc-route/SKILL.md",
|
|
1912
|
-
"skills/orc/references/preflight-report.md",
|
|
1913
|
-
"skills/_shared/phases/planning.md",
|
|
1914
|
-
"skills/_shared/phases/scoring.md",
|
|
1915
1926
|
],
|
|
1916
1927
|
},
|
|
1917
1928
|
{
|
|
@@ -2521,23 +2532,24 @@ const CONTRACTS = [
|
|
|
2521
2532
|
binFiles: ["bin/cli.js"],
|
|
2522
2533
|
files: [
|
|
2523
2534
|
"skills/_shared/fallback-handoff.md",
|
|
2535
|
+
"skills/_shared/phases/intake.md",
|
|
2536
|
+
"skills/_shared/phases/stop-resume.md",
|
|
2524
2537
|
"skills/_shared/stack-plan.md",
|
|
2525
2538
|
"skills/orc-diy/references/blocks/header.md",
|
|
2526
2539
|
"skills/orc-diy/references/locked-blocks.md",
|
|
2540
|
+
"skills/orc-doc/README.md",
|
|
2541
|
+
"skills/orc-doc/references/chunking.md",
|
|
2542
|
+
"skills/orc-doc/references/gates.md",
|
|
2543
|
+
"skills/orc-doc/references/resume-protocol.md",
|
|
2527
2544
|
"skills/orc-export/SKILL.md",
|
|
2528
2545
|
"skills/orc-fast/SKILL.md",
|
|
2529
2546
|
"skills/orc-mini/SKILL.md",
|
|
2547
|
+
"skills/orc-quick/SKILL.md",
|
|
2530
2548
|
"skills/orc-quick/references/context-doc.md",
|
|
2531
2549
|
"skills/orc-wiki/SKILL.md",
|
|
2532
2550
|
"skills/orc/README.md",
|
|
2533
2551
|
"skills/orc/SKILL.md",
|
|
2534
2552
|
"skills/orc/config.md",
|
|
2535
|
-
"skills/_shared/phases/intake.md",
|
|
2536
|
-
"skills/_shared/phases/stop-resume.md",
|
|
2537
|
-
"skills/orc-doc/README.md",
|
|
2538
|
-
"skills/orc-doc/references/chunking.md",
|
|
2539
|
-
"skills/orc-doc/references/gates.md",
|
|
2540
|
-
"skills/orc-doc/references/resume-protocol.md",
|
|
2541
2553
|
],
|
|
2542
2554
|
},
|
|
2543
2555
|
// ── Stacked pull requests (v0.37.0) ──────────────────────────────────────
|
|
@@ -2673,15 +2685,16 @@ const CONTRACTS = [
|
|
|
2673
2685
|
"skills/_shared/phases/wiki-consult.md",
|
|
2674
2686
|
"skills/_shared/read-ladder.md",
|
|
2675
2687
|
"skills/_shared/return-validation.md",
|
|
2676
|
-
// W6 — the six code lanes open it (S5: a declared capability no lane
|
|
2677
|
-
// points at is a gate that is always off).
|
|
2678
|
-
"skills/orc-diy/references/flow-schema.md",
|
|
2679
2688
|
"skills/orc-fast/SKILL.md",
|
|
2680
2689
|
"skills/orc-mini/SKILL.md",
|
|
2681
2690
|
"skills/orc-quick/SKILL.md",
|
|
2682
2691
|
"skills/orc-quick/references/dispatch-gate.md",
|
|
2692
|
+
"skills/orc-quick/references/look.md",
|
|
2683
2693
|
"skills/orc-wiki/references/staleness.md",
|
|
2684
2694
|
"skills/orc/SKILL.md",
|
|
2695
|
+
// W6 — the six code lanes open it (S5: a declared capability no lane
|
|
2696
|
+
// points at is a gate that is always off).
|
|
2697
|
+
"skills/orc-diy/references/flow-schema.md",
|
|
2685
2698
|
],
|
|
2686
2699
|
},
|
|
2687
2700
|
{
|
|
@@ -2691,9 +2704,12 @@ const CONTRACTS = [
|
|
|
2691
2704
|
name: "graph precedence (v1.8.0 — code > graph structure > fresh wiki > stale wiki > graph notes > priors)",
|
|
2692
2705
|
token: "code > graph structure",
|
|
2693
2706
|
files: [
|
|
2707
|
+
"agents/orc-recon-opus-5-low.md",
|
|
2708
|
+
"agents/orc-recon-sonnet-4-6-med.md",
|
|
2694
2709
|
"skills/_shared/code-graph.md",
|
|
2695
2710
|
"skills/_shared/phases/wiki-consult.md",
|
|
2696
2711
|
"skills/_shared/read-ladder.md",
|
|
2712
|
+
"skills/orc-quick/references/look.md",
|
|
2697
2713
|
"skills/orc-wiki/references/staleness.md",
|
|
2698
2714
|
],
|
|
2699
2715
|
},
|
|
@@ -2713,14 +2729,216 @@ const CONTRACTS = [
|
|
|
2713
2729
|
"agents/orc-executor-sonnet-4-6-high.md",
|
|
2714
2730
|
"agents/orc-executor-sonnet-4-6-med.md",
|
|
2715
2731
|
"agents/orc-executor-sonnet-5-high.md",
|
|
2732
|
+
"agents/orc-recon-opus-5-low.md",
|
|
2733
|
+
"agents/orc-recon-sonnet-4-6-med.md",
|
|
2716
2734
|
"skills/_shared/code-graph.md",
|
|
2717
2735
|
"skills/_shared/phases/execution.md",
|
|
2718
2736
|
"skills/_shared/read-ladder.md",
|
|
2719
2737
|
"skills/_shared/return-validation.md",
|
|
2738
|
+
"skills/orc-mini/SKILL.md",
|
|
2739
|
+
"skills/orc-quick/SKILL.md",
|
|
2720
2740
|
// W9: the two single-executor spines name it in their code-graph step.
|
|
2721
2741
|
"skills/orc-fast/SKILL.md",
|
|
2742
|
+
],
|
|
2743
|
+
},
|
|
2744
|
+
// ── v1.8.2 W3 — the delivery flags (D1 · D2 · D3 · D5) ────────────────
|
|
2745
|
+
{
|
|
2746
|
+
// The slice call. A rename must reach the contract, the phase file that
|
|
2747
|
+
// makes the call, the hook that dedupes against what it delivered, and the
|
|
2748
|
+
// CLI that answers it.
|
|
2749
|
+
name: "graph slice view (v1.8.2 — ctx --for-slice, the OUTSIDE view of a declared file)",
|
|
2750
|
+
token: "--for-slice",
|
|
2751
|
+
files: [
|
|
2752
|
+
"hooks/orc-graph-hook.js",
|
|
2753
|
+
"skills/_shared/code-graph.md",
|
|
2754
|
+
"skills/_shared/phases/execution.md",
|
|
2755
|
+
"skills/orc-mini/SKILL.md",
|
|
2756
|
+
"skills/orc-mini/examples/mini-run-mock.md",
|
|
2757
|
+
"skills/orc-quick/SKILL.md",
|
|
2758
|
+
"skills/orc-quick/references/look.md",
|
|
2759
|
+
],
|
|
2760
|
+
binFiles: ["bin/cli.js", "bin/graph-query.js"],
|
|
2761
|
+
},
|
|
2762
|
+
{
|
|
2763
|
+
// The card and the range in one call. Pinned WITH its argument, because a
|
|
2764
|
+
// bare `--source` is also `orc doc`'s own flag.
|
|
2765
|
+
name: "graph source block (v1.8.2 — ctx --source [N], charged to the same budget)",
|
|
2766
|
+
token: "--source [N]",
|
|
2767
|
+
files: [
|
|
2768
|
+
"agents/orc-recon-opus-5-low.md",
|
|
2769
|
+
"agents/orc-recon-sonnet-4-6-med.md",
|
|
2770
|
+
"skills/_shared/code-graph.md",
|
|
2771
|
+
"skills/_shared/read-ladder.md",
|
|
2772
|
+
"skills/orc-quick/references/look.md",
|
|
2773
|
+
],
|
|
2774
|
+
binFiles: ["bin/cli.js"],
|
|
2775
|
+
},
|
|
2776
|
+
// ── v1.9.0 — the lean lanes reproduce before they fix ───────────────────
|
|
2777
|
+
{
|
|
2778
|
+
// The slice field that makes a defect entry show the bug RED first. It is
|
|
2779
|
+
// a CONDITIONAL, and the conditional is the contract: `repro` alone also
|
|
2780
|
+
// matches "reproducible" and "reproduce" in files that owe nothing here.
|
|
2781
|
+
// Every executor carries the step, the shared return contract validates it
|
|
2782
|
+
// (§5d), and the full lane's execution core states it once.
|
|
2783
|
+
name: "reproduce-first slice field (v1.9.0 — repro.required)",
|
|
2784
|
+
token: "repro.required: true",
|
|
2785
|
+
files: [
|
|
2786
|
+
"agents/orc-executor-haiku-4-5.md",
|
|
2787
|
+
"agents/orc-executor-opus-4-7-high.md",
|
|
2788
|
+
"agents/orc-executor-opus-4-7-med.md",
|
|
2789
|
+
"agents/orc-executor-opus-4-8-high.md",
|
|
2790
|
+
"agents/orc-executor-opus-5-high.md",
|
|
2791
|
+
"agents/orc-executor-opus-5-low.md",
|
|
2792
|
+
"agents/orc-executor-opus-5-med.md",
|
|
2793
|
+
"agents/orc-executor-sonnet-4-6-high.md",
|
|
2794
|
+
"agents/orc-executor-sonnet-4-6-med.md",
|
|
2795
|
+
"agents/orc-executor-sonnet-5-high.md",
|
|
2796
|
+
"skills/_shared/return-validation.md",
|
|
2797
|
+
"skills/orc/subskills/orc-execution/core.md",
|
|
2798
|
+
],
|
|
2799
|
+
},
|
|
2800
|
+
{
|
|
2801
|
+
// The trace verb. `/orc-retro` counts a reproduction apart from a TDD
|
|
2802
|
+
// cycle, so the verb is defined in the protocol, emitted by the lane that
|
|
2803
|
+
// asks for it, explained in that lane's reference, and declared in the
|
|
2804
|
+
// CLI's own phase manifest — one place each, pinned together.
|
|
2805
|
+
name: "reproduce-first trace verb (v1.9.0 — REPRO red|green)",
|
|
2806
|
+
token: "REPRO",
|
|
2807
|
+
files: [
|
|
2808
|
+
"skills/_shared/phases/trace.md",
|
|
2809
|
+
"skills/orc-quick/SKILL.md",
|
|
2810
|
+
"skills/orc-quick/references/defect.md",
|
|
2811
|
+
],
|
|
2812
|
+
binFiles: ["bin/cli.js"],
|
|
2813
|
+
},
|
|
2814
|
+
{
|
|
2815
|
+
// One call at a wave close. The two-call form still works; the lane text
|
|
2816
|
+
// uses this one, so the flag has to exist wherever the text says it does.
|
|
2817
|
+
name: "graph one-call update (v1.8.2 — update --notes-pending)",
|
|
2818
|
+
token: "--notes-pending",
|
|
2819
|
+
files: [
|
|
2820
|
+
"skills/_shared/code-graph.md",
|
|
2821
|
+
"skills/_shared/phases/execution.md",
|
|
2722
2822
|
"skills/orc-mini/SKILL.md",
|
|
2823
|
+
"skills/orc-quick/SKILL.md",
|
|
2824
|
+
],
|
|
2825
|
+
binFiles: ["bin/cli.js"],
|
|
2826
|
+
},
|
|
2827
|
+
{
|
|
2828
|
+
// The fourth value of `code_graph_hooks`. It arms the whole-file READ hint
|
|
2829
|
+
// and nothing else, and it is off until somebody types it.
|
|
2830
|
+
name: "graph read hint (v1.8.2 — code_graph_hooks: on,read)",
|
|
2831
|
+
token: "on,read",
|
|
2832
|
+
files: ["hooks/orc-graph-hook.js", "hooks/README.md", "skills/_shared/code-graph.md"],
|
|
2833
|
+
binFiles: ["bin/cli.js"],
|
|
2834
|
+
},
|
|
2835
|
+
// ── v1.8.2 W4 — the paid layer, paid less (N1 · N2) ──────────────────
|
|
2836
|
+
{
|
|
2837
|
+
// The noter's ONE call. The flag lives in the agent that makes it and in
|
|
2838
|
+
// the contract that describes it; the CLI has to answer it.
|
|
2839
|
+
name: "graph noter source (v1.8.2 — notes pending --with-source, so the noter reads nothing)",
|
|
2840
|
+
token: "--with-source",
|
|
2841
|
+
files: ["agents/orc-graph-noter-sonnet-4-6-med.md", "skills/_shared/code-graph.md"],
|
|
2842
|
+
binFiles: ["bin/cli.js", "bin/graph-notes.js"],
|
|
2843
|
+
},
|
|
2844
|
+
{
|
|
2845
|
+
// The doc note, at 0 model tokens. It is a note, not a fact, so it sits
|
|
2846
|
+
// beside graph notes in the precedence line everywhere that line appears.
|
|
2847
|
+
name: "doc notes precedence (v1.8.2 — graph notes AND doc notes, below a stale wiki)",
|
|
2848
|
+
token: "graph notes and doc notes",
|
|
2849
|
+
files: [
|
|
2850
|
+
"skills/_shared/code-graph.md",
|
|
2851
|
+
"skills/_shared/phases/wiki-consult.md",
|
|
2852
|
+
"skills/_shared/read-ladder.md",
|
|
2853
|
+
"skills/orc-wiki/references/staleness.md",
|
|
2723
2854
|
],
|
|
2855
|
+
binFiles: ["bin/graph-notes.js"],
|
|
2856
|
+
},
|
|
2857
|
+
// ── v1.8.2 W5 — the five new languages (G6) ──────────────────────────
|
|
2858
|
+
{
|
|
2859
|
+
// A language the contract claims and the engine cannot read is a promise
|
|
2860
|
+
// the card breaks in silence. The claim and `LANG_BY_EXT` move together.
|
|
2861
|
+
name: "graph languages (v1.8.2 — Ruby, Rust, Kotlin, plus SFC and C/C++)",
|
|
2862
|
+
token: "Ruby, Rust, Kotlin",
|
|
2863
|
+
files: ["skills/_shared/code-graph.md"],
|
|
2864
|
+
binFiles: ["bin/graph.js"],
|
|
2865
|
+
},
|
|
2866
|
+
// ── v1.8.2 W6 — the borrowed toolchains (G7) ─────────────────────────
|
|
2867
|
+
{
|
|
2868
|
+
// The escape hatch. If the contract names it and the engine stops reading
|
|
2869
|
+
// it, a project with a misbehaving toolchain has no way out.
|
|
2870
|
+
name: "graph borrow escape (v1.8.2 — ORC_GRAPH_NO_BORROW forces the heuristic)",
|
|
2871
|
+
token: "ORC_GRAPH_NO_BORROW",
|
|
2872
|
+
files: ["skills/_shared/code-graph.md"],
|
|
2873
|
+
binFiles: ["bin/graph-extract.js"],
|
|
2874
|
+
},
|
|
2875
|
+
// ── v1.8.2 W8 — the sharded read path (S1) ────────────
|
|
2876
|
+
{
|
|
2877
|
+
// The shards are a DERIVED store, and the contract's promise about every
|
|
2878
|
+
// derived store is the one that keeps them safe: generation-pinned, and a
|
|
2879
|
+
// missing one costs time and no answer. If the engine stops writing them,
|
|
2880
|
+
// the sentence that tells a reader they exist has to go with it.
|
|
2881
|
+
name: "graph shards (v1.8.2 — the resolved/ shards a one-symbol ctx reads)",
|
|
2882
|
+
token: "resolved/<ab>.json",
|
|
2883
|
+
files: ["skills/_shared/code-graph.md"],
|
|
2884
|
+
binFiles: ["bin/graph-shard.js"],
|
|
2885
|
+
},
|
|
2886
|
+
// ── v1.8.2 W7 — the ranked map (D4) ──────────────────
|
|
2887
|
+
{
|
|
2888
|
+
// The command itself. Three lanes are told to run it at the START of
|
|
2889
|
+
// planning; if the CLI stops offering it, every one of them opens a run
|
|
2890
|
+
// with a call that does not exist.
|
|
2891
|
+
name: "graph map (v1.8.2 — the ranked repository map, the orientation call)",
|
|
2892
|
+
token: "orc graph map",
|
|
2893
|
+
files: [
|
|
2894
|
+
"skills/_shared/code-graph.md",
|
|
2895
|
+
"skills/_shared/phases/planning.md",
|
|
2896
|
+
"skills/_shared/phases/trace.md",
|
|
2897
|
+
"skills/orc-diy/references/flow-schema.md",
|
|
2898
|
+
"skills/orc-mini/SKILL.md",
|
|
2899
|
+
"skills/orc-quick/SKILL.md",
|
|
2900
|
+
"skills/orc-quick/references/look.md",
|
|
2901
|
+
"skills/orc/SKILL.md",
|
|
2902
|
+
],
|
|
2903
|
+
binFiles: ["bin/cli.js", "bin/graph-map.js"],
|
|
2904
|
+
},
|
|
2905
|
+
{
|
|
2906
|
+
// The trace verb. A lane that emits a verb the trace table does not hold
|
|
2907
|
+
// writes a line `/orc-retro` cannot aggregate.
|
|
2908
|
+
name: "graph map trace (v1.8.2 — GRAPH-MAP, one line at the start of planning)",
|
|
2909
|
+
token: "GRAPH-MAP",
|
|
2910
|
+
files: [
|
|
2911
|
+
"skills/_shared/phases/planning.md",
|
|
2912
|
+
"skills/_shared/phases/trace.md",
|
|
2913
|
+
"skills/orc-mini/examples/mini-run-mock.md",
|
|
2914
|
+
],
|
|
2915
|
+
binFiles: ["bin/cli.js"],
|
|
2916
|
+
},
|
|
2917
|
+
{
|
|
2918
|
+
// The claim that keeps the map safe to read. It is the map's whole
|
|
2919
|
+
// equivalent of "the graph is a LOCATOR": a rank is where to look first,
|
|
2920
|
+
// never proof that a file matters to this change.
|
|
2921
|
+
name: "graph map rank is a hint (v1.8.2 — never proof a file matters)",
|
|
2922
|
+
token: "a HINT about where to look first",
|
|
2923
|
+
files: ["skills/_shared/code-graph.md", "skills/_shared/phases/planning.md"],
|
|
2924
|
+
binFiles: ["bin/graph-query.js"],
|
|
2925
|
+
},
|
|
2926
|
+
// ── v1.8.2 W4b — the gain meter (K) ─────────────────────────────
|
|
2927
|
+
{
|
|
2928
|
+
// The one line a run prints about what the graph cost and probably saved.
|
|
2929
|
+
// The verb lives in the trace table and in the phase that emits it.
|
|
2930
|
+
name: "graph gain line (v1.8.2 — GRAPH-GAIN, one line at ship, copied verbatim)",
|
|
2931
|
+
token: "GRAPH-GAIN",
|
|
2932
|
+
files: ["skills/_shared/phases/ship.md", "skills/_shared/phases/trace.md"],
|
|
2933
|
+
binFiles: ["bin/cli.js"],
|
|
2934
|
+
},
|
|
2935
|
+
{
|
|
2936
|
+
// `avoided` is a COUNTERFACTUAL. The word has to survive every rewrite of
|
|
2937
|
+
// the contract and of the panel, because it is the claim.
|
|
2938
|
+
name: "graph gain estimate (v1.8.2 — avoided is an estimate, never a bill)",
|
|
2939
|
+
token: "AN ESTIMATE",
|
|
2940
|
+
files: ["skills/_shared/code-graph.md"],
|
|
2941
|
+
binFiles: ["bin/graph-gain.js"],
|
|
2724
2942
|
},
|
|
2725
2943
|
{
|
|
2726
2944
|
// The only notes writer, dispatched BY NAME. An unnamed dispatch cannot
|
|
@@ -2742,12 +2960,6 @@ const CONTRACTS = [
|
|
|
2742
2960
|
name: "read ladder (escalating read discipline for read-heavy roles)",
|
|
2743
2961
|
token: "read-ladder.md",
|
|
2744
2962
|
files: [
|
|
2745
|
-
// v1.6.0 — the ENFORCEMENT half. The ladder was advisory prose in three
|
|
2746
|
-
// places and enforced in none; this hook is the layer that can refuse.
|
|
2747
|
-
// It cites the ladder by name because its two carve-outs ARE the
|
|
2748
|
-
// ladder's two exceptions — rename the file and the gate's reason text
|
|
2749
|
-
// stops naming anything real.
|
|
2750
|
-
"hooks/orc-read-gate.js",
|
|
2751
2963
|
"agents/orc-executor-haiku-4-5.md",
|
|
2752
2964
|
"agents/orc-executor-opus-4-7-high.md",
|
|
2753
2965
|
"agents/orc-executor-opus-4-7-med.md",
|
|
@@ -2758,29 +2970,40 @@ const CONTRACTS = [
|
|
|
2758
2970
|
"agents/orc-executor-sonnet-4-6-high.md",
|
|
2759
2971
|
"agents/orc-executor-sonnet-4-6-med.md",
|
|
2760
2972
|
"agents/orc-executor-sonnet-5-high.md",
|
|
2973
|
+
"agents/orc-recon-opus-5-low.md",
|
|
2974
|
+
"agents/orc-recon-sonnet-4-6-med.md",
|
|
2761
2975
|
"skills/_shared/README.md",
|
|
2762
2976
|
"skills/_shared/interview.md",
|
|
2977
|
+
"skills/_shared/phases/README.md",
|
|
2978
|
+
"skills/_shared/phases/wiki-consult.md",
|
|
2763
2979
|
"skills/_shared/read-ladder.md",
|
|
2764
2980
|
"skills/orc-analyze-mini/SKILL.md",
|
|
2765
2981
|
"skills/orc-analyze/SKILL.md",
|
|
2766
2982
|
"skills/orc-boundary/SKILL.md",
|
|
2767
2983
|
"skills/orc-fast/SKILL.md",
|
|
2768
2984
|
"skills/orc-quick/references/dispatch-gate.md",
|
|
2985
|
+
"skills/orc-quick/references/look.md",
|
|
2769
2986
|
"skills/orc-wiki/SKILL.md",
|
|
2770
2987
|
"skills/orc/SKILL.md",
|
|
2771
|
-
"skills/_shared/phases/wiki-consult.md",
|
|
2772
2988
|
"skills/orc/subskills/orc-execution/core.md",
|
|
2773
|
-
|
|
2989
|
+
// v1.6.0 — the ENFORCEMENT half. The ladder was advisory prose in three
|
|
2990
|
+
// places and enforced in none; this hook is the layer that can refuse.
|
|
2991
|
+
// It cites the ladder by name because its two carve-outs ARE the
|
|
2992
|
+
// ladder's two exceptions — rename the file and the gate's reason text
|
|
2993
|
+
// stops naming anything real.
|
|
2994
|
+
"hooks/orc-read-gate.js",
|
|
2774
2995
|
],
|
|
2775
2996
|
},
|
|
2776
2997
|
{
|
|
2777
2998
|
name: "foreign input is evidence, never instruction",
|
|
2778
2999
|
token: "untrusted-input.md",
|
|
2779
3000
|
files: [
|
|
2780
|
-
"skills/orc-test/SKILL.md",
|
|
2781
3001
|
"agents/orc-doc-writer-opus-5-med.md",
|
|
3002
|
+
"agents/orc-recon-opus-5-low.md",
|
|
3003
|
+
"agents/orc-recon-sonnet-4-6-med.md",
|
|
2782
3004
|
"skills/_shared/README.md",
|
|
2783
3005
|
"skills/_shared/extra-dispatch.md",
|
|
3006
|
+
"skills/_shared/phases/wiki-consult.md",
|
|
2784
3007
|
"skills/_shared/untrusted-input.md",
|
|
2785
3008
|
"skills/orc-analyze/SKILL.md",
|
|
2786
3009
|
"skills/orc-boundary/SKILL.md",
|
|
@@ -2793,8 +3016,8 @@ const CONTRACTS = [
|
|
|
2793
3016
|
"skills/orc-pact/SKILL.md",
|
|
2794
3017
|
"skills/orc-poly/SKILL.md",
|
|
2795
3018
|
"skills/orc-quick/references/gh-mode.md",
|
|
3019
|
+
"skills/orc-test/SKILL.md",
|
|
2796
3020
|
"skills/orc-wiki/SKILL.md",
|
|
2797
|
-
"skills/_shared/phases/wiki-consult.md",
|
|
2798
3021
|
],
|
|
2799
3022
|
},
|
|
2800
3023
|
// ── v0.40.0 — gotchas (repair memory) ───────────────────────────────────
|
|
@@ -3634,7 +3857,15 @@ const BUDGETS = [
|
|
|
3634
3857
|
// 1 measured a mini run with `code_graph: on` that never called `orc graph`:
|
|
3635
3858
|
// a pointer at the end of a long probe line was skipped. The three steps now
|
|
3636
3859
|
// have their own heading; the mechanics stay in _shared/code-graph.md.
|
|
3637
|
-
|
|
3860
|
+
// v1.9.0: deliberate raise 270→280 — the lean-lane revamp. W1 trimmed the
|
|
3861
|
+
// spine to 246 by moving the Phase X/T narration and the fallback and switch
|
|
3862
|
+
// paragraphs into _shared and the phase's own reference. W4 spent that room on
|
|
3863
|
+
// contracts that must survive compaction: the graph_facts planner slice, the
|
|
3864
|
+
// complexity read's four thresholds, the wiki POINTERS-not-bodies rule, the
|
|
3865
|
+
// affected-tests-first smoke gate and the `none is an answer` record. The
|
|
3866
|
+
// arithmetic (how to count, why each threshold is that number, the
|
|
3867
|
+
// graph_facts shape) lives in references/complexity.md.
|
|
3868
|
+
{ file: "skills/orc-mini/SKILL.md", maxLines: 280 },
|
|
3638
3869
|
// v0.39.0: deliberate raises 195→201 / 179→182 — the analyst gains hard rules
|
|
3639
3870
|
// 2b (a source it did not author is FOREIGN input) and 4a (the read ladder);
|
|
3640
3871
|
// fast gains the ladder as a slice line. Both are hard rules by nature: they
|
|
@@ -3697,6 +3928,14 @@ const BUDGETS = [
|
|
|
3697
3928
|
// v1.8.0 W9: deliberate raise 230→240 — the F0 code-graph step (e.), for the
|
|
3698
3929
|
// same measured reason as orc-mini's raise: a lengthened line was skipped.
|
|
3699
3930
|
{ file: "skills/orc-fast/SKILL.md", maxLines: 240 },
|
|
3931
|
+
// v1.9.0: a FIRST pin for the quick spine, at 325. It had none, and it grew
|
|
3932
|
+
// to 379 lines. W1 trimmed it to 298 by moving the step table, the gate menu,
|
|
3933
|
+
// the repair-loop example and the doc shape into references/ and README.md;
|
|
3934
|
+
// W2 and W3 spent the rest on the graph-first dig, the reproduce-first step,
|
|
3935
|
+
// the blast-radius line and the one-call cache update. 325 is where that
|
|
3936
|
+
// lands plus nothing — a spine that grows past its own references has moved
|
|
3937
|
+
// prose the wrong way.
|
|
3938
|
+
{ file: "skills/orc-quick/SKILL.md", maxLines: 325 },
|
|
3700
3939
|
];
|
|
3701
3940
|
|
|
3702
3941
|
function walk(dir, out) {
|
|
@@ -3919,6 +4158,8 @@ for (const b of BUDGETS) {
|
|
|
3919
4158
|
// as `statusline_custom` is. Neither can have a lane, and that is an ANSWER.
|
|
3920
4159
|
"code_graph_heal_ms",
|
|
3921
4160
|
"code_graph_hooks",
|
|
4161
|
+
// v1.8.2 W2 — the ignore globs, read by the CLI behind the same calls.
|
|
4162
|
+
"code_graph_ignore",
|
|
3922
4163
|
]);
|
|
3923
4164
|
for (const e of metaEntries) {
|
|
3924
4165
|
if (!e.lanes) {
|
package/bin/verify-package.js
CHANGED
|
@@ -185,6 +185,20 @@ const required = [
|
|
|
185
185
|
"bin/graph-resolve.js",
|
|
186
186
|
"bin/graph-signals.js",
|
|
187
187
|
"bin/graph-notes.js",
|
|
188
|
+
|
|
189
|
+
// v1.8.2 W4b — the gain meter. Dropping it breaks `orc graph gain` AND the
|
|
190
|
+
// one ledger line every read appends, so the map would go on working and
|
|
191
|
+
// quietly stop recording what it cost.
|
|
192
|
+
"bin/graph-gain.js",
|
|
193
|
+
// v1.8.2 W7 — the ranked map (D4). Dropping it breaks `orc graph map` AND the
|
|
194
|
+
// `map.json` every update writes, so planning would silently go back to the
|
|
195
|
+
// Glob-and-read sweep the map exists to replace.
|
|
196
|
+
"bin/graph-map.js",
|
|
197
|
+
// v1.8.2 W8 — the sharded read path (S1). Dropping it does not break a card:
|
|
198
|
+
// every read falls back to the full model. It breaks the SPEED, silently, on
|
|
199
|
+
// the one call every lane makes — which is the worst kind of missing file.
|
|
200
|
+
"bin/graph-shard.js",
|
|
201
|
+
|
|
188
202
|
// The two DATED data files (v0.50.0). Both ship inside the package and both
|
|
189
203
|
// are load-bearing on absence rather than on content: without the catalog
|
|
190
204
|
// `orc extra providers` is a packaging bug it reports as one, and without the
|
|
@@ -420,6 +434,10 @@ const required = [
|
|
|
420
434
|
"templates/agents/orc-reviewer-opus-5-med.md",
|
|
421
435
|
"templates/agents/orc-verifier-opus-5-med.md",
|
|
422
436
|
"templates/agents/orc-scout-sonnet-4-6-high.md",
|
|
437
|
+
// v1.9.0 — the /orc-quick recon pair. Both halves must ship: the gate offers
|
|
438
|
+
// them side by side, so a missing file makes half the menu a dead option.
|
|
439
|
+
"templates/agents/orc-recon-sonnet-4-6-med.md",
|
|
440
|
+
"templates/agents/orc-recon-opus-5-low.md",
|
|
423
441
|
"templates/agents/orc-test-author-opus-5-med.md",
|
|
424
442
|
"templates/agents/orc-pattern-codifier-sonnet-5-high.md",
|
|
425
443
|
"templates/agents/orc-retro-sonnet-5-high.md",
|
|
@@ -576,8 +594,18 @@ const agentCount = walkCount(path.join(ROOT, "templates/agents"), ".md");
|
|
|
576
594
|
// by model+effort and earns no agent, the v0.38.0/v0.45.0 precedent, and that
|
|
577
595
|
// limit is stated in the skill: no `SPAWN` line, so `/orc-retro` cannot
|
|
578
596
|
// aggregate it.
|
|
597
|
+
// v1.9.0: +0 skills and +2 agents — the /orc-quick recon PAIR. This reverses
|
|
598
|
+
// the v0.38.0/v0.45.0 precedent for ONE lane, on purpose: recon stayed ad-hoc
|
|
599
|
+
// because it was cheap and varied, and the cost was measured — the trace hook
|
|
600
|
+
// only sees an agent whose name starts with `orc-`, so every read-only entry
|
|
601
|
+
// was invisible to `SPAWN`/`RETURN`, to `orc run inflight` and to /orc-retro,
|
|
602
|
+
// and the gate offered an "effort" the Agent tool has no per-call knob for. Two
|
|
603
|
+
// files, one per model, with one shared return contract. The ad-hoc escape
|
|
604
|
+
// hatch survives on the menu as line 3 (model only). Both names earn an
|
|
605
|
+
// explicit guard entry above and a MODEL-MAPPING row; `opus5_only` adds no
|
|
606
|
+
// pair, because orc-quick is the lane that key is inert in.
|
|
579
607
|
if (skillCount < 39) missing.push(`templates/skills (expected >=39 SKILL.md, found ${skillCount})`);
|
|
580
|
-
if (agentCount <
|
|
608
|
+
if (agentCount < 50) missing.push(`templates/agents (expected >=50 .md, found ${agentCount})`);
|
|
581
609
|
|
|
582
610
|
// B4 — encoding/mojibake guard. The OneDrive corruption rule becomes a gate:
|
|
583
611
|
// scan every shipped text file for the U+FFFD replacement char (invalid UTF-8
|
package/bin/webui/api.js
CHANGED
|
@@ -224,6 +224,12 @@ const READS = {
|
|
|
224
224
|
// v1.8.0 — the code graph. A READ whose exit code is DATA (0 fresh · 1 none ·
|
|
225
225
|
// 2 drifted · 3 off), exactly like `wiki status` above.
|
|
226
226
|
"/api/graph": () => ["graph", "status"],
|
|
227
|
+
// v1.8.2 W4b — the gain meter. Two READS, both with exit codes that are DATA
|
|
228
|
+
// (0 rows · 1 no ledger or no rows · 3 off). `--measured` is its OWN route
|
|
229
|
+
// because it reads Claude Code's transcripts and takes longer; the panel
|
|
230
|
+
// asks for it on a button, never on load.
|
|
231
|
+
"/api/graph/gain": () => ["graph", "gain"],
|
|
232
|
+
"/api/graph/gain/measured": () => ["graph", "gain", "--measured"],
|
|
227
233
|
"/api/wiki/impact": () => ["wiki", "impact"],
|
|
228
234
|
// v0.46.0. Every one is a READ with an exit-code contract, so the exit code is
|
|
229
235
|
// DATA here exactly like `pattern status` and `wiki impact` above: pact 0/1/2/3,
|