ibex 0.2.0 → 0.3.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.
- checksums.yaml +4 -4
- data/README.md +95 -272
- data/docs/architecture.md +187 -35
- data/docs/bison-import.md +103 -0
- data/docs/comparison-policy.md +127 -0
- data/docs/configuration-model.md +59 -0
- data/docs/configuration-report.md +28 -0
- data/docs/conflict-explanation-reviews/v1/records/README.md +28 -0
- data/docs/conflict-explanation-study.md +62 -0
- data/docs/construction-profiling.md +157 -0
- data/docs/cst-migration.md +3 -4
- data/docs/cst.md +24 -0
- data/docs/decisions/0000-template.md +24 -0
- data/docs/decisions/0001-separate-ir-pipeline.md +34 -0
- data/docs/decisions/0002-opaque-user-code-boundary.md +32 -0
- data/docs/decisions/0003-self-hosted-grammar-frontend.md +32 -0
- data/docs/decisions/0004-shared-semantic-and-lossless-source-model.md +33 -0
- data/docs/decisions/0005-contained-grammar-composition.md +34 -0
- data/docs/decisions/0006-bounded-structural-grammar-lowering.md +32 -0
- data/docs/decisions/0007-shared-parser-construction-pipeline.md +33 -0
- data/docs/decisions/0008-versioned-runtime-package-boundary.md +36 -0
- data/docs/decisions/0009-isolated-parser-sessions.md +34 -0
- data/docs/decisions/0010-committed-runtime-observation.md +34 -0
- data/docs/decisions/0011-versioned-semantic-action-boundary.md +37 -0
- data/docs/decisions/0012-bounded-nonexecuting-analysis.md +37 -0
- data/docs/decisions/0013-transactional-generation-publication.md +37 -0
- data/docs/decisions/0014-versioned-generated-lexer.md +35 -0
- data/docs/decisions/0015-worker-isolated-browser-analysis.md +32 -0
- data/docs/decisions/0016-red-green-concrete-syntax.md +34 -0
- data/docs/decisions/0017-persistent-syntax-artifacts.md +35 -0
- data/docs/decisions/0018-conservative-incremental-syntax-reuse.md +38 -0
- data/docs/decisions/0019-runtime-syntax-session-boundary.md +51 -0
- data/docs/decisions/0020-grammar-ir-parser-contract.md +65 -0
- data/docs/decisions/0021-data-only-parser-table-sidecar.md +50 -0
- data/docs/decisions/0022-manifest-bound-verification-report.md +77 -0
- data/docs/decisions/0023-syntax-only-repair-results.md +48 -0
- data/docs/decisions/0024-direct-ielr-construction.md +42 -0
- data/docs/decisions/README.md +74 -0
- data/docs/declarative-configuration.md +262 -0
- data/docs/development.md +179 -2
- data/docs/direct-ielr-decision.md +120 -0
- data/docs/direct-multi-entry-decision.md +82 -0
- data/docs/editor-setup.md +2 -1
- data/docs/error-ux-review-rubric-v1.md +117 -0
- data/docs/error-ux-reviews/v1/records/README.md +22 -0
- data/docs/error-ux-round2-review-status-v1.json +27 -0
- data/docs/error-ux-round2-reviews/v1/records/README.md +30 -0
- data/docs/error-ux-round2-v1.json +1581 -0
- data/docs/error-ux-round2.md +111 -0
- data/docs/error-ux.md +54 -0
- data/docs/getting-started.md +80 -0
- data/docs/grammar-reference.md +184 -13
- data/docs/ielr-design.md +43 -0
- data/docs/ielr.md +92 -0
- data/docs/ja/bison-import.md +51 -0
- data/docs/ja/stable-api.md +53 -0
- data/docs/lexer-construction-profile.md +109 -0
- data/docs/lexer-migration.md +5 -0
- data/docs/maturity.md +128 -0
- data/docs/project-site-strategy.md +54 -0
- data/docs/racc-migration-evidence.md +45 -0
- data/docs/racc-migration.md +11 -0
- data/docs/release-readiness.md +126 -68
- data/docs/repair-semantics.md +123 -0
- data/docs/runtime-abi-evolution.md +307 -0
- data/docs/stability.md +144 -34
- data/docs/status.md +43 -0
- data/docs/syntax-sessions.md +183 -0
- data/docs/table-artifact.md +125 -0
- data/docs/test-interactions.md +219 -0
- data/docs/verification-report.md +137 -0
- data/docs/verifier-trust-boundary.md +199 -0
- data/docs/workloads.md +132 -0
- data/lib/ibex/analysis/digraph.rb +128 -0
- data/lib/ibex/analysis.rb +1 -0
- data/lib/ibex/bison_import/importer.rb +516 -0
- data/lib/ibex/bison_import/tokenizer.rb +260 -0
- data/lib/ibex/bison_import.rb +200 -0
- data/lib/ibex/bounded_subprocess.rb +171 -0
- data/lib/ibex/cli/ambiguity.rb +14 -5
- data/lib/ibex/cli/analysis.rb +134 -0
- data/lib/ibex/cli/bison_import.rb +121 -0
- data/lib/ibex/cli/config.rb +128 -0
- data/lib/ibex/cli/diagnostics.rb +31 -11
- data/lib/ibex/cli/documentation.rb +11 -8
- data/lib/ibex/cli/equiv.rb +169 -0
- data/lib/ibex/cli/error_messages.rb +11 -4
- data/lib/ibex/cli/explain.rb +14 -5
- data/lib/ibex/cli/fix.rb +203 -0
- data/lib/ibex/cli/formatting.rb +11 -10
- data/lib/ibex/cli/fuzz.rb +200 -0
- data/lib/ibex/cli/fuzz_regressions.rb +145 -0
- data/lib/ibex/cli/generation_artifacts.rb +53 -2
- data/lib/ibex/cli/generation_error_messages.rb +1 -1
- data/lib/ibex/cli/grammar_tests.rb +32 -14
- data/lib/ibex/cli/ir_tools.rb +5 -61
- data/lib/ibex/cli/outputs.rb +60 -33
- data/lib/ibex/cli/reduce.rb +202 -0
- data/lib/ibex/cli/reduce_reporting.rb +71 -0
- data/lib/ibex/cli/samples.rb +49 -23
- data/lib/ibex/cli/verify.rb +116 -0
- data/lib/ibex/cli/watch.rb +6 -5
- data/lib/ibex/cli.rb +357 -56
- data/lib/ibex/codegen/action_locations.rb +1 -1
- data/lib/ibex/codegen/action_method_source.rb +5 -6
- data/lib/ibex/codegen/action_source.rb +3 -2
- data/lib/ibex/codegen/ambiguity.rb +5 -4
- data/lib/ibex/codegen/explain.rb +123 -55
- data/lib/ibex/codegen/generated_action_abi.rb +10 -5
- data/lib/ibex/codegen/rbs.rb +15 -7
- data/lib/ibex/codegen/report.rb +25 -13
- data/lib/ibex/codegen/ruby.rb +28 -64
- data/lib/ibex/codegen/ruby_actions.rb +9 -6
- data/lib/ibex/codegen/ruby_syntax.rb +15 -9
- data/lib/ibex/configuration/analysis_grammar.rb +35 -0
- data/lib/ibex/configuration/explanation.rb +421 -0
- data/lib/ibex/configuration/inspector.rb +232 -0
- data/lib/ibex/configuration.rb +580 -0
- data/lib/ibex/coverage/collector.rb +21 -11
- data/lib/ibex/coverage/event_stream.rb +13 -7
- data/lib/ibex/coverage/report.rb +26 -18
- data/lib/ibex/coverage/runtime_event_validator.rb +30 -21
- data/lib/ibex/delta_reducer.rb +99 -0
- data/lib/ibex/diff.rb +140 -0
- data/lib/ibex/equiv/machine.rb +135 -0
- data/lib/ibex/equiv.rb +373 -0
- data/lib/ibex/fix.rb +557 -0
- data/lib/ibex/frontend/ast.rb +22 -2
- data/lib/ibex/frontend/bootstrap_parser.rb +6 -13
- data/lib/ibex/frontend/diagnostic.rb +1 -1
- data/lib/ibex/frontend/formatter.rb +72 -26
- data/lib/ibex/frontend/generated_parser.rb +147 -117
- data/lib/ibex/frontend/generated_parser_base.rb +7 -3
- data/lib/ibex/frontend/generated_parser_includes.rb +1 -11
- data/lib/ibex/frontend/generation.rb +1 -1
- data/lib/ibex/frontend/parser/declarations.rb +17 -2
- data/lib/ibex/frontend/parser_configuration_support.rb +56 -0
- data/lib/ibex/frontend/regenerator.rb +1 -0
- data/lib/ibex/frontend/resolution.rb +2 -1
- data/lib/ibex/frontend/resolver.rb +1 -1
- data/lib/ibex/frontend/rule_documentation.rb +2 -1
- data/lib/ibex/frontend/source_cursor.rb +2 -2
- data/lib/ibex/frontend/source_span.rb +9 -1
- data/lib/ibex/frontend/token_adapter/declaration_state.rb +38 -6
- data/lib/ibex/frontend/token_adapter.rb +10 -0
- data/lib/ibex/frontend.rb +1 -0
- data/lib/ibex/fuzz.rb +219 -0
- data/lib/ibex/generation_input.rb +1 -1
- data/lib/ibex/generation_manifest.rb +36 -25
- data/lib/ibex/generation_transaction.rb +1 -1
- data/lib/ibex/generation_transaction_recovery.rb +4 -4
- data/lib/ibex/generation_transaction_validation.rb +2 -2
- data/lib/ibex/grammar_tests.rb +1 -1
- data/lib/ibex/ir/automaton_ir.rb +61 -19
- data/lib/ibex/ir/grammar_ir.rb +76 -45
- data/lib/ibex/ir/lexer_ir.rb +5 -5
- data/lib/ibex/ir/parser_contract.rb +135 -0
- data/lib/ibex/ir/serialize.rb +203 -76
- data/lib/ibex/ir/validator/automaton.rb +64 -34
- data/lib/ibex/ir/validator/base.rb +51 -33
- data/lib/ibex/ir/validator/grammar.rb +113 -83
- data/lib/ibex/ir/validator/lexer.rb +2 -2
- data/lib/ibex/ir/validator.rb +2 -1
- data/lib/ibex/ir.rb +16 -3
- data/lib/ibex/lalr/build_metrics.rb +50 -2
- data/lib/ibex/lalr/builder.rb +191 -56
- data/lib/ibex/lalr/conflict_search.rb +15 -4
- data/lib/ibex/lalr/counterexample.rb +19 -14
- data/lib/ibex/lalr/direct_lookaheads.rb +110 -57
- data/lib/ibex/lalr/goto_follows.rb +229 -0
- data/lib/ibex/lalr/ielr/annotator.rb +214 -0
- data/lib/ibex/lalr/ielr/bits.rb +28 -0
- data/lib/ibex/lalr/ielr/inadequacy.rb +47 -0
- data/lib/ibex/lalr/ielr/item_lookaheads.rb +78 -0
- data/lib/ibex/lalr/ielr/pipeline.rb +75 -0
- data/lib/ibex/lalr/ielr/split_stability.rb +78 -0
- data/lib/ibex/lalr/ielr/split_state.rb +20 -0
- data/lib/ibex/lalr/ielr/state_splitter.rb +258 -0
- data/lib/ibex/lalr/ielr_partition.rb +22 -8
- data/lib/ibex/lalr/inadequacy_report.rb +50 -0
- data/lib/ibex/lalr/lookahead_propagation.rb +111 -0
- data/lib/ibex/lalr/lr0_collection.rb +121 -0
- data/lib/ibex/lalr/unreachable_states.rb +80 -0
- data/lib/ibex/lalr.rb +52 -1
- data/lib/ibex/location.rb +3 -3
- data/lib/ibex/lsp/document_handlers.rb +9 -7
- data/lib/ibex/lsp/initialization_handlers.rb +9 -7
- data/lib/ibex/lsp/navigation_handlers.rb +25 -11
- data/lib/ibex/lsp/parser_configuration_assistance.rb +149 -0
- data/lib/ibex/lsp/position_codec.rb +6 -2
- data/lib/ibex/lsp/request_handlers.rb +3 -2
- data/lib/ibex/lsp/request_support.rb +14 -7
- data/lib/ibex/lsp/server.rb +13 -11
- data/lib/ibex/lsp/symbol_index.rb +13 -13
- data/lib/ibex/lsp/symbol_index_builder.rb +30 -20
- data/lib/ibex/lsp/symbol_occurrence.rb +8 -2
- data/lib/ibex/lsp/transport.rb +13 -3
- data/lib/ibex/lsp/workspace.rb +5 -4
- data/lib/ibex/lsp/workspace_analyzer.rb +1 -1
- data/lib/ibex/lsp.rb +1 -0
- data/lib/ibex/messages/en.yml +28 -0
- data/lib/ibex/messages/ja.yml +28 -0
- data/lib/ibex/messages.rb +68 -0
- data/lib/ibex/metrics.rb +175 -0
- data/lib/ibex/normalize/declarations.rb +2 -0
- data/lib/ibex/normalize/diagnostics.rb +63 -38
- data/lib/ibex/normalize/expander.rb +5 -4
- data/lib/ibex/normalize/expression.rb +8 -6
- data/lib/ibex/normalize/grammar_builder.rb +26 -0
- data/lib/ibex/normalize/inline_expansion.rb +100 -49
- data/lib/ibex/normalize/lexer.rb +3 -3
- data/lib/ibex/normalize/parameter_ebnf_lowering.rb +11 -10
- data/lib/ibex/normalize/parameter_lowering.rb +40 -23
- data/lib/ibex/normalize/parameters.rb +31 -4
- data/lib/ibex/normalize/parser_configuration.rb +70 -0
- data/lib/ibex/normalize.rb +10 -20
- data/lib/ibex/racc_migration/report.rb +6 -3
- data/lib/ibex/rake_task.rb +1 -1
- data/lib/ibex/samples.rb +43 -13
- data/lib/ibex/table_artifact/builder.rb +266 -0
- data/lib/ibex/table_artifact/cst_projection.rb +70 -0
- data/lib/ibex/table_artifact/document.rb +39 -0
- data/lib/ibex/table_artifact/executor.rb +187 -0
- data/lib/ibex/table_artifact/serializer.rb +57 -0
- data/lib/ibex/table_artifact/validator/metadata.rb +179 -0
- data/lib/ibex/table_artifact/validator/support.rb +86 -0
- data/lib/ibex/table_artifact/validator/tables.rb +238 -0
- data/lib/ibex/table_artifact/validator.rb +253 -0
- data/lib/ibex/table_artifact.rb +88 -0
- data/lib/ibex/table_simulation/result.rb +6 -2
- data/lib/ibex/table_simulation/step.rb +3 -1
- data/lib/ibex/tables.rb +14 -0
- data/lib/ibex/verifiable_generation_bundle.rb +86 -0
- data/lib/ibex/verification_report/builder.rb +159 -0
- data/lib/ibex/verification_report/canonical_ir.rb +123 -0
- data/lib/ibex/verification_report/logical_path.rb +68 -0
- data/lib/ibex/verification_report/validator.rb +329 -0
- data/lib/ibex/verification_report.rb +69 -0
- data/lib/ibex/verify/action_correspondence.rb +138 -0
- data/lib/ibex/verify/language_witness.rb +295 -0
- data/lib/ibex/verify/reference_collection.rb +190 -0
- data/lib/ibex/verify/result.rb +73 -0
- data/lib/ibex/verify/verifier.rb +598 -0
- data/lib/ibex/verify.rb +15 -0
- data/lib/ibex/version.rb +1 -1
- data/lib/ibex/watch/runner.rb +10 -1
- data/lib/ibex/watch/source_snapshot.rb +13 -8
- data/lib/ibex.rb +10 -0
- data/schema/{automaton-ir-v1.schema.json → automaton-ir-definitions.schema.json} +6 -6
- data/schema/{automaton-ir-v2.schema.json → automaton-ir.schema.json} +14 -7
- data/schema/bison-import-v1.schema.json +106 -0
- data/schema/conflict-explanation-review-v1.schema.json +196 -0
- data/schema/conflict-explanation-study-v1.schema.json +528 -0
- data/schema/construction-profile-v1.schema.json +779 -0
- data/schema/diff-v1.schema.json +41 -0
- data/schema/direct-ielr-decision-v1.schema.json +200 -0
- data/schema/equiv-v1.schema.json +64 -0
- data/schema/error-ux-review-v1.schema.json +609 -0
- data/schema/error-ux-round2-review-v1.schema.json +191 -0
- data/schema/error-ux-round2-v1.schema.json +519 -0
- data/schema/explain-v1.schema.json +63 -1
- data/schema/fix-v1.schema.json +64 -0
- data/schema/fix-v2.schema.json +66 -0
- data/schema/fix-v3.schema.json +101 -0
- data/schema/fuzz-regression-v1.schema.json +79 -0
- data/schema/fuzz-v1.schema.json +114 -0
- data/schema/{grammar-ir-v2.schema.json → grammar-ir-extensions.schema.json} +20 -65
- data/schema/{grammar-ir-v1.schema.json → grammar-ir-foundation.schema.json} +3 -3
- data/schema/grammar-ir.schema.json +271 -0
- data/schema/ielr-benchmark-v1.schema.json +85 -0
- data/schema/lexer-profile-v1.schema.json +491 -0
- data/schema/metrics-v1.schema.json +60 -0
- data/schema/reduce-v1.schema.json +22 -0
- data/schema/reduce-v2.schema.json +63 -0
- data/schema/table-artifact-v1.schema.json +377 -0
- data/schema/verification-report-v1.schema.json +222 -0
- data/schema/verify-v1.schema.json +42 -0
- data/sig/ibex/analysis/digraph.rbs +19 -0
- data/sig/ibex/bison_import/importer.rbs +140 -0
- data/sig/ibex/bison_import/tokenizer.rbs +91 -0
- data/sig/ibex/bison_import.rbs +95 -0
- data/sig/ibex/bounded_subprocess.rbs +76 -0
- data/sig/ibex/cli/ambiguity.rbs +6 -0
- data/sig/ibex/cli/analysis.rbs +43 -0
- data/sig/ibex/cli/bison_import.rbs +32 -0
- data/sig/ibex/cli/config.rbs +35 -0
- data/sig/ibex/cli/diagnostics.rbs +16 -3
- data/sig/ibex/cli/documentation.rbs +5 -1
- data/sig/ibex/cli/equiv.rbs +49 -0
- data/sig/ibex/cli/error_messages.rbs +6 -0
- data/sig/ibex/cli/explain.rbs +6 -0
- data/sig/ibex/cli/fix.rbs +53 -0
- data/sig/ibex/cli/formatting.rbs +5 -1
- data/sig/ibex/cli/fuzz.rbs +47 -0
- data/sig/ibex/cli/fuzz_regressions.rbs +40 -0
- data/sig/ibex/cli/generation_artifacts.rbs +21 -2
- data/sig/ibex/cli/generation_error_messages.rbs +2 -2
- data/sig/ibex/cli/grammar_tests.rbs +15 -3
- data/sig/ibex/cli/ir_tools.rbs +7 -19
- data/sig/ibex/cli/outputs.rbs +9 -3
- data/sig/ibex/cli/reduce.rbs +60 -0
- data/sig/ibex/cli/reduce_reporting.rbs +27 -0
- data/sig/ibex/cli/samples.rbs +8 -0
- data/sig/ibex/cli/verify.rbs +28 -0
- data/sig/ibex/cli/watch.rbs +2 -2
- data/sig/ibex/cli.rbs +79 -5
- data/sig/ibex/codegen/action_method_source.rbs +4 -4
- data/sig/ibex/codegen/explain.rbs +45 -25
- data/sig/ibex/codegen/generated_action_abi.rbs +14 -10
- data/sig/ibex/codegen/rbs.rbs +12 -10
- data/sig/ibex/codegen/report.rbs +12 -12
- data/sig/ibex/codegen/ruby.rbs +18 -15
- data/sig/ibex/codegen/ruby_actions.rbs +6 -6
- data/sig/ibex/codegen/ruby_syntax.rbs +10 -8
- data/sig/ibex/configuration/analysis_grammar.rbs +13 -0
- data/sig/ibex/configuration/explanation.rbs +195 -0
- data/sig/ibex/configuration/inspector.rbs +53 -0
- data/sig/ibex/configuration.rbs +242 -0
- data/sig/ibex/coverage/collector.rbs +16 -14
- data/sig/ibex/coverage/event_stream.rbs +12 -10
- data/sig/ibex/coverage/report.rbs +20 -18
- data/sig/ibex/coverage/runtime_event_validator.rbs +38 -36
- data/sig/ibex/delta_reducer.rbs +38 -0
- data/sig/ibex/diff.rbs +47 -0
- data/sig/ibex/equiv/machine.rbs +54 -0
- data/sig/ibex/equiv.rbs +129 -0
- data/sig/ibex/fix.rbs +138 -0
- data/sig/ibex/frontend/ast.rbs +33 -7
- data/sig/ibex/frontend/bootstrap_parser.rbs +2 -0
- data/sig/ibex/frontend/diagnostic.rbs +2 -2
- data/sig/ibex/frontend/formatter.rbs +38 -30
- data/sig/ibex/frontend/generated_parser.rbs +87 -77
- data/sig/ibex/frontend/generated_parser_base.rbs +4 -2
- data/sig/ibex/frontend/parser/declarations.rbs +3 -0
- data/sig/ibex/frontend/parser_configuration_support.rbs +27 -0
- data/sig/ibex/frontend/resolution.rbs +3 -2
- data/sig/ibex/frontend/source_cursor.rbs +2 -2
- data/sig/ibex/frontend/source_span.rbs +5 -2
- data/sig/ibex/frontend/token_adapter/declaration_state.rbs +13 -1
- data/sig/ibex/frontend/token_adapter.rbs +6 -0
- data/sig/ibex/fuzz.rbs +71 -0
- data/sig/ibex/generation_input.rbs +2 -2
- data/sig/ibex/generation_manifest.rbs +35 -32
- data/sig/ibex/generation_transaction_recovery.rbs +2 -2
- data/sig/ibex/generation_transaction_validation.rbs +2 -2
- data/sig/ibex/grammar_tests.rbs +2 -2
- data/sig/ibex/ir/automaton_ir.rbs +30 -11
- data/sig/ibex/ir/grammar_ir.rbs +41 -27
- data/sig/ibex/ir/lexer_ir.rbs +8 -8
- data/sig/ibex/ir/parser_contract.rbs +69 -0
- data/sig/ibex/ir/serialize.rbs +63 -28
- data/sig/ibex/ir/validator/automaton.rbs +47 -44
- data/sig/ibex/ir/validator/base.rbs +35 -31
- data/sig/ibex/ir/validator/grammar.rbs +78 -67
- data/sig/ibex/ir/validator/lexer.rbs +4 -4
- data/sig/ibex/ir.rbs +9 -3
- data/sig/ibex/lalr/build_metrics.rbs +42 -2
- data/sig/ibex/lalr/builder.rbs +75 -24
- data/sig/ibex/lalr/conflict_search.rbs +5 -2
- data/sig/ibex/lalr/counterexample.rbs +17 -14
- data/sig/ibex/lalr/direct_lookaheads.rbs +35 -28
- data/sig/ibex/lalr/goto_follows.rbs +89 -0
- data/sig/ibex/lalr/ielr/annotator.rbs +67 -0
- data/sig/ibex/lalr/ielr/bits.rbs +14 -0
- data/sig/ibex/lalr/ielr/inadequacy.rbs +24 -0
- data/sig/ibex/lalr/ielr/item_lookaheads.rbs +35 -0
- data/sig/ibex/lalr/ielr/pipeline.rbs +17 -0
- data/sig/ibex/lalr/ielr/split_stability.rbs +27 -0
- data/sig/ibex/lalr/ielr/split_state.rbs +14 -0
- data/sig/ibex/lalr/ielr/state_splitter.rbs +76 -0
- data/sig/ibex/lalr/ielr_partition.rbs +17 -5
- data/sig/ibex/lalr/inadequacy_report.rbs +21 -0
- data/sig/ibex/lalr/lookahead_propagation.rbs +38 -0
- data/sig/ibex/lalr/lr0_collection.rbs +50 -0
- data/sig/ibex/lalr/unreachable_states.rbs +25 -0
- data/sig/ibex/lalr.rbs +11 -1
- data/sig/ibex/location.rbs +6 -6
- data/sig/ibex/lsp/document_handlers.rbs +8 -8
- data/sig/ibex/lsp/initialization_handlers.rbs +12 -12
- data/sig/ibex/lsp/navigation_handlers.rbs +15 -12
- data/sig/ibex/lsp/parser_configuration_assistance.rbs +49 -0
- data/sig/ibex/lsp/position_codec.rbs +8 -4
- data/sig/ibex/lsp/request_handlers.rbs +4 -4
- data/sig/ibex/lsp/request_support.rbs +8 -8
- data/sig/ibex/lsp/server.rbs +16 -16
- data/sig/ibex/lsp/symbol_index.rbs +20 -21
- data/sig/ibex/lsp/symbol_index_builder.rbs +9 -8
- data/sig/ibex/lsp/symbol_occurrence.rbs +11 -5
- data/sig/ibex/lsp/transport.rbs +18 -6
- data/sig/ibex/lsp/workspace.rbs +3 -2
- data/sig/ibex/lsp/workspace_analyzer.rbs +1 -1
- data/sig/ibex/messages.rbs +26 -0
- data/sig/ibex/metrics.rbs +50 -0
- data/sig/ibex/normalize/diagnostics.rbs +4 -4
- data/sig/ibex/normalize/expander.rbs +2 -2
- data/sig/ibex/normalize/expression.rbs +10 -8
- data/sig/ibex/normalize/grammar_builder.rbs +11 -0
- data/sig/ibex/normalize/inline_expansion.rbs +59 -50
- data/sig/ibex/normalize/lexer.rbs +4 -4
- data/sig/ibex/normalize/parameter_ebnf_lowering.rbs +15 -14
- data/sig/ibex/normalize/parameter_lowering.rbs +18 -18
- data/sig/ibex/normalize/parameters.rbs +13 -8
- data/sig/ibex/normalize/parser_configuration.rbs +23 -0
- data/sig/ibex/normalize.rbs +11 -5
- data/sig/ibex/racc_migration/report.rbs +8 -6
- data/sig/ibex/rake_task.rbs +1 -1
- data/sig/ibex/samples.rbs +13 -4
- data/sig/ibex/table_artifact/builder.rbs +93 -0
- data/sig/ibex/table_artifact/cst_projection.rbs +20 -0
- data/sig/ibex/table_artifact/document.rbs +27 -0
- data/sig/ibex/table_artifact/executor.rbs +66 -0
- data/sig/ibex/table_artifact/serializer.rbs +25 -0
- data/sig/ibex/table_artifact/validator/metadata.rbs +52 -0
- data/sig/ibex/table_artifact/validator/support.rbs +46 -0
- data/sig/ibex/table_artifact/validator/tables.rbs +63 -0
- data/sig/ibex/table_artifact/validator.rbs +66 -0
- data/sig/ibex/table_artifact.rbs +32 -0
- data/sig/ibex/table_simulation/result.rbs +8 -4
- data/sig/ibex/table_simulation/step.rbs +4 -2
- data/sig/ibex/tables.rbs +10 -9
- data/sig/ibex/verifiable_generation_bundle.rbs +24 -0
- data/sig/ibex/verification_report/builder.rbs +53 -0
- data/sig/ibex/verification_report/canonical_ir.rbs +41 -0
- data/sig/ibex/verification_report/logical_path.rbs +34 -0
- data/sig/ibex/verification_report/validator.rbs +114 -0
- data/sig/ibex/verification_report.rbs +44 -0
- data/sig/ibex/verify/action_correspondence.rbs +50 -0
- data/sig/ibex/verify/language_witness.rbs +112 -0
- data/sig/ibex/verify/reference_collection.rbs +63 -0
- data/sig/ibex/verify/result.rbs +52 -0
- data/sig/ibex/verify/verifier.rbs +170 -0
- data/sig/ibex/verify.rbs +6 -0
- data/sig/ibex/watch/runner.rbs +12 -2
- data/sig/ibex/watch/source_snapshot.rbs +13 -9
- metadata +232 -12
- data/lib/ibex/ir/migration.rb +0 -120
- data/sig/ibex/ir/migration.rbs +0 -34
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# ADR 0023: Keep editor repair proposals syntax-only
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
|
|
5
|
+
Accepted as an Experimental runtime API boundary.
|
|
6
|
+
|
|
7
|
+
## Context
|
|
8
|
+
|
|
9
|
+
The semantic repair path selects a `RepairPlan` whose buffered token positions
|
|
10
|
+
and replay values are meaningful to a parser application, but an editor needs
|
|
11
|
+
source edits and a fresh syntax result. Exposing replay values would couple the
|
|
12
|
+
editor boundary to application semantic actions and could be mistaken for an
|
|
13
|
+
intent or correctness guarantee.
|
|
14
|
+
|
|
15
|
+
## Decision
|
|
16
|
+
|
|
17
|
+
Add `SyntaxSession#repair` as a separate, additive operation. It runs a fresh
|
|
18
|
+
private parser with production actions suppressed, captures token identity and
|
|
19
|
+
absolute byte ranges, resolves source spelling only from caller-provided text
|
|
20
|
+
or conservative punctuation literals, applies byte edits to an immutable
|
|
21
|
+
`SourceText`, and validates the edited bytes with another fresh syntax session.
|
|
22
|
+
The result contains bounded search status, immutable syntax edit metadata,
|
|
23
|
+
diagnostics, exact updated source bytes, and the validation snapshot, but no
|
|
24
|
+
semantic value. The originating session is never mutated and the application's
|
|
25
|
+
repair callback is not invoked.
|
|
26
|
+
|
|
27
|
+
## Alternatives rejected
|
|
28
|
+
|
|
29
|
+
1. Reuse the semantic replay result: rejected because it would expose or
|
|
30
|
+
fabricate application values and would make editor output depend on action
|
|
31
|
+
execution.
|
|
32
|
+
2. Add a second editor-specific search algorithm: rejected because it would
|
|
33
|
+
create two bounded-search semantics and a new proof surface.
|
|
34
|
+
3. Infer arbitrary token spellings: rejected because a token name does not
|
|
35
|
+
define source bytes; missing named-token spelling therefore fails closed.
|
|
36
|
+
|
|
37
|
+
The v1 boundary accepts one selected repair segment. Overlapping edits,
|
|
38
|
+
multiple segments, exhaustion, cancellation, and hard service limits cannot
|
|
39
|
+
be converted into successful results.
|
|
40
|
+
|
|
41
|
+
## Consequences
|
|
42
|
+
|
|
43
|
+
The runtime API and RBS surface grow additively while parser-table format v6,
|
|
44
|
+
IR schemas, and grammar syntax remain unchanged. Embedded generated parsers
|
|
45
|
+
must be regenerated to acquire the implementation. Accepted proposals prove
|
|
46
|
+
only fresh syntactic acceptance; they do not prove semantic correctness or
|
|
47
|
+
user intent. Error validation retains exact edited bytes separately because an
|
|
48
|
+
error CST may contain only the consumed prefix.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# ADR 0024: Keep direct IELR as an opt-in construction strategy
|
|
2
|
+
|
|
3
|
+
- Status: Accepted for experimental implementation; default adoption remains held
|
|
4
|
+
- Date: 2026-08-11
|
|
5
|
+
|
|
6
|
+
## Context
|
|
7
|
+
|
|
8
|
+
The existing IELR partition strategy constructs canonical LR(1) first and then
|
|
9
|
+
merges compatible states. That path is conservative and is retained as the
|
|
10
|
+
default. A direct implementation is useful when canonical state construction
|
|
11
|
+
is the dominant cost, but it carries a larger proof and maintenance surface.
|
|
12
|
+
|
|
13
|
+
## Decision
|
|
14
|
+
|
|
15
|
+
Implement direct IELR as `Builder`'s explicit `ielr_strategy: :direct` and as
|
|
16
|
+
the CLI option `--ielr-strategy=direct`. The direct pipeline is built from
|
|
17
|
+
LR(0), goto-follow closures, lane annotations, split-stability checks, state
|
|
18
|
+
splitting, and a second item-level lookahead propagation pass. It emits the
|
|
19
|
+
same Automaton IR consumed by all other algorithms.
|
|
20
|
+
|
|
21
|
+
Keep `:partition` as the default IELR strategy. Do not claim that direct IELR
|
|
22
|
+
is globally state-minimal, do not change public state-number baselines, and do
|
|
23
|
+
not enable unreachable-state compaction by default. The direct decision dossier
|
|
24
|
+
remains a release and evidence gate; an opt-in implementation is not evidence
|
|
25
|
+
that the gate has been satisfied.
|
|
26
|
+
|
|
27
|
+
## Consequences
|
|
28
|
+
|
|
29
|
+
- Direct construction can be exercised and profiled without changing existing
|
|
30
|
+
parser output or release defaults.
|
|
31
|
+
- The implementation records phase metrics and offers bounded diagnostic
|
|
32
|
+
reports, which makes future independent review possible.
|
|
33
|
+
- The direct path must retain adversarial fixtures, gallery regression tests,
|
|
34
|
+
RBS, and static-quality checks as part of its maintenance budget.
|
|
35
|
+
- A future default change requires new real-workload measurements, an
|
|
36
|
+
independent adequacy review, and a separately updated decision record.
|
|
37
|
+
|
|
38
|
+
## Provenance constraint
|
|
39
|
+
|
|
40
|
+
The implementation is derived from the published IELR paper and local parser
|
|
41
|
+
specifications only. GPL implementation sources are not inspected, translated,
|
|
42
|
+
or used as design input.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# Implementation architecture decisions
|
|
2
|
+
|
|
3
|
+
This directory records only durable implementation choices whose rationale
|
|
4
|
+
cannot be recovered safely from code or reference documentation alone.
|
|
5
|
+
|
|
6
|
+
An ADR belongs here only when every answer below is yes:
|
|
7
|
+
|
|
8
|
+
1. Were at least two credible implementation approaches available?
|
|
9
|
+
2. Does the choice cross a component, execution, persistence, packaging, or
|
|
10
|
+
security boundary?
|
|
11
|
+
3. Would reversing it require coordinated changes or invalidate stored or
|
|
12
|
+
generated artifacts?
|
|
13
|
+
4. Does a future maintainer need the rejected alternatives and trade-offs to
|
|
14
|
+
avoid repeating the decision?
|
|
15
|
+
|
|
16
|
+
Delete or merge an ADR when the answer stops being yes. Renumber the remaining
|
|
17
|
+
files; this directory is a current architecture index, not an append-only
|
|
18
|
+
project diary.
|
|
19
|
+
|
|
20
|
+
The following are not ADRs:
|
|
21
|
+
|
|
22
|
+
- feature and command specifications;
|
|
23
|
+
- descriptions of code that has already been implemented;
|
|
24
|
+
- compatibility fixes and migration edge cases;
|
|
25
|
+
- individual performance optimizations or rejected experiments;
|
|
26
|
+
- test plans, benchmarks, acceptance evidence, and release gates;
|
|
27
|
+
- maturity or stability declarations; and
|
|
28
|
+
- decisions superseded by the current implementation.
|
|
29
|
+
|
|
30
|
+
Those facts belong in reference documentation, tests, benchmark artifacts, or
|
|
31
|
+
version control. Evidence may support an ADR, but it is not the decision.
|
|
32
|
+
|
|
33
|
+
The following subjects belong in their operational documents instead:
|
|
34
|
+
|
|
35
|
+
- contributor workflow, CI jobs, test matrices, dependency automation, and
|
|
36
|
+
quality gates: [`docs/development.md`](../development.md);
|
|
37
|
+
- benchmark protocols, artifact ingestion, and comparison rules:
|
|
38
|
+
[`benchmark/README.md`](../../benchmark/README.md);
|
|
39
|
+
- documentation organization, generation, hosting, and publication:
|
|
40
|
+
the relevant documentation or workflow;
|
|
41
|
+
- maturity, compatibility, and deprecation policy:
|
|
42
|
+
[`docs/stability.md`](../stability.md);
|
|
43
|
+
- release decisions and release gates:
|
|
44
|
+
[`docs/release-readiness.md`](../release-readiness.md); and
|
|
45
|
+
- error-experience evidence and human assessments:
|
|
46
|
+
[`docs/error-ux.md`](../error-ux.md).
|
|
47
|
+
|
|
48
|
+
Use [`0000-template.md`](0000-template.md) for a new implementation decision.
|
|
49
|
+
|
|
50
|
+
## Current decisions
|
|
51
|
+
|
|
52
|
+
- [0001: Separate pipeline stages with current IR](0001-separate-ir-pipeline.md)
|
|
53
|
+
- [0002: Keep grammar-embedded Ruby opaque until code generation](0002-opaque-user-code-boundary.md)
|
|
54
|
+
- [0003: Self-host the grammar parser behind an explicit bootstrap](0003-self-hosted-grammar-frontend.md)
|
|
55
|
+
- [0004: Derive semantic and lossless source views from one lexing pass](0004-shared-semantic-and-lossless-source-model.md)
|
|
56
|
+
- [0005: Resolve grammar composition in a contained filesystem boundary](0005-contained-grammar-composition.md)
|
|
57
|
+
- [0006: Lower grammar extensions structurally and under explicit bounds](0006-bounded-structural-grammar-lowering.md)
|
|
58
|
+
- [0007: Share one downstream pipeline across parser algorithms](0007-shared-parser-construction-pipeline.md)
|
|
59
|
+
- [0008: Separate the runtime behind a versioned parser-table ABI](0008-versioned-runtime-package-boundary.md)
|
|
60
|
+
- [0009: Isolate mutable parser sessions from immutable parser data](0009-isolated-parser-sessions.md)
|
|
61
|
+
- [0010: Observe only committed runtime transitions](0010-committed-runtime-observation.md)
|
|
62
|
+
- [0011: Compile opaque actions once behind a versioned calling boundary](0011-versioned-semantic-action-boundary.md)
|
|
63
|
+
- [0012: Keep parser analysis bounded and free of semantic execution](0012-bounded-nonexecuting-analysis.md)
|
|
64
|
+
- [0013: Publish generated artifacts as a verified transaction](0013-transactional-generation-publication.md)
|
|
65
|
+
- [0014: Model generated lexers as an independently versioned stage](0014-versioned-generated-lexer.md)
|
|
66
|
+
- [0015: Isolate browser analysis in a replaceable worker](0015-worker-isolated-browser-analysis.md)
|
|
67
|
+
- [0016: Represent concrete syntax with immutable Green data and lazy Red views](0016-red-green-concrete-syntax.md)
|
|
68
|
+
- [0017: Persist and edit syntax through Green structure](0017-persistent-syntax-artifacts.md)
|
|
69
|
+
- [0018: Reuse incremental syntax only with conservative proofs](0018-conservative-incremental-syntax-reuse.md)
|
|
70
|
+
- [0019: Keep generated-language syntax sessions in the runtime](0019-runtime-syntax-session-boundary.md)
|
|
71
|
+
- [0020: Persist parser contracts in Grammar IR](0020-grammar-ir-parser-contract.md)
|
|
72
|
+
- [0021: Persist executable parser tables as a data-only sidecar](0021-data-only-parser-table-sidecar.md)
|
|
73
|
+
- [0022: Bind scoped verification evidence through the generation manifest](0022-manifest-bound-verification-report.md)
|
|
74
|
+
- [0023: Keep editor repair proposals syntax-only](0023-syntax-only-repair-results.md)
|
|
@@ -0,0 +1,262 @@
|
|
|
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 187 source call sites and 196 runtime registrations:
|
|
18
|
+
185 ordinary call sites plus 7 `fix` budget variants and 4 `import-bison` budget variants.
|
|
19
|
+
Those registrations expose 214 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` | 151 |
|
|
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:504` |
|
|
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:490` |
|
|
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:501` |
|
|
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:505` |
|
|
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:508` |
|
|
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:487` |
|
|
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:507` |
|
|
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:506` |
|
|
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:498` |
|
|
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:494` |
|
|
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:518` |
|
|
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:519` |
|
|
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:513` |
|
|
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:517` |
|
|
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:516` |
|
|
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:460` |
|
|
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:462` |
|
|
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:457` |
|
|
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:461` |
|
|
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:463` |
|
|
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:445` |
|
|
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:466` |
|
|
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:470` |
|
|
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:451` |
|
|
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:444` |
|
|
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:448` |
|
|
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:454` |
|
|
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:417` |
|
|
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:410` |
|
|
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:400` |
|
|
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:432` |
|
|
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:403` |
|
|
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:423` |
|
|
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:420` |
|
|
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:406` |
|
|
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:426` |
|
|
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:429` |
|
|
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:407` |
|
|
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:435` |
|
|
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:438` |
|
|
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:480` |
|
|
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:477` |
|
|
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
|
+
| 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` |
|
|
233
|
+
| 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` |
|
|
234
|
+
| 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` |
|
|
235
|
+
| 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` |
|
|
236
|
+
| 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` |
|
|
237
|
+
| 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` |
|
|
238
|
+
| 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` |
|
|
239
|
+
| 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` |
|
|
240
|
+
| 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` |
|
|
241
|
+
| 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` |
|
|
242
|
+
| 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` |
|
|
243
|
+
| 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` |
|
|
244
|
+
| 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` |
|
|
245
|
+
| 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` |
|
|
246
|
+
| 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` |
|
|
247
|
+
| 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` |
|
|
248
|
+
| 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` |
|
|
249
|
+
| 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` |
|
|
250
|
+
| 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` |
|
|
251
|
+
| 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` |
|
|
252
|
+
| 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` |
|
|
253
|
+
| 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` |
|
|
254
|
+
| 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` |
|
|
255
|
+
| 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` |
|
|
256
|
+
| 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` |
|
|
257
|
+
| 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` |
|
|
258
|
+
| 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` |
|
|
259
|
+
| 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` |
|
|
260
|
+
| 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` |
|
|
261
|
+
| 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` |
|
|
262
|
+
| 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` |
|