@jaimevalasek/aioson 1.33.1 → 1.37.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 (162) hide show
  1. package/CHANGELOG.md +76 -0
  2. package/docs/en/1-understand/ecosystem-map.md +45 -29
  3. package/docs/en/1-understand/glossary.md +6 -6
  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 +33 -39
  7. package/docs/en/2-start/initial-decisions.md +22 -19
  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 +13 -3
  11. package/docs/en/3-recipes/full-feature-with-sheldon.md +329 -338
  12. package/docs/en/4-agents/README.md +33 -16
  13. package/docs/en/4-agents/briefing-refiner.md +146 -0
  14. package/docs/en/4-agents/discovery-design-doc.md +20 -8
  15. package/docs/en/4-agents/forge-run.md +3 -2
  16. package/docs/en/5-reference/README.md +1 -0
  17. package/docs/en/5-reference/autopilot-handoff.md +286 -0
  18. package/docs/en/5-reference/cli-reference.md +57 -48
  19. package/docs/en/5-reference/executable-verification.md +10 -7
  20. package/docs/en/5-reference/parallel.md +2 -0
  21. package/docs/en/5-reference/qa-browser.md +2 -2
  22. package/docs/en/README.md +3 -3
  23. package/docs/pt/1-entender/glossario.md +5 -5
  24. package/docs/pt/1-entender/mapa-do-ecossistema.md +33 -22
  25. package/docs/pt/2-comecar/decisoes-iniciais.md +20 -18
  26. package/docs/pt/2-comecar/primeiro-projeto.md +2 -2
  27. package/docs/pt/3-receitas/README.md +1 -1
  28. package/docs/pt/3-receitas/app-saas-do-zero.md +35 -122
  29. package/docs/pt/3-receitas/da-ideia-ao-prd-via-briefing.md +8 -1
  30. package/docs/pt/3-receitas/feature-completa-com-sheldon.md +291 -338
  31. package/docs/pt/4-agentes/README.md +13 -11
  32. package/docs/pt/4-agentes/analyst.md +9 -5
  33. package/docs/pt/4-agentes/architect.md +9 -5
  34. package/docs/pt/4-agentes/briefing-refiner.md +64 -40
  35. package/docs/pt/4-agentes/briefing.md +6 -1
  36. package/docs/pt/4-agentes/dev.md +38 -8
  37. package/docs/pt/4-agentes/deyvin.md +4 -0
  38. package/docs/pt/4-agentes/discover.md +4 -0
  39. package/docs/pt/4-agentes/discovery-design-doc.md +25 -23
  40. package/docs/pt/4-agentes/neo.md +4 -0
  41. package/docs/pt/4-agentes/orache.md +6 -0
  42. package/docs/pt/4-agentes/orchestrator.md +176 -118
  43. package/docs/pt/4-agentes/pentester.md +11 -5
  44. package/docs/pt/4-agentes/pm.md +15 -7
  45. package/docs/pt/4-agentes/product.md +19 -1
  46. package/docs/pt/4-agentes/qa.md +10 -2
  47. package/docs/pt/4-agentes/setup.md +3 -1
  48. package/docs/pt/4-agentes/sheldon.md +178 -99
  49. package/docs/pt/4-agentes/tester.md +6 -0
  50. package/docs/pt/4-agentes/ux-ui.md +9 -5
  51. package/docs/pt/5-referencia/README.md +1 -1
  52. package/docs/pt/5-referencia/agent-chain-continuity.md +14 -5
  53. package/docs/pt/5-referencia/autopilot-handoff.md +191 -74
  54. package/docs/pt/5-referencia/comandos-cli.md +16 -7
  55. package/docs/pt/5-referencia/sdd-automation-scripts.md +6 -6
  56. package/docs/pt/5-referencia/sdd-framework.md +53 -16
  57. package/docs/pt/5-referencia/sdd-planos-e-estrutura.md +27 -15
  58. package/docs/pt/5-referencia/skills.md +2 -0
  59. package/docs/pt/README.md +4 -4
  60. package/docs/pt/agentes.md +50 -50
  61. package/package.json +2 -2
  62. package/src/agents.js +1 -1
  63. package/src/artifact-kinds.js +111 -0
  64. package/src/autopilot-signal.js +71 -0
  65. package/src/cli.js +112 -81
  66. package/src/commands/agent-epilogue.js +251 -186
  67. package/src/commands/agents.js +122 -50
  68. package/src/commands/audit-code.js +344 -0
  69. package/src/commands/briefing.js +337 -1
  70. package/src/commands/classify.js +389 -389
  71. package/src/commands/feature-close.js +122 -4
  72. package/src/commands/harness-check.js +259 -175
  73. package/src/commands/live.js +71 -11
  74. package/src/commands/review-feature.js +189 -0
  75. package/src/commands/runtime.js +81 -66
  76. package/src/commands/sync-agents-copy.js +115 -0
  77. package/src/commands/update.js +5 -1
  78. package/src/commands/verification-plan.js +143 -0
  79. package/src/commands/verify-artifact.js +593 -0
  80. package/src/commands/workflow-execute.js +434 -316
  81. package/src/commands/workflow-next.js +193 -20
  82. package/src/commands/workflow-plan.js +5 -5
  83. package/src/constants.js +2 -0
  84. package/src/doctor.js +4 -2
  85. package/src/gateway-pointer-merge.js +7 -1
  86. package/src/handoff-contract.js +267 -172
  87. package/src/harness/contract-integrity-gate.js +172 -0
  88. package/src/harness/contract-integrity.js +111 -0
  89. package/src/harness/contract-schema.js +377 -332
  90. package/src/harness/detect-runtime-feature.js +90 -0
  91. package/src/harness/static-criteria.js +192 -0
  92. package/src/i18n/messages/en.js +10 -5
  93. package/src/i18n/messages/es.js +10 -5
  94. package/src/i18n/messages/fr.js +10 -5
  95. package/src/i18n/messages/pt-BR.js +10 -5
  96. package/src/install-wizard.js +8 -8
  97. package/src/installer.js +13 -6
  98. package/src/lib/briefing-refiner/apply-feedback.js +18 -4
  99. package/src/lib/briefing-refiner/feedback-schema.js +73 -4
  100. package/src/lib/briefing-refiner/refinement-report.js +11 -0
  101. package/src/lib/briefing-refiner/review-html.js +388 -68
  102. package/src/parser.js +12 -0
  103. package/src/preflight-engine.js +12 -12
  104. package/src/verification/policy-engine.js +95 -95
  105. package/src/verification-policy.js +398 -0
  106. package/src/version.js +52 -1
  107. package/template/.aioson/agents/architect.md +34 -5
  108. package/template/.aioson/agents/briefing-refiner.md +91 -48
  109. package/template/.aioson/agents/briefing.md +4 -0
  110. package/template/.aioson/agents/committer.md +2 -1
  111. package/template/.aioson/agents/copywriter.md +30 -21
  112. package/template/.aioson/agents/design-hybrid-forge.md +10 -1
  113. package/template/.aioson/agents/dev.md +35 -23
  114. package/template/.aioson/agents/deyvin.md +4 -0
  115. package/template/.aioson/agents/discover.md +16 -3
  116. package/template/.aioson/agents/discovery-design-doc.md +7 -2
  117. package/template/.aioson/agents/genome.md +19 -10
  118. package/template/.aioson/agents/neo.md +34 -30
  119. package/template/.aioson/agents/orache.md +24 -11
  120. package/template/.aioson/agents/orchestrator.md +100 -7
  121. package/template/.aioson/agents/pentester.md +4 -0
  122. package/template/.aioson/agents/pm.md +8 -8
  123. package/template/.aioson/agents/product.md +25 -1
  124. package/template/.aioson/agents/profiler-enricher.md +20 -11
  125. package/template/.aioson/agents/profiler-forge.md +20 -11
  126. package/template/.aioson/agents/profiler-researcher.md +20 -11
  127. package/template/.aioson/agents/qa.md +96 -31
  128. package/template/.aioson/agents/setup.md +12 -1
  129. package/template/.aioson/agents/sheldon.md +103 -13
  130. package/template/.aioson/agents/site-forge.md +11 -2
  131. package/template/.aioson/agents/squad.md +20 -5
  132. package/template/.aioson/agents/tester.md +4 -0
  133. package/template/.aioson/agents/ux-ui.md +2 -1
  134. package/template/.aioson/agents/validator.md +33 -1
  135. package/template/.aioson/config/verification.json +61 -0
  136. package/template/.aioson/config.md +13 -9
  137. package/template/.aioson/docs/LAYERS.md +2 -2
  138. package/template/.aioson/docs/agent-help.md +126 -0
  139. package/template/.aioson/docs/autopilot-handoff.md +30 -20
  140. package/template/.aioson/docs/dev/execution-discipline.md +41 -0
  141. package/template/.aioson/docs/dev/phase-loop.md +50 -0
  142. package/template/.aioson/docs/play/llm-data-and-bindings.md +70 -7
  143. package/template/.aioson/docs/presets/workflow.config.full-merged.json +15 -0
  144. package/template/.aioson/docs/presets/workflow.config.lean.json +15 -0
  145. package/template/.aioson/docs/product/prd-contract.md +12 -12
  146. package/template/.aioson/docs/prototype-contract.md +21 -4
  147. package/template/.aioson/docs/reference-identity.md +94 -0
  148. package/template/.aioson/docs/sheldon/harness-contract.md +155 -28
  149. package/template/.aioson/docs/verification-config.md +82 -0
  150. package/template/.aioson/docs/verify-artifact-gates.md +91 -0
  151. package/template/.aioson/docs/workflow-lean-lane.md +129 -0
  152. package/template/.aioson/skills/design/interface-design/SKILL.md +17 -0
  153. package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +2 -0
  154. package/template/.aioson/skills/process/aioson-spec-driven/SKILL.md +16 -14
  155. package/template/.aioson/skills/process/aioson-spec-driven/references/approval-gates.md +2 -2
  156. package/template/.aioson/skills/process/aioson-spec-driven/references/classification-map.md +4 -4
  157. package/template/.aioson/skills/process/aioson-spec-driven/references/dev.md +15 -15
  158. package/template/.aioson/skills/process/prototype-forge/SKILL.md +6 -0
  159. package/template/.aioson/skills/process/reference-identity-extract/SKILL.md +164 -0
  160. package/template/.aioson/skills/static/multi-agent-patterns.md +5 -5
  161. package/template/AGENTS.md +36 -36
  162. 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');
@@ -235,7 +237,7 @@ const { runGenomePublish, runGenomeInstallStore, runGenomeInstall, runGenomeList
235
237
  const { runSkillPublish, runSkillInstallStore, runSkillListRemote } = require('./commands/store-skill');
236
238
  const { runSquadPublish, runSquadInstall, runSquadGrant, runSquadList } = require('./commands/store-squad');
237
239
  const { runSystemPackage, runSystemPublish, runSystemList, runSystemInstall } = require('./commands/store-system');
238
- const { runBriefingApprove, runBriefingUnapprove } = require('./commands/briefing');
240
+ const { runBriefingApprove, runBriefingUnapprove, runBriefingReview, runBriefingApplyFeedback } = require('./commands/briefing');
239
241
  const { runCompressAgents } = require('./commands/compress-agents');
240
242
 
241
243
  const JSON_SUPPORTED_COMMANDS = new Set([
@@ -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,16 @@ 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
+ 'briefing:review',
358
+ 'briefing-review',
359
+ 'briefing:apply-feedback',
360
+ 'briefing-apply-feedback',
361
+ 'review:feature',
362
+ 'review-feature',
351
363
  'config',
352
364
  'genome:doctor',
353
365
  'genome-doctor',
@@ -437,12 +449,12 @@ const JSON_SUPPORTED_COMMANDS = new Set([
437
449
  'harness-status',
438
450
  'harness:check',
439
451
  'harness-check',
440
- 'harness:retro',
441
- 'harness-retro',
442
- 'harness:retro-promote',
443
- 'harness-retro-promote',
444
- 'harness:preview',
445
- 'harness-preview',
452
+ 'harness:retro',
453
+ 'harness-retro',
454
+ 'harness:retro-promote',
455
+ 'harness-retro-promote',
456
+ 'harness:preview',
457
+ 'harness-preview',
446
458
  'brief-gen',
447
459
  'verify:gate',
448
460
  'verify-gate',
@@ -617,11 +629,11 @@ const JSON_SUPPORTED_COMMANDS = new Set([
617
629
  'recovery-show',
618
630
  'context:monitor',
619
631
  'context-monitor',
620
- 'context:health',
621
- 'context-health',
622
- 'hygiene:scan',
623
- 'hygiene-scan',
624
- 'context:trim',
632
+ 'context:health',
633
+ 'context-health',
634
+ 'hygiene:scan',
635
+ 'hygiene-scan',
636
+ 'context:trim',
625
637
  'context-trim',
626
638
  'context:search',
627
639
  'context-search',
@@ -655,12 +667,14 @@ const JSON_SUPPORTED_COMMANDS = new Set([
655
667
  '--version',
656
668
  '-v',
657
669
  'preflight',
658
- 'classify',
659
- 'prototype:check',
660
- 'prototype-check',
661
- 'verify:implementation',
662
- 'verify-implementation',
663
- 'sizing',
670
+ 'classify',
671
+ 'prototype:check',
672
+ 'prototype-check',
673
+ 'verify:implementation',
674
+ 'verify-implementation',
675
+ 'verification:plan',
676
+ 'verification-plan',
677
+ 'sizing',
664
678
  'detect:test-runner',
665
679
  'detect-test-runner',
666
680
  'pulse:update',
@@ -719,13 +733,13 @@ const JSON_SUPPORTED_COMMANDS = new Set([
719
733
  'revision-open',
720
734
  'revision:list',
721
735
  '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',
736
+ 'revision:resolve',
737
+ 'revision-resolve',
738
+ 'ac:test-audit',
739
+ 'ac-test-audit',
740
+ 'sdd:benchmark',
741
+ 'sdd-benchmark',
742
+ 'gate:check',
729
743
  'gate-check',
730
744
  'gate:approve',
731
745
  'gate-approve',
@@ -842,10 +856,10 @@ function printHelp(t, logger) {
842
856
  logHelpLine(t, logger, 'cli.help_install');
843
857
  logHelpLine(t, logger, 'cli.help_setup');
844
858
  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');
859
+ logHelpLine(t, logger, 'cli.help_info');
860
+ logHelpLine(t, logger, 'cli.help_doctor');
861
+ logHelpLine(t, logger, 'cli.help_hygiene_scan');
862
+ logHelpLine(t, logger, 'cli.help_i18n_add');
849
863
  logHelpLine(t, logger, 'cli.help_agents');
850
864
  logHelpLine(t, logger, 'cli.help_agent_prompt');
851
865
  logHelpLine(t, logger, 'cli.help_agent_help');
@@ -875,6 +889,7 @@ function printHelp(t, logger) {
875
889
  logHelpLine(t, logger, 'cli.help_workflow_status');
876
890
  logHelpLine(t, logger, 'cli.help_workflow_execute');
877
891
  logHelpLine(t, logger, 'cli.help_review_cycle');
892
+ logHelpLine(t, logger, 'cli.help_review_feature');
878
893
  logHelpLine(t, logger, 'cli.help_parallel_init');
879
894
  logHelpLine(t, logger, 'cli.help_parallel_doctor');
880
895
  logHelpLine(t, logger, 'cli.help_parallel_assign');
@@ -891,6 +906,7 @@ function printHelp(t, logger) {
891
906
  logHelpLine(t, logger, 'cli.help_harness_check');
892
907
  logHelpLine(t, logger, 'cli.help_harness_retro');
893
908
  logHelpLine(t, logger, 'cli.help_harness_preview');
909
+ logHelpLine(t, logger, 'cli.help_verification_plan');
894
910
  logHelpLine(t, logger, 'cli.help_web_map');
895
911
  logHelpLine(t, logger, 'cli.help_web_scrape');
896
912
  logHelpLine(t, logger, 'cli.help_scan_project');
@@ -1068,12 +1084,13 @@ async function main() {
1068
1084
  const silentLogger = createSilentLogger();
1069
1085
 
1070
1086
  if (command === '--version' || command === '-v' || command === 'version' || options.version) {
1071
- const { getCliVersionSync } = require('./version');
1087
+ const { getCliVersionSync, getGitBuildInfoSync, getCliVersionLabelSync } = require('./version');
1072
1088
  const version = getCliVersionSync();
1089
+ const git = getGitBuildInfoSync();
1073
1090
  if (jsonMode) {
1074
- writeJson({ ok: true, version });
1091
+ writeJson({ ok: true, version, git_sha: git ? git.sha : null, git_date: git ? git.date : null });
1075
1092
  } else {
1076
- logger.log(`aioson ${version}`);
1093
+ logger.log(`aioson ${getCliVersionLabelSync()}`);
1077
1094
  }
1078
1095
  return;
1079
1096
  }
@@ -1260,6 +1277,14 @@ async function main() {
1260
1277
  result = await runSecurityScan({ args, options, logger: commandLogger, t });
1261
1278
  } else if (command === 'security:audit' || command === 'security-audit') {
1262
1279
  result = await runSecurityAudit({ args, options, logger: commandLogger, t });
1280
+ } else if (command === 'audit:code' || command === 'audit-code') {
1281
+ const { runAuditCode } = require('./commands/audit-code');
1282
+ result = await runAuditCode({ args, options, logger: commandLogger, t });
1283
+ } else if (command === 'verify:artifact' || command === 'verify-artifact') {
1284
+ const { runVerifyArtifact } = require('./commands/verify-artifact');
1285
+ result = await runVerifyArtifact({ args, options, logger: commandLogger, t });
1286
+ } else if (command === 'review:feature' || command === 'review-feature') {
1287
+ result = await runReviewFeature({ args, options, logger: commandLogger, t });
1263
1288
  } else if (command === 'config') {
1264
1289
  result = await runConfig({ args, options, logger: commandLogger, t });
1265
1290
  } else if (command === 'genome:doctor' || command === 'genome-doctor') {
@@ -1356,15 +1381,15 @@ async function main() {
1356
1381
  } else if (command === 'harness:check' || command === 'harness-check') {
1357
1382
  const { runHarnessCheck } = require('./commands/harness-check');
1358
1383
  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 });
1384
+ } else if (command === 'harness:retro' || command === 'harness-retro') {
1385
+ const { runHarnessRetro } = require('./commands/harness-retro');
1386
+ result = await runHarnessRetro({ args, options, logger: commandLogger, t });
1387
+ } else if (command === 'harness:retro-promote' || command === 'harness-retro-promote') {
1388
+ const { runHarnessRetroPromote } = require('./commands/harness-retro-promote');
1389
+ result = await runHarnessRetroPromote({ args, options, logger: commandLogger, t });
1390
+ } else if (command === 'harness:preview' || command === 'harness-preview') {
1391
+ const { runHarnessPreview } = require('./commands/harness-preview');
1392
+ result = await runHarnessPreview({ args, options, logger: commandLogger, t });
1368
1393
  } else if (command === 'verify:gate' || command === 'verify-gate') {
1369
1394
  result = await runVerifyGate({ args, options, logger: commandLogger, t });
1370
1395
 
@@ -1553,12 +1578,12 @@ async function main() {
1553
1578
  result = await runRecoveryShow({ args, options, logger: commandLogger, t });
1554
1579
  } else if (command === 'context:monitor' || command === 'context-monitor') {
1555
1580
  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 });
1581
+ } else if (command === 'context:health' || command === 'context-health') {
1582
+ result = await runContextHealth({ args, options, logger: commandLogger });
1583
+ } else if (command === 'hygiene:scan' || command === 'hygiene-scan') {
1584
+ result = await runHygieneScan({ args, options, logger: commandLogger });
1585
+ } else if (command === 'context:trim' || command === 'context-trim') {
1586
+ result = await runContextTrim({ args, options, logger: commandLogger });
1562
1587
  } else if (command === 'context:search' || command === 'context-search') {
1563
1588
  result = await runContextSearch({ args, options, logger: commandLogger, t });
1564
1589
  } else if (
@@ -1601,12 +1626,14 @@ async function main() {
1601
1626
  result = await runPreflight({ args, options, logger: commandLogger });
1602
1627
  } else if (command === 'classify') {
1603
1628
  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 });
1629
+ } else if (command === 'verification:plan' || command === 'verification-plan') {
1630
+ result = await runVerificationPlan({ args, options, logger: commandLogger });
1631
+ } else if (command === 'prototype:check' || command === 'prototype-check') {
1632
+ result = await runPrototypeCheck({ args, options, logger: commandLogger });
1633
+ } else if (command === 'verify:implementation' || command === 'verify-implementation') {
1634
+ result = await runVerifyImplementation({ args, options, logger: commandLogger });
1635
+ } else if (command === 'sizing') {
1636
+ result = await runSizing({ args, options, logger: commandLogger });
1610
1637
  } else if (command === 'detect:test-runner' || command === 'detect-test-runner') {
1611
1638
  result = await runDetectTestRunner({ args, options, logger: commandLogger });
1612
1639
  } else if (command === 'pulse:update' || command === 'pulse-update') {
@@ -1674,14 +1701,14 @@ async function main() {
1674
1701
  result = await runRevisionOpen({ args, options, logger: commandLogger });
1675
1702
  } else if (command === 'revision:list' || command === 'revision-list') {
1676
1703
  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 });
1704
+ } else if (command === 'revision:resolve' || command === 'revision-resolve') {
1705
+ result = await runRevisionResolve({ args, options, logger: commandLogger });
1706
+ } else if (command === 'ac:test-audit' || command === 'ac-test-audit') {
1707
+ result = await runAcTestAudit({ args, options, logger: commandLogger });
1708
+ } else if (command === 'sdd:benchmark' || command === 'sdd-benchmark') {
1709
+ result = await runSddBenchmark({ args, options, logger: commandLogger });
1710
+ } else if (command === 'gate:check' || command === 'gate-check') {
1711
+ result = await runGateCheck({ args, options, logger: commandLogger });
1685
1712
  } else if (command === 'gate:approve' || command === 'gate-approve') {
1686
1713
  result = await runGateApprove({ args, options, logger: commandLogger });
1687
1714
  } else if (command === 'artifact:validate' || command === 'artifact-validate') {
@@ -1747,6 +1774,10 @@ async function main() {
1747
1774
  result = await runBriefingApprove({ args, options, logger: commandLogger });
1748
1775
  } else if (command === 'briefing:unapprove' || command === 'briefing-unapprove') {
1749
1776
  result = await runBriefingUnapprove({ args, options, logger: commandLogger });
1777
+ } else if (command === 'briefing:review' || command === 'briefing-review') {
1778
+ result = await runBriefingReview({ args, options, logger: commandLogger });
1779
+ } else if (command === 'briefing:apply-feedback' || command === 'briefing-apply-feedback') {
1780
+ result = await runBriefingApplyFeedback({ args, options, logger: commandLogger });
1750
1781
  } else {
1751
1782
  const message = t('cli.unknown_command', { command });
1752
1783
  if (jsonMode) {