wicked-crew 0.16.4 → 0.16.6
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/dist/api/ask-paths.d.ts +5 -2
- package/dist/api/ask-paths.d.ts.map +1 -1
- package/dist/api/ask-paths.js +6 -3
- package/dist/api/ask-paths.js.map +1 -1
- package/dist/api/chat-scope.d.ts +8 -3
- package/dist/api/chat-scope.d.ts.map +1 -1
- package/dist/api/chat-scope.js +17 -5
- package/dist/api/chat-scope.js.map +1 -1
- package/dist/api/chat-workflow.d.ts +60 -0
- package/dist/api/chat-workflow.d.ts.map +1 -0
- package/dist/api/chat-workflow.js +80 -0
- package/dist/api/chat-workflow.js.map +1 -0
- package/dist/api/endpoint-manifest-live.d.ts.map +1 -1
- package/dist/api/endpoint-manifest-live.js +2 -0
- package/dist/api/endpoint-manifest-live.js.map +1 -1
- package/dist/api/needs.d.ts +116 -0
- package/dist/api/needs.d.ts.map +1 -0
- package/dist/api/needs.js +618 -0
- package/dist/api/needs.js.map +1 -0
- package/dist/api/routes.d.ts +23 -1
- package/dist/api/routes.d.ts.map +1 -1
- package/dist/api/routes.js +297 -25
- package/dist/api/routes.js.map +1 -1
- package/dist/api/run-liveness.d.ts +8 -0
- package/dist/api/run-liveness.d.ts.map +1 -1
- package/dist/api/run-liveness.js +39 -7
- package/dist/api/run-liveness.js.map +1 -1
- package/dist/api/run-timing-index.d.ts +6 -0
- package/dist/api/run-timing-index.d.ts.map +1 -1
- package/dist/api/run-timing-index.js +18 -0
- package/dist/api/run-timing-index.js.map +1 -1
- package/dist/api/server.d.ts +8 -0
- package/dist/api/server.d.ts.map +1 -1
- package/dist/api/server.js +149 -3
- package/dist/api/server.js.map +1 -1
- package/dist/api/system-snapshot.d.ts +7 -15
- package/dist/api/system-snapshot.d.ts.map +1 -1
- package/dist/api/system-snapshot.js +7 -115
- package/dist/api/system-snapshot.js.map +1 -1
- package/dist/core/run-identity.d.ts.map +1 -1
- package/dist/core/run-identity.js +3 -0
- package/dist/core/run-identity.js.map +1 -1
- package/dist/evals/capture.d.ts +93 -0
- package/dist/evals/capture.d.ts.map +1 -0
- package/dist/evals/capture.js +419 -0
- package/dist/evals/capture.js.map +1 -0
- package/dist/evals/replay.d.ts +33 -0
- package/dist/evals/replay.d.ts.map +1 -0
- package/dist/evals/replay.js +87 -0
- package/dist/evals/replay.js.map +1 -0
- package/dist/evals/routes.d.ts +48 -0
- package/dist/evals/routes.d.ts.map +1 -0
- package/dist/evals/routes.js +121 -0
- package/dist/evals/routes.js.map +1 -0
- package/dist/evals/run-cli.d.ts +31 -0
- package/dist/evals/run-cli.d.ts.map +1 -0
- package/dist/evals/run-cli.js +128 -0
- package/dist/evals/run-cli.js.map +1 -0
- package/dist/evals/runner.d.ts +34 -0
- package/dist/evals/runner.d.ts.map +1 -0
- package/dist/evals/runner.js +181 -0
- package/dist/evals/runner.js.map +1 -0
- package/dist/evals/score.d.ts +31 -0
- package/dist/evals/score.d.ts.map +1 -0
- package/dist/evals/score.js +191 -0
- package/dist/evals/score.js.map +1 -0
- package/dist/evals/seed-needs-you.d.ts +17 -0
- package/dist/evals/seed-needs-you.d.ts.map +1 -0
- package/dist/evals/seed-needs-you.js +57 -0
- package/dist/evals/seed-needs-you.js.map +1 -0
- package/dist/evals/seed-rig.d.ts +9 -0
- package/dist/evals/seed-rig.d.ts.map +1 -0
- package/dist/evals/seed-rig.js +156 -0
- package/dist/evals/seed-rig.js.map +1 -0
- package/dist/evals/stats.d.ts +31 -0
- package/dist/evals/stats.d.ts.map +1 -0
- package/dist/evals/stats.js +59 -0
- package/dist/evals/stats.js.map +1 -0
- package/dist/evals/steering.d.ts +9 -0
- package/dist/evals/steering.d.ts.map +1 -0
- package/dist/evals/steering.js +25 -0
- package/dist/evals/steering.js.map +1 -0
- package/dist/evals/store.d.ts +26 -0
- package/dist/evals/store.d.ts.map +1 -0
- package/dist/evals/store.js +96 -0
- package/dist/evals/store.js.map +1 -0
- package/dist/evals/synthetic.d.ts +17 -0
- package/dist/evals/synthetic.d.ts.map +1 -0
- package/dist/evals/synthetic.js +71 -0
- package/dist/evals/synthetic.js.map +1 -0
- package/dist/evals/types.d.ts +29 -0
- package/dist/evals/types.d.ts.map +1 -0
- package/dist/evals/types.js +25 -0
- package/dist/evals/types.js.map +1 -0
- package/dist/evals/workflow.d.ts +33 -0
- package/dist/evals/workflow.d.ts.map +1 -0
- package/dist/evals/workflow.js +66 -0
- package/dist/evals/workflow.js.map +1 -0
- package/dist/insights/analyze-cli.d.ts +18 -0
- package/dist/insights/analyze-cli.d.ts.map +1 -0
- package/dist/insights/analyze-cli.js +71 -0
- package/dist/insights/analyze-cli.js.map +1 -0
- package/dist/insights/analyze.d.ts +136 -0
- package/dist/insights/analyze.d.ts.map +1 -0
- package/dist/insights/analyze.js +358 -0
- package/dist/insights/analyze.js.map +1 -0
- package/dist/insights/review-service.d.ts +127 -0
- package/dist/insights/review-service.d.ts.map +1 -0
- package/dist/insights/review-service.js +392 -0
- package/dist/insights/review-service.js.map +1 -0
- package/dist/insights/routes.d.ts +15 -0
- package/dist/insights/routes.d.ts.map +1 -0
- package/dist/insights/routes.js +66 -0
- package/dist/insights/routes.js.map +1 -0
- package/dist/insights/run-facts.d.ts +64 -0
- package/dist/insights/run-facts.d.ts.map +1 -0
- package/dist/insights/run-facts.js +152 -0
- package/dist/insights/run-facts.js.map +1 -0
- package/dist/insights/stats.d.ts +38 -0
- package/dist/insights/stats.d.ts.map +1 -0
- package/dist/insights/stats.js +102 -0
- package/dist/insights/stats.js.map +1 -0
- package/dist/insights/store.d.ts +89 -0
- package/dist/insights/store.d.ts.map +1 -0
- package/dist/insights/store.js +87 -0
- package/dist/insights/store.js.map +1 -0
- package/dist/insights/workflow.d.ts +22 -0
- package/dist/insights/workflow.d.ts.map +1 -0
- package/dist/insights/workflow.js +39 -0
- package/dist/insights/workflow.js.map +1 -0
- package/dist/qe/ledger.d.ts +15 -0
- package/dist/qe/ledger.d.ts.map +1 -1
- package/dist/qe/ledger.js +24 -0
- package/dist/qe/ledger.js.map +1 -1
- package/dist/schedules/routes.d.ts +48 -0
- package/dist/schedules/routes.d.ts.map +1 -0
- package/dist/schedules/routes.js +72 -0
- package/dist/schedules/routes.js.map +1 -0
- package/dist/schedules/scheduler.d.ts +58 -0
- package/dist/schedules/scheduler.d.ts.map +1 -0
- package/dist/schedules/scheduler.js +194 -0
- package/dist/schedules/scheduler.js.map +1 -0
- package/dist/schedules/store.d.ts +67 -0
- package/dist/schedules/store.d.ts.map +1 -0
- package/dist/schedules/store.js +148 -0
- package/dist/schedules/store.js.map +1 -0
- package/dist/skills/runtime.d.ts +12 -2
- package/dist/skills/runtime.d.ts.map +1 -1
- package/dist/skills/runtime.js +27 -1
- package/dist/skills/runtime.js.map +1 -1
- package/dist/team/routes.d.ts +10 -0
- package/dist/team/routes.d.ts.map +1 -1
- package/dist/team/routes.js +3 -0
- package/dist/team/routes.js.map +1 -1
- package/endpoint-manifest.json +132 -1
- package/package.json +4 -3
- package/workflows/review-recent-work.json +54 -0
- package/workflows/run-evals.json +29 -0
package/endpoint-manifest.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 1,
|
|
3
|
-
"apiTypesVersion": "0.
|
|
3
|
+
"apiTypesVersion": "0.145.0",
|
|
4
4
|
"endpoints": [
|
|
5
5
|
{
|
|
6
6
|
"method": "GET",
|
|
@@ -562,6 +562,41 @@
|
|
|
562
562
|
200
|
|
563
563
|
]
|
|
564
564
|
},
|
|
565
|
+
{
|
|
566
|
+
"method": "GET",
|
|
567
|
+
"path": "/api/v1/insights",
|
|
568
|
+
"requestType": null,
|
|
569
|
+
"responseType": "InsightsResponse",
|
|
570
|
+
"statusCodes": [
|
|
571
|
+
200
|
|
572
|
+
]
|
|
573
|
+
},
|
|
574
|
+
{
|
|
575
|
+
"method": "POST",
|
|
576
|
+
"path": "/api/v1/insights/recommendations/:id/accept",
|
|
577
|
+
"requestType": null,
|
|
578
|
+
"responseType": "AcceptRecommendationResponse",
|
|
579
|
+
"statusCodes": [
|
|
580
|
+
200,
|
|
581
|
+
403,
|
|
582
|
+
404,
|
|
583
|
+
409
|
|
584
|
+
]
|
|
585
|
+
},
|
|
586
|
+
{
|
|
587
|
+
"method": "POST",
|
|
588
|
+
"path": "/api/v1/insights/recommendations/:id/dismiss",
|
|
589
|
+
"requestType": "DismissRecommendationBody",
|
|
590
|
+
"responseType": "DismissRecommendationResponse",
|
|
591
|
+
"statusCodes": [
|
|
592
|
+
200,
|
|
593
|
+
400,
|
|
594
|
+
403,
|
|
595
|
+
404,
|
|
596
|
+
409,
|
|
597
|
+
502
|
|
598
|
+
]
|
|
599
|
+
},
|
|
565
600
|
{
|
|
566
601
|
"method": "GET",
|
|
567
602
|
"path": "/api/v1/interactive/docs",
|
|
@@ -1760,6 +1795,19 @@
|
|
|
1760
1795
|
409
|
|
1761
1796
|
]
|
|
1762
1797
|
},
|
|
1798
|
+
{
|
|
1799
|
+
"method": "POST",
|
|
1800
|
+
"path": "/api/v1/runs/:id/resolve",
|
|
1801
|
+
"requestType": "ResolveRunRequest",
|
|
1802
|
+
"responseType": "ResolveRunResponse",
|
|
1803
|
+
"statusCodes": [
|
|
1804
|
+
200,
|
|
1805
|
+
400,
|
|
1806
|
+
404,
|
|
1807
|
+
409,
|
|
1808
|
+
500
|
|
1809
|
+
]
|
|
1810
|
+
},
|
|
1763
1811
|
{
|
|
1764
1812
|
"method": "POST",
|
|
1765
1813
|
"path": "/api/v1/runs/:id/resume",
|
|
@@ -1856,6 +1904,51 @@
|
|
|
1856
1904
|
"responseType": null,
|
|
1857
1905
|
"statusCodes": []
|
|
1858
1906
|
},
|
|
1907
|
+
{
|
|
1908
|
+
"method": "GET",
|
|
1909
|
+
"path": "/api/v1/schedules",
|
|
1910
|
+
"requestType": null,
|
|
1911
|
+
"responseType": "SchedulesResponse",
|
|
1912
|
+
"statusCodes": [
|
|
1913
|
+
200
|
|
1914
|
+
]
|
|
1915
|
+
},
|
|
1916
|
+
{
|
|
1917
|
+
"method": "DELETE",
|
|
1918
|
+
"path": "/api/v1/schedules/:id",
|
|
1919
|
+
"requestType": null,
|
|
1920
|
+
"responseType": "{ deleted: true; id: string }",
|
|
1921
|
+
"statusCodes": [
|
|
1922
|
+
200,
|
|
1923
|
+
403,
|
|
1924
|
+
404
|
|
1925
|
+
]
|
|
1926
|
+
},
|
|
1927
|
+
{
|
|
1928
|
+
"method": "PUT",
|
|
1929
|
+
"path": "/api/v1/schedules/:id",
|
|
1930
|
+
"requestType": "SchedulePutBody",
|
|
1931
|
+
"responseType": "WorkflowSchedule",
|
|
1932
|
+
"statusCodes": [
|
|
1933
|
+
200,
|
|
1934
|
+
400,
|
|
1935
|
+
403,
|
|
1936
|
+
404
|
|
1937
|
+
]
|
|
1938
|
+
},
|
|
1939
|
+
{
|
|
1940
|
+
"method": "POST",
|
|
1941
|
+
"path": "/api/v1/schedules/:id/run",
|
|
1942
|
+
"requestType": null,
|
|
1943
|
+
"responseType": "ScheduleRunResponse",
|
|
1944
|
+
"statusCodes": [
|
|
1945
|
+
200,
|
|
1946
|
+
403,
|
|
1947
|
+
404,
|
|
1948
|
+
409,
|
|
1949
|
+
502
|
|
1950
|
+
]
|
|
1951
|
+
},
|
|
1859
1952
|
{
|
|
1860
1953
|
"method": "POST",
|
|
1861
1954
|
"path": "/api/v1/scripts",
|
|
@@ -2219,6 +2312,44 @@
|
|
|
2219
2312
|
501
|
|
2220
2313
|
]
|
|
2221
2314
|
},
|
|
2315
|
+
{
|
|
2316
|
+
"method": "GET",
|
|
2317
|
+
"path": "/api/v1/testing/default-evals",
|
|
2318
|
+
"requestType": null,
|
|
2319
|
+
"responseType": "ListDefaultEvalRunsResponse",
|
|
2320
|
+
"statusCodes": [
|
|
2321
|
+
200
|
|
2322
|
+
]
|
|
2323
|
+
},
|
|
2324
|
+
{
|
|
2325
|
+
"method": "GET",
|
|
2326
|
+
"path": "/api/v1/testing/default-evals/:id",
|
|
2327
|
+
"requestType": null,
|
|
2328
|
+
"responseType": "DefaultEvalDetail",
|
|
2329
|
+
"statusCodes": [
|
|
2330
|
+
200,
|
|
2331
|
+
404
|
|
2332
|
+
]
|
|
2333
|
+
},
|
|
2334
|
+
{
|
|
2335
|
+
"method": "POST",
|
|
2336
|
+
"path": "/api/v1/testing/default-evals/run",
|
|
2337
|
+
"requestType": "RunDefaultEvalsBody",
|
|
2338
|
+
"responseType": "DefaultEvalReport",
|
|
2339
|
+
"statusCodes": [
|
|
2340
|
+
200,
|
|
2341
|
+
400
|
|
2342
|
+
]
|
|
2343
|
+
},
|
|
2344
|
+
{
|
|
2345
|
+
"method": "GET",
|
|
2346
|
+
"path": "/api/v1/testing/default-evals/suites",
|
|
2347
|
+
"requestType": null,
|
|
2348
|
+
"responseType": "DefaultEvalSuitesResponse",
|
|
2349
|
+
"statusCodes": [
|
|
2350
|
+
200
|
|
2351
|
+
]
|
|
2352
|
+
},
|
|
2222
2353
|
{
|
|
2223
2354
|
"method": "GET",
|
|
2224
2355
|
"path": "/api/v1/testing/evals",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wicked-crew",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.6",
|
|
4
4
|
"description": "Runs your coding agents (Claude Code, Codex, Copilot, OpenCode, Pi) in sandboxes; a different agent reviews the work against your rules, and app changes pass acceptance testing before delivery. Intent in, gated work out.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
"dist",
|
|
15
15
|
"skills",
|
|
16
16
|
"watch",
|
|
17
|
-
"endpoint-manifest.json"
|
|
17
|
+
"endpoint-manifest.json",
|
|
18
|
+
"workflows"
|
|
18
19
|
],
|
|
19
20
|
"scripts": {
|
|
20
21
|
"build": "tsc -p tsconfig.json",
|
|
@@ -34,7 +35,7 @@
|
|
|
34
35
|
"@modelcontextprotocol/sdk": "^1.31.0",
|
|
35
36
|
"fastify": "^5.12.5",
|
|
36
37
|
"smol-toml": "^1.9.1",
|
|
37
|
-
"wicked-core-ts": "^0.15.
|
|
38
|
+
"wicked-core-ts": "^0.15.14",
|
|
38
39
|
"wicked-ledger": "^0.6.0",
|
|
39
40
|
"wicked-vault": "^0.8.0",
|
|
40
41
|
"yaml": "^2.4.2",
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$comment": "DES-RUNS-REVIEW-001. Review recent work: a read-only, single-seat review of every run since the last review. Cheap by design: one agent seat, one turn, and NO floor (nothing is built, so executes_code is false and nothing is verified by checks). 'analyze' is a Tool step: a deterministic script computes every number (pass rate, time to PR, floor time, waits on people, overrides, spend, retries, unresolved; per repo, agent and workflow; Wilson and bootstrap intervals against the previous 4 windows). 'interpret' only reads those numbers and writes report.json. Crew fills {node}, {analyze_cli} and {reviews_dir} when it registers this def, prepares <reviews_dir>/<run>/snapshot.json at launch, and launches the run repo-less with that directory as its only write root. Crew files the proposals, never the seat. required_instruments is [] on purpose: a review builds nothing and is judged by the person who reads it (the default would require a distinct evaluator and a judge).",
|
|
3
|
+
"id": "review-recent-work",
|
|
4
|
+
"title": "Review recent work",
|
|
5
|
+
"summary": "Looks across every run since the last review and recommends what to improve, with the numbers behind each recommendation.",
|
|
6
|
+
"use_when": [
|
|
7
|
+
"You want to know what is slowing runs down, costing the most, or failing again and again",
|
|
8
|
+
"Every 2 days, on its schedule"
|
|
9
|
+
],
|
|
10
|
+
"required_instruments": [],
|
|
11
|
+
"phases": [
|
|
12
|
+
{
|
|
13
|
+
"id": "analyze",
|
|
14
|
+
"kind": "recon",
|
|
15
|
+
"executor": {
|
|
16
|
+
"type": "tool",
|
|
17
|
+
"cmd": [
|
|
18
|
+
"{node}",
|
|
19
|
+
"{analyze_cli}",
|
|
20
|
+
"--reviews-dir",
|
|
21
|
+
"{reviews_dir}"
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
"instructions": null,
|
|
25
|
+
"gate_type": null,
|
|
26
|
+
"gate": "auto",
|
|
27
|
+
"executes_code": false,
|
|
28
|
+
"verified_evidence": false,
|
|
29
|
+
"required_deliverables": [],
|
|
30
|
+
"depends_on": [],
|
|
31
|
+
"role": "neutral",
|
|
32
|
+
"skill_ref": null,
|
|
33
|
+
"allowed_skills": [],
|
|
34
|
+
"validator_pin": null
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"id": "interpret",
|
|
38
|
+
"kind": "review",
|
|
39
|
+
"instructions": "You interpret numbers; you never compute them. Read the handoff file named in the task: it names facts_path (computed by a script from the run store) and report_path (the ONE file you may write). Write report_path as one JSON object: {\"summary\": \"<3 to 5 plain sentences: what improved, what is working, what needs attention>\", \"improvements\": [\"<one line per entry of facts.improvements, in plain words>\"], \"recommendations\": [{\"candidate\": \"<an id from facts.recommended>\", \"title\": \"<plain-language title, at most 90 characters>\", \"expectedEffect\": \"<what changes if this is done>\", \"confidence\": \"high|medium|low\", \"changeMind\": \"<what evidence would change your mind>\"}], \"watching\": [\"<ids from facts.watching worth watching>\"]}. Rules: be balanced: always report what got better and what is working, even when there are problems. Recommend ONLY ids in facts.recommended (at most 5), in that order unless the evidence clearly says otherwise. Never invent a number, a run id or a recommendation: quote numbers exactly as facts.json gives them, with their n. Where facts.json says 'too-few', say 'too few runs to tell', never a trend. Lower a candidate's confidence if its evidence is thin; never raise it above what n supports. Do not open, edit or run anything else: no repository, no tool that writes, no proposals (crew files those). Write report_path before you finish and end your reply with its absolute path.",
|
|
40
|
+
"gate_type": "execution",
|
|
41
|
+
"gate": "auto",
|
|
42
|
+
"executes_code": false,
|
|
43
|
+
"verified_evidence": false,
|
|
44
|
+
"required_deliverables": [],
|
|
45
|
+
"depends_on": [
|
|
46
|
+
"analyze"
|
|
47
|
+
],
|
|
48
|
+
"role": "creator",
|
|
49
|
+
"skill_ref": null,
|
|
50
|
+
"allowed_skills": [],
|
|
51
|
+
"validator_pin": null
|
|
52
|
+
}
|
|
53
|
+
]
|
|
54
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$comment": "DES-DEFAULT-EVALS-001 §7. Run the default evals: score the system's own judgments (what needs you, floor decisions, QE verdicts, who built it, steering firing, recall, prompt routing, normalizing) against what really happened in this daemon's runs, across every project. The daemon runs the evals itself when it launches this workflow (a schedule, /workflow-run-evals, POST /runs), keeps the report where Evaluate reads it, and writes a copy to {runs_dir}/<run>/report.json. The one Tool step reads that copy back by $WICKED_RUN_ID and prints its summary: no network, no daemon URL, no credentials (a Tool step's environment is cleared to the validator allowlist). No seat, no floor; required_instruments is [] on purpose: nothing is built, so there is nothing to judge.",
|
|
3
|
+
"id": "run-evals",
|
|
4
|
+
"title": "Run the default evals",
|
|
5
|
+
"summary": "Checks how well the system's own judgments agree with what really happened in your runs, per project and across projects.",
|
|
6
|
+
"use_when": [
|
|
7
|
+
"You want to know whether what needs you, floor decisions, QE verdicts or who built the work are being judged right",
|
|
8
|
+
"Every 2 days, on its schedule, after the review of recent work"
|
|
9
|
+
],
|
|
10
|
+
"required_instruments": [],
|
|
11
|
+
"phases": [
|
|
12
|
+
{
|
|
13
|
+
"id": "evaluate",
|
|
14
|
+
"kind": "recon",
|
|
15
|
+
"executor": { "type": "tool", "cmd": ["{node}", "{run_cli}", "--runs-dir", "{runs_dir}"] },
|
|
16
|
+
"instructions": null,
|
|
17
|
+
"gate_type": null,
|
|
18
|
+
"gate": "auto",
|
|
19
|
+
"executes_code": false,
|
|
20
|
+
"verified_evidence": false,
|
|
21
|
+
"required_deliverables": [],
|
|
22
|
+
"depends_on": [],
|
|
23
|
+
"role": "neutral",
|
|
24
|
+
"skill_ref": null,
|
|
25
|
+
"allowed_skills": [],
|
|
26
|
+
"validator_pin": null
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
}
|