@jaimevalasek/aioson 1.33.1 → 1.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/docs/en/1-understand/ecosystem-map.md +45 -29
  3. package/docs/en/1-understand/glossary.md +5 -5
  4. package/docs/en/1-understand/what-is-aioson.md +5 -5
  5. package/docs/en/2-start/existing-project.md +7 -7
  6. package/docs/en/2-start/first-project.md +32 -38
  7. package/docs/en/2-start/initial-decisions.md +18 -17
  8. package/docs/en/3-recipes/README.md +2 -2
  9. package/docs/en/3-recipes/continuity-between-sessions.md +2 -2
  10. package/docs/en/3-recipes/from-idea-to-prd-via-briefing.md +5 -2
  11. package/docs/en/3-recipes/full-feature-with-sheldon.md +327 -338
  12. package/docs/en/4-agents/README.md +28 -14
  13. package/docs/en/4-agents/discovery-design-doc.md +20 -8
  14. package/docs/en/4-agents/forge-run.md +3 -2
  15. package/docs/en/5-reference/cli-reference.md +51 -48
  16. package/docs/en/5-reference/executable-verification.md +10 -7
  17. package/docs/en/5-reference/parallel.md +2 -0
  18. package/docs/en/5-reference/qa-browser.md +2 -2
  19. package/docs/en/README.md +3 -3
  20. package/docs/pt/1-entender/glossario.md +4 -4
  21. package/docs/pt/1-entender/mapa-do-ecossistema.md +32 -21
  22. package/docs/pt/2-comecar/decisoes-iniciais.md +16 -16
  23. package/docs/pt/2-comecar/primeiro-projeto.md +1 -1
  24. package/docs/pt/3-receitas/README.md +1 -1
  25. package/docs/pt/3-receitas/app-saas-do-zero.md +35 -122
  26. package/docs/pt/3-receitas/feature-completa-com-sheldon.md +289 -338
  27. package/docs/pt/4-agentes/analyst.md +9 -5
  28. package/docs/pt/4-agentes/architect.md +9 -5
  29. package/docs/pt/4-agentes/dev.md +19 -7
  30. package/docs/pt/4-agentes/discovery-design-doc.md +25 -23
  31. package/docs/pt/4-agentes/orchestrator.md +164 -118
  32. package/docs/pt/4-agentes/pentester.md +5 -5
  33. package/docs/pt/4-agentes/pm.md +15 -7
  34. package/docs/pt/4-agentes/sheldon.md +166 -99
  35. package/docs/pt/4-agentes/ux-ui.md +7 -4
  36. package/docs/pt/5-referencia/agent-chain-continuity.md +14 -5
  37. package/docs/pt/5-referencia/sdd-automation-scripts.md +6 -6
  38. package/docs/pt/5-referencia/sdd-framework.md +53 -16
  39. package/docs/pt/5-referencia/sdd-planos-e-estrutura.md +27 -15
  40. package/docs/pt/README.md +4 -4
  41. package/docs/pt/agentes.md +48 -50
  42. package/package.json +2 -2
  43. package/src/artifact-kinds.js +110 -0
  44. package/src/cli.js +103 -80
  45. package/src/commands/agent-epilogue.js +251 -186
  46. package/src/commands/agents.js +104 -48
  47. package/src/commands/audit-code.js +344 -0
  48. package/src/commands/classify.js +389 -389
  49. package/src/commands/feature-close.js +43 -18
  50. package/src/commands/harness-check.js +259 -175
  51. package/src/commands/live.js +24 -0
  52. package/src/commands/review-feature.js +189 -0
  53. package/src/commands/runtime.js +81 -66
  54. package/src/commands/sync-agents-copy.js +115 -0
  55. package/src/commands/verification-plan.js +116 -0
  56. package/src/commands/verify-artifact.js +530 -0
  57. package/src/commands/workflow-execute.js +309 -309
  58. package/src/commands/workflow-next.js +139 -10
  59. package/src/commands/workflow-plan.js +5 -5
  60. package/src/constants.js +2 -0
  61. package/src/gateway-pointer-merge.js +7 -1
  62. package/src/handoff-contract.js +267 -172
  63. package/src/harness/contract-integrity-gate.js +172 -0
  64. package/src/harness/contract-integrity.js +111 -0
  65. package/src/harness/contract-schema.js +377 -332
  66. package/src/harness/detect-runtime-feature.js +90 -0
  67. package/src/harness/static-criteria.js +192 -0
  68. package/src/i18n/messages/en.js +8 -4
  69. package/src/i18n/messages/es.js +8 -4
  70. package/src/i18n/messages/fr.js +8 -4
  71. package/src/i18n/messages/pt-BR.js +8 -4
  72. package/src/install-wizard.js +8 -8
  73. package/src/installer.js +13 -6
  74. package/src/parser.js +6 -0
  75. package/src/preflight-engine.js +12 -12
  76. package/src/verification/policy-engine.js +95 -95
  77. package/src/verification-policy.js +398 -0
  78. package/src/version.js +52 -1
  79. package/template/.aioson/agents/architect.md +34 -5
  80. package/template/.aioson/agents/briefing-refiner.md +4 -1
  81. package/template/.aioson/agents/committer.md +2 -1
  82. package/template/.aioson/agents/copywriter.md +30 -21
  83. package/template/.aioson/agents/design-hybrid-forge.md +10 -1
  84. package/template/.aioson/agents/dev.md +27 -22
  85. package/template/.aioson/agents/discover.md +12 -3
  86. package/template/.aioson/agents/discovery-design-doc.md +7 -2
  87. package/template/.aioson/agents/genome.md +19 -10
  88. package/template/.aioson/agents/neo.md +30 -30
  89. package/template/.aioson/agents/orache.md +20 -11
  90. package/template/.aioson/agents/orchestrator.md +84 -7
  91. package/template/.aioson/agents/pm.md +8 -8
  92. package/template/.aioson/agents/profiler-enricher.md +20 -11
  93. package/template/.aioson/agents/profiler-forge.md +20 -11
  94. package/template/.aioson/agents/profiler-researcher.md +20 -11
  95. package/template/.aioson/agents/qa.md +91 -30
  96. package/template/.aioson/agents/setup.md +12 -1
  97. package/template/.aioson/agents/sheldon.md +94 -12
  98. package/template/.aioson/agents/site-forge.md +11 -2
  99. package/template/.aioson/agents/squad.md +20 -5
  100. package/template/.aioson/agents/ux-ui.md +1 -0
  101. package/template/.aioson/agents/validator.md +33 -1
  102. package/template/.aioson/config/verification.json +61 -0
  103. package/template/.aioson/config.md +13 -9
  104. package/template/.aioson/docs/LAYERS.md +2 -2
  105. package/template/.aioson/docs/autopilot-handoff.md +10 -10
  106. package/template/.aioson/docs/dev/execution-discipline.md +41 -0
  107. package/template/.aioson/docs/dev/phase-loop.md +47 -0
  108. package/template/.aioson/docs/presets/workflow.config.full-merged.json +15 -0
  109. package/template/.aioson/docs/presets/workflow.config.lean.json +15 -0
  110. package/template/.aioson/docs/product/prd-contract.md +12 -12
  111. package/template/.aioson/docs/prototype-contract.md +21 -4
  112. package/template/.aioson/docs/reference-identity.md +94 -0
  113. package/template/.aioson/docs/sheldon/harness-contract.md +155 -28
  114. package/template/.aioson/docs/verification-config.md +82 -0
  115. package/template/.aioson/docs/verify-artifact-gates.md +91 -0
  116. package/template/.aioson/docs/workflow-lean-lane.md +129 -0
  117. package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +2 -0
  118. package/template/.aioson/skills/process/aioson-spec-driven/SKILL.md +16 -14
  119. package/template/.aioson/skills/process/aioson-spec-driven/references/approval-gates.md +2 -2
  120. package/template/.aioson/skills/process/aioson-spec-driven/references/classification-map.md +4 -4
  121. package/template/.aioson/skills/process/aioson-spec-driven/references/dev.md +15 -15
  122. package/template/.aioson/skills/process/prototype-forge/SKILL.md +6 -0
  123. package/template/.aioson/skills/process/reference-identity-extract/SKILL.md +164 -0
  124. package/template/.aioson/skills/static/multi-agent-patterns.md +5 -5
  125. package/template/CLAUDE.md +15 -11
package/src/cli.js CHANGED
@@ -54,6 +54,7 @@ const { runWebScrape } = require('./commands/web-scrape');
54
54
  const { runScanProject } = require('./commands/scan-project');
55
55
  const { runSecurityScan } = require('./commands/security-scan');
56
56
  const { runSecurityAudit } = require('./commands/security-audit');
57
+ const { runReviewFeature } = require('./commands/review-feature');
57
58
  const { runConfig } = require('./commands/config');
58
59
  const { runGenomeDoctor } = require('./commands/genome-doctor');
59
60
  const { runGenomeMigrate } = require('./commands/genome-migrate');
@@ -155,11 +156,11 @@ const { runSandboxExec } = require('./commands/sandbox');
155
156
  const { runAgentLoad, runAgentShardIndex } = require('./commands/agent-loader');
156
157
  const { runLearningEvolve, runLearningApply } = require('./commands/learning-evolve');
157
158
  const { runLearningRollback } = require('./commands/learning-rollback');
158
- const { runToolRegistry } = require('./commands/tool-registry-cmd');
159
- const { runHealth } = require('./commands/health');
160
- const { runContextHealth } = require('./commands/context-health');
161
- const { runHygieneScan } = require('./commands/hygiene-scan');
162
- const { runContextTrim } = require('./commands/context-trim');
159
+ const { runToolRegistry } = require('./commands/tool-registry-cmd');
160
+ const { runHealth } = require('./commands/health');
161
+ const { runContextHealth } = require('./commands/context-health');
162
+ const { runHygieneScan } = require('./commands/hygiene-scan');
163
+ const { runContextTrim } = require('./commands/context-trim');
163
164
  const { runHooksEmit } = require('./commands/hooks-emit');
164
165
  const { runHooksInstall, runHooksUninstall } = require('./commands/hooks-install');
165
166
  const { runSessionGuard } = require('./commands/session-guard');
@@ -183,11 +184,12 @@ const { runRunnerRun } = require('./commands/runner-run');
183
184
  const { runRunnerQueue } = require('./commands/runner-queue');
184
185
  const { runRunnerPlan } = require('./commands/runner-plan');
185
186
  const { runRunnerDaemon } = require('./commands/runner-daemon');
186
- const { runPreflight } = require('./commands/preflight');
187
- const { runClassify } = require('./commands/classify');
188
- const { runPrototypeCheck } = require('./commands/prototype-check');
189
- const { runVerifyImplementation } = require('./commands/verify-implementation');
190
- const { runSizing } = require('./commands/sizing');
187
+ const { runPreflight } = require('./commands/preflight');
188
+ const { runClassify } = require('./commands/classify');
189
+ const { runPrototypeCheck } = require('./commands/prototype-check');
190
+ const { runVerifyImplementation } = require('./commands/verify-implementation');
191
+ const { runVerificationPlan } = require('./commands/verification-plan');
192
+ const { runSizing } = require('./commands/sizing');
191
193
  const { runDetectTestRunner } = require('./commands/detect-test-runner');
192
194
  const { runPulseUpdate } = require('./commands/pulse-update');
193
195
  const { runAgentEpilogue } = require('./commands/agent-epilogue');
@@ -208,10 +210,10 @@ const { runDossierInit, runDossierShow, runDossierAddFinding, runDossierAddCodem
208
210
  const { runDossierAddResearch } = require('./commands/dossier-add-research');
209
211
  const { runDossierAudit } = require('./commands/dossier-audit');
210
212
  const { runDevResumeData } = require('./commands/dev-resume');
211
- const { runRevisionOpen, runRevisionList, runRevisionResolve } = require('./commands/revision');
212
- const { runAcTestAudit } = require('./commands/ac-test-audit');
213
- const { runSddBenchmark } = require('./commands/sdd-benchmark');
214
- const { runGateCheck } = require('./commands/gate-check');
213
+ const { runRevisionOpen, runRevisionList, runRevisionResolve } = require('./commands/revision');
214
+ const { runAcTestAudit } = require('./commands/ac-test-audit');
215
+ const { runSddBenchmark } = require('./commands/sdd-benchmark');
216
+ const { runGateCheck } = require('./commands/gate-check');
215
217
  const { runGateApprove } = require('./commands/gate-approve');
216
218
  const { runArtifactValidate } = require('./commands/artifact-validate');
217
219
  const { runWorkflowExecute } = require('./commands/workflow-execute');
@@ -292,12 +294,12 @@ const JSON_SUPPORTED_COMMANDS = new Set([
292
294
  'workflow-status',
293
295
  'feature:current',
294
296
  'feature-current',
295
- 'harness:retro',
296
- 'harness-retro',
297
- 'harness:retro-promote',
298
- 'harness-retro-promote',
299
- 'harness:preview',
300
- 'harness-preview',
297
+ 'harness:retro',
298
+ 'harness-retro',
299
+ 'harness:retro-promote',
300
+ 'harness-retro-promote',
301
+ 'harness:preview',
302
+ 'harness-preview',
301
303
  'agent:next',
302
304
  'agent-next',
303
305
  'parallel:init',
@@ -348,6 +350,12 @@ const JSON_SUPPORTED_COMMANDS = new Set([
348
350
  'security-scan',
349
351
  'security:audit',
350
352
  'security-audit',
353
+ 'audit:code',
354
+ 'audit-code',
355
+ 'verify:artifact',
356
+ 'verify-artifact',
357
+ 'review:feature',
358
+ 'review-feature',
351
359
  'config',
352
360
  'genome:doctor',
353
361
  'genome-doctor',
@@ -437,12 +445,12 @@ const JSON_SUPPORTED_COMMANDS = new Set([
437
445
  'harness-status',
438
446
  'harness:check',
439
447
  'harness-check',
440
- 'harness:retro',
441
- 'harness-retro',
442
- 'harness:retro-promote',
443
- 'harness-retro-promote',
444
- 'harness:preview',
445
- 'harness-preview',
448
+ 'harness:retro',
449
+ 'harness-retro',
450
+ 'harness:retro-promote',
451
+ 'harness-retro-promote',
452
+ 'harness:preview',
453
+ 'harness-preview',
446
454
  'brief-gen',
447
455
  'verify:gate',
448
456
  'verify-gate',
@@ -617,11 +625,11 @@ const JSON_SUPPORTED_COMMANDS = new Set([
617
625
  'recovery-show',
618
626
  'context:monitor',
619
627
  'context-monitor',
620
- 'context:health',
621
- 'context-health',
622
- 'hygiene:scan',
623
- 'hygiene-scan',
624
- 'context:trim',
628
+ 'context:health',
629
+ 'context-health',
630
+ 'hygiene:scan',
631
+ 'hygiene-scan',
632
+ 'context:trim',
625
633
  'context-trim',
626
634
  'context:search',
627
635
  'context-search',
@@ -655,12 +663,14 @@ const JSON_SUPPORTED_COMMANDS = new Set([
655
663
  '--version',
656
664
  '-v',
657
665
  'preflight',
658
- 'classify',
659
- 'prototype:check',
660
- 'prototype-check',
661
- 'verify:implementation',
662
- 'verify-implementation',
663
- 'sizing',
666
+ 'classify',
667
+ 'prototype:check',
668
+ 'prototype-check',
669
+ 'verify:implementation',
670
+ 'verify-implementation',
671
+ 'verification:plan',
672
+ 'verification-plan',
673
+ 'sizing',
664
674
  'detect:test-runner',
665
675
  'detect-test-runner',
666
676
  'pulse:update',
@@ -719,13 +729,13 @@ const JSON_SUPPORTED_COMMANDS = new Set([
719
729
  'revision-open',
720
730
  'revision:list',
721
731
  'revision-list',
722
- 'revision:resolve',
723
- 'revision-resolve',
724
- 'ac:test-audit',
725
- 'ac-test-audit',
726
- 'sdd:benchmark',
727
- 'sdd-benchmark',
728
- 'gate:check',
732
+ 'revision:resolve',
733
+ 'revision-resolve',
734
+ 'ac:test-audit',
735
+ 'ac-test-audit',
736
+ 'sdd:benchmark',
737
+ 'sdd-benchmark',
738
+ 'gate:check',
729
739
  'gate-check',
730
740
  'gate:approve',
731
741
  'gate-approve',
@@ -842,10 +852,10 @@ function printHelp(t, logger) {
842
852
  logHelpLine(t, logger, 'cli.help_install');
843
853
  logHelpLine(t, logger, 'cli.help_setup');
844
854
  logHelpLine(t, logger, 'cli.help_update');
845
- logHelpLine(t, logger, 'cli.help_info');
846
- logHelpLine(t, logger, 'cli.help_doctor');
847
- logHelpLine(t, logger, 'cli.help_hygiene_scan');
848
- logHelpLine(t, logger, 'cli.help_i18n_add');
855
+ logHelpLine(t, logger, 'cli.help_info');
856
+ logHelpLine(t, logger, 'cli.help_doctor');
857
+ logHelpLine(t, logger, 'cli.help_hygiene_scan');
858
+ logHelpLine(t, logger, 'cli.help_i18n_add');
849
859
  logHelpLine(t, logger, 'cli.help_agents');
850
860
  logHelpLine(t, logger, 'cli.help_agent_prompt');
851
861
  logHelpLine(t, logger, 'cli.help_agent_help');
@@ -875,6 +885,7 @@ function printHelp(t, logger) {
875
885
  logHelpLine(t, logger, 'cli.help_workflow_status');
876
886
  logHelpLine(t, logger, 'cli.help_workflow_execute');
877
887
  logHelpLine(t, logger, 'cli.help_review_cycle');
888
+ logHelpLine(t, logger, 'cli.help_review_feature');
878
889
  logHelpLine(t, logger, 'cli.help_parallel_init');
879
890
  logHelpLine(t, logger, 'cli.help_parallel_doctor');
880
891
  logHelpLine(t, logger, 'cli.help_parallel_assign');
@@ -891,6 +902,7 @@ function printHelp(t, logger) {
891
902
  logHelpLine(t, logger, 'cli.help_harness_check');
892
903
  logHelpLine(t, logger, 'cli.help_harness_retro');
893
904
  logHelpLine(t, logger, 'cli.help_harness_preview');
905
+ logHelpLine(t, logger, 'cli.help_verification_plan');
894
906
  logHelpLine(t, logger, 'cli.help_web_map');
895
907
  logHelpLine(t, logger, 'cli.help_web_scrape');
896
908
  logHelpLine(t, logger, 'cli.help_scan_project');
@@ -1068,12 +1080,13 @@ async function main() {
1068
1080
  const silentLogger = createSilentLogger();
1069
1081
 
1070
1082
  if (command === '--version' || command === '-v' || command === 'version' || options.version) {
1071
- const { getCliVersionSync } = require('./version');
1083
+ const { getCliVersionSync, getGitBuildInfoSync, getCliVersionLabelSync } = require('./version');
1072
1084
  const version = getCliVersionSync();
1085
+ const git = getGitBuildInfoSync();
1073
1086
  if (jsonMode) {
1074
- writeJson({ ok: true, version });
1087
+ writeJson({ ok: true, version, git_sha: git ? git.sha : null, git_date: git ? git.date : null });
1075
1088
  } else {
1076
- logger.log(`aioson ${version}`);
1089
+ logger.log(`aioson ${getCliVersionLabelSync()}`);
1077
1090
  }
1078
1091
  return;
1079
1092
  }
@@ -1260,6 +1273,14 @@ async function main() {
1260
1273
  result = await runSecurityScan({ args, options, logger: commandLogger, t });
1261
1274
  } else if (command === 'security:audit' || command === 'security-audit') {
1262
1275
  result = await runSecurityAudit({ args, options, logger: commandLogger, t });
1276
+ } else if (command === 'audit:code' || command === 'audit-code') {
1277
+ const { runAuditCode } = require('./commands/audit-code');
1278
+ result = await runAuditCode({ args, options, logger: commandLogger, t });
1279
+ } else if (command === 'verify:artifact' || command === 'verify-artifact') {
1280
+ const { runVerifyArtifact } = require('./commands/verify-artifact');
1281
+ result = await runVerifyArtifact({ args, options, logger: commandLogger, t });
1282
+ } else if (command === 'review:feature' || command === 'review-feature') {
1283
+ result = await runReviewFeature({ args, options, logger: commandLogger, t });
1263
1284
  } else if (command === 'config') {
1264
1285
  result = await runConfig({ args, options, logger: commandLogger, t });
1265
1286
  } else if (command === 'genome:doctor' || command === 'genome-doctor') {
@@ -1356,15 +1377,15 @@ async function main() {
1356
1377
  } else if (command === 'harness:check' || command === 'harness-check') {
1357
1378
  const { runHarnessCheck } = require('./commands/harness-check');
1358
1379
  result = await runHarnessCheck({ args, options, logger: commandLogger, t });
1359
- } else if (command === 'harness:retro' || command === 'harness-retro') {
1360
- const { runHarnessRetro } = require('./commands/harness-retro');
1361
- result = await runHarnessRetro({ args, options, logger: commandLogger, t });
1362
- } else if (command === 'harness:retro-promote' || command === 'harness-retro-promote') {
1363
- const { runHarnessRetroPromote } = require('./commands/harness-retro-promote');
1364
- result = await runHarnessRetroPromote({ args, options, logger: commandLogger, t });
1365
- } else if (command === 'harness:preview' || command === 'harness-preview') {
1366
- const { runHarnessPreview } = require('./commands/harness-preview');
1367
- result = await runHarnessPreview({ args, options, logger: commandLogger, t });
1380
+ } else if (command === 'harness:retro' || command === 'harness-retro') {
1381
+ const { runHarnessRetro } = require('./commands/harness-retro');
1382
+ result = await runHarnessRetro({ args, options, logger: commandLogger, t });
1383
+ } else if (command === 'harness:retro-promote' || command === 'harness-retro-promote') {
1384
+ const { runHarnessRetroPromote } = require('./commands/harness-retro-promote');
1385
+ result = await runHarnessRetroPromote({ args, options, logger: commandLogger, t });
1386
+ } else if (command === 'harness:preview' || command === 'harness-preview') {
1387
+ const { runHarnessPreview } = require('./commands/harness-preview');
1388
+ result = await runHarnessPreview({ args, options, logger: commandLogger, t });
1368
1389
  } else if (command === 'verify:gate' || command === 'verify-gate') {
1369
1390
  result = await runVerifyGate({ args, options, logger: commandLogger, t });
1370
1391
 
@@ -1553,12 +1574,12 @@ async function main() {
1553
1574
  result = await runRecoveryShow({ args, options, logger: commandLogger, t });
1554
1575
  } else if (command === 'context:monitor' || command === 'context-monitor') {
1555
1576
  result = await runContextMonitor({ args, options, logger: commandLogger, t });
1556
- } else if (command === 'context:health' || command === 'context-health') {
1557
- result = await runContextHealth({ args, options, logger: commandLogger });
1558
- } else if (command === 'hygiene:scan' || command === 'hygiene-scan') {
1559
- result = await runHygieneScan({ args, options, logger: commandLogger });
1560
- } else if (command === 'context:trim' || command === 'context-trim') {
1561
- result = await runContextTrim({ args, options, logger: commandLogger });
1577
+ } else if (command === 'context:health' || command === 'context-health') {
1578
+ result = await runContextHealth({ args, options, logger: commandLogger });
1579
+ } else if (command === 'hygiene:scan' || command === 'hygiene-scan') {
1580
+ result = await runHygieneScan({ args, options, logger: commandLogger });
1581
+ } else if (command === 'context:trim' || command === 'context-trim') {
1582
+ result = await runContextTrim({ args, options, logger: commandLogger });
1562
1583
  } else if (command === 'context:search' || command === 'context-search') {
1563
1584
  result = await runContextSearch({ args, options, logger: commandLogger, t });
1564
1585
  } else if (
@@ -1601,12 +1622,14 @@ async function main() {
1601
1622
  result = await runPreflight({ args, options, logger: commandLogger });
1602
1623
  } else if (command === 'classify') {
1603
1624
  result = await runClassify({ args, options, logger: commandLogger });
1604
- } else if (command === 'prototype:check' || command === 'prototype-check') {
1605
- result = await runPrototypeCheck({ args, options, logger: commandLogger });
1606
- } else if (command === 'verify:implementation' || command === 'verify-implementation') {
1607
- result = await runVerifyImplementation({ args, options, logger: commandLogger });
1608
- } else if (command === 'sizing') {
1609
- result = await runSizing({ args, options, logger: commandLogger });
1625
+ } else if (command === 'verification:plan' || command === 'verification-plan') {
1626
+ result = await runVerificationPlan({ args, options, logger: commandLogger });
1627
+ } else if (command === 'prototype:check' || command === 'prototype-check') {
1628
+ result = await runPrototypeCheck({ args, options, logger: commandLogger });
1629
+ } else if (command === 'verify:implementation' || command === 'verify-implementation') {
1630
+ result = await runVerifyImplementation({ args, options, logger: commandLogger });
1631
+ } else if (command === 'sizing') {
1632
+ result = await runSizing({ args, options, logger: commandLogger });
1610
1633
  } else if (command === 'detect:test-runner' || command === 'detect-test-runner') {
1611
1634
  result = await runDetectTestRunner({ args, options, logger: commandLogger });
1612
1635
  } else if (command === 'pulse:update' || command === 'pulse-update') {
@@ -1674,14 +1697,14 @@ async function main() {
1674
1697
  result = await runRevisionOpen({ args, options, logger: commandLogger });
1675
1698
  } else if (command === 'revision:list' || command === 'revision-list') {
1676
1699
  result = await runRevisionList({ args, options, logger: commandLogger });
1677
- } else if (command === 'revision:resolve' || command === 'revision-resolve') {
1678
- result = await runRevisionResolve({ args, options, logger: commandLogger });
1679
- } else if (command === 'ac:test-audit' || command === 'ac-test-audit') {
1680
- result = await runAcTestAudit({ args, options, logger: commandLogger });
1681
- } else if (command === 'sdd:benchmark' || command === 'sdd-benchmark') {
1682
- result = await runSddBenchmark({ args, options, logger: commandLogger });
1683
- } else if (command === 'gate:check' || command === 'gate-check') {
1684
- result = await runGateCheck({ args, options, logger: commandLogger });
1700
+ } else if (command === 'revision:resolve' || command === 'revision-resolve') {
1701
+ result = await runRevisionResolve({ args, options, logger: commandLogger });
1702
+ } else if (command === 'ac:test-audit' || command === 'ac-test-audit') {
1703
+ result = await runAcTestAudit({ args, options, logger: commandLogger });
1704
+ } else if (command === 'sdd:benchmark' || command === 'sdd-benchmark') {
1705
+ result = await runSddBenchmark({ args, options, logger: commandLogger });
1706
+ } else if (command === 'gate:check' || command === 'gate-check') {
1707
+ result = await runGateCheck({ args, options, logger: commandLogger });
1685
1708
  } else if (command === 'gate:approve' || command === 'gate-approve') {
1686
1709
  result = await runGateApprove({ args, options, logger: commandLogger });
1687
1710
  } else if (command === 'artifact:validate' || command === 'artifact-validate') {