ibex 0.2.0 → 0.4.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 (461) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +100 -272
  3. data/docs/architecture.md +187 -35
  4. data/docs/bison-import.md +103 -0
  5. data/docs/comparison-policy.md +127 -0
  6. data/docs/configuration-model.md +59 -0
  7. data/docs/configuration-report.md +28 -0
  8. data/docs/conflict-explanation-reviews/v1/records/README.md +28 -0
  9. data/docs/conflict-explanation-study.md +62 -0
  10. data/docs/construction-profiling.md +157 -0
  11. data/docs/cst-migration.md +3 -4
  12. data/docs/cst.md +24 -0
  13. data/docs/decisions/0000-template.md +24 -0
  14. data/docs/decisions/0001-separate-ir-pipeline.md +34 -0
  15. data/docs/decisions/0002-opaque-user-code-boundary.md +32 -0
  16. data/docs/decisions/0003-self-hosted-grammar-frontend.md +32 -0
  17. data/docs/decisions/0004-shared-semantic-and-lossless-source-model.md +33 -0
  18. data/docs/decisions/0005-contained-grammar-composition.md +34 -0
  19. data/docs/decisions/0006-bounded-structural-grammar-lowering.md +32 -0
  20. data/docs/decisions/0007-shared-parser-construction-pipeline.md +33 -0
  21. data/docs/decisions/0008-versioned-runtime-package-boundary.md +36 -0
  22. data/docs/decisions/0009-isolated-parser-sessions.md +34 -0
  23. data/docs/decisions/0010-committed-runtime-observation.md +34 -0
  24. data/docs/decisions/0011-versioned-semantic-action-boundary.md +37 -0
  25. data/docs/decisions/0012-bounded-nonexecuting-analysis.md +37 -0
  26. data/docs/decisions/0013-transactional-generation-publication.md +37 -0
  27. data/docs/decisions/0014-versioned-generated-lexer.md +35 -0
  28. data/docs/decisions/0015-worker-isolated-browser-analysis.md +32 -0
  29. data/docs/decisions/0016-red-green-concrete-syntax.md +34 -0
  30. data/docs/decisions/0017-persistent-syntax-artifacts.md +35 -0
  31. data/docs/decisions/0018-conservative-incremental-syntax-reuse.md +38 -0
  32. data/docs/decisions/0019-runtime-syntax-session-boundary.md +51 -0
  33. data/docs/decisions/0020-grammar-ir-parser-contract.md +65 -0
  34. data/docs/decisions/0021-data-only-parser-table-sidecar.md +50 -0
  35. data/docs/decisions/0022-manifest-bound-verification-report.md +77 -0
  36. data/docs/decisions/0023-syntax-only-repair-results.md +48 -0
  37. data/docs/decisions/0024-direct-ielr-construction.md +42 -0
  38. data/docs/decisions/README.md +74 -0
  39. data/docs/declarative-configuration.md +274 -0
  40. data/docs/development.md +196 -2
  41. data/docs/direct-ielr-decision.md +120 -0
  42. data/docs/direct-multi-entry-decision.md +82 -0
  43. data/docs/editor-setup.md +2 -1
  44. data/docs/error-ux-review-rubric-v1.md +117 -0
  45. data/docs/error-ux-reviews/v1/records/README.md +22 -0
  46. data/docs/error-ux-round2-review-status-v1.json +27 -0
  47. data/docs/error-ux-round2-reviews/v1/records/README.md +30 -0
  48. data/docs/error-ux-round2-v1.json +1617 -0
  49. data/docs/error-ux-round2.md +111 -0
  50. data/docs/error-ux.md +54 -0
  51. data/docs/getting-started.md +80 -0
  52. data/docs/grammar-reference.md +184 -13
  53. data/docs/ielr-design.md +43 -0
  54. data/docs/ielr.md +92 -0
  55. data/docs/impact.md +101 -0
  56. data/docs/ja/bison-import.md +51 -0
  57. data/docs/ja/stable-api.md +53 -0
  58. data/docs/lexer-construction-profile.md +109 -0
  59. data/docs/lexer-migration.md +5 -0
  60. data/docs/maturity.md +129 -0
  61. data/docs/project-site-strategy.md +54 -0
  62. data/docs/racc-migration-evidence.md +45 -0
  63. data/docs/racc-migration.md +11 -0
  64. data/docs/release-readiness.md +126 -68
  65. data/docs/repair-semantics.md +123 -0
  66. data/docs/runtime-abi-evolution.md +310 -0
  67. data/docs/stability.md +145 -34
  68. data/docs/status.md +43 -0
  69. data/docs/syntax-sessions.md +183 -0
  70. data/docs/table-artifact.md +125 -0
  71. data/docs/test-interactions.md +219 -0
  72. data/docs/verification-report.md +137 -0
  73. data/docs/verifier-trust-boundary.md +199 -0
  74. data/docs/workloads.md +132 -0
  75. data/lib/ibex/analysis/digraph.rb +128 -0
  76. data/lib/ibex/analysis/sets.rb +14 -0
  77. data/lib/ibex/analysis.rb +1 -0
  78. data/lib/ibex/bison_import/importer.rb +516 -0
  79. data/lib/ibex/bison_import/tokenizer.rb +260 -0
  80. data/lib/ibex/bison_import.rb +200 -0
  81. data/lib/ibex/bounded_subprocess.rb +171 -0
  82. data/lib/ibex/cli/ambiguity.rb +14 -5
  83. data/lib/ibex/cli/analysis.rb +134 -0
  84. data/lib/ibex/cli/bison_import.rb +121 -0
  85. data/lib/ibex/cli/config.rb +128 -0
  86. data/lib/ibex/cli/diagnostics.rb +31 -11
  87. data/lib/ibex/cli/documentation.rb +11 -8
  88. data/lib/ibex/cli/equiv.rb +169 -0
  89. data/lib/ibex/cli/error_messages.rb +11 -4
  90. data/lib/ibex/cli/explain.rb +14 -5
  91. data/lib/ibex/cli/fix.rb +203 -0
  92. data/lib/ibex/cli/formatting.rb +11 -10
  93. data/lib/ibex/cli/fuzz.rb +200 -0
  94. data/lib/ibex/cli/fuzz_regressions.rb +145 -0
  95. data/lib/ibex/cli/generation_artifacts.rb +53 -2
  96. data/lib/ibex/cli/generation_error_messages.rb +1 -1
  97. data/lib/ibex/cli/grammar_tests.rb +32 -14
  98. data/lib/ibex/cli/impact.rb +393 -0
  99. data/lib/ibex/cli/ir_tools.rb +5 -61
  100. data/lib/ibex/cli/outputs.rb +60 -33
  101. data/lib/ibex/cli/reduce.rb +202 -0
  102. data/lib/ibex/cli/reduce_reporting.rb +71 -0
  103. data/lib/ibex/cli/samples.rb +49 -23
  104. data/lib/ibex/cli/verify.rb +116 -0
  105. data/lib/ibex/cli/watch.rb +6 -5
  106. data/lib/ibex/cli.rb +362 -56
  107. data/lib/ibex/codegen/action_locations.rb +1 -1
  108. data/lib/ibex/codegen/action_method_source.rb +5 -6
  109. data/lib/ibex/codegen/action_source.rb +3 -2
  110. data/lib/ibex/codegen/ambiguity.rb +5 -4
  111. data/lib/ibex/codegen/explain.rb +123 -55
  112. data/lib/ibex/codegen/generated_action_abi.rb +10 -5
  113. data/lib/ibex/codegen/rbs.rb +15 -7
  114. data/lib/ibex/codegen/report.rb +25 -13
  115. data/lib/ibex/codegen/ruby.rb +28 -64
  116. data/lib/ibex/codegen/ruby_actions.rb +9 -6
  117. data/lib/ibex/codegen/ruby_syntax.rb +15 -9
  118. data/lib/ibex/configuration/analysis_grammar.rb +35 -0
  119. data/lib/ibex/configuration/explanation.rb +421 -0
  120. data/lib/ibex/configuration/inspector.rb +232 -0
  121. data/lib/ibex/configuration.rb +580 -0
  122. data/lib/ibex/coverage/collector.rb +21 -11
  123. data/lib/ibex/coverage/event_stream.rb +13 -7
  124. data/lib/ibex/coverage/report.rb +26 -18
  125. data/lib/ibex/coverage/runtime_event_validator.rb +30 -21
  126. data/lib/ibex/delta_reducer.rb +99 -0
  127. data/lib/ibex/diff.rb +141 -0
  128. data/lib/ibex/equiv/machine.rb +135 -0
  129. data/lib/ibex/equiv.rb +373 -0
  130. data/lib/ibex/fix.rb +557 -0
  131. data/lib/ibex/frontend/ast.rb +22 -2
  132. data/lib/ibex/frontend/bootstrap_parser.rb +6 -13
  133. data/lib/ibex/frontend/diagnostic.rb +1 -1
  134. data/lib/ibex/frontend/formatter.rb +72 -26
  135. data/lib/ibex/frontend/generated_parser.rb +147 -117
  136. data/lib/ibex/frontend/generated_parser_base.rb +7 -3
  137. data/lib/ibex/frontend/generated_parser_includes.rb +1 -11
  138. data/lib/ibex/frontend/generation.rb +1 -1
  139. data/lib/ibex/frontend/parser/declarations.rb +17 -2
  140. data/lib/ibex/frontend/parser_configuration_support.rb +56 -0
  141. data/lib/ibex/frontend/regenerator.rb +1 -0
  142. data/lib/ibex/frontend/resolution.rb +2 -1
  143. data/lib/ibex/frontend/resolver.rb +1 -1
  144. data/lib/ibex/frontend/rule_documentation.rb +2 -1
  145. data/lib/ibex/frontend/source_cursor.rb +2 -2
  146. data/lib/ibex/frontend/source_span.rb +9 -1
  147. data/lib/ibex/frontend/token_adapter/declaration_state.rb +38 -6
  148. data/lib/ibex/frontend/token_adapter.rb +10 -0
  149. data/lib/ibex/frontend.rb +1 -0
  150. data/lib/ibex/fuzz.rb +219 -0
  151. data/lib/ibex/generation_input.rb +1 -1
  152. data/lib/ibex/generation_manifest.rb +36 -25
  153. data/lib/ibex/generation_transaction.rb +1 -1
  154. data/lib/ibex/generation_transaction_recovery.rb +4 -4
  155. data/lib/ibex/generation_transaction_validation.rb +2 -2
  156. data/lib/ibex/grammar_tests.rb +1 -1
  157. data/lib/ibex/impact/action_impact.rb +148 -0
  158. data/lib/ibex/impact/automaton_impact.rb +57 -0
  159. data/lib/ibex/impact/coverage_impact.rb +53 -0
  160. data/lib/ibex/impact/graph.rb +132 -0
  161. data/lib/ibex/impact/propagation.rb +147 -0
  162. data/lib/ibex/impact/report.rb +273 -0
  163. data/lib/ibex/impact/seeds.rb +69 -0
  164. data/lib/ibex/impact/severity.rb +139 -0
  165. data/lib/ibex/impact.rb +16 -0
  166. data/lib/ibex/ir/automaton_ir.rb +61 -19
  167. data/lib/ibex/ir/grammar_ir.rb +76 -45
  168. data/lib/ibex/ir/lexer_ir.rb +5 -5
  169. data/lib/ibex/ir/parser_contract.rb +135 -0
  170. data/lib/ibex/ir/serialize.rb +203 -76
  171. data/lib/ibex/ir/validator/automaton.rb +64 -34
  172. data/lib/ibex/ir/validator/base.rb +51 -33
  173. data/lib/ibex/ir/validator/grammar.rb +113 -83
  174. data/lib/ibex/ir/validator/lexer.rb +2 -2
  175. data/lib/ibex/ir/validator.rb +2 -1
  176. data/lib/ibex/ir.rb +16 -3
  177. data/lib/ibex/lalr/build_metrics.rb +50 -2
  178. data/lib/ibex/lalr/builder.rb +191 -56
  179. data/lib/ibex/lalr/conflict_search.rb +15 -4
  180. data/lib/ibex/lalr/counterexample.rb +19 -14
  181. data/lib/ibex/lalr/direct_lookaheads.rb +110 -57
  182. data/lib/ibex/lalr/goto_follows.rb +229 -0
  183. data/lib/ibex/lalr/ielr/annotator.rb +214 -0
  184. data/lib/ibex/lalr/ielr/bits.rb +28 -0
  185. data/lib/ibex/lalr/ielr/inadequacy.rb +47 -0
  186. data/lib/ibex/lalr/ielr/item_lookaheads.rb +78 -0
  187. data/lib/ibex/lalr/ielr/pipeline.rb +75 -0
  188. data/lib/ibex/lalr/ielr/split_stability.rb +78 -0
  189. data/lib/ibex/lalr/ielr/split_state.rb +20 -0
  190. data/lib/ibex/lalr/ielr/state_splitter.rb +258 -0
  191. data/lib/ibex/lalr/ielr_partition.rb +22 -8
  192. data/lib/ibex/lalr/inadequacy_report.rb +50 -0
  193. data/lib/ibex/lalr/lookahead_propagation.rb +111 -0
  194. data/lib/ibex/lalr/lr0_collection.rb +121 -0
  195. data/lib/ibex/lalr/unreachable_states.rb +80 -0
  196. data/lib/ibex/lalr.rb +52 -1
  197. data/lib/ibex/location.rb +3 -3
  198. data/lib/ibex/lsp/document_handlers.rb +9 -7
  199. data/lib/ibex/lsp/initialization_handlers.rb +9 -7
  200. data/lib/ibex/lsp/navigation_handlers.rb +25 -11
  201. data/lib/ibex/lsp/parser_configuration_assistance.rb +149 -0
  202. data/lib/ibex/lsp/position_codec.rb +6 -2
  203. data/lib/ibex/lsp/request_handlers.rb +3 -2
  204. data/lib/ibex/lsp/request_support.rb +14 -7
  205. data/lib/ibex/lsp/server.rb +13 -11
  206. data/lib/ibex/lsp/symbol_index.rb +13 -13
  207. data/lib/ibex/lsp/symbol_index_builder.rb +30 -20
  208. data/lib/ibex/lsp/symbol_occurrence.rb +8 -2
  209. data/lib/ibex/lsp/transport.rb +13 -3
  210. data/lib/ibex/lsp/workspace.rb +5 -4
  211. data/lib/ibex/lsp/workspace_analyzer.rb +1 -1
  212. data/lib/ibex/lsp.rb +1 -0
  213. data/lib/ibex/messages/en.yml +28 -0
  214. data/lib/ibex/messages/ja.yml +28 -0
  215. data/lib/ibex/messages.rb +68 -0
  216. data/lib/ibex/metrics.rb +175 -0
  217. data/lib/ibex/normalize/declarations.rb +2 -0
  218. data/lib/ibex/normalize/diagnostics.rb +63 -38
  219. data/lib/ibex/normalize/expander.rb +5 -4
  220. data/lib/ibex/normalize/expression.rb +8 -6
  221. data/lib/ibex/normalize/grammar_builder.rb +26 -0
  222. data/lib/ibex/normalize/inline_expansion.rb +100 -49
  223. data/lib/ibex/normalize/lexer.rb +3 -3
  224. data/lib/ibex/normalize/parameter_ebnf_lowering.rb +11 -10
  225. data/lib/ibex/normalize/parameter_lowering.rb +40 -23
  226. data/lib/ibex/normalize/parameters.rb +31 -4
  227. data/lib/ibex/normalize/parser_configuration.rb +70 -0
  228. data/lib/ibex/normalize.rb +10 -20
  229. data/lib/ibex/racc_migration/report.rb +6 -3
  230. data/lib/ibex/rake_task.rb +1 -1
  231. data/lib/ibex/samples.rb +43 -13
  232. data/lib/ibex/table_artifact/builder.rb +266 -0
  233. data/lib/ibex/table_artifact/cst_projection.rb +70 -0
  234. data/lib/ibex/table_artifact/document.rb +39 -0
  235. data/lib/ibex/table_artifact/executor.rb +187 -0
  236. data/lib/ibex/table_artifact/serializer.rb +57 -0
  237. data/lib/ibex/table_artifact/validator/metadata.rb +179 -0
  238. data/lib/ibex/table_artifact/validator/support.rb +86 -0
  239. data/lib/ibex/table_artifact/validator/tables.rb +238 -0
  240. data/lib/ibex/table_artifact/validator.rb +253 -0
  241. data/lib/ibex/table_artifact.rb +88 -0
  242. data/lib/ibex/table_simulation/result.rb +6 -2
  243. data/lib/ibex/table_simulation/step.rb +3 -1
  244. data/lib/ibex/tables.rb +14 -0
  245. data/lib/ibex/verifiable_generation_bundle.rb +86 -0
  246. data/lib/ibex/verification_report/builder.rb +159 -0
  247. data/lib/ibex/verification_report/canonical_ir.rb +123 -0
  248. data/lib/ibex/verification_report/logical_path.rb +68 -0
  249. data/lib/ibex/verification_report/validator.rb +329 -0
  250. data/lib/ibex/verification_report.rb +69 -0
  251. data/lib/ibex/verify/action_correspondence.rb +138 -0
  252. data/lib/ibex/verify/language_witness.rb +295 -0
  253. data/lib/ibex/verify/reference_collection.rb +190 -0
  254. data/lib/ibex/verify/result.rb +73 -0
  255. data/lib/ibex/verify/verifier.rb +598 -0
  256. data/lib/ibex/verify.rb +15 -0
  257. data/lib/ibex/version.rb +1 -1
  258. data/lib/ibex/watch/runner.rb +10 -1
  259. data/lib/ibex/watch/source_snapshot.rb +13 -8
  260. data/lib/ibex.rb +11 -0
  261. data/schema/{automaton-ir-v1.schema.json → automaton-ir-definitions.schema.json} +6 -6
  262. data/schema/{automaton-ir-v2.schema.json → automaton-ir.schema.json} +14 -7
  263. data/schema/bison-import-v1.schema.json +106 -0
  264. data/schema/conflict-explanation-review-v1.schema.json +196 -0
  265. data/schema/conflict-explanation-study-v1.schema.json +528 -0
  266. data/schema/construction-profile-v1.schema.json +779 -0
  267. data/schema/diff-v1.schema.json +41 -0
  268. data/schema/direct-ielr-decision-v1.schema.json +200 -0
  269. data/schema/equiv-v1.schema.json +64 -0
  270. data/schema/error-ux-review-v1.schema.json +609 -0
  271. data/schema/error-ux-round2-review-v1.schema.json +191 -0
  272. data/schema/error-ux-round2-v1.schema.json +519 -0
  273. data/schema/explain-v1.schema.json +63 -1
  274. data/schema/fix-v1.schema.json +64 -0
  275. data/schema/fix-v2.schema.json +66 -0
  276. data/schema/fix-v3.schema.json +101 -0
  277. data/schema/fuzz-regression-v1.schema.json +79 -0
  278. data/schema/fuzz-v1.schema.json +114 -0
  279. data/schema/{grammar-ir-v2.schema.json → grammar-ir-extensions.schema.json} +20 -65
  280. data/schema/{grammar-ir-v1.schema.json → grammar-ir-foundation.schema.json} +3 -3
  281. data/schema/grammar-ir.schema.json +271 -0
  282. data/schema/ielr-benchmark-v1.schema.json +85 -0
  283. data/schema/impact-v1.schema.json +208 -0
  284. data/schema/lexer-profile-v1.schema.json +491 -0
  285. data/schema/metrics-v1.schema.json +60 -0
  286. data/schema/reduce-v1.schema.json +22 -0
  287. data/schema/reduce-v2.schema.json +63 -0
  288. data/schema/table-artifact-v1.schema.json +377 -0
  289. data/schema/verification-report-v1.schema.json +222 -0
  290. data/schema/verify-v1.schema.json +42 -0
  291. data/sig/ibex/analysis/digraph.rbs +19 -0
  292. data/sig/ibex/analysis/sets.rbs +10 -0
  293. data/sig/ibex/bison_import/importer.rbs +140 -0
  294. data/sig/ibex/bison_import/tokenizer.rbs +91 -0
  295. data/sig/ibex/bison_import.rbs +95 -0
  296. data/sig/ibex/bounded_subprocess.rbs +76 -0
  297. data/sig/ibex/cli/ambiguity.rbs +6 -0
  298. data/sig/ibex/cli/analysis.rbs +43 -0
  299. data/sig/ibex/cli/bison_import.rbs +32 -0
  300. data/sig/ibex/cli/config.rbs +35 -0
  301. data/sig/ibex/cli/diagnostics.rbs +16 -3
  302. data/sig/ibex/cli/documentation.rbs +5 -1
  303. data/sig/ibex/cli/equiv.rbs +49 -0
  304. data/sig/ibex/cli/error_messages.rbs +6 -0
  305. data/sig/ibex/cli/explain.rbs +6 -0
  306. data/sig/ibex/cli/fix.rbs +53 -0
  307. data/sig/ibex/cli/formatting.rbs +5 -1
  308. data/sig/ibex/cli/fuzz.rbs +47 -0
  309. data/sig/ibex/cli/fuzz_regressions.rbs +40 -0
  310. data/sig/ibex/cli/generation_artifacts.rbs +21 -2
  311. data/sig/ibex/cli/generation_error_messages.rbs +2 -2
  312. data/sig/ibex/cli/grammar_tests.rbs +15 -3
  313. data/sig/ibex/cli/impact.rbs +95 -0
  314. data/sig/ibex/cli/ir_tools.rbs +7 -19
  315. data/sig/ibex/cli/outputs.rbs +9 -3
  316. data/sig/ibex/cli/reduce.rbs +60 -0
  317. data/sig/ibex/cli/reduce_reporting.rbs +27 -0
  318. data/sig/ibex/cli/samples.rbs +8 -0
  319. data/sig/ibex/cli/verify.rbs +28 -0
  320. data/sig/ibex/cli/watch.rbs +2 -2
  321. data/sig/ibex/cli.rbs +79 -5
  322. data/sig/ibex/codegen/action_method_source.rbs +4 -4
  323. data/sig/ibex/codegen/explain.rbs +45 -25
  324. data/sig/ibex/codegen/generated_action_abi.rbs +14 -10
  325. data/sig/ibex/codegen/rbs.rbs +12 -10
  326. data/sig/ibex/codegen/report.rbs +12 -12
  327. data/sig/ibex/codegen/ruby.rbs +18 -15
  328. data/sig/ibex/codegen/ruby_actions.rbs +6 -6
  329. data/sig/ibex/codegen/ruby_syntax.rbs +10 -8
  330. data/sig/ibex/configuration/analysis_grammar.rbs +13 -0
  331. data/sig/ibex/configuration/explanation.rbs +195 -0
  332. data/sig/ibex/configuration/inspector.rbs +53 -0
  333. data/sig/ibex/configuration.rbs +242 -0
  334. data/sig/ibex/coverage/collector.rbs +16 -14
  335. data/sig/ibex/coverage/event_stream.rbs +12 -10
  336. data/sig/ibex/coverage/report.rbs +20 -18
  337. data/sig/ibex/coverage/runtime_event_validator.rbs +38 -36
  338. data/sig/ibex/delta_reducer.rbs +38 -0
  339. data/sig/ibex/diff.rbs +47 -0
  340. data/sig/ibex/equiv/machine.rbs +54 -0
  341. data/sig/ibex/equiv.rbs +129 -0
  342. data/sig/ibex/fix.rbs +138 -0
  343. data/sig/ibex/frontend/ast.rbs +33 -7
  344. data/sig/ibex/frontend/bootstrap_parser.rbs +2 -0
  345. data/sig/ibex/frontend/diagnostic.rbs +2 -2
  346. data/sig/ibex/frontend/formatter.rbs +38 -30
  347. data/sig/ibex/frontend/generated_parser.rbs +87 -77
  348. data/sig/ibex/frontend/generated_parser_base.rbs +4 -2
  349. data/sig/ibex/frontend/parser/declarations.rbs +3 -0
  350. data/sig/ibex/frontend/parser_configuration_support.rbs +27 -0
  351. data/sig/ibex/frontend/resolution.rbs +3 -2
  352. data/sig/ibex/frontend/source_cursor.rbs +2 -2
  353. data/sig/ibex/frontend/source_span.rbs +5 -2
  354. data/sig/ibex/frontend/token_adapter/declaration_state.rbs +13 -1
  355. data/sig/ibex/frontend/token_adapter.rbs +6 -0
  356. data/sig/ibex/fuzz.rbs +71 -0
  357. data/sig/ibex/generation_input.rbs +2 -2
  358. data/sig/ibex/generation_manifest.rbs +35 -32
  359. data/sig/ibex/generation_transaction_recovery.rbs +2 -2
  360. data/sig/ibex/generation_transaction_validation.rbs +2 -2
  361. data/sig/ibex/grammar_tests.rbs +2 -2
  362. data/sig/ibex/impact/action_impact.rbs +58 -0
  363. data/sig/ibex/impact/automaton_impact.rbs +37 -0
  364. data/sig/ibex/impact/coverage_impact.rbs +28 -0
  365. data/sig/ibex/impact/graph.rbs +67 -0
  366. data/sig/ibex/impact/propagation.rbs +56 -0
  367. data/sig/ibex/impact/report.rbs +107 -0
  368. data/sig/ibex/impact/seeds.rbs +36 -0
  369. data/sig/ibex/impact/severity.rbs +55 -0
  370. data/sig/ibex/impact.rbs +6 -0
  371. data/sig/ibex/ir/automaton_ir.rbs +30 -11
  372. data/sig/ibex/ir/grammar_ir.rbs +41 -27
  373. data/sig/ibex/ir/lexer_ir.rbs +8 -8
  374. data/sig/ibex/ir/parser_contract.rbs +69 -0
  375. data/sig/ibex/ir/serialize.rbs +63 -28
  376. data/sig/ibex/ir/validator/automaton.rbs +47 -44
  377. data/sig/ibex/ir/validator/base.rbs +35 -31
  378. data/sig/ibex/ir/validator/grammar.rbs +78 -67
  379. data/sig/ibex/ir/validator/lexer.rbs +4 -4
  380. data/sig/ibex/ir.rbs +9 -3
  381. data/sig/ibex/lalr/build_metrics.rbs +42 -2
  382. data/sig/ibex/lalr/builder.rbs +75 -24
  383. data/sig/ibex/lalr/conflict_search.rbs +5 -2
  384. data/sig/ibex/lalr/counterexample.rbs +17 -14
  385. data/sig/ibex/lalr/direct_lookaheads.rbs +35 -28
  386. data/sig/ibex/lalr/goto_follows.rbs +89 -0
  387. data/sig/ibex/lalr/ielr/annotator.rbs +67 -0
  388. data/sig/ibex/lalr/ielr/bits.rbs +14 -0
  389. data/sig/ibex/lalr/ielr/inadequacy.rbs +24 -0
  390. data/sig/ibex/lalr/ielr/item_lookaheads.rbs +35 -0
  391. data/sig/ibex/lalr/ielr/pipeline.rbs +17 -0
  392. data/sig/ibex/lalr/ielr/split_stability.rbs +27 -0
  393. data/sig/ibex/lalr/ielr/split_state.rbs +14 -0
  394. data/sig/ibex/lalr/ielr/state_splitter.rbs +76 -0
  395. data/sig/ibex/lalr/ielr_partition.rbs +17 -5
  396. data/sig/ibex/lalr/inadequacy_report.rbs +21 -0
  397. data/sig/ibex/lalr/lookahead_propagation.rbs +38 -0
  398. data/sig/ibex/lalr/lr0_collection.rbs +50 -0
  399. data/sig/ibex/lalr/unreachable_states.rbs +25 -0
  400. data/sig/ibex/lalr.rbs +11 -1
  401. data/sig/ibex/location.rbs +6 -6
  402. data/sig/ibex/lsp/document_handlers.rbs +8 -8
  403. data/sig/ibex/lsp/initialization_handlers.rbs +12 -12
  404. data/sig/ibex/lsp/navigation_handlers.rbs +15 -12
  405. data/sig/ibex/lsp/parser_configuration_assistance.rbs +49 -0
  406. data/sig/ibex/lsp/position_codec.rbs +8 -4
  407. data/sig/ibex/lsp/request_handlers.rbs +4 -4
  408. data/sig/ibex/lsp/request_support.rbs +8 -8
  409. data/sig/ibex/lsp/server.rbs +16 -16
  410. data/sig/ibex/lsp/symbol_index.rbs +20 -21
  411. data/sig/ibex/lsp/symbol_index_builder.rbs +9 -8
  412. data/sig/ibex/lsp/symbol_occurrence.rbs +11 -5
  413. data/sig/ibex/lsp/transport.rbs +18 -6
  414. data/sig/ibex/lsp/workspace.rbs +3 -2
  415. data/sig/ibex/lsp/workspace_analyzer.rbs +1 -1
  416. data/sig/ibex/messages.rbs +26 -0
  417. data/sig/ibex/metrics.rbs +50 -0
  418. data/sig/ibex/normalize/diagnostics.rbs +4 -4
  419. data/sig/ibex/normalize/expander.rbs +2 -2
  420. data/sig/ibex/normalize/expression.rbs +10 -8
  421. data/sig/ibex/normalize/grammar_builder.rbs +11 -0
  422. data/sig/ibex/normalize/inline_expansion.rbs +59 -50
  423. data/sig/ibex/normalize/lexer.rbs +4 -4
  424. data/sig/ibex/normalize/parameter_ebnf_lowering.rbs +15 -14
  425. data/sig/ibex/normalize/parameter_lowering.rbs +18 -18
  426. data/sig/ibex/normalize/parameters.rbs +13 -8
  427. data/sig/ibex/normalize/parser_configuration.rbs +23 -0
  428. data/sig/ibex/normalize.rbs +11 -5
  429. data/sig/ibex/racc_migration/report.rbs +8 -6
  430. data/sig/ibex/rake_task.rbs +1 -1
  431. data/sig/ibex/samples.rbs +13 -4
  432. data/sig/ibex/table_artifact/builder.rbs +93 -0
  433. data/sig/ibex/table_artifact/cst_projection.rbs +20 -0
  434. data/sig/ibex/table_artifact/document.rbs +27 -0
  435. data/sig/ibex/table_artifact/executor.rbs +66 -0
  436. data/sig/ibex/table_artifact/serializer.rbs +25 -0
  437. data/sig/ibex/table_artifact/validator/metadata.rbs +52 -0
  438. data/sig/ibex/table_artifact/validator/support.rbs +46 -0
  439. data/sig/ibex/table_artifact/validator/tables.rbs +63 -0
  440. data/sig/ibex/table_artifact/validator.rbs +66 -0
  441. data/sig/ibex/table_artifact.rbs +32 -0
  442. data/sig/ibex/table_simulation/result.rbs +8 -4
  443. data/sig/ibex/table_simulation/step.rbs +4 -2
  444. data/sig/ibex/tables.rbs +10 -9
  445. data/sig/ibex/verifiable_generation_bundle.rbs +24 -0
  446. data/sig/ibex/verification_report/builder.rbs +53 -0
  447. data/sig/ibex/verification_report/canonical_ir.rbs +41 -0
  448. data/sig/ibex/verification_report/logical_path.rbs +34 -0
  449. data/sig/ibex/verification_report/validator.rbs +114 -0
  450. data/sig/ibex/verification_report.rbs +44 -0
  451. data/sig/ibex/verify/action_correspondence.rbs +50 -0
  452. data/sig/ibex/verify/language_witness.rbs +112 -0
  453. data/sig/ibex/verify/reference_collection.rbs +63 -0
  454. data/sig/ibex/verify/result.rbs +52 -0
  455. data/sig/ibex/verify/verifier.rbs +170 -0
  456. data/sig/ibex/verify.rbs +6 -0
  457. data/sig/ibex/watch/runner.rbs +12 -2
  458. data/sig/ibex/watch/source_snapshot.rbs +13 -9
  459. metadata +254 -12
  460. data/lib/ibex/ir/migration.rb +0 -120
  461. data/sig/ibex/ir/migration.rbs +0 -34
@@ -0,0 +1,274 @@
1
+ # Declarative configuration inventory
2
+
3
+ <!-- Generated by tool/quality/configuration_inventory.rb; edit options-v1.yml and regenerate. -->
4
+
5
+ This inventory classifies every production `OptionParser` registration API call under `exe/` and `lib/` without loading Ibex or user code.
6
+ The closed API family is `on`, `on_head`, `on_tail`, `define`, `define_head`, `define_tail`,
7
+ `def_option`, `def_head_option`, and `def_tail_option` in explicit or implicit call forms.
8
+ Unresolved registrations and splats fail closed; every source method has a reviewed command surface.
9
+ Reflective registration through `send`, `public_send`, `__send__`, or bound methods is prohibited
10
+ at method lookup time, before assignment or `call` can hide it.
11
+ A parser/options-style helper parameter is a conservative OptionParser signal.
12
+ A static literal beginning with `-` on any otherwise-unproven receiver is deliberately rejected;
13
+ this enforced conservative restriction has no scope-bound exclusion registry.
14
+ The admission decision follows `.idea/ibex-declarative-configuration-policy.md`: grammar-owned settings
15
+ must pass A1-A8 and every X1-X7 exclusion remains outside grammar syntax.
16
+
17
+ The static baseline is 199 source call sites and 208 runtime registrations:
18
+ 197 ordinary call sites plus 7 `fix` budget variants and 4 `import-bison` budget variants.
19
+ Those registrations expose 226 effective spelling records after aliases and
20
+ `--[no-]save-regression` are expanded; optional-argument notation remains one option pattern.
21
+
22
+ Verification: `bundle exec rake quality:configuration_inventory`.
23
+ Regeneration: `bundle exec ruby tool/quality/configuration_inventory.rb render`.
24
+
25
+ ## Decision rules
26
+
27
+ This D001 artifact is inventory-only and adds no grammar syntax. The D002 typed effective-configuration model
28
+ consumes these canonical classifications without changing the inventory's admission decisions. D006 admits
29
+ root-only extended syntax for parser algorithm and entry construction; it does not turn the inventory into
30
+ a generic CLI key-value language.
31
+ `grammar_contract` is reserved for parser meaning/public contract and requires A1-A8, fixed semantics,
32
+ root-only composition, provenance, and IR persistence. `project_build_policy` covers representation and packaging.
33
+ It also covers source mapping and companion artifacts rejected by X5.
34
+ `invocation_request` covers operations, paths, presentation, caller budgets,
35
+ and warning execution policy rejected by X1-X4, X6, or X7.
36
+ No current registration is classified as `grammar_minimum`: `test --coverage` remains an invocation request
37
+ with admission deferred until user-production coverage and monotone merge are defined.
38
+
39
+ | First-wave concept | Owner | Algebra | Current persistence status |
40
+ |---|---|---|---|
41
+ | `grammar.mode`, `parser.superclass`, `actions.omit_calls` | Grammar Contract | staged fixed compatibility | current Grammar IR; legacy CLI override needs D008 |
42
+ | `parser.algorithm`, `parser.entries` | Grammar Contract | fixed generation / explicit algorithm analysis override | root `parser` syntax writes the current Grammar IR; manifest records contract and construction facts |
43
+ | `cst.trivia` | Grammar Contract | fixed generation / explicit analysis override | root `parser` syntax writes the current Grammar IR; manifest records contract and CST facts |
44
+ | table/runtime/debug/source mapping/companions | Project Build Policy | project selection | manifest records current generation choices |
45
+ | emit/path/watch/report/budget/locale/help/warnings | Invocation Request | invocation only | excluded from Grammar IR |
46
+
47
+ Fixed means a grammar declaration may be matched but not silently contradicted by generation CLI.
48
+ Analysis commands and grammar tests may choose a different algorithm only as an explicit, reported
49
+ noncanonical override; parser entry construction remains fixed.
50
+ The current Grammar IR closes persistence for the first-wave construction and CST concepts. The root-only `parser`
51
+ block exposes `parser.algorithm`, `parser.entries`, and `cst_trivia` as source syntax and requires the
52
+ existing `pragma cst` compatibility declaration; declaration-free grammars retain the current default.
53
+
54
+ ## Owner summary
55
+
56
+ | Owner class | Registrations |
57
+ |---|---:|
58
+ | `grammar_contract` | 34 |
59
+ | `grammar_minimum` | 0 |
60
+ | `project_build_policy` | 11 |
61
+ | `invocation_request` | 163 |
62
+
63
+ ## Decisions
64
+
65
+ | Surface | CLI spelling / aliases | Canonical concept | Source / semantic type | Domain / default | Stages | Public-contract effect | Owner | Admission | Override | IR / manifest | Trust | Compatibility | Source |
66
+ |---|---|---|---|---|---|---|---|---|---|---|---|---|---|
67
+ | generate | --check | `invocation.generate.check` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:509` |
68
+ | generate | --line-convert-all | `source.line_mapping` | boolean / boolean | true \| false / action sections only | code_generation, artifact_publication | Changes artifact representation, packaging, source mapping, or companion output; parser language semantics stay unchanged. | `project_build_policy` | `excluded_x5_packaging_or_deployment` | `project_selection` | `not_persisted` / `current` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:495` |
69
+ | generate | --superclass=CLASS | `parser.superclass` | string / string | string constrained by command validation / grammar superclass or runtime parser base | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (parser.superclass). | `grammar_contract` | `admitted_a1_a8` | `staged_fixed_compatibility` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `staged_compatibility` | `lib/ibex/cli.rb:506` |
70
+ | generate | -C, --check-only | `invocation.generate.check_only` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:510` |
71
+ | generate | -D FLAGS | `compatibility.debug_flags` | string / string | string constrained by command validation / unset | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `internal_compatibility` | `lib/ibex/cli.rb:513` |
72
+ | generate | -F, --frozen | `build.frozen_strings` | boolean / boolean | true \| false / false | code_generation, artifact_publication | Changes artifact representation, packaging, source mapping, or companion output; parser language semantics stay unchanged. | `project_build_policy` | `excluded_x5_packaging_or_deployment` | `project_selection` | `not_persisted` / `current` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:492` |
73
+ | generate | -P | `compatibility.profiling` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `internal_compatibility` | `lib/ibex/cli.rb:512` |
74
+ | generate | -S, --output-status | `report.output_status` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:511` |
75
+ | generate | -a, --no-omit-actions | `actions.omit_calls` | boolean / boolean | true \| false / nil; grammar/code-generator action ABI default | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (actions.omit_calls). | `grammar_contract` | `admitted_a1_a8` | `staged_fixed_compatibility` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `staged_compatibility` | `lib/ibex/cli.rb:503` |
76
+ | generate | -l, --no-line-convert | `source.line_mapping` | boolean / boolean | true \| false / action sections only | code_generation, artifact_publication | Changes artifact representation, packaging, source mapping, or companion output; parser language semantics stay unchanged. | `project_build_policy` | `excluded_x5_packaging_or_deployment` | `project_selection` | `not_persisted` / `current` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:499` |
77
+ | generate | --copyright | `presentation.copyright` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:523` |
78
+ | generate | --help | `presentation.help` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:524` |
79
+ | global | --lang=LANG | `presentation.language` | string / enum | en \| ja / normalized IBEX_LANG (en/ja), falling back to en; environment-dependent presentation only | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | Normalize untrusted CLI/environment text to en or ja; environment-dependent presentation is non-reproducible and never grammar state. | `current` | `lib/ibex/cli.rb:518` |
80
+ | generate | --runtime-version | `presentation.runtime_version` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:522` |
81
+ | generate | --version | `presentation.version` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:521` |
82
+ | generate | --dot=FILE | `path.generate.dot` | string / path | caller-supplied filesystem or logical source path / unset | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x2_path_or_destination` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:465` |
83
+ | generate | --html=FILE | `path.generate.html` | string / path | caller-supplied filesystem or logical source path / unset | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x2_path_or_destination` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:467` |
84
+ | generate | --manifest[=FILE] | `companion.manifest` | optional string or boolean / optional_path_or_boolean | false \| true (derived path) \| caller-supplied path / false; derived .ibex.json path when requested without a value | code_generation, artifact_publication | Changes artifact representation, packaging, source mapping, or companion output; parser language semantics stay unchanged. | `project_build_policy` | `excluded_x5_packaging_or_deployment` | `project_selection` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:462` |
85
+ | generate | --mermaid=FILE | `path.generate.mermaid` | string / path | caller-supplied filesystem or logical source path / unset | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x2_path_or_destination` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:466` |
86
+ | generate | --railroad=FILE | `path.generate.railroad` | string / path | caller-supplied filesystem or logical source path / unset | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x2_path_or_destination` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:468` |
87
+ | generate | -E, --embedded | `runtime.embedded` | boolean / boolean | true \| false / false | code_generation, artifact_publication | Changes artifact representation, packaging, source mapping, or companion output; parser language semantics stay unchanged. | `project_build_policy` | `excluded_x5_packaging_or_deployment` | `project_selection` | `not_persisted` / `current` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:450` |
88
+ | generate | -O, --log-file=FILE | `path.generate.log_file` | string / path | caller-supplied filesystem or logical source path / derived .output path when reporting is requested | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x2_path_or_destination` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:471` |
89
+ | generate | -e, --executable [RUBY] | `build.executable` | optional string or boolean / optional_string_or_boolean | false \| true (command default) \| caller-supplied string / false; /usr/bin/env ruby when requested without a value | code_generation, artifact_publication | Changes artifact representation, packaging, source mapping, or companion output; parser language semantics stay unchanged. | `project_build_policy` | `excluded_x5_packaging_or_deployment` | `project_selection` | `not_persisted` / `current` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:475` |
90
+ | generate | -g | `build.debug` | boolean / boolean | true \| false / false | code_generation, artifact_publication | Changes artifact representation, packaging, source mapping, or companion output; parser language semantics stay unchanged. | `project_build_policy` | `excluded_x5_packaging_or_deployment` | `project_selection` | `not_persisted` / `current` | CLI input only; it must not become trusted grammar or execute while inventorying. | `obsolete_alias` | `lib/ibex/cli.rb:456` |
91
+ | generate | -o, --output-file=FILE | `path.generate.output_file` | string / path | caller-supplied filesystem or logical source path / derived .rb path beside the grammar | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x2_path_or_destination` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:449` |
92
+ | generate | -t, --debug | `build.debug` | boolean / boolean | true \| false / false | code_generation, artifact_publication | Changes artifact representation, packaging, source mapping, or companion output; parser language semantics stay unchanged. | `project_build_policy` | `excluded_x5_packaging_or_deployment` | `project_selection` | `not_persisted` / `current` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:453` |
93
+ | generate | -v, --verbose | `invocation.generate.verbose` | boolean / boolean | true \| false / false; no automaton report | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:459` |
94
+ | generate | --algorithm=NAME | `parser.algorithm` | enum / enum | slr \| lalr \| ielr \| lr1 / lalr | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (parser.algorithm). | `grammar_contract` | `admitted_a1_a8` | `fixed` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `current` | `lib/ibex/cli.rb:422` |
95
+ | generate | --cst-trivia=POLICY | `cst.trivia` | enum / enum | leading \| balanced \| drop; source alias attach normalizes to leading / leading | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (cst.trivia). | `grammar_contract` | `admitted_a1_a8` | `fixed` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `current` | `lib/ibex/cli.rb:415` |
96
+ | generate | --emit=FORMAT | `invocation.generate.emit` | string / enum | ast \| sets \| lexer-ir \| grammar-ir \| automaton-ir \| ruby / ruby | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:405` |
97
+ | generate | --entry-isolation | `parser.entries` | boolean / boolean | true \| false / shared | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (parser.entries). | `grammar_contract` | `admitted_a1_a8` | `fixed` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `current` | `lib/ibex/cli.rb:437` |
98
+ | generate | --from=FORMAT | `invocation.generate.from` | enum / enum | grammar-ir \| automaton-ir / unset | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | Validate the selected IR as untrusted data; never execute embedded user sections while loading or inventorying it. | `current` | `lib/ibex/cli.rb:408` |
99
+ | generate | --ielr-report | `invocation.generate.ielr_report` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:428` |
100
+ | generate | --ielr-strategy=NAME | `invocation.generate.ielr_strategy` | enum / enum | direct \| partition / partition | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:425` |
101
+ | generate | --mode=MODE | `grammar.mode` | enum / enum | default \| extended / default | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (grammar.mode). | `grammar_contract` | `admitted_a1_a8` | `staged_fixed_compatibility` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `staged_compatibility` | `lib/ibex/cli.rb:411` |
102
+ | generate | --remove-unreachable | `invocation.generate.remove_unreachable` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:431` |
103
+ | generate | --suggest-ielr | `invocation.generate.suggest_ielr` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:434` |
104
+ | generate | --table=FORMAT | `table.representation` | enum / enum | plain \| compact / compact | code_generation, artifact_publication | Changes artifact representation, packaging, source mapping, or companion output; parser language semantics stay unchanged. | `project_build_policy` | `excluded_x5_packaging_or_deployment` | `project_selection` | `not_persisted` / `current` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:412` |
105
+ | generate | --warnings=CATEGORIES | `invocation.warning_policy` | string / set_of_enums | all \| error \| all,error \| none / unset; warnings are neither displayed nor promoted to errors | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x7_diagnostic_suppression` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:440` |
106
+ | generate | --watch | `invocation.generate.watch` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:443` |
107
+ | generate | --action-source[=FILE] | `companion.action_source` | optional string or boolean / optional_path_or_boolean | false \| true (derived path) \| caller-supplied path / false; derived .actions.rb path when requested without a value | code_generation, artifact_publication | Changes artifact representation, packaging, source mapping, or companion output; parser language semantics stay unchanged. | `project_build_policy` | `excluded_x5_packaging_or_deployment` | `project_selection` | `not_persisted` / `current` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:485` |
108
+ | generate | --rbs[=FILE] | `companion.rbs` | optional string or boolean / optional_path_or_boolean | false \| true (derived path) \| caller-supplied path / false; derived .rbs path when requested without a value | code_generation, artifact_publication | Changes artifact representation, packaging, source mapping, or companion output; parser language semantics stay unchanged. | `project_build_policy` | `excluded_x5_packaging_or_deployment` | `project_selection` | `not_persisted` / `current` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli.rb:482` |
109
+ | check-ambiguity | --algorithm=NAME | `parser.algorithm` | enum / enum | slr \| lalr \| ielr \| lr1 / lalr | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (parser.algorithm). | `grammar_contract` | `admitted_a1_a8` | `analysis_override` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `current` | `lib/ibex/cli/ambiguity.rb:58` |
110
+ | check-ambiguity | --ambiguity | `invocation.check_ambiguity.ambiguity` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/ambiguity.rb:46` |
111
+ | check-ambiguity | --entry-isolation | `parser.entries` | boolean / boolean | true \| false / shared | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (parser.entries). | `grammar_contract` | `admitted_a1_a8` | `analysis_override` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `current` | `lib/ibex/cli/ambiguity.rb:61` |
112
+ | check-ambiguity | --format=FORMAT | `report.check_ambiguity.format` | enum / enum | text \| json / text | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/ambiguity.rb:55` |
113
+ | check-ambiguity | --help | `presentation.help` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/ambiguity.rb:67` |
114
+ | check-ambiguity | --max-configurations=N | `invocation.check_ambiguity.max_configurations` | integer / integer | integer constrained by command validation / 50000 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/ambiguity.rb:52` |
115
+ | check-ambiguity | --max-tokens=N | `invocation.check_ambiguity.max_tokens` | integer / integer | integer constrained by command validation / 32 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/ambiguity.rb:49` |
116
+ | check-ambiguity | --mode=MODE | `grammar.mode` | enum / enum | default \| extended / default | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (grammar.mode). | `grammar_contract` | `admitted_a1_a8` | `analysis_override` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `current` | `lib/ibex/cli/ambiguity.rb:64` |
117
+ | diff-or-metrics | --algorithm=NAME | `parser.algorithm` | enum / enum | slr \| lalr \| ielr \| lr1 / lalr | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (parser.algorithm). | `grammar_contract` | `admitted_a1_a8` | `analysis_override` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `current` | `lib/ibex/cli/analysis.rb:63` |
118
+ | diff-or-metrics | --format=FORMAT | `report.diff_or_metrics.format` | enum / enum | json \| text / json | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/analysis.rb:70` |
119
+ | diff-or-metrics | --help | `presentation.help` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/analysis.rb:71` |
120
+ | diff-or-metrics | --mode=MODE | `grammar.mode` | enum / enum | default \| extended / default | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (grammar.mode). | `grammar_contract` | `admitted_a1_a8` | `analysis_override` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `current` | `lib/ibex/cli/analysis.rb:66` |
121
+ | import-bison | --max-actions=N | `invocation.import_bison.max_actions` | integer / integer | integer constrained by command validation / 100000 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | Treat the foreign grammar as untrusted data; import statically without executing C actions or user sections. | `current` | `lib/ibex/cli/bison_import.rb:84` |
122
+ | import-bison | --max-bytes=N | `invocation.import_bison.max_bytes` | integer / integer | integer constrained by command validation / 20971520 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | Treat the foreign grammar as untrusted data; import statically without executing C actions or user sections. | `current` | `lib/ibex/cli/bison_import.rb:84` |
123
+ | import-bison | --max-rules=N | `invocation.import_bison.max_rules` | integer / integer | integer constrained by command validation / 50000 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | Treat the foreign grammar as untrusted data; import statically without executing C actions or user sections. | `current` | `lib/ibex/cli/bison_import.rb:84` |
124
+ | import-bison | --max-tokens=N | `invocation.import_bison.max_tokens` | integer / integer | integer constrained by command validation / 1000000 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | Treat the foreign grammar as untrusted data; import statically without executing C actions or user sections. | `current` | `lib/ibex/cli/bison_import.rb:84` |
125
+ | import-bison | --class=NAME | `invocation.import_bison.class` | string / string | string constrained by command validation / unset | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | Treat the foreign grammar as untrusted data; import statically without executing C actions or user sections. | `current` | `lib/ibex/cli/bison_import.rb:70` |
126
+ | import-bison | --format=FORMAT | `report.import_bison.format` | enum / enum | source \| json / source | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | Treat the foreign grammar as untrusted data; import statically without executing C actions or user sections. | `current` | `lib/ibex/cli/bison_import.rb:66` |
127
+ | import-bison | --help | `presentation.help` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | Treat the foreign grammar as untrusted data; import statically without executing C actions or user sections. | `current` | `lib/ibex/cli/bison_import.rb:72` |
128
+ | import-bison | -o FILE, --output=FILE | `path.import_bison.output` | string / path | caller-supplied filesystem or logical source path / unset | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x2_path_or_destination` | `invocation_only` | `not_persisted` / `not_applicable` | Treat the foreign grammar as untrusted data; import statically without executing C actions or user sections. | `current` | `lib/ibex/cli/bison_import.rb:69` |
129
+ | config | --algorithm=NAME | `parser.algorithm` | enum / enum | slr \| lalr \| ielr \| lr1 / lalr | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (parser.algorithm). | `grammar_contract` | `admitted_a1_a8` | `fixed` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `current` | `lib/ibex/cli/config.rb:85` |
130
+ | config | --cst-trivia=POLICY | `cst.trivia` | enum / enum | leading \| balanced \| drop; source alias attach normalizes to leading / leading | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (cst.trivia). | `grammar_contract` | `admitted_a1_a8` | `fixed` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `current` | `lib/ibex/cli/config.rb:91` |
131
+ | config | --entry-isolation | `parser.entries` | boolean / boolean | true \| false / shared | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (parser.entries). | `grammar_contract` | `admitted_a1_a8` | `fixed` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `current` | `lib/ibex/cli/config.rb:88` |
132
+ | config | --mode=MODE | `grammar.mode` | enum / enum | default \| extended / default | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (grammar.mode). | `grammar_contract` | `admitted_a1_a8` | `staged_fixed_compatibility` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `staged_compatibility` | `lib/ibex/cli/config.rb:82` |
133
+ | config | --no-omit-actions | `actions.omit_calls` | boolean / boolean | true \| false / nil; grammar/code-generator action ABI default | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (actions.omit_calls). | `grammar_contract` | `admitted_a1_a8` | `staged_fixed_compatibility` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `staged_compatibility` | `lib/ibex/cli/config.rb:97` |
134
+ | config | --superclass=CLASS | `parser.superclass` | string / string | string constrained by command validation / grammar superclass or runtime parser base | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (parser.superclass). | `grammar_contract` | `admitted_a1_a8` | `staged_fixed_compatibility` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `staged_compatibility` | `lib/ibex/cli/config.rb:94` |
135
+ | config | --format=FORMAT | `report.config.format` | enum / enum | text \| json / text | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/config.rb:70` |
136
+ | config | --from=FORMAT | `invocation.config.from` | enum / enum | grammar-ir / unset | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | Validate the selected IR as untrusted data; never execute embedded user sections while loading or inventorying it. | `current` | `lib/ibex/cli/config.rb:73` |
137
+ | config | --help | `presentation.help` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/config.rb:77` |
138
+ | generate | --counterexample-max-configurations=N | `analysis.counterexample.max_configurations` | integer / integer | integer constrained by command validation / 50000 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/counterexample_options.rb:23` |
139
+ | generate | --counterexample-max-tokens=N | `analysis.counterexample.max_tokens` | integer / integer | integer constrained by command validation / 32 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/counterexample_options.rb:20` |
140
+ | generate | --counterexamples | `invocation.generate.counterexamples` | boolean / boolean | true \| false / false | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/counterexample_options.rb:19` |
141
+ | coverage-check | --min-productions=PERCENT | `invocation.coverage_check.min_productions` | float / float | finite float constrained by command validation / 0.0 | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/coverage.rb:105` |
142
+ | coverage-check | --min-states=PERCENT | `invocation.coverage_check.min_states` | float / float | finite float constrained by command validation / 0.0 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/coverage.rb:102` |
143
+ | coverage-collect-or-merge | -o FILE, --output=FILE | `path.coverage_collect_or_merge.output` | string / path | caller-supplied filesystem or logical source path / unset | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x2_path_or_destination` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/coverage.rb:91` |
144
+ | debug | --format=FORMAT | `report.debug.format` | enum / enum | text \| json / text | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/debug.rb:55` |
145
+ | debug | --max-stack=N | `invocation.debug.max_stack` | integer / integer | integer constrained by command validation / 10000 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/debug.rb:59` |
146
+ | debug | --max-steps=N | `invocation.debug.max_steps` | integer / integer | integer constrained by command validation / 100000 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/debug.rb:56` |
147
+ | diagnostics | --format=FORMAT | `report.diagnostics.format` | enum / enum | text \| json / text | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/diagnostics.rb:76` |
148
+ | diagnostics | --help | `presentation.help` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/diagnostics.rb:83` |
149
+ | diagnostics | --max-diagnostics=N | `invocation.diagnostics.max_diagnostics` | integer / integer | integer constrained by command validation / 20 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/diagnostics.rb:77` |
150
+ | diagnostics | --mode=MODE | `grammar.mode` | enum / enum | default \| extended / default | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (grammar.mode). | `grammar_contract` | `admitted_a1_a8` | `analysis_override` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `current` | `lib/ibex/cli/diagnostics.rb:80` |
151
+ | doc | --format=FORMAT | `report.doc.format` | enum / enum | markdown \| html \| railroad / markdown | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/documentation.rb:59` |
152
+ | doc | --help | `presentation.help` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/documentation.rb:66` |
153
+ | doc | --mode=MODE | `grammar.mode` | enum / enum | default \| extended / default | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (grammar.mode). | `grammar_contract` | `admitted_a1_a8` | `analysis_override` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `current` | `lib/ibex/cli/documentation.rb:63` |
154
+ | doc | -o FILE, --output=FILE | `path.doc.output` | string / path | caller-supplied filesystem or logical source path / unset | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x2_path_or_destination` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/documentation.rb:62` |
155
+ | equiv | --max-actions=N | `invocation.equiv.max_actions` | integer / integer | integer constrained by command validation / 100000 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/equiv.rb:104` |
156
+ | equiv | --max-configurations=N | `invocation.equiv.max_configurations` | integer / integer | integer constrained by command validation / 50000 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/equiv.rb:101` |
157
+ | equiv | --max-stack=N | `invocation.equiv.max_stack` | integer / integer | integer constrained by command validation / 10000 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/equiv.rb:107` |
158
+ | equiv | --max-tokens=N | `invocation.equiv.max_tokens` | integer / integer | integer constrained by command validation / 8 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/equiv.rb:98` |
159
+ | equiv | --samples=N | `invocation.equiv.samples` | integer / integer | integer constrained by command validation / 100 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/equiv.rb:94` |
160
+ | equiv | --seed=N | `invocation.equiv.seed` | integer / integer | integer constrained by command validation / 0 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/equiv.rb:97` |
161
+ | equiv | --algorithm=NAME | `parser.algorithm` | enum / enum | slr \| lalr \| ielr \| lr1 / lalr | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (parser.algorithm). | `grammar_contract` | `admitted_a1_a8` | `analysis_override` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `current` | `lib/ibex/cli/equiv.rb:58` |
162
+ | equiv | --format=FORMAT | `report.equiv.format` | enum / enum | json \| text / json | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/equiv.rb:73` |
163
+ | equiv | --help | `presentation.help` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/equiv.rb:74` |
164
+ | equiv | --map=OLD=NEW | `invocation.equiv.map` | string / string | string constrained by command validation / unset | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/equiv.rb:65` |
165
+ | equiv | --mode=MODE | `grammar.mode` | enum / enum | default \| extended / default | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (grammar.mode). | `grammar_contract` | `admitted_a1_a8` | `analysis_override` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `current` | `lib/ibex/cli/equiv.rb:61` |
166
+ | error-messages | --algorithm=NAME | `parser.algorithm` | enum / enum | slr \| lalr \| ielr \| lr1 / lalr | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (parser.algorithm). | `grammar_contract` | `admitted_a1_a8` | `analysis_override` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `current` | `lib/ibex/cli/error_messages.rb:67` |
167
+ | error-messages | --from=FORMAT | `invocation.error_messages.from` | enum / enum | grammar-ir \| automaton-ir / unset | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | Validate the selected IR as untrusted data; never execute embedded user sections while loading or inventorying it. | `current` | `lib/ibex/cli/error_messages.rb:63` |
168
+ | error-messages | --help | `presentation.help` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/error_messages.rb:75` |
169
+ | error-messages | --list | `invocation.error_messages.list` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/error_messages.rb:53` |
170
+ | error-messages | --max-configurations=N | `invocation.error_messages.max_configurations` | integer / integer | integer constrained by command validation / 50000 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/error_messages.rb:60` |
171
+ | error-messages | --max-tokens=N | `invocation.error_messages.max_tokens` | integer / integer | integer constrained by command validation / 32 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/error_messages.rb:57` |
172
+ | error-messages | --mode=MODE | `grammar.mode` | enum / enum | default \| extended / default | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (grammar.mode). | `grammar_contract` | `admitted_a1_a8` | `analysis_override` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `current` | `lib/ibex/cli/error_messages.rb:66` |
173
+ | error-messages | --update[=FILE] | `invocation.error_messages.update` | optional string or boolean / optional_path_or_boolean | false \| true (derived path) \| caller-supplied path / false; grammar.messages when requested without a value | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/error_messages.rb:54` |
174
+ | error-messages | --warnings=CATEGORIES | `invocation.warning_policy` | string / set_of_enums | all \| error \| all,error \| none / unset | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x7_diagnostic_suppression` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/error_messages.rb:71` |
175
+ | error-messages | -S, --output-status | `report.output_status` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/error_messages.rb:74` |
176
+ | explain | --counterexample-max-configurations=N | `analysis.counterexample.max_configurations` | integer / integer | integer constrained by command validation / 50000 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/explain.rb:72` |
177
+ | explain | --counterexample-max-tokens=N | `analysis.counterexample.max_tokens` | integer / integer | integer constrained by command validation / 32 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/explain.rb:69` |
178
+ | explain | --algorithm=NAME | `parser.algorithm` | enum / enum | slr \| lalr \| ielr \| lr1 / lalr | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (parser.algorithm). | `grammar_contract` | `admitted_a1_a8` | `analysis_override` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `current` | `lib/ibex/cli/explain.rb:53` |
179
+ | explain | --entry-isolation | `parser.entries` | boolean / boolean | true \| false / shared | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (parser.entries). | `grammar_contract` | `admitted_a1_a8` | `analysis_override` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `current` | `lib/ibex/cli/explain.rb:56` |
180
+ | explain | --format=FORMAT | `report.explain.format` | enum / enum | text \| json / text | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/explain.rb:50` |
181
+ | explain | --help | `presentation.help` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/explain.rb:63` |
182
+ | explain | --mode=MODE | `grammar.mode` | enum / enum | default \| extended / default | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (grammar.mode). | `grammar_contract` | `admitted_a1_a8` | `analysis_override` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `current` | `lib/ibex/cli/explain.rb:59` |
183
+ | explain | --state=N | `invocation.explain.state` | integer / integer | integer constrained by command validation / unset | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/explain.rb:46` |
184
+ | explain | --token=NAME | `invocation.explain.token` | string / string | string constrained by command validation / unset | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/explain.rb:47` |
185
+ | fix | --equiv-max-configurations=N | `invocation.fix.equiv_max_configurations` | integer / integer | integer constrained by command validation / 50000 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fix.rb:140` |
186
+ | fix | --equiv-max-tokens=N | `invocation.fix.equiv_max_tokens` | integer / integer | integer constrained by command validation / 8 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fix.rb:140` |
187
+ | fix | --equiv-samples=N | `invocation.fix.equiv_samples` | integer / integer | integer constrained by command validation / 100 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fix.rb:140` |
188
+ | fix | --max-builds=N | `invocation.fix.max_builds` | integer / integer | integer constrained by command validation / 32 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fix.rb:140` |
189
+ | fix | --max-candidates=N | `invocation.fix.max_candidates` | integer / integer | integer constrained by command validation / 32 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fix.rb:140` |
190
+ | fix | --verify-max-items=N | `invocation.fix.verify_max_items` | integer / integer | integer constrained by command validation / 1000000 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fix.rb:140` |
191
+ | fix | --verify-max-states=N | `invocation.fix.verify_max_states` | integer / integer | integer constrained by command validation / 100000 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fix.rb:140` |
192
+ | fix | --conflict-index=N | `invocation.fix.conflict_index` | integer / integer | integer constrained by command validation / first conflict in the selected state | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fix.rb:122` |
193
+ | fix | --state=N | `invocation.fix.state` | integer / integer | integer constrained by command validation / first unresolved conflict | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fix.rb:117` |
194
+ | fix | --algorithm=NAME | `parser.algorithm` | enum / enum | slr \| lalr \| ielr \| lr1 / lalr | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (parser.algorithm). | `grammar_contract` | `admitted_a1_a8` | `analysis_override` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `current` | `lib/ibex/cli/fix.rb:94` |
195
+ | fix | --apply[=ID] | `invocation.fix.apply` | optional string or boolean / optional_string_or_boolean | false \| true (command default) \| caller-supplied string / unset | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | Mutates the selected grammar only through the command explicit atomic-write safety checks; inventorying never applies a proposal. | `current` | `lib/ibex/cli/fix.rb:101` |
196
+ | fix | --format=FORMAT | `report.fix.format` | enum / enum | json \| text / json | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fix.rb:107` |
197
+ | fix | --help | `presentation.help` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fix.rb:108` |
198
+ | fix | --messages=FILE | `path.fix.messages` | string / path | caller-supplied filesystem or logical source path / unset | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x2_path_or_destination` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fix.rb:104` |
199
+ | fix | --mode=MODE | `grammar.mode` | enum / enum | default \| extended / default | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (grammar.mode). | `grammar_contract` | `admitted_a1_a8` | `analysis_override` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `current` | `lib/ibex/cli/fix.rb:97` |
200
+ | formatting | --check | `invocation.formatting.check` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/formatting.rb:79` |
201
+ | formatting | --help | `presentation.help` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/formatting.rb:87` |
202
+ | formatting | --mode=MODE | `grammar.mode` | enum / enum | default \| extended / default | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (grammar.mode). | `grammar_contract` | `admitted_a1_a8` | `analysis_override` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `current` | `lib/ibex/cli/formatting.rb:81` |
203
+ | formatting | --stdin-filename=FILE | `path.formatting.stdin_filename` | string / path | caller-supplied filesystem or logical source path / unset | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x2_path_or_destination` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/formatting.rb:84` |
204
+ | formatting | --write | `invocation.formatting.write` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | Mutates explicit formatting targets through the command atomic-write checks; inventorying never writes target files. | `current` | `lib/ibex/cli/formatting.rb:80` |
205
+ | fuzz | --coverage-guided | `invocation.fuzz.coverage_guided` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fuzz.rb:99` |
206
+ | fuzz | --max-actions=N | `invocation.fuzz.max_actions` | integer / integer | integer constrained by command validation / 100000 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fuzz.rb:93` |
207
+ | fuzz | --max-stack=N | `invocation.fuzz.max_stack` | integer / integer | integer constrained by command validation / 10000 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fuzz.rb:96` |
208
+ | fuzz | --path-length=N | `invocation.fuzz.path_length` | integer / integer | integer constrained by command validation / 2 | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fuzz.rb:102` |
209
+ | fuzz | --save-regression, --no-save-regression | `invocation.fuzz.save_regression` | boolean / boolean | true \| false / true | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fuzz.rb:134` |
210
+ | fuzz | --against-max-output=N | `invocation.fuzz.against_max_output` | integer / integer | integer constrained by command validation / 1048576 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fuzz.rb:123` |
211
+ | fuzz | --against-runtime=DESCRIPTION | `invocation.fuzz.against_runtime` | string / string | string constrained by command validation / unset | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fuzz.rb:115` |
212
+ | fuzz | --against-timeout=SECONDS | `invocation.fuzz.against_timeout` | integer / integer | integer constrained by command validation / 10 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fuzz.rb:120` |
213
+ | fuzz | --against=COMMAND | `invocation.fuzz.against` | string / string | string constrained by command validation / unset | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | Executes the explicit untrusted JSON-token target in a bounded subprocess; never execute it during inventory or configuration resolution. | `current` | `lib/ibex/cli/fuzz.rb:112` |
214
+ | fuzz | --format=FORMAT | `report.fuzz.format` | enum / enum | json \| text / json | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fuzz.rb:137` |
215
+ | fuzz | --max-reduction-trials=N | `invocation.fuzz.max_reduction_trials` | integer / integer | integer constrained by command validation / 1000 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fuzz.rb:126` |
216
+ | fuzz | --regression-dir=DIR | `path.fuzz.regression_dir` | string / path | caller-supplied filesystem or logical source path / test/fuzz/regressions | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x2_path_or_destination` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fuzz.rb:129` |
217
+ | fuzz | --count=N | `invocation.fuzz.count` | integer / integer | integer constrained by command validation / 100 | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fuzz.rb:76` |
218
+ | fuzz | --max-depth=N | `invocation.fuzz.max_depth` | integer / integer | integer constrained by command validation / 16 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fuzz.rb:83` |
219
+ | fuzz | --max-expansions=N | `invocation.fuzz.max_expansions` | integer / integer | integer constrained by command validation / 100000 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fuzz.rb:86` |
220
+ | fuzz | --max-tokens=N | `invocation.fuzz.max_tokens` | integer / integer | integer constrained by command validation / 32 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fuzz.rb:80` |
221
+ | fuzz | --seed=N | `invocation.fuzz.seed` | integer / integer | integer constrained by command validation / 0 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fuzz.rb:79` |
222
+ | fuzz | --help | `presentation.help` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fuzz.rb:70` |
223
+ | fuzz | --mode=MODE | `grammar.mode` | enum / enum | default \| extended / default | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (grammar.mode). | `grammar_contract` | `admitted_a1_a8` | `analysis_override` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `current` | `lib/ibex/cli/fuzz.rb:66` |
224
+ | fuzz | --warnings=CATEGORIES | `invocation.warning_policy` | string / set_of_enums | all \| error \| all,error \| none / unset | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x7_diagnostic_suppression` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/fuzz.rb:67` |
225
+ | generate | --messages=FILE | `path.generate.messages` | string / path | caller-supplied filesystem or logical source path / unset | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x2_path_or_destination` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/generation_error_messages.rb:14` |
226
+ | test | --algorithm=NAME | `parser.algorithm` | enum / enum | slr \| lalr \| ielr \| lr1 / lalr | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (parser.algorithm). | `grammar_contract` | `admitted_a1_a8` | `analysis_override` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `current` | `lib/ibex/cli/grammar_tests.rb:65` |
227
+ | test | --coverage=PERCENT | `invocation.test.coverage` | integer / integer | integer constrained by command validation / disabled | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `deferred_a5_minimum_undefined` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/grammar_tests.rb:78` |
228
+ | test | --entry-isolation | `parser.entries` | boolean / boolean | true \| false / shared | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (parser.entries). | `grammar_contract` | `admitted_a1_a8` | `analysis_override` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `current` | `lib/ibex/cli/grammar_tests.rb:69` |
229
+ | test | --mode=MODE | `grammar.mode` | enum / enum | default \| extended / default | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (grammar.mode). | `grammar_contract` | `admitted_a1_a8` | `analysis_override` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `current` | `lib/ibex/cli/grammar_tests.rb:61` |
230
+ | test | --timeout=SECONDS | `invocation.test.timeout` | integer / integer | integer constrained by command validation / 10 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/grammar_tests.rb:73` |
231
+ | test | -h, --help | `presentation.help` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/grammar_tests.rb:81` |
232
+ | impact | --algorithm=NAME | `invocation.impact.algorithm` | enum / enum | validated command value / parser.algorithm registry default | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/impact.rb:72` |
233
+ | impact | --baseline=PATH | `invocation.impact.baseline` | string / string | string constrained by command validation / unset | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/impact.rb:67` |
234
+ | impact | --coverage=PATH | `invocation.impact.coverage` | string / string | string constrained by command validation / unset | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/impact.rb:66` |
235
+ | impact | --depth=N | `invocation.impact.depth` | integer / integer | non-negative integer / unset | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/impact.rb:57` |
236
+ | impact | --fail-on=LIST | `invocation.impact.fail_on` | string / string | string constrained by command validation / empty | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/impact.rb:69` |
237
+ | impact | --format=FORMAT | `invocation.impact.format` | enum / enum | validated command value / json | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/impact.rb:79` |
238
+ | impact | --help | `invocation.impact.help` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/impact.rb:80` |
239
+ | impact | --kind=LIST | `invocation.impact.kind` | string / string | string constrained by command validation / all | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/impact.rb:62` |
240
+ | impact | --mode=MODE | `invocation.impact.mode` | enum / enum | validated command value / grammar.mode registry default | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/impact.rb:75` |
241
+ | impact | --severity=LEVEL | `invocation.impact.severity` | enum / enum | validated command value / medium | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/impact.rb:63` |
242
+ | impact | --symbol=NAME[,NAME] | `invocation.impact.symbol` | string / string | string constrained by command validation / empty | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/impact.rb:54` |
243
+ | impact | --update-baseline | `invocation.impact.update_baseline` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/impact.rb:68` |
244
+ | lsp | --help | `presentation.help` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/lsp.rb:29` |
245
+ | lsp | --stdio | `invocation.lsp.stdio` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/lsp.rb:28` |
246
+ | migrate-check | --format=FORMAT | `report.migrate_check.format` | enum / enum | text \| json / text | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/racc_migration.rb:73` |
247
+ | migrate-check | --help | `presentation.help` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/racc_migration.rb:74` |
248
+ | migrate-harness | --help | `presentation.help` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/racc_migration.rb:83` |
249
+ | migrate-harness | -o FILE, --output=FILE | `path.migrate_harness.output` | string / path | caller-supplied filesystem or logical source path / unset | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x2_path_or_destination` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/racc_migration.rb:82` |
250
+ | reduce | --command=COMMAND | `invocation.reduce.command` | string / string | string constrained by command validation / unset | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | Executes the explicit untrusted checker in a bounded subprocess; never execute it during inventory or configuration resolution. | `current` | `lib/ibex/cli/reduce.rb:102` |
251
+ | reduce | --format=FORMAT | `report.reduce.format` | enum / enum | json \| text / json | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/reduce.rb:120` |
252
+ | reduce | --help | `presentation.help` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/reduce.rb:123` |
253
+ | reduce | --max-input-bytes=N | `invocation.reduce.max_input_bytes` | integer / integer | integer constrained by command validation / 10485760 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/reduce.rb:117` |
254
+ | reduce | --max-output-bytes=N | `invocation.reduce.max_output_bytes` | integer / integer | integer constrained by command validation / 1048576 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/reduce.rb:114` |
255
+ | reduce | --max-trials=N | `invocation.reduce.max_trials` | integer / integer | integer constrained by command validation / 1000 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/reduce.rb:108` |
256
+ | reduce | --mode=MODE | `invocation.reduce.mode` | enum / enum | tokens \| lines \| bytes / tokens | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/reduce.rb:105` |
257
+ | reduce | --timeout=SECONDS | `invocation.reduce.timeout` | integer / integer | integer constrained by command validation / 10 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/reduce.rb:111` |
258
+ | samples | --count=N | `invocation.samples.count` | integer / integer | integer constrained by command validation / 5 | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/samples.rb:56` |
259
+ | samples | --max-depth=N | `invocation.samples.max_depth` | integer / integer | integer constrained by command validation / 16 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/samples.rb:65` |
260
+ | samples | --max-expansions=N | `invocation.samples.max_expansions` | integer / integer | integer constrained by command validation / 100000 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/samples.rb:68` |
261
+ | samples | --max-tokens=N | `invocation.samples.max_tokens` | integer / integer | integer constrained by command validation / 32 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/samples.rb:62` |
262
+ | samples | --path-length=N | `invocation.samples.path_length` | integer / integer | integer constrained by command validation / 1 | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/samples.rb:77` |
263
+ | samples | --seed=N | `invocation.samples.seed` | integer / integer | integer constrained by command validation / 0 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/samples.rb:59` |
264
+ | samples | --strategy=NAME | `invocation.samples.strategy` | enum / enum | random \| coverage / random | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/samples.rb:71` |
265
+ | samples | --from=FORMAT | `invocation.samples.from` | enum / enum | grammar-ir \| automaton-ir / unset | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | Validate the selected IR as untrusted data; never execute embedded user sections while loading or inventorying it. | `current` | `lib/ibex/cli/samples.rb:86` |
266
+ | samples | --mode=MODE | `grammar.mode` | enum / enum | default \| extended / default | frontend, normalization, parser_generation | Changes parser construction, grammar/action ABI, tree ownership, or parser public contract (grammar.mode). | `grammar_contract` | `admitted_a1_a8` | `analysis_override` | `grammar_ir_current` / `current` | Validate statically; do not execute grammar actions or user sections. | `current` | `lib/ibex/cli/samples.rb:89` |
267
+ | samples | --warnings=CATEGORIES | `invocation.warning_policy` | string / set_of_enums | all \| error \| all,error \| none / unset | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x7_diagnostic_suppression` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/samples.rb:92` |
268
+ | samples | --help | `presentation.help` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/samples.rb:50` |
269
+ | verify | --format=FORMAT | `report.verify.format` | enum / enum | json \| text / json | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/verify.rb:72` |
270
+ | verify | --grammar=GRAMMAR | `invocation.verify.grammar` | string / path | caller-supplied filesystem or logical source path / unset | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/verify.rb:63` |
271
+ | verify | --help | `presentation.help` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x3_presentation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/verify.rb:73` |
272
+ | verify | --max-items=N | `invocation.verify.max_items` | integer / integer | integer constrained by command validation / 1000000 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/verify.rb:69` |
273
+ | verify | --max-states=N | `invocation.verify.max_states` | integer / integer | integer constrained by command validation / 100000 | analysis, report | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x4_caller_budget` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/verify.rb:66` |
274
+ | verify | --strict | `invocation.verify.strict` | boolean / boolean | true \| false / false | invocation | Changes only the selected operation, bounded evidence, destination, or presentation for this invocation. | `invocation_request` | `excluded_x1_operation` | `invocation_only` | `not_persisted` / `not_applicable` | CLI input only; it must not become trusted grammar or execute while inventorying. | `current` | `lib/ibex/cli/verify.rb:62` |