@iowarp/clio-coder 0.4.3 → 0.4.4
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 +63 -0
- package/README.md +1 -1
- package/dist/{acp-H2NGRPWO.js → acp-WNAYYF4F.js} +4 -5
- package/dist/{agents-TL5LLUQP.js → agents-3OKXHLOI.js} +33 -31
- package/dist/assets/codewiki.json +1 -1
- package/dist/{auth-E5SW4HMS.js → auth-VKNNMGPU.js} +10 -11
- package/dist/{builtins-IA7V7FUC.js → builtins-WGALA46I.js} +4 -4
- package/dist/{chunk-F5JHEYZM.js → chunk-23L32XTI.js} +10 -7
- package/dist/{chunk-DWUOQKRU.js → chunk-25QBEXRS.js} +2 -2
- package/dist/{chunk-LLDJM5XK.js → chunk-26QSH3EJ.js} +2 -2
- package/dist/{chunk-N2Z7HLVY.js → chunk-2ASED4PZ.js} +10 -10
- package/dist/{chunk-MCEPRMZW.js → chunk-2CU2H6KE.js} +2 -2
- package/dist/chunk-2DSOYNFC.js +108 -0
- package/dist/{chunk-LDJG7DW3.js → chunk-2ZSONWVL.js} +4 -4
- package/dist/{chunk-GI7YYQ3F.js → chunk-36CT5VVL.js} +324 -41
- package/dist/{chunk-4UVU7BJ5.js → chunk-3GY4F45V.js} +2 -2
- package/dist/{chunk-PUVDKJ2Y.js → chunk-3ODX73FK.js} +3 -5
- package/dist/{chunk-IUE3Y34X.js → chunk-3UNOLWNZ.js} +2 -2
- package/dist/{chunk-6PTFB5VS.js → chunk-3UUXNFEX.js} +8 -4
- package/dist/{chunk-2APPQIER.js → chunk-4M6Z5QVF.js} +4 -4
- package/dist/{chunk-K6BSR66V.js → chunk-4NSRCOYP.js} +4 -1
- package/dist/{chunk-JGRC33J2.js → chunk-54X7T7DK.js} +12 -3
- package/dist/{chunk-YQWYVTMC.js → chunk-5636DCO5.js} +4 -4
- package/dist/{chunk-7E7I3WLS.js → chunk-57XXR6DR.js} +23 -22
- package/dist/{chunk-7ZYNNDKC.js → chunk-5TUB6SLS.js} +2 -2
- package/dist/{chunk-VW6DOEDG.js → chunk-6OSVSQL5.js} +11 -2
- package/dist/{chunk-L47TF46W.js → chunk-6PAZTBPA.js} +14 -2
- package/dist/{chunk-XIVNBFZS.js → chunk-6Q3CYFD3.js} +34 -16
- package/dist/{chunk-RSJ25QSL.js → chunk-6QOTUPRG.js} +155 -36
- package/dist/{chunk-JKKCYP3C.js → chunk-6UINWWS6.js} +10 -4
- package/dist/{chunk-WBKFA554.js → chunk-72YIHOZQ.js} +2 -2
- package/dist/{chunk-PAJQJ7BS.js → chunk-75W7L2E2.js} +246 -697
- package/dist/{chunk-RRNP2ANY.js → chunk-7UGL4MB5.js} +4 -4
- package/dist/{chunk-EKCHAPYA.js → chunk-AUPNRN7C.js} +2 -2
- package/dist/{chunk-ZDN3Y73Y.js → chunk-BJVFZO5U.js} +6 -48
- package/dist/{chunk-IWT4SF4R.js → chunk-CUSRQKPU.js} +64 -2
- package/dist/{chunk-SKHCAU7K.js → chunk-DQOVN6KV.js} +3 -2
- package/dist/{chunk-ZWPRK62N.js → chunk-DT3LWJOB.js} +4 -4
- package/dist/chunk-DXKJURES.js +671 -0
- package/dist/{chunk-BEPZRGGU.js → chunk-EL24TAU4.js} +2 -2
- package/dist/{chunk-OML5D5V5.js → chunk-ELWDPP3Y.js} +5 -5
- package/dist/{chunk-NDINPTJ4.js → chunk-ELZVTCGV.js} +5 -4
- package/dist/chunk-EXLD33WO.js +381 -0
- package/dist/{chunk-IJNZMHLA.js → chunk-FEAXX7B6.js} +2 -2
- package/dist/{chunk-TM6LQDI3.js → chunk-FFUPXJC4.js} +74 -323
- package/dist/chunk-GX5WYQO4.js +59 -0
- package/dist/chunk-I2DWJ4GM.js +390 -0
- package/dist/{chunk-TXOTCRLG.js → chunk-I5FWO7L5.js} +5 -5
- package/dist/chunk-IRXAATOX.js +539 -0
- package/dist/chunk-IXIY2H4R.js +44 -0
- package/dist/{chunk-KK4JZPBQ.js → chunk-IZXGRF7P.js} +76 -10
- package/dist/{chunk-5TSRNF4G.js → chunk-JCI2ROMZ.js} +164 -6
- package/dist/{chunk-INY6HTFL.js → chunk-JEIYHLOR.js} +2 -2
- package/dist/{chunk-MUW2BDDH.js → chunk-JQLNNIKT.js} +2 -2
- package/dist/{chunk-XPWWI35G.js → chunk-JSD46VO2.js} +19 -8
- package/dist/{chunk-VA5FNYMT.js → chunk-JT2RFCC5.js} +39 -2
- package/dist/{chunk-V2ANDPVT.js → chunk-K6T2ZAMZ.js} +168 -6
- package/dist/{chunk-B4OAX3SI.js → chunk-KFV5L5SK.js} +13 -6
- package/dist/{chunk-JEQ3XTHC.js → chunk-LLXSDWXS.js} +2 -2
- package/dist/{chunk-E3TPLWFX.js → chunk-LTIKRKFL.js} +3 -3
- package/dist/{chunk-NIQJ66N4.js → chunk-N56KALIC.js} +17 -17
- package/dist/{chunk-JDAY6FIL.js → chunk-NAI6ZFCY.js} +13 -9
- package/dist/{chunk-AF4YM7Z4.js → chunk-NRO2BJRH.js} +2490 -2182
- package/dist/{chunk-WRBAGUNF.js → chunk-NXIMQY5W.js} +2 -2
- package/dist/{chunk-I7ZPNEJM.js → chunk-NXYCB2VD.js} +5 -5
- package/dist/chunk-ODGTEFFI.js +50 -0
- package/dist/{chunk-2VIKGWFZ.js → chunk-OEJSLEPW.js} +2 -2
- package/dist/{chunk-KKOJXO6R.js → chunk-OMQNJVKW.js} +4 -2
- package/dist/{chunk-54CBCGIR.js → chunk-Q4WO54TA.js} +132 -77
- package/dist/{chunk-B4VEBZKF.js → chunk-QUFRYSWI.js} +12 -6
- package/dist/{chunk-42FMPA75.js → chunk-QZWQA4DE.js} +2 -2
- package/dist/{chunk-HEQY7ZFI.js → chunk-RAY4OVGZ.js} +2 -2
- package/dist/{chunk-G76U63X4.js → chunk-RQCKCSRL.js} +7 -7
- package/dist/{chunk-64I3JVYM.js → chunk-RXTN6AKH.js} +2 -2
- package/dist/{chunk-UPZU6GE4.js → chunk-RZDWV63N.js} +3 -3
- package/dist/{chunk-2UH2KFUP.js → chunk-S6PYF2XF.js} +2 -2
- package/dist/{chunk-JSC3U7TI.js → chunk-TOIVGRUX.js} +2 -2
- package/dist/{chunk-7DRAWPTZ.js → chunk-TQAHXW6Y.js} +1 -1
- package/dist/{chunk-JIEGK6UF.js → chunk-U6TMQNSI.js} +48 -4
- package/dist/{chunk-AX2THNSA.js → chunk-UEPWCCTY.js} +4 -4
- package/dist/{chunk-QWGDJJYJ.js → chunk-USR47QNF.js} +4 -4
- package/dist/{chunk-Y3CBHOR6.js → chunk-V6HJFQZE.js} +2 -2
- package/dist/chunk-V76WTFTW.js +318 -0
- package/dist/{chunk-NMJXSHBJ.js → chunk-W54I7H25.js} +2 -2
- package/dist/{chunk-2UG5F4C5.js → chunk-XULDXHTN.js} +24 -12
- package/dist/chunk-XXYSBZIQ.js +283 -0
- package/dist/{chunk-MWUZBSAQ.js → chunk-Y55JBDO5.js} +331 -51
- package/dist/{chunk-W6RRQCPQ.js → chunk-YD5GIKET.js} +4 -4
- package/dist/{chunk-CE5AX47J.js → chunk-YECAMM3D.js} +2 -2
- package/dist/{chunk-WCXUNS7U.js → chunk-YNFKXPEC.js} +6 -6
- package/dist/cli/index.js +36 -35
- package/dist/{clio-CMMK4KRR.js → clio-QLICPCF5.js} +2 -2
- package/dist/{code-nav-MDZNQS33.js → code-nav-IJR2DBPR.js} +6 -6
- package/dist/{components-UCUQ4QXW.js → components-2TGAI2RC.js} +3 -4
- package/dist/{config-SVM5P5YI.js → config-IUA6OYNS.js} +52 -47
- package/dist/{configure-LE3IK2TJ.js → configure-VEPX4NMX.js} +14 -15
- package/dist/{context-VNCR7KAG.js → context-2DKHWH2T.js} +23 -23
- package/dist/{context-2OHRKS42.js → context-4MPR7WKB.js} +48 -42
- package/dist/{context-E3VC7RX5.js → context-BOYF5EJM.js} +11 -11
- package/dist/{context-clear-BW4O37TG.js → context-clear-S4ZJCQUX.js} +48 -42
- package/dist/{context-working-set-VDS25HXZ.js → context-working-set-3I3FYX6Y.js} +8 -8
- package/dist/detail-A7JAVSIG.js +98 -0
- package/dist/{dispatch-runner-5AHT53RF.js → dispatch-runner-RJ5I2F2O.js} +71 -58
- package/dist/{docs-PD3EXDKU.js → docs-SPOV3BAN.js} +3 -5
- package/dist/{doctor-WNNVO6FY.js → doctor-DKICC2SN.js} +54 -31
- package/dist/{eval-7G7SGAYO.js → eval-OQOQUDHK.js} +47 -56
- package/dist/{evidence-VD6736FQ.js → evidence-4DQ25GUQ.js} +53 -150
- package/dist/evidence-4F5USFKH.js +208 -0
- package/dist/{evolve-AL3NGVRL.js → evolve-GSS52E5J.js} +44 -41
- package/dist/{extensions-MOVJ32NM.js → extensions-G7MFLYHT.js} +4 -5
- package/dist/{fleet-QZHUMAGI.js → fleet-Q37YHHAQ.js} +74 -68
- package/dist/{fleet-commands-BAYT5FJZ.js → fleet-commands-G7E4N7SM.js} +14 -11
- package/dist/{fleet-decisions-IREVMRU4.js → fleet-decisions-O7M6QBA2.js} +6 -6
- package/dist/{fleet-graph-YCTT3HTI.js → fleet-graph-TOUBW6OW.js} +13 -13
- package/dist/{fleet-inspect-QVJTDAVB.js → fleet-inspect-SW33JJNI.js} +43 -39
- package/dist/{fleet-preflight-25QAFPK4.js → fleet-preflight-CV2655TW.js} +2 -3
- package/dist/{fleet-validate-5O57AAJ7.js → fleet-validate-KESZX2YH.js} +16 -16
- package/dist/{fleet-verify-CPH2W2T6.js → fleet-verify-UQPMTVE3.js} +42 -38
- package/dist/{fleet-view-SWBR3VGQ.js → fleet-view-MN2VG4MR.js} +43 -39
- package/dist/{init-J477LKZH.js → init-PXEXQSBF.js} +60 -54
- package/dist/{interop-3FCM6XLG.js → interop-ZG5T62U3.js} +6 -7
- package/dist/inventory-C26CFDRR.js +101 -0
- package/dist/{library-QUQEIUG6.js → library-B2W4N74O.js} +16 -17
- package/dist/{memory-SGGSEP65.js → memory-YCANYS5A.js} +45 -42
- package/dist/{models-HEKUAXXK.js → models-GERTU3YI.js} +20 -22
- package/dist/{monitor-HKU57TYQ.js → monitor-CPNIUULB.js} +50 -44
- package/dist/{orchestrator-VDFAEFAI.js → orchestrator-J4BSH4WQ.js} +491 -1182
- package/dist/{panes-DN2SSFOH.js → panes-BOHAEGYC.js} +3 -3
- package/dist/{panes-TALGNPZT.js → panes-NXSLDQZ2.js} +5 -6
- package/dist/{paths-NBMFAIEZ.js → paths-VSUWNC22.js} +3 -4
- package/dist/{reset-EAJFFJVB.js → reset-TNWTB5LU.js} +5 -6
- package/dist/{resources-OVKSEFVE.js → resources-4PXNMD5G.js} +14 -14
- package/dist/{run-7DP7ZF2J.js → run-D6XJ34CN.js} +79 -83
- package/dist/{share-WML67FT3.js → share-2NWMJJEE.js} +14 -15
- package/dist/{skills-SG662R2K.js → skills-KR7WON5G.js} +18 -19
- package/dist/{skills-eval-VVZEUU46.js → skills-eval-O2ZNOLDS.js} +49 -46
- package/dist/{skills-inventory-I2E23GET.js → skills-inventory-ZZOUBK7O.js} +14 -14
- package/dist/{slash-commands-S7MBJDQK.js → slash-commands-ZXPJD64J.js} +32 -23
- package/dist/{steer-2LQOMCPB.js → steer-XA25PSCS.js} +3 -3
- package/dist/{support-CC2UJBJ6.js → support-7EMVWYG2.js} +2 -2
- package/dist/{targets-4QC3HIEW.js → targets-OMH2XCSN.js} +25 -27
- package/dist/tasks-IPAGMEIX.js +36 -0
- package/dist/{terminal-lease-TUHIJ6Y2.js → terminal-lease-C2J3JYRE.js} +4 -4
- package/dist/{tools-TFGJICCU.js → tools-EFFEAIDP.js} +5 -6
- package/dist/{uninstall-5PEVOE5B.js → uninstall-HALS6BLF.js} +7 -8
- package/dist/{upgrade-M4WXY6KN.js → upgrade-MS72RJEP.js} +14 -11
- package/dist/{usage-N7ZNVLEM.js → usage-NHG6MCJM.js} +60 -51
- package/dist/{verifiers-DJTP4XX6.js → verifiers-7AUNVXDY.js} +150 -17
- package/dist/{verify-RWE4PPEK.js → verify-FWYGPKMR.js} +12 -10
- package/dist/{web-fetch-MPARV2K7.js → web-fetch-V4FKSDAV.js} +4 -4
- package/dist/{wiki-generate-C7IQOXSP.js → wiki-generate-743CIGJW.js} +63 -56
- package/dist/{with-panes-4GCGSL7J.js → with-panes-BDQEWBRT.js} +2 -2
- package/dist/worker/entry.js +36 -33
- package/docs/README.md +3 -2
- package/docs/architecture/acp.md +17 -0
- package/docs/architecture/artifact-versions.md +1 -1
- package/docs/architecture/dispatch-typed-intent.md +1 -1
- package/docs/architecture/evidence-and-memory.md +1 -1
- package/docs/architecture/observability.md +7 -1
- package/docs/architecture/prompt-envelope-and-tools.md +15 -5
- package/docs/architecture/safety-model.md +10 -17
- package/docs/architecture/tui-design.md +1 -1
- package/docs/guide/built-in-agents.md +8 -8
- package/docs/guide/commands-and-modes.md +17 -2
- package/docs/guide/configuration-and-targets.md +3 -1
- package/docs/guide/configuration-reference.md +10 -5
- package/docs/guide/environment-variables.md +2 -2
- package/docs/guide/tool-usage.md +78 -3
- package/docs/history/config-knobs-audit.md +2 -2
- package/docs/process/development-pipeline.md +6 -1
- package/docs/process/git-commit-provenance.md +15 -0
- package/docs/process/release-cut-checklist.md +207 -0
- package/docs/process/scientific-validation.md +18 -17
- package/evals/behavioral-machinery-support.ts +1 -0
- package/evals/behavioral-machinery.yaml +1 -1
- package/package.json +1 -1
- package/skills/coding/coding-standards/SKILL.md +14 -4
- package/skills/context/context-handoff/SKILL.md +3 -3
- package/skills/context/context-prime/SKILL.md +3 -3
- package/skills/planning/architecture/SKILL.md +5 -5
- package/skills/planning/backlog/SKILL.md +4 -4
- package/skills/planning/prd/SKILL.md +4 -3
- package/skills/planning/product-intent/SKILL.md +8 -8
- package/skills/planning/tech-spec/SKILL.md +4 -4
- package/skills/registry.yaml +32 -32
- package/skills/research/arxiv-literature/SKILL.md +3 -3
- package/skills/research/experiment-protocol/SKILL.md +3 -3
- package/skills/research/scientific-debugging/SKILL.md +3 -2
- package/skills/research/scientific-modernization/SKILL.md +3 -3
- package/skills/skill-marketplace.json +16 -16
- package/skills/workflow/cut-it/SKILL.md +3 -4
- package/skills/workflow/design-council/SKILL.md +5 -10
- package/skills/workflow/grill-me/SKILL.md +14 -15
- package/skills/workflow/workflow-distiller/SKILL.md +4 -4
- package/src/cli/args.ts +0 -8
- package/src/cli/configure.ts +2 -1
- package/src/cli/doctor-state-size.ts +1 -12
- package/src/cli/doctor-validation-contract.ts +28 -0
- package/src/cli/doctor.ts +5 -0
- package/src/cli/evidence-detail.ts +1 -75
- package/src/cli/evidence-inventory.ts +1 -167
- package/src/cli/index.ts +2 -0
- package/src/cli/run.ts +0 -2
- package/src/cli/targets.ts +1 -1
- package/src/cli/tasks.ts +84 -0
- package/src/cli/upgrade.ts +10 -5
- package/src/cli/usage.ts +6 -0
- package/src/cli/verifiers.ts +147 -1
- package/src/cli/wiki-generate.ts +1 -0
- package/src/core/commit-attribution.ts +41 -1
- package/src/core/git-commit-attribution.ts +46 -3
- package/src/core/run-overrides.ts +0 -5
- package/src/core/skill-activation.ts +3 -0
- package/src/core/tool-names.ts +5 -2
- package/src/domains/agents/builtins/architect.md +1 -1
- package/src/domains/agents/builtins/coder.md +1 -1
- package/src/domains/agents/builtins/documenter.md +1 -1
- package/src/domains/agents/builtins/git-master.md +1 -1
- package/src/domains/agents/builtins/provenance.md +7 -7
- package/src/domains/agents/builtins/tester.md +1 -1
- package/src/domains/agents/builtins/verifier.md +2 -2
- package/src/domains/agents/builtins/wiki-writer.md +4 -3
- package/src/domains/context/extension.ts +31 -7
- package/src/domains/context/refresh.ts +3 -0
- package/src/domains/context/wiki/frontmatter.ts +5 -2
- package/src/domains/context/wiki/generate.ts +6 -0
- package/src/domains/context/wiki/prompts.ts +43 -0
- package/src/domains/dispatch/active-route-planner.ts +4 -0
- package/src/domains/dispatch/code-step.ts +11 -4
- package/src/domains/dispatch/contract.ts +31 -7
- package/src/domains/dispatch/execution-scheduler.ts +2 -0
- package/src/domains/dispatch/extension.ts +50 -27
- package/src/domains/dispatch/fleet-commit-attribution.ts +5 -0
- package/src/domains/dispatch/fleet-run.ts +1 -0
- package/src/domains/dispatch/host-verification.ts +114 -13
- package/src/domains/dispatch/intent.ts +28 -18
- package/src/domains/dispatch/orphan-recovery.ts +2 -0
- package/src/domains/dispatch/receipt-integrity.ts +4 -0
- package/src/domains/dispatch/reservation-store.ts +5 -3
- package/src/domains/dispatch/state.ts +15 -2
- package/src/domains/dispatch/types.ts +17 -2
- package/src/domains/eval/runners/clio-run.ts +12 -9
- package/src/domains/eval/runners/context-index.ts +2 -7
- package/src/domains/eval/runners/context-init.ts +3 -6
- package/src/domains/eval/runners/external-command.ts +29 -11
- package/src/domains/evidence/build.ts +102 -15
- package/src/domains/evidence/detail.ts +69 -0
- package/src/domains/evidence/eval.ts +13 -1
- package/src/domains/evidence/finish-contract-map.ts +5 -1
- package/src/domains/evidence/inventory.ts +167 -0
- package/src/domains/evidence/store.ts +16 -0
- package/src/domains/evidence/types.ts +12 -0
- package/src/domains/extensions/resources.ts +7 -0
- package/src/domains/middleware/marketplace-offer.ts +20 -1
- package/src/domains/middleware/runtime.ts +7 -3
- package/src/domains/mux/detect.ts +3 -6
- package/src/domains/observability/accountability.ts +15 -1
- package/src/domains/observability/contract.ts +52 -7
- package/src/domains/observability/evidence-index.ts +10 -0
- package/src/domains/observability/extension.ts +9 -5
- package/src/domains/observability/projection.ts +394 -45
- package/src/{interactive → domains/observability}/worker-progress.ts +3 -3
- package/src/domains/prompts/fragments/operating/contract.md +2 -0
- package/src/domains/prompts/fragments/wiki/page.md +8 -0
- package/src/domains/providers/model-discovery.ts +1 -4
- package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +16 -14
- package/src/domains/providers/runtimes/claude/claude-code.ts +9 -0
- package/src/domains/providers/support.ts +1 -1
- package/src/domains/providers/types/runtime-descriptor.ts +1 -1
- package/src/domains/safety/action-classifier.ts +7 -0
- package/src/domains/safety/default-path-policy.ts +2 -0
- package/src/domains/safety/finish-contract-registration.ts +29 -14
- package/src/domains/safety/finish-contract.ts +252 -40
- package/src/domains/safety/index.ts +20 -1
- package/src/domains/safety/policy-engine.ts +26 -6
- package/src/domains/safety/rigor.ts +53 -39
- package/src/domains/safety/validation-contract.ts +388 -0
- package/src/domains/session/archive-readers.ts +10 -1
- package/src/domains/session/decision-board.ts +101 -2
- package/src/domains/session/entries.ts +44 -7
- package/src/domains/session/extension.ts +4 -4
- package/src/domains/session/handoff.ts +2 -1
- package/src/domains/session/manager.ts +2 -3
- package/src/domains/session/task-board.ts +14 -1
- package/src/domains/session/tree/fork.ts +1 -2
- package/src/domains/session/tree/navigator.ts +1 -1
- package/src/domains/user-tasks/acceptance.ts +56 -0
- package/src/domains/user-tasks/active-acceptance.ts +40 -0
- package/src/domains/user-tasks/store.ts +34 -3
- package/src/engine/acp/adapter.ts +24 -6
- package/src/engine/acp/server.ts +21 -4
- package/src/engine/acp/transport.ts +53 -8
- package/src/engine/acp/types.ts +4 -0
- package/src/engine/apis/ollama-native.ts +15 -0
- package/src/engine/claude/subprocess-runtime.ts +107 -60
- package/src/engine/external-subprocess.ts +12 -4
- package/src/entry/orchestrator.ts +11 -2
- package/src/interactive/dispatch-board.ts +46 -717
- package/src/interactive/fleet-run-preview.ts +2 -1
- package/src/interactive/interactive-application.ts +3 -2
- package/src/interactive/interactive-presentation.ts +55 -12
- package/src/interactive/interactive-slash-runtime.ts +2 -1
- package/src/interactive/oracle.ts +5 -2
- package/src/interactive/overlays/fleet-run-approval.ts +3 -2
- package/src/interactive/overlays/message-picker.ts +2 -2
- package/src/interactive/overlays/settings.ts +2 -2
- package/src/interactive/overlays/tree-selector.ts +2 -2
- package/src/interactive/renderers/branch-summary.ts +1 -1
- package/src/interactive/slash-autocomplete.ts +4 -6
- package/src/interactive/slash-commands.ts +25 -39
- package/src/interactive/slash-spec.ts +28 -0
- package/src/interactive/view/artifacts.ts +2 -0
- package/src/interactive/worker-stream.ts +7 -3
- package/src/tools/bootstrap.ts +4 -0
- package/src/tools/builtin-tool-catalog.ts +31 -0
- package/src/tools/compete-worktrees.ts +7 -1
- package/src/tools/core-bootstrap.ts +16 -0
- package/src/tools/decide.ts +136 -0
- package/src/tools/dispatch-admission.ts +21 -0
- package/src/tools/dispatch-plan.ts +5 -2
- package/src/tools/dispatch-runner.ts +15 -1
- package/src/tools/dispatch-types.ts +6 -0
- package/src/tools/evidence.ts +96 -0
- package/src/tools/limitation.ts +76 -0
- package/src/tools/policy.ts +9 -0
- package/src/tools/presentation.ts +3 -0
- package/src/tools/registry.ts +1 -1
- package/src/tools/result-shaping.ts +17 -5
- package/src/tools/task-worktree.ts +13 -3
- package/src/tools/tasks.ts +10 -1
- package/src/tools/verify/authoring.ts +170 -83
- package/src/tools/verify/catalog.ts +122 -5
- package/src/tools/verify/index.ts +2 -1
- package/src/tools/verify/numeric.ts +298 -0
- package/src/tools/verify/perf.ts +143 -0
- package/src/tools/verify/scripts.ts +229 -2
- package/dist/chunk-7DICMOS6.js +0 -313
- package/dist/chunk-RVG5JXAL.js +0 -41
- package/dist/chunk-T56WDKA5.js +0 -183
- package/dist/chunk-VPKWYKEY.js +0 -169
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
summarizeFailedCompactionUsage
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-FEAXX7B6.js";
|
|
5
5
|
import {
|
|
6
6
|
readEvidenceIndex,
|
|
7
|
-
readOutOfTurnUsageRows
|
|
8
|
-
|
|
7
|
+
readOutOfTurnUsageRows,
|
|
8
|
+
summarizeEvidenceIndex
|
|
9
|
+
} from "./chunk-JT2RFCC5.js";
|
|
9
10
|
import {
|
|
10
11
|
loadMemoryRecordsSync
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-EL24TAU4.js";
|
|
13
|
+
import "./chunk-RQCKCSRL.js";
|
|
14
|
+
import "./chunk-RZDWV63N.js";
|
|
15
|
+
import "./chunk-7UGL4MB5.js";
|
|
15
16
|
import "./chunk-DR52UMZW.js";
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-NRO2BJRH.js";
|
|
18
|
+
import "./chunk-NXIMQY5W.js";
|
|
19
|
+
import "./chunk-XRZT5WY5.js";
|
|
20
|
+
import "./chunk-QUFRYSWI.js";
|
|
21
|
+
import "./chunk-LTIKRKFL.js";
|
|
22
|
+
import "./chunk-ODGTEFFI.js";
|
|
23
|
+
import "./chunk-CUSRQKPU.js";
|
|
21
24
|
import {
|
|
22
25
|
addResponseModelIdObservationCount,
|
|
23
26
|
emptyResponseModelIdObservationCounts,
|
|
@@ -26,73 +29,74 @@ import {
|
|
|
26
29
|
parseSessionEntries,
|
|
27
30
|
readAuditRows,
|
|
28
31
|
responseModelIdObservationCountsLabel
|
|
29
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-6UINWWS6.js";
|
|
30
33
|
import "./chunk-FTMGRKEF.js";
|
|
31
|
-
import "./chunk-XRZT5WY5.js";
|
|
32
|
-
import "./chunk-RVG5JXAL.js";
|
|
33
34
|
import "./chunk-VIA6RFQZ.js";
|
|
34
|
-
import "./chunk-T56WDKA5.js";
|
|
35
35
|
import "./chunk-W6GROXXM.js";
|
|
36
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-I2DWJ4GM.js";
|
|
37
|
+
import "./chunk-OEJSLEPW.js";
|
|
37
38
|
import "./chunk-RKKLTLYB.js";
|
|
38
|
-
import "./chunk-
|
|
39
|
-
import "./chunk-
|
|
39
|
+
import "./chunk-K6T2ZAMZ.js";
|
|
40
|
+
import "./chunk-3UUXNFEX.js";
|
|
40
41
|
import {
|
|
41
42
|
loadSkills
|
|
42
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-2ZSONWVL.js";
|
|
43
44
|
import "./chunk-NDDGJUXD.js";
|
|
44
|
-
import "./chunk-
|
|
45
|
+
import "./chunk-YECAMM3D.js";
|
|
46
|
+
import "./chunk-V76WTFTW.js";
|
|
45
47
|
import {
|
|
46
48
|
foldPromptCacheTelemetry,
|
|
47
49
|
hasPromptCacheTelemetry
|
|
48
50
|
} from "./chunk-3DPEIQKN.js";
|
|
49
|
-
import "./chunk-
|
|
51
|
+
import "./chunk-TQAHXW6Y.js";
|
|
50
52
|
import "./chunk-5MEZN6CB.js";
|
|
51
|
-
import "./chunk-
|
|
53
|
+
import "./chunk-3ODX73FK.js";
|
|
52
54
|
import "./chunk-HVDIIIQW.js";
|
|
53
55
|
import {
|
|
54
56
|
formatColumns,
|
|
55
57
|
printError
|
|
56
|
-
} from "./chunk-
|
|
57
|
-
import "./chunk-5TSRNF4G.js";
|
|
58
|
+
} from "./chunk-JCI2ROMZ.js";
|
|
58
59
|
import "./chunk-2WZ546HR.js";
|
|
59
|
-
import "./chunk-
|
|
60
|
-
import "./chunk-
|
|
61
|
-
import "./chunk-
|
|
62
|
-
import "./chunk-
|
|
63
|
-
import "./chunk-
|
|
60
|
+
import "./chunk-75W7L2E2.js";
|
|
61
|
+
import "./chunk-6QOTUPRG.js";
|
|
62
|
+
import "./chunk-AUPNRN7C.js";
|
|
63
|
+
import "./chunk-6PAZTBPA.js";
|
|
64
|
+
import "./chunk-6Q3CYFD3.js";
|
|
64
65
|
import "./chunk-NEDJ26B5.js";
|
|
65
|
-
import "./chunk-42FMPA75.js";
|
|
66
|
-
import "./chunk-H7IXIC72.js";
|
|
67
|
-
import "./chunk-7DICMOS6.js";
|
|
68
66
|
import "./chunk-OQE5J4C6.js";
|
|
67
|
+
import "./chunk-NAI6ZFCY.js";
|
|
68
|
+
import "./chunk-OZNBF4L3.js";
|
|
69
|
+
import "./chunk-QZWQA4DE.js";
|
|
70
|
+
import "./chunk-H7IXIC72.js";
|
|
71
|
+
import "./chunk-KFV5L5SK.js";
|
|
72
|
+
import "./chunk-NXYCB2VD.js";
|
|
73
|
+
import "./chunk-ECH6PKUQ.js";
|
|
74
|
+
import "./chunk-IRXAATOX.js";
|
|
75
|
+
import "./chunk-BJVFZO5U.js";
|
|
76
|
+
import "./chunk-DXKJURES.js";
|
|
69
77
|
import "./chunk-HHV2GANA.js";
|
|
70
|
-
import "./chunk-B4OAX3SI.js";
|
|
71
|
-
import "./chunk-I7ZPNEJM.js";
|
|
72
78
|
import "./chunk-GYV6VZOC.js";
|
|
73
79
|
import "./chunk-UL3WSD3F.js";
|
|
74
|
-
import "./chunk-JDAY6FIL.js";
|
|
75
|
-
import "./chunk-OZNBF4L3.js";
|
|
76
|
-
import "./chunk-ECH6PKUQ.js";
|
|
77
|
-
import "./chunk-6XLNIQDB.js";
|
|
78
80
|
import "./chunk-5B2AEOW5.js";
|
|
79
81
|
import "./chunk-VAVR4IJY.js";
|
|
80
|
-
import "./chunk-JGRC33J2.js";
|
|
81
82
|
import "./chunk-4BJ5BYCE.js";
|
|
82
|
-
import "./chunk-
|
|
83
|
-
import "./chunk-
|
|
83
|
+
import "./chunk-54X7T7DK.js";
|
|
84
|
+
import "./chunk-I5FWO7L5.js";
|
|
85
|
+
import "./chunk-6XLNIQDB.js";
|
|
86
|
+
import "./chunk-4NSRCOYP.js";
|
|
87
|
+
import "./chunk-JSD46VO2.js";
|
|
84
88
|
import "./chunk-CFGTUFWB.js";
|
|
85
89
|
import "./chunk-NZMNUPZZ.js";
|
|
86
90
|
import "./chunk-2JH2WHGE.js";
|
|
91
|
+
import "./chunk-KXDSS5WJ.js";
|
|
92
|
+
import "./chunk-GHS5EBTQ.js";
|
|
93
|
+
import "./chunk-D7E7WCDF.js";
|
|
87
94
|
import {
|
|
88
95
|
cwdHash
|
|
89
96
|
} from "./chunk-HAXOFFRH.js";
|
|
90
97
|
import "./chunk-R346GLFC.js";
|
|
91
|
-
import "./chunk-KXDSS5WJ.js";
|
|
92
|
-
import "./chunk-GHS5EBTQ.js";
|
|
93
|
-
import "./chunk-D7E7WCDF.js";
|
|
94
98
|
import "./chunk-BTK3SSSK.js";
|
|
95
|
-
import "./chunk-
|
|
99
|
+
import "./chunk-W54I7H25.js";
|
|
96
100
|
import "./chunk-PMZVFWSR.js";
|
|
97
101
|
import "./chunk-F4EKGO4N.js";
|
|
98
102
|
import "./chunk-XAKHZX5N.js";
|
|
@@ -100,15 +104,15 @@ import "./chunk-33YXPOE3.js";
|
|
|
100
104
|
import "./chunk-7CR24IG7.js";
|
|
101
105
|
import "./chunk-XPLRXC72.js";
|
|
102
106
|
import "./chunk-IWHMRKLL.js";
|
|
103
|
-
import "./chunk-
|
|
107
|
+
import "./chunk-6OSVSQL5.js";
|
|
104
108
|
import "./chunk-UXCU4E3T.js";
|
|
105
109
|
import "./chunk-LL4KHSZI.js";
|
|
106
|
-
import "./chunk-JSC3U7TI.js";
|
|
107
110
|
import "./chunk-S66XZJOF.js";
|
|
108
|
-
import "./chunk-
|
|
111
|
+
import "./chunk-TOIVGRUX.js";
|
|
112
|
+
import "./chunk-U6TMQNSI.js";
|
|
109
113
|
import "./chunk-EBY63B7G.js";
|
|
110
114
|
import "./chunk-6EJMN2Y3.js";
|
|
111
|
-
import "./chunk-
|
|
115
|
+
import "./chunk-26QSH3EJ.js";
|
|
112
116
|
import "./chunk-ID64D7PE.js";
|
|
113
117
|
import "./chunk-336NSSKI.js";
|
|
114
118
|
import "./chunk-IKCO5N3L.js";
|
|
@@ -342,6 +346,7 @@ async function runUsageCommand(argv) {
|
|
|
342
346
|
return decision === "blocked" || decision === "denied";
|
|
343
347
|
});
|
|
344
348
|
const evidenceRows = readEvidenceIndex(stateDir).filter((row) => inWindow(row.generatedAt, windowStart, now));
|
|
349
|
+
const accountability = summarizeEvidenceIndex(evidenceRows);
|
|
345
350
|
let memoryRecords = [];
|
|
346
351
|
try {
|
|
347
352
|
memoryRecords = loadMemoryRecordsSync(clioDataDir());
|
|
@@ -504,6 +509,8 @@ async function runUsageCommand(argv) {
|
|
|
504
509
|
else emit({ kind: "fact", fact: "session-store-missing", path: presence.sessionsPath });
|
|
505
510
|
if (presence.receiptsPresent) emit({ kind: "fact", fact: "dispatch-runs", value: receipts.length });
|
|
506
511
|
else emit({ kind: "fact", fact: "receipt-store-missing", path: presence.receiptsPath });
|
|
512
|
+
emit({ kind: "fact", fact: "unverified-successes", value: accountability.unverifiedSuccesses });
|
|
513
|
+
emit({ kind: "fact", fact: "ungrounded-claims", value: accountability.ungroundedClaims });
|
|
507
514
|
emit({ kind: "fact", fact: "audit-tool-calls", value: auditToolCalls.length, blocked: auditBlocked.length });
|
|
508
515
|
if (usageMeasurable) {
|
|
509
516
|
emit({
|
|
@@ -740,6 +747,8 @@ async function runUsageCommand(argv) {
|
|
|
740
747
|
)
|
|
741
748
|
);
|
|
742
749
|
}
|
|
750
|
+
out(` unverified successes: ${accountability.unverifiedSuccesses}`);
|
|
751
|
+
out(` ungrounded claims: ${accountability.ungroundedClaims}`);
|
|
743
752
|
if (tagCounts.size > 0) {
|
|
744
753
|
out("");
|
|
745
754
|
out(" failure tags (from evidence index)");
|
|
@@ -1008,4 +1017,4 @@ function isRecord(value) {
|
|
|
1008
1017
|
export {
|
|
1009
1018
|
runUsageCommand
|
|
1010
1019
|
};
|
|
1011
|
-
//# sourceMappingURL=usage-
|
|
1020
|
+
//# sourceMappingURL=usage-NHG6MCJM.js.map
|
|
@@ -4,35 +4,41 @@ import {
|
|
|
4
4
|
discoverVerifierAuthoring,
|
|
5
5
|
previewVerifierDraft,
|
|
6
6
|
runVerifierAuthoringWorkflow
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-Q4WO54TA.js";
|
|
8
8
|
import {
|
|
9
9
|
verifyTool
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import
|
|
10
|
+
} from "./chunk-23L32XTI.js";
|
|
11
|
+
import {
|
|
12
|
+
recordPerfBaseline
|
|
13
|
+
} from "./chunk-K6T2ZAMZ.js";
|
|
12
14
|
import "./chunk-LCGCVYZ4.js";
|
|
15
|
+
import "./chunk-V76WTFTW.js";
|
|
13
16
|
import {
|
|
14
17
|
printError,
|
|
15
18
|
printOk
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-ZDN3Y73Y.js";
|
|
19
|
+
} from "./chunk-JCI2ROMZ.js";
|
|
20
|
+
import "./chunk-GX5WYQO4.js";
|
|
19
21
|
import "./chunk-VG7TBQIY.js";
|
|
22
|
+
import "./chunk-OQE5J4C6.js";
|
|
23
|
+
import "./chunk-ECH6PKUQ.js";
|
|
24
|
+
import "./chunk-BJVFZO5U.js";
|
|
20
25
|
import {
|
|
26
|
+
DECLARED_CHECK_KINDS,
|
|
21
27
|
PROJECT_VERIFIER_CATALOG_RELATIVE_PATH,
|
|
22
|
-
loadProjectVerifierCatalog
|
|
23
|
-
|
|
24
|
-
|
|
28
|
+
loadProjectVerifierCatalog,
|
|
29
|
+
normalizeNumericTolerance
|
|
30
|
+
} from "./chunk-DXKJURES.js";
|
|
25
31
|
import {
|
|
26
32
|
isProjectVerifierCheckId
|
|
27
33
|
} from "./chunk-UL3WSD3F.js";
|
|
28
|
-
import "./chunk-ECH6PKUQ.js";
|
|
29
|
-
import "./chunk-6XLNIQDB.js";
|
|
30
34
|
import "./chunk-5B2AEOW5.js";
|
|
31
|
-
import "./chunk-
|
|
35
|
+
import "./chunk-I5FWO7L5.js";
|
|
36
|
+
import "./chunk-6XLNIQDB.js";
|
|
37
|
+
import "./chunk-4NSRCOYP.js";
|
|
32
38
|
import {
|
|
33
39
|
SAFE_EXEC_DEFAULT_TIMEOUT_MS
|
|
34
|
-
} from "./chunk-
|
|
35
|
-
import "./chunk-
|
|
40
|
+
} from "./chunk-TOIVGRUX.js";
|
|
41
|
+
import "./chunk-U6TMQNSI.js";
|
|
36
42
|
import "./chunk-EBY63B7G.js";
|
|
37
43
|
import "./chunk-6EJMN2Y3.js";
|
|
38
44
|
import "./chunk-APJ265NV.js";
|
|
@@ -208,11 +214,22 @@ Usage:
|
|
|
208
214
|
clio-coder verifiers edit <id> [--description <text>] [--command <json-argv>] [fields] [--yes]
|
|
209
215
|
clio-coder verifiers rename <old> <new> [--yes]
|
|
210
216
|
clio-coder verifiers remove <id> [--yes]
|
|
217
|
+
clio-coder verifiers baseline <id>
|
|
211
218
|
|
|
212
219
|
Fields:
|
|
213
220
|
--cwd <path> repository-relative working directory (default .)
|
|
214
221
|
--timeout-ms <number> bounded timeout in milliseconds (default 120000)
|
|
215
222
|
--tags <a,b> comma-separated catalog tags
|
|
223
|
+
--kind <kind> command (default), numeric-compare, or perf-budget
|
|
224
|
+
--reference <path> numeric-compare: repository-relative reference JSON of string -> number | number[]
|
|
225
|
+
--tolerance <json> numeric-compare: {"relative"?,"absolute"?,"ulp"?}, at least one;
|
|
226
|
+
perf-budget with --baseline: {"relative"} headroom over the baseline
|
|
227
|
+
--budget-ms <number> perf-budget: wall-time bound in milliseconds
|
|
228
|
+
--budget-relative <r> perf-budget with --budget-ms: fractional headroom over the bound
|
|
229
|
+
--baseline <path> perf-budget: repository-relative baseline JSON written by 'verifiers baseline <id>'
|
|
230
|
+
|
|
231
|
+
baseline runs a perf-budget check once and records its wall time at the check's
|
|
232
|
+
baseline path; a failing or timed-out command records nothing.
|
|
216
233
|
|
|
217
234
|
Discovery and every preview are read-only. Mutating commands write only with
|
|
218
235
|
--yes after printing the exact argv, cwd, timeout, tags, source provenance, and
|
|
@@ -231,7 +248,13 @@ var VALUE_OPTIONS = /* @__PURE__ */ new Set([
|
|
|
231
248
|
"--tags",
|
|
232
249
|
"--exclude",
|
|
233
250
|
"--rename",
|
|
234
|
-
"--dry-run"
|
|
251
|
+
"--dry-run",
|
|
252
|
+
"--kind",
|
|
253
|
+
"--reference",
|
|
254
|
+
"--tolerance",
|
|
255
|
+
"--budget-ms",
|
|
256
|
+
"--budget-relative",
|
|
257
|
+
"--baseline"
|
|
235
258
|
]);
|
|
236
259
|
function parseAuthoringArgs(argv) {
|
|
237
260
|
const positional = [];
|
|
@@ -289,6 +312,82 @@ function parseTimeout(value) {
|
|
|
289
312
|
function tags(value) {
|
|
290
313
|
return value === void 0 ? [] : value.split(",").map((tag) => tag.trim()).filter((tag) => tag.length > 0);
|
|
291
314
|
}
|
|
315
|
+
function parseJsonObject(value, option) {
|
|
316
|
+
try {
|
|
317
|
+
const parsed = JSON.parse(value);
|
|
318
|
+
if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
319
|
+
return new Error(`${option} must be a JSON object`);
|
|
320
|
+
}
|
|
321
|
+
return parsed;
|
|
322
|
+
} catch (error) {
|
|
323
|
+
return new Error(`${option} must be valid JSON: ${error instanceof Error ? error.message : String(error)}`);
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
function kindFieldsFromArgs(parsed) {
|
|
327
|
+
const kindValue = oneValue(parsed, "--kind") ?? "command";
|
|
328
|
+
if (!DECLARED_CHECK_KINDS.includes(kindValue)) {
|
|
329
|
+
return new Error(`--kind must be one of ${DECLARED_CHECK_KINDS.join(", ")}`);
|
|
330
|
+
}
|
|
331
|
+
const kind = kindValue;
|
|
332
|
+
const reference = oneValue(parsed, "--reference");
|
|
333
|
+
const toleranceValue = oneValue(parsed, "--tolerance");
|
|
334
|
+
const budgetMs = oneValue(parsed, "--budget-ms");
|
|
335
|
+
const budgetRelative = oneValue(parsed, "--budget-relative");
|
|
336
|
+
const baseline = oneValue(parsed, "--baseline");
|
|
337
|
+
if (kind === "command") {
|
|
338
|
+
const stray = [
|
|
339
|
+
["--reference", reference],
|
|
340
|
+
["--tolerance", toleranceValue],
|
|
341
|
+
["--budget-ms", budgetMs],
|
|
342
|
+
["--budget-relative", budgetRelative],
|
|
343
|
+
["--baseline", baseline]
|
|
344
|
+
].filter(([, value]) => value !== void 0);
|
|
345
|
+
if (stray.length > 0)
|
|
346
|
+
return new Error(`${stray.map(([name]) => name).join(", ")} require --kind numeric-compare or perf-budget`);
|
|
347
|
+
return {};
|
|
348
|
+
}
|
|
349
|
+
if (kind === "numeric-compare") {
|
|
350
|
+
if (budgetMs !== void 0 || budgetRelative !== void 0 || baseline !== void 0) {
|
|
351
|
+
return new Error("--budget-ms, --budget-relative, and --baseline belong to --kind perf-budget");
|
|
352
|
+
}
|
|
353
|
+
if (reference === void 0) return new Error("--reference is required for --kind numeric-compare");
|
|
354
|
+
if (toleranceValue === void 0) return new Error("--tolerance is required for --kind numeric-compare");
|
|
355
|
+
const toleranceJson = parseJsonObject(toleranceValue, "--tolerance");
|
|
356
|
+
if (toleranceJson instanceof Error) return toleranceJson;
|
|
357
|
+
const tolerance = normalizeNumericTolerance(toleranceJson);
|
|
358
|
+
if (tolerance instanceof Error) return new Error(`--tolerance ${tolerance.message}`);
|
|
359
|
+
return { kind, numeric: { reference, tolerance } };
|
|
360
|
+
}
|
|
361
|
+
if (reference !== void 0) return new Error("--reference belongs to --kind numeric-compare");
|
|
362
|
+
if (budgetMs === void 0 === (baseline === void 0)) {
|
|
363
|
+
return new Error("--kind perf-budget requires exactly one of --budget-ms or --baseline");
|
|
364
|
+
}
|
|
365
|
+
if (budgetMs !== void 0) {
|
|
366
|
+
if (toleranceValue !== void 0) return new Error("use --budget-relative for headroom over --budget-ms");
|
|
367
|
+
const wallTimeMs = Number(budgetMs);
|
|
368
|
+
if (!Number.isFinite(wallTimeMs) || wallTimeMs <= 0) return new Error("--budget-ms must be a positive number");
|
|
369
|
+
const budget = { wallTimeMs };
|
|
370
|
+
if (budgetRelative !== void 0) {
|
|
371
|
+
const relative = Number(budgetRelative);
|
|
372
|
+
if (!Number.isFinite(relative) || relative < 0) return new Error("--budget-relative must be a non-negative number");
|
|
373
|
+
budget.tolerance = { relative };
|
|
374
|
+
}
|
|
375
|
+
return { kind, perf: { budget } };
|
|
376
|
+
}
|
|
377
|
+
if (budgetRelative !== void 0)
|
|
378
|
+
return new Error("--budget-relative belongs with --budget-ms; use --tolerance with --baseline");
|
|
379
|
+
const perf = { baseline };
|
|
380
|
+
if (toleranceValue !== void 0) {
|
|
381
|
+
const toleranceJson = parseJsonObject(toleranceValue, "--tolerance");
|
|
382
|
+
if (toleranceJson instanceof Error) return toleranceJson;
|
|
383
|
+
const relative = toleranceJson.relative;
|
|
384
|
+
if (typeof relative !== "number" || !Number.isFinite(relative) || relative < 0) {
|
|
385
|
+
return new Error('--tolerance for a baseline must be {"relative": <non-negative number>}');
|
|
386
|
+
}
|
|
387
|
+
perf.tolerance = { relative };
|
|
388
|
+
}
|
|
389
|
+
return { kind, perf };
|
|
390
|
+
}
|
|
292
391
|
function requiredValue(parsed, option) {
|
|
293
392
|
const value = oneValue(parsed, option);
|
|
294
393
|
return value === void 0 || value.length === 0 ? new Error(`${option} is required`) : value;
|
|
@@ -314,6 +413,8 @@ function addRevision(parsed) {
|
|
|
314
413
|
if (command instanceof Error) return command;
|
|
315
414
|
const timeoutMs = parseTimeout(oneValue(parsed, "--timeout-ms"));
|
|
316
415
|
if (timeoutMs instanceof Error) return timeoutMs;
|
|
416
|
+
const kindFields = kindFieldsFromArgs(parsed);
|
|
417
|
+
if (kindFields instanceof Error) return kindFields;
|
|
317
418
|
return {
|
|
318
419
|
kind: "add",
|
|
319
420
|
check: {
|
|
@@ -322,7 +423,8 @@ function addRevision(parsed) {
|
|
|
322
423
|
command,
|
|
323
424
|
cwd: oneValue(parsed, "--cwd") ?? ".",
|
|
324
425
|
timeoutMs,
|
|
325
|
-
tags: tags(oneValue(parsed, "--tags"))
|
|
426
|
+
tags: tags(oneValue(parsed, "--tags")),
|
|
427
|
+
...kindFields
|
|
326
428
|
}
|
|
327
429
|
};
|
|
328
430
|
}
|
|
@@ -348,6 +450,13 @@ function editRevision(parsed) {
|
|
|
348
450
|
}
|
|
349
451
|
const tagValue = oneValue(parsed, "--tags");
|
|
350
452
|
if (tagValue !== void 0) changes.tags = tags(tagValue);
|
|
453
|
+
if (oneValue(parsed, "--kind") !== void 0) {
|
|
454
|
+
const kindFields = kindFieldsFromArgs(parsed);
|
|
455
|
+
if (kindFields instanceof Error) return kindFields;
|
|
456
|
+
changes.kind = kindFields.kind ?? "command";
|
|
457
|
+
if (kindFields.numeric !== void 0) changes.numeric = kindFields.numeric;
|
|
458
|
+
if (kindFields.perf !== void 0) changes.perf = kindFields.perf;
|
|
459
|
+
}
|
|
351
460
|
if (Object.keys(changes).length === 0) return new Error("edit requires at least one changed field");
|
|
352
461
|
return { kind: "edit", id, changes };
|
|
353
462
|
}
|
|
@@ -419,6 +528,29 @@ async function executeWorkflow(parsed, options) {
|
|
|
419
528
|
for (const dryRun of result.dryRuns) code = Math.max(code, printDryRun(dryRun.id, dryRun.result));
|
|
420
529
|
return code;
|
|
421
530
|
}
|
|
531
|
+
async function baselineCommand(id) {
|
|
532
|
+
if (id === void 0) {
|
|
533
|
+
printError("baseline requires a check ID");
|
|
534
|
+
return 2;
|
|
535
|
+
}
|
|
536
|
+
const loaded = loadProjectVerifierCatalog(process.cwd());
|
|
537
|
+
if (!loaded.ok) {
|
|
538
|
+
printError(`production catalog parser rejected ${loaded.reason}`);
|
|
539
|
+
return 1;
|
|
540
|
+
}
|
|
541
|
+
const check = loaded.source?.checks.find((candidate) => candidate.id === id);
|
|
542
|
+
if (check === void 0) {
|
|
543
|
+
printError(`no catalog check '${id}' in ${PROJECT_VERIFIER_CATALOG_RELATIVE_PATH}`);
|
|
544
|
+
return 1;
|
|
545
|
+
}
|
|
546
|
+
const recorded = await recordPerfBaseline(check);
|
|
547
|
+
if (!recorded.ok) {
|
|
548
|
+
printError(`baseline '${id}' not recorded: ${recorded.message}`);
|
|
549
|
+
return 1;
|
|
550
|
+
}
|
|
551
|
+
printOk(`recorded baseline for '${id}': ${Math.round(recorded.wallTimeMs)}ms at ${recorded.path}`);
|
|
552
|
+
return 0;
|
|
553
|
+
}
|
|
422
554
|
async function discoverCommand() {
|
|
423
555
|
const discovery = discoverVerifierAuthoring();
|
|
424
556
|
if (!discovery.ok) {
|
|
@@ -462,6 +594,7 @@ async function runVerifiersCommand(argv) {
|
|
|
462
594
|
const command = parsed.positional[0];
|
|
463
595
|
if (command === "discover") return discoverCommand();
|
|
464
596
|
if (command === "validate") return validateCommand();
|
|
597
|
+
if (command === "baseline") return baselineCommand(parsed.positional[1]);
|
|
465
598
|
if (command === "dry-run") {
|
|
466
599
|
const id = parsed.positional[1];
|
|
467
600
|
if (id === void 0) {
|
|
@@ -493,4 +626,4 @@ async function runVerifiersCommand(argv) {
|
|
|
493
626
|
export {
|
|
494
627
|
runVerifiersCommand
|
|
495
628
|
};
|
|
496
|
-
//# sourceMappingURL=verifiers-
|
|
629
|
+
//# sourceMappingURL=verifiers-7AUNVXDY.js.map
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
verifyTool
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-23L32XTI.js";
|
|
5
|
+
import "./chunk-K6T2ZAMZ.js";
|
|
6
|
+
import "./chunk-GX5WYQO4.js";
|
|
7
7
|
import "./chunk-VG7TBQIY.js";
|
|
8
|
-
import "./chunk-7DICMOS6.js";
|
|
9
8
|
import "./chunk-OQE5J4C6.js";
|
|
10
|
-
import "./chunk-UL3WSD3F.js";
|
|
11
9
|
import "./chunk-ECH6PKUQ.js";
|
|
12
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-BJVFZO5U.js";
|
|
11
|
+
import "./chunk-DXKJURES.js";
|
|
12
|
+
import "./chunk-UL3WSD3F.js";
|
|
13
13
|
import "./chunk-5B2AEOW5.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-I5FWO7L5.js";
|
|
15
|
+
import "./chunk-6XLNIQDB.js";
|
|
16
|
+
import "./chunk-4NSRCOYP.js";
|
|
17
|
+
import "./chunk-TOIVGRUX.js";
|
|
18
|
+
import "./chunk-U6TMQNSI.js";
|
|
17
19
|
import "./chunk-EBY63B7G.js";
|
|
18
20
|
import "./chunk-6EJMN2Y3.js";
|
|
19
21
|
import "./chunk-APJ265NV.js";
|
|
@@ -24,4 +26,4 @@ import "./chunk-3R73A4XB.js";
|
|
|
24
26
|
export {
|
|
25
27
|
verifyTool
|
|
26
28
|
};
|
|
27
|
-
//# sourceMappingURL=verify-
|
|
29
|
+
//# sourceMappingURL=verify-FWYGPKMR.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
webFetchToolSurface
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-2CU2H6KE.js";
|
|
5
|
+
import "./chunk-5B2AEOW5.js";
|
|
5
6
|
import {
|
|
6
7
|
truncateUtf8
|
|
7
8
|
} from "./chunk-6XLNIQDB.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-K6BSR66V.js";
|
|
9
|
+
import "./chunk-4NSRCOYP.js";
|
|
10
10
|
import {
|
|
11
11
|
init_esm_shims
|
|
12
12
|
} from "./chunk-3R73A4XB.js";
|
|
@@ -634,4 +634,4 @@ ${truncate(preview, ERROR_PREVIEW_BYTES)}` : ""}`
|
|
|
634
634
|
export {
|
|
635
635
|
webFetchTool
|
|
636
636
|
};
|
|
637
|
-
//# sourceMappingURL=web-fetch-
|
|
637
|
+
//# sourceMappingURL=web-fetch-V4FKSDAV.js.map
|