hecks 6.0.0 → 7.0.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/exe/hecks +19 -12
- data/lib/hecks/adapters/driven/claude_code.rb +2 -2
- data/lib/hecks/adapters/driven/folder.rb +10 -1
- data/lib/hecks/adapters/driven/folder_overlay.rb +15 -0
- data/lib/hecks/adapters/driven/heki.rb +1 -1
- data/lib/hecks/adapters/driven/in_process_key_vault.rb +1 -1
- data/lib/hecks/adapters/driven/memory/outbox_rows.rb +2 -2
- data/lib/hecks/adapters/driven/postgres/name_guard.rb +25 -0
- data/lib/hecks/adapters/driven/postgres/outbox.rb +3 -3
- data/lib/hecks/adapters/driven/postgres/repository.rb +1 -1
- data/lib/hecks/adapters/driven/postgres/shared_connection.rb +1 -1
- data/lib/hecks/adapters/driven/postgres.rb +3 -0
- data/lib/hecks/adapters/driven/postgres_era/boot.rb +28 -16
- data/lib/hecks/adapters/driven/postgres_era/class_methods.rb +27 -7
- data/lib/hecks/adapters/driven/postgres_era/dialect.rb +10 -5
- data/lib/hecks/adapters/driven/postgres_era/field_cache_provisioner.rb +39 -0
- data/lib/hecks/adapters/driven/postgres_era/journal.rb +52 -13
- data/lib/hecks/adapters/driven/postgres_era/lineage/chain_sql.rb +29 -49
- data/lib/hecks/adapters/driven/postgres_era/lineage/direct_sql.rb +73 -0
- data/lib/hecks/adapters/driven/postgres_era/lineage/direct_verified.json +10 -0
- data/lib/hecks/adapters/driven/postgres_era/lineage/direct_verified.rb +65 -0
- data/lib/hecks/adapters/driven/postgres_era/lineage/domain_rename.rb +77 -25
- data/lib/hecks/adapters/driven/postgres_era/lineage/domain_rename_state.rb +108 -0
- data/lib/hecks/adapters/driven/postgres_era/lineage/era_integrity.rb +11 -6
- data/lib/hecks/adapters/driven/postgres_era/lineage/era_store.rb +63 -5
- data/lib/hecks/adapters/driven/postgres_era/lineage/layered_sql.rb +64 -0
- data/lib/hecks/adapters/driven/postgres_era/lineage/ledger_reset.rb +150 -0
- data/lib/hecks/adapters/driven/postgres_era/lineage/mint_provisioning.rb +85 -0
- data/lib/hecks/adapters/driven/postgres_era/lineage/mint_transaction.rb +11 -7
- data/lib/hecks/adapters/driven/postgres_era/lineage/provisioning.rb +11 -5
- data/lib/hecks/adapters/driven/postgres_era/lineage/split_sql.rb +76 -0
- data/lib/hecks/adapters/driven/postgres_era/lineage/sql_templates.rb +9 -0
- data/lib/hecks/adapters/driven/postgres_era/lineage.rb +10 -2
- data/lib/hecks/adapters/driven/postgres_era/lineage_manager/context.rb +23 -3
- data/lib/hecks/adapters/driven/postgres_era/lineage_manager/coverage_check.rb +3 -1
- data/lib/hecks/adapters/driven/postgres_era/lineage_manager/disposable_ledger.rb +119 -0
- data/lib/hecks/adapters/driven/postgres_era/lineage_manager/era_resolution.rb +219 -0
- data/lib/hecks/adapters/driven/postgres_era/lineage_manager/era_resolver.rb +68 -71
- data/lib/hecks/adapters/driven/postgres_era/lineage_manager/held_era.rb +68 -0
- data/lib/hecks/adapters/driven/postgres_era/lineage_manager/ledger_change.rb +63 -0
- data/lib/hecks/adapters/driven/postgres_era/lineage_manager/merge_coordinator.rb +1 -1
- data/lib/hecks/adapters/driven/postgres_era/lineage_manager/mint_decision.rb +163 -0
- data/lib/hecks/adapters/driven/postgres_era/lineage_manager/mint_request.rb +24 -0
- data/lib/hecks/adapters/driven/postgres_era/lineage_manager/minter.rb +59 -21
- data/lib/hecks/adapters/driven/postgres_era/lineage_manager/refusals.rb +24 -11
- data/lib/hecks/adapters/driven/postgres_era/lineage_manager.rb +40 -6
- data/lib/hecks/adapters/driven/postgres_era/shared_tables.rb +32 -0
- data/lib/hecks/adapters/driven/postgres_era.adapter +12 -0
- data/lib/hecks/adapters/driven/postgres_era.rb +25 -10
- data/lib/hecks/adapters/driven/prism.rb +0 -1
- data/lib/hecks/adapters/driven/sql_query_builder.rb +1 -0
- data/lib/hecks/adapters/driven/sqlite/dispatch_claims.rb +1 -1
- data/lib/hecks/adapters/driven/sqlite/name_guard.rb +25 -0
- data/lib/hecks/adapters/driven/sqlite/outbox.rb +2 -2
- data/lib/hecks/adapters/driven/sqlite/repository.rb +1 -1
- data/lib/hecks/adapters/driven/sqlite/schema_builder.rb +20 -0
- data/lib/hecks/adapters/driven/sqlite.rb +9 -1
- data/lib/hecks/adapters/driven/tenant_provisioner.rb +1 -1
- data/lib/hecks/adapters/driven/worktree_overlay.rb +117 -0
- data/lib/hecks/adapters/driving/cli/shorthand.rb +5 -1
- data/lib/hecks/adapters/driving/cli.rb +1 -1
- data/lib/hecks/adapters/driving/cli_runner/answers.rb +77 -22
- data/lib/hecks/adapters/driving/cli_runner/bang_rule.rb +35 -0
- data/lib/hecks/adapters/driving/cli_runner/completion_words.rb +36 -0
- data/lib/hecks/adapters/driving/cli_runner/json_words.rb +55 -0
- data/lib/hecks/adapters/driving/cli_runner/name_index.rb +63 -0
- data/lib/hecks/adapters/driving/cli_runner/read_context.rb +32 -0
- data/lib/hecks/adapters/driving/cli_runner/renamed_names.rb +49 -0
- data/lib/hecks/adapters/driving/cli_runner/resolution.rb +43 -17
- data/lib/hecks/adapters/driving/cli_runner/resume_words.rb +63 -0
- data/lib/hecks/adapters/driving/cli_runner/run_reference.rb +66 -0
- data/lib/hecks/adapters/driving/cli_runner/run_replay.rb +118 -0
- data/lib/hecks/adapters/driving/cli_runner/search_words.rb +35 -0
- data/lib/hecks/adapters/driving/cli_runner/settling.rb +6 -5
- data/lib/hecks/adapters/driving/cli_runner/streaming.rb +11 -10
- data/lib/hecks/adapters/driving/cli_runner/suggestions.rb +1 -1
- data/lib/hecks/adapters/driving/cli_runner/tour_words.rb +77 -0
- data/lib/hecks/adapters/driving/cli_runner/verb_names.rb +36 -4
- data/lib/hecks/adapters/driving/cli_runner/verbosity.rb +75 -0
- data/lib/hecks/adapters/driving/cli_runner.rb +106 -7
- data/lib/hecks/adapters/driving/context_line.rb +85 -0
- data/lib/hecks/adapters/driving/exit_status.rb +31 -0
- data/lib/hecks/adapters/driving/launcher_options.rb +7 -5
- data/lib/hecks/adapters/driving/mcp/progress_sink.rb +45 -0
- data/lib/hecks/adapters/driving/mcp/tool_calls.rb +7 -5
- data/lib/hecks/adapters/driving/mcp.rb +25 -5
- data/lib/hecks/adapters/driving/mcp_scope/argument_policy.rb +40 -7
- data/lib/hecks/adapters/driving/mcp_scope.rb +8 -7
- data/lib/hecks/adapters/driving/ruby/aggregate_module/hooks.rb +154 -0
- data/lib/hecks/adapters/driving/ruby/aggregate_module.rb +64 -93
- data/lib/hecks/adapters/driving/usage_log.rb +146 -0
- data/lib/hecks/adapters/driving/write_guard.rb +55 -0
- data/lib/hecks/adapters/driving.rb +0 -1
- data/lib/hecks/behaviors/dsl.rb +5 -1
- data/lib/hecks/behaviors/expectations/boot.rb +0 -1
- data/lib/hecks/bluebook/acknowledgements.rb +1 -1
- data/lib/hecks/bluebook/aggregate.rb +21 -18
- data/lib/hecks/bluebook/assembly/contracts/sagas.rb +2 -0
- data/lib/hecks/bluebook/assembly/contracts/structure.rb +18 -13
- data/lib/hecks/bluebook/behaviour/aggregate.rb +27 -3
- data/lib/hecks/bluebook/command.rb +16 -5
- data/lib/hecks/bluebook/declaration.rb +32 -4
- data/lib/hecks/bluebook/domain_port.rb +7 -3
- data/lib/hecks/bluebook/dsl/aggregate_builder/relationships.rb +0 -2
- data/lib/hecks/bluebook/dsl/aggregate_builder/renaming.rb +25 -0
- data/lib/hecks/bluebook/dsl/aggregate_builder.rb +3 -0
- data/lib/hecks/bluebook/dsl/attribute_collector.rb +0 -1
- data/lib/hecks/bluebook/dsl/audience_word.rb +40 -0
- data/lib/hecks/bluebook/dsl/bluebook_builder/metadata.rb +56 -0
- data/lib/hecks/bluebook/dsl/bluebook_builder/modules.rb +80 -0
- data/lib/hecks/bluebook/dsl/bluebook_builder/validation/correlation_keys.rb +51 -0
- data/lib/hecks/bluebook/dsl/bluebook_builder/validation.rb +1 -0
- data/lib/hecks/bluebook/dsl/bluebook_builder.rb +17 -34
- data/lib/hecks/bluebook/dsl/bootstrap_table.rb +8 -0
- data/lib/hecks/bluebook/dsl/command_builder.rb +13 -3
- data/lib/hecks/bluebook/dsl/entity_builder.rb +0 -2
- data/lib/hecks/bluebook/dsl/generic_dispatch.rb +6 -4
- data/lib/hecks/bluebook/dsl/kinds.rb +53 -0
- data/lib/hecks/bluebook/dsl/port_operation_builder.rb +9 -2
- data/lib/hecks/bluebook/dsl/process_manager_builder.rb +25 -15
- data/lib/hecks/bluebook/dsl/translation_builder.rb +16 -1
- data/lib/hecks/bluebook/dsl/word_gate.rb +1 -1
- data/lib/hecks/bluebook/dsl.rb +1 -0
- data/lib/hecks/bluebook/meta_validator/judge/identity.rb +9 -4
- data/lib/hecks/bluebook/meta_validator/plan/category.rb +10 -2
- data/lib/hecks/bluebook/meta_validator/plan/verbs.rb +9 -0
- data/lib/hecks/bluebook/meta_validator/plan.rb +2 -1
- data/lib/hecks/bluebook/meta_validator/reconstruction/heads.rb +3 -1
- data/lib/hecks/bluebook/meta_validator/reconstruction/reading.rb +7 -0
- data/lib/hecks/bluebook/meta_validator/reconstruction.rb +7 -2
- data/lib/hecks/bluebook/meta_validator/shapes.rb +3 -0
- data/lib/hecks/bluebook/meta_validator/syntax_boot/disk_cache.rb +1 -1
- data/lib/hecks/bluebook/model_check/aggregate_checks.rb +27 -0
- data/lib/hecks/bluebook/model_check/ask_checks.rb +25 -0
- data/lib/hecks/bluebook/model_check/reaction_chains.rb +114 -0
- data/lib/hecks/bluebook/model_check/reaction_cycles.rb +53 -0
- data/lib/hecks/bluebook/model_check/reaction_depth_checks.rb +58 -0
- data/lib/hecks/bluebook/model_check/reaction_walk.rb +62 -0
- data/lib/hecks/bluebook/model_check.rb +5 -27
- data/lib/hecks/bluebook/process_manager.rb +20 -3
- data/lib/hecks/bluebook/translation.rb +5 -3
- data/lib/hecks/bluebook/translation_plan.rb +9 -2
- data/lib/hecks/ci_pipeline/adapters/ci_cache.adapter +7 -0
- data/lib/hecks/ci_pipeline/adapters/ci_cache.rb +39 -0
- data/lib/hecks/ci_pipeline/adapters/ci_runner.adapter +7 -0
- data/lib/hecks/ci_pipeline/adapters/ci_runner.rb +55 -0
- data/lib/hecks/ci_pipeline/ci_pipeline.behaviors +322 -0
- data/lib/hecks/ci_pipeline/ci_pipeline.bluebook +938 -0
- data/lib/hecks/ci_pipeline/ci_pipeline.hecksagon +12 -0
- data/lib/hecks/ci_pipeline/ci_pipeline.ports.hecksagon +16 -0
- data/lib/hecks/ci_speed/adapters/ci_reader.adapter +7 -0
- data/lib/hecks/ci_speed/adapters/ci_reader.rb +141 -0
- data/lib/hecks/ci_speed/adapters/local_runner/answer.rb +41 -0
- data/lib/hecks/ci_speed/adapters/local_runner/catalog.rb +89 -0
- data/lib/hecks/ci_speed/adapters/local_runner/checkouts.rb +89 -0
- data/lib/hecks/ci_speed/adapters/local_runner/launcher.rb +69 -0
- data/lib/hecks/ci_speed/adapters/local_runner/load_average.rb +38 -0
- data/lib/hecks/ci_speed/adapters/local_runner/refs.rb +39 -0
- data/lib/hecks/ci_speed/adapters/local_runner/refused.rb +11 -0
- data/lib/hecks/ci_speed/adapters/local_runner/verdict.rb +71 -0
- data/lib/hecks/ci_speed/adapters/local_runner.adapter +7 -0
- data/lib/hecks/ci_speed/adapters/local_runner.rb +168 -0
- data/lib/hecks/ci_speed/adapters/replayed_runner.rb +39 -0
- data/lib/hecks/ci_speed/ci_speed.behaviors +341 -0
- data/lib/hecks/ci_speed/ci_speed.bluebook +1073 -0
- data/lib/hecks/ci_speed/ci_speed.hecksagon +11 -0
- data/lib/hecks/ci_speed/ci_speed.ports.hecksagon +21 -0
- data/lib/hecks/ci_workflows/ci_workflows.behaviors +13 -0
- data/lib/hecks/ci_workflows/ci_workflows.bluebook +173 -0
- data/lib/hecks/ci_workflows/ci_workflows.hecksagon +15 -0
- data/lib/hecks/coder/coder.bluebook +385 -0
- data/lib/hecks/coder/coder.hecksagon +12 -0
- data/lib/hecks/command_names/check.rb +39 -0
- data/lib/hecks/command_names/extractor.rb +67 -0
- data/lib/hecks/command_names/index.rb +40 -0
- data/lib/hecks/command_names/resolution.rb +81 -0
- data/lib/hecks/command_names/scan.rb +54 -0
- data/lib/hecks/command_names/sources.rb +73 -0
- data/lib/hecks/command_names.rb +26 -0
- data/lib/hecks/composer/jobs.rb +1 -1
- data/lib/hecks/composer/toolbox.rb +8 -1
- data/lib/hecks/corpus/generated_key.rb +205 -0
- data/lib/hecks/corpus/listing.rb +34 -0
- data/lib/hecks/corpus/rust.rb +27 -11
- data/lib/hecks/corpus/sources.rb +2 -1
- data/lib/hecks/corpus.rb +37 -42
- data/lib/hecks/deprecation.rb +23 -0
- data/lib/hecks/doc/reference/readme.rb +1 -1
- data/lib/hecks/doc/reference/rendering.rb +2 -2
- data/lib/hecks/doc/reference.rb +1 -1
- data/lib/hecks/embryonaut_bluebook/manifest.rb +1 -1
- data/lib/hecks/fixer/fixer.bluebook +240 -0
- data/lib/hecks/fixer/fixer.hecksagon +17 -0
- data/lib/hecks/framework_bluebooks.rb +32 -7
- data/lib/hecks/fuzzing/concurrent_dispatch/world_copy.rb +1 -0
- data/lib/hecks/fuzzing/isolated_boot/postgres_scratch.rb +11 -12
- data/lib/hecks/fuzzing/isolated_boot/worlds.rb +23 -5
- data/lib/hecks/fuzzing/isolated_boot.rb +1 -1
- data/lib/hecks/fuzzing/mutation/checks.rb +3 -3
- data/lib/hecks/grammar/translation.bluebook +1 -1
- data/lib/hecks/grammar/translation_rules.json +64 -0
- data/lib/hecks/hecks/adapter_words.json +7 -0
- data/lib/hecks/hecks/adapters/area_overlap.rb +156 -0
- data/lib/hecks/hecks/adapters/claude_agents.rb +8 -3
- data/lib/hecks/hecks/adapters/codebase/batch_runs.rb +60 -0
- data/lib/hecks/hecks/adapters/codebase/changed_specs.rb +52 -0
- data/lib/hecks/hecks/adapters/codebase/codemods.rb +3 -2
- data/lib/hecks/hecks/adapters/codebase/conformance.rb +14 -1
- data/lib/hecks/hecks/adapters/codebase/corpus_queries.rb +53 -0
- data/lib/hecks/hecks/adapters/codebase/generated_keys.rb +31 -0
- data/lib/hecks/hecks/adapters/codebase/impacted_specs.rb +110 -0
- data/lib/hecks/hecks/adapters/codebase/language.rb +2 -2
- data/lib/hecks/hecks/adapters/codebase/launcher_text.rb +39 -0
- data/lib/hecks/hecks/adapters/codebase/minitest_runs.rb +52 -0
- data/lib/hecks/hecks/adapters/codebase/regeneration.rb +51 -8
- data/lib/hecks/hecks/adapters/codebase/run_options.rb +35 -0
- data/lib/hecks/hecks/adapters/codebase/scripting.rb +39 -0
- data/lib/hecks/hecks/adapters/codebase/search.rb +1 -1
- data/lib/hecks/hecks/adapters/codebase/source_tree.rb +79 -51
- data/lib/hecks/hecks/adapters/codebase/spec_files/report.rb +71 -0
- data/lib/hecks/hecks/adapters/codebase/spec_files/shared_run.rb +73 -0
- data/lib/hecks/hecks/adapters/codebase/spec_files.rb +95 -0
- data/lib/hecks/hecks/adapters/codebase/test_runner.rb +53 -4
- data/lib/hecks/hecks/adapters/codebase/test_scope.rb +105 -0
- data/lib/hecks/hecks/adapters/codebase/test_suite.rb +48 -34
- data/lib/hecks/hecks/adapters/console_capture.rb +1 -1
- data/lib/hecks/hecks/adapters/cost_explorer.rb +9 -1
- data/lib/hecks/hecks/adapters/dispatching/brief_text.rb +51 -0
- data/lib/hecks/hecks/adapters/dispatching/launcher.rb +97 -0
- data/lib/hecks/hecks/adapters/dispatching/plan.rb +82 -0
- data/lib/hecks/hecks/adapters/dispatching/rows.rb +66 -0
- data/lib/hecks/hecks/adapters/dispatching/settings.rb +81 -0
- data/lib/hecks/hecks/adapters/dispatching/settler.rb +40 -0
- data/lib/hecks/hecks/adapters/dispatching.adapter +7 -0
- data/lib/hecks/hecks/adapters/dispatching.rb +93 -0
- data/lib/hecks/hecks/adapters/doctor_reading/report.rb +27 -0
- data/lib/hecks/hecks/adapters/doctor_reading.adapter +7 -0
- data/lib/hecks/hecks/adapters/doctor_reading.rb +161 -0
- data/lib/hecks/hecks/adapters/git_checkout.rb +1 -1
- data/lib/hecks/hecks/adapters/git_commit.adapter +7 -0
- data/lib/hecks/hecks/adapters/git_commit.rb +61 -0
- data/lib/hecks/hecks/adapters/git_landing/finisher.rb +82 -0
- data/lib/hecks/hecks/adapters/git_landing/foreign_hold.rb +111 -0
- data/lib/hecks/hecks/adapters/git_landing/line.rb +171 -0
- data/lib/hecks/hecks/adapters/git_landing/lineup.rb +98 -0
- data/lib/hecks/hecks/adapters/git_landing/merger.rb +1 -1
- data/lib/hecks/hecks/adapters/git_landing/numbering.rb +54 -0
- data/lib/hecks/hecks/adapters/git_landing/rivals.rb +59 -0
- data/lib/hecks/hecks/adapters/git_landing/ticket.rb +156 -0
- data/lib/hecks/hecks/adapters/git_landing/tidy.rb +147 -0
- data/lib/hecks/hecks/adapters/git_landing/train.rb +104 -0
- data/lib/hecks/hecks/adapters/git_landing/verdict.rb +64 -0
- data/lib/hecks/hecks/adapters/git_landing/waiting.rb +120 -0
- data/lib/hecks/hecks/adapters/git_landing.rb +106 -20
- data/lib/hecks/hecks/adapters/git_main_pull.rb +99 -0
- data/lib/hecks/hecks/adapters/git_rehearsal/bench.rb +82 -0
- data/lib/hecks/hecks/adapters/git_rehearsal/due.rb +84 -0
- data/lib/hecks/hecks/adapters/git_rehearsal/impacted/skips.rb +47 -0
- data/lib/hecks/hecks/adapters/git_rehearsal/impacted/spec_run.rb +75 -0
- data/lib/hecks/hecks/adapters/git_rehearsal/impacted.rb +181 -0
- data/lib/hecks/hecks/adapters/git_rehearsal/line.rb +76 -0
- data/lib/hecks/hecks/adapters/git_rehearsal/reading.rb +24 -0
- data/lib/hecks/hecks/adapters/git_rehearsal/record.rb +146 -0
- data/lib/hecks/hecks/adapters/git_rehearsal/spec_map/corpus.rb +25 -0
- data/lib/hecks/hecks/adapters/git_rehearsal/spec_map/needles.rb +61 -0
- data/lib/hecks/hecks/adapters/git_rehearsal/spec_map.rb +105 -0
- data/lib/hecks/hecks/adapters/git_rehearsal/stages.rb +118 -0
- data/lib/hecks/hecks/adapters/git_rehearsal.adapter +7 -0
- data/lib/hecks/hecks/adapters/git_rehearsal.rb +141 -0
- data/lib/hecks/hecks/adapters/git_train/bench.rb +15 -15
- data/lib/hecks/hecks/adapters/git_train/branch_guard.rb +62 -0
- data/lib/hecks/hecks/adapters/git_train/carriage.rb +27 -28
- data/lib/hecks/hecks/adapters/git_train/launcher_shape.rb +75 -0
- data/lib/hecks/hecks/adapters/git_train/mint_step.rb +47 -0
- data/lib/hecks/hecks/adapters/git_train/settlement.rb +167 -0
- data/lib/hecks/hecks/adapters/git_train.rb +73 -15
- data/lib/hecks/hecks/adapters/git_worktree_add.adapter +7 -0
- data/lib/hecks/hecks/adapters/git_worktree_add.rb +68 -0
- data/lib/hecks/hecks/adapters/github_pull_requests.adapter +7 -0
- data/lib/hecks/hecks/adapters/github_pull_requests.rb +109 -0
- data/lib/hecks/hecks/adapters/host_http.rb +6 -6
- data/lib/hecks/hecks/adapters/in_process_boot.rb +10 -8
- data/lib/hecks/hecks/adapters/in_process_operations.rb +11 -17
- data/lib/hecks/hecks/adapters/in_process_undo.rb +17 -0
- data/lib/hecks/hecks/adapters/journal_store/changes.rb +13 -4
- data/lib/hecks/hecks/adapters/journal_store/edge_audit.rb +28 -15
- data/lib/hecks/hecks/adapters/journal_store/examination.rb +17 -1
- data/lib/hecks/hecks/adapters/journal_store/held_domain/renaming.rb +45 -0
- data/lib/hecks/hecks/adapters/journal_store/held_domain.rb +31 -5
- data/lib/hecks/hecks/adapters/journal_store/held_mint.rb +128 -0
- data/lib/hecks/hecks/adapters/journal_store/readings/attestation.rb +1 -1
- data/lib/hecks/hecks/adapters/journal_store/readings/boot_status.rb +58 -0
- data/lib/hecks/hecks/adapters/journal_store/readings/composition.rb +39 -0
- data/lib/hecks/hecks/adapters/journal_store/readings/event_trace/outcomes.rb +76 -0
- data/lib/hecks/hecks/adapters/journal_store/readings/event_trace/postgres_reader.rb +44 -0
- data/lib/hecks/hecks/adapters/journal_store/readings/event_trace/reader.rb +64 -0
- data/lib/hecks/hecks/adapters/journal_store/readings/event_trace/report.rb +102 -0
- data/lib/hecks/hecks/adapters/journal_store/readings/event_trace/sqlite_reader.rb +43 -0
- data/lib/hecks/hecks/adapters/journal_store/readings/event_trace/stores.rb +80 -0
- data/lib/hecks/hecks/adapters/journal_store/readings/event_trace/subscribers.rb +72 -0
- data/lib/hecks/hecks/adapters/journal_store/readings/event_trace/summary.rb +39 -0
- data/lib/hecks/hecks/adapters/journal_store/readings/event_trace.rb +39 -0
- data/lib/hecks/hecks/adapters/journal_store/readings/mint_plan/command_line.rb +57 -0
- data/lib/hecks/hecks/adapters/journal_store/readings/mint_plan/edge_guards.rb +107 -0
- data/lib/hecks/hecks/adapters/journal_store/readings/mint_plan/inspection.rb +94 -0
- data/lib/hecks/hecks/adapters/journal_store/readings/mint_plan/plan.rb +66 -0
- data/lib/hecks/hecks/adapters/journal_store/readings/mint_plan/report.rb +72 -0
- data/lib/hecks/hecks/adapters/journal_store/readings/mint_plan/store.rb +34 -0
- data/lib/hecks/hecks/adapters/journal_store/readings/mint_plan/watermark_guards.rb +86 -0
- data/lib/hecks/hecks/adapters/journal_store/readings/mint_plan/world.rb +66 -0
- data/lib/hecks/hecks/adapters/journal_store/readings/mint_plan.rb +36 -0
- data/lib/hecks/hecks/adapters/journal_store/readings/projection_audit.rb +64 -0
- data/lib/hecks/hecks/adapters/journal_store/readings/scaffolding.rb +3 -3
- data/lib/hecks/hecks/adapters/journal_store/readings/sqlite_status/database_reading.rb +113 -0
- data/lib/hecks/hecks/adapters/journal_store/readings/sqlite_status/read_only.rb +33 -0
- data/lib/hecks/hecks/adapters/journal_store/readings/sqlite_status.rb +32 -0
- data/lib/hecks/hecks/adapters/journal_store/readings.rb +13 -1
- data/lib/hecks/hecks/adapters/journal_store/reconcile_report.rb +60 -0
- data/lib/hecks/hecks/adapters/journal_store/reconciliation.rb +121 -0
- data/lib/hecks/hecks/adapters/journal_store/translation_write/shape_edge.rb +59 -0
- data/lib/hecks/hecks/adapters/journal_store/translation_write.rb +123 -0
- data/lib/hecks/hecks/adapters/journal_store.rb +16 -0
- data/lib/hecks/hecks/adapters/landed_work.adapter +7 -0
- data/lib/hecks/hecks/adapters/landed_work.rb +52 -0
- data/lib/hecks/hecks/adapters/local_files.rb +6 -6
- data/lib/hecks/hecks/adapters/process_pool.rb +3 -2
- data/lib/hecks/hecks/adapters/push_size.rb +57 -0
- data/lib/hecks/hecks/adapters/qa_quiescing.adapter +7 -0
- data/lib/hecks/hecks/adapters/qa_quiescing.rb +57 -0
- data/lib/hecks/hecks/adapters/rehearsal/inquiry.rb +30 -3
- data/lib/hecks/hecks/adapters/rehearsal/memory_store.rb +63 -3
- data/lib/hecks/hecks/adapters/rehearsal/postgres_reading.rb +29 -6
- data/lib/hecks/hecks/adapters/rehearsal/subject.rb +11 -5
- data/lib/hecks/hecks/adapters/rust_toolchain.rb +10 -1
- data/lib/hecks/hecks/adapters/rust_workspace.rb +1 -1
- data/lib/hecks/hecks/adapters/settings_reading/disposable_ledger.rb +32 -0
- data/lib/hecks/hecks/adapters/settings_reading/push_nudge.rb +26 -0
- data/lib/hecks/hecks/adapters/settings_reading/stores.rb +76 -0
- data/lib/hecks/hecks/adapters/settings_reading/test_scope.rb +28 -0
- data/lib/hecks/hecks/adapters/settings_reading.rb +28 -2
- data/lib/hecks/hecks/adapters/started_work.rb +42 -0
- data/lib/hecks/hecks/adapters/terminal.rb +12 -10
- data/lib/hecks/hecks/adapters/where_reading.adapter +7 -0
- data/lib/hecks/hecks/adapters/where_reading.rb +64 -0
- data/lib/hecks/hecks/adapters/work_areas.rb +57 -0
- data/lib/hecks/hecks/adapters/work_limits.rb +57 -0
- data/lib/hecks/hecks/build/build.bluebook +576 -0
- data/lib/hecks/hecks/check/check.bluebook +966 -0
- data/lib/hecks/hecks/codebase.behaviors +61 -5
- data/lib/hecks/hecks/composer.behaviors +1 -1
- data/lib/hecks/hecks/context_map.hecksagon +1 -1
- data/lib/hecks/hecks/custodian.behaviors +33 -7
- data/lib/hecks/hecks/delegate/delegate.bluebook +355 -0
- data/lib/hecks/hecks/deliver/deliver.bluebook +945 -0
- data/lib/hecks/hecks/deploy.behaviors +1 -1
- data/lib/hecks/hecks/evolve/evolve.bluebook +788 -0
- data/lib/hecks/hecks/find/find.bluebook +81 -0
- data/lib/hecks/hecks/hecks.behaviors +1 -1
- data/lib/hecks/hecks/hecks.bluebook +0 -133
- data/lib/hecks/hecks/hecks.contextmap +2 -0
- data/lib/hecks/hecks/hecks.hecksagon +185 -29
- data/lib/hecks/hecks/hecks.world +35 -9
- data/lib/hecks/hecks/implicit_moves.json +24 -0
- data/lib/hecks/hecks/migrate/migrate.bluebook +1066 -0
- data/lib/hecks/hecks/operate/operate.bluebook +695 -0
- data/lib/hecks/hecks/quiesce/quiesce.bluebook +117 -0
- data/lib/hecks/hecks/rehearse/rehearse.bluebook +133 -0
- data/lib/hecks/hecks/release/release.bluebook +916 -0
- data/lib/hecks/hecks/serve/serve.bluebook +134 -0
- data/lib/hecks/hecks/shapes.json +1 -15
- data/lib/hecks/hecks/site.behaviors +1 -1
- data/lib/hecks/hecks/start/start.bluebook +194 -0
- data/lib/hecks/hecks/test/test.bluebook +638 -0
- data/lib/hecks/hecks/tickets.world +14 -0
- data/lib/hecks/language/bluebook/aggregate.bluebook +22 -0
- data/lib/hecks/language/bluebook/bluebook.bluebook +34 -0
- data/lib/hecks/language/bluebook/command.bluebook +35 -0
- data/lib/hecks/language/bluebook/process_manager.bluebook +14 -1
- data/lib/hecks/language/bluebook/vocabulary.bluebook +174 -54
- data/lib/hecks/language/hecksagon/domain_port.bluebook +1 -0
- data/lib/hecks/language/hecksagon/port_operation.bluebook +14 -0
- data/lib/hecks/language/kinds/run.kind +120 -0
- data/lib/hecks/language/oidc.json +10 -0
- data/lib/hecks/language/translation/translation_aggregate.bluebook +24 -0
- data/lib/hecks/module_folders.rb +31 -0
- data/lib/hecks/ports/key_vault.rb +1 -1
- data/lib/hecks/ports/persistence/append_only.rb +26 -8
- data/lib/hecks/ports/persistence/binding_policy.rb +3 -1
- data/lib/hecks/ports/persistence/codec_boundary.rb +1 -1
- data/lib/hecks/ports/persistence/mint_door.rb +74 -0
- data/lib/hecks/ports/persistence/plugins/era/era_check.rb +6 -5
- data/lib/hecks/ports/persistence/plugins/era/era_guard/shape_diff.rb +5 -1
- data/lib/hecks/ports/persistence/plugins/era/era_status.rb +48 -0
- data/lib/hecks/ports/persistence/plugins/era/projected_bluebook.rb +127 -0
- data/lib/hecks/ports/persistence/plugins/era/translation/additive_shape.rb +107 -0
- data/lib/hecks/ports/persistence/plugins/era/translation/compose.rb +155 -0
- data/lib/hecks/ports/persistence/plugins/era/translation/compose_render.rb +79 -0
- data/lib/hecks/ports/persistence/plugins/era/translation/edge_files.rb +49 -0
- data/lib/hecks/ports/persistence/plugins/era/translation/edge_route.rb +61 -0
- data/lib/hecks/ports/persistence/plugins/era/translation/implicit_edge.rb +67 -0
- data/lib/hecks/ports/persistence/plugins/era/translation/reconcile.rb +130 -0
- data/lib/hecks/ports/persistence/plugins/era/translation/reconcile_files.rb +35 -0
- data/lib/hecks/ports/persistence/plugins/era/translation/scaffold/differ.rb +13 -5
- data/lib/hecks/ports/persistence/plugins/era/translation.rb +5 -0
- data/lib/hecks/ports/persistence/plugins/era.rb +1 -0
- data/lib/hecks/ports/persistence/repository_factory.rb +11 -3
- data/lib/hecks/ports/persistence/stored_name_guard.rb +36 -0
- data/lib/hecks/ports/persistence.rb +2 -0
- data/lib/hecks/projections/ci_pipeline/table/checks.rb +137 -0
- data/lib/hecks/projections/ci_pipeline/table/lookup.rb +59 -0
- data/lib/hecks/projections/ci_pipeline/table/refusals.rb +58 -0
- data/lib/hecks/projections/ci_pipeline/table/rows.rb +119 -0
- data/lib/hecks/projections/ci_pipeline/table/tree.rb +30 -0
- data/lib/hecks/projections/ci_pipeline/table/typing.rb +92 -0
- data/lib/hecks/projections/ci_pipeline/table.rb +112 -0
- data/lib/hecks/projections/ci_pipeline/workflows.rb +162 -0
- data/lib/hecks/projections/ci_pipeline/yaml_text.rb +104 -0
- data/lib/hecks/projections/deploy/box/hosting.rb +1 -1
- data/lib/hecks/projections/deploy/box/roll_recipe.rb +1 -1
- data/lib/hecks/projections/deploy/box/roll_scripts.rb +1 -1
- data/lib/hecks/projections/deploy/box.rb +1 -1
- data/lib/hecks/projections/deploy/templates/fargate/Makefile.tmpl +1 -1
- data/lib/hecks/projections/deploy/templates/lambda/Makefile.tmpl +3 -3
- data/lib/hecks/projections/undo.rb +46 -0
- data/lib/hecks/projections.rb +2 -0
- data/lib/hecks/projector/cli_projector/claims.rb +11 -0
- data/lib/hecks/projector/cli_projector/command_help.rb +6 -1
- data/lib/hecks/projector/cli_projector/command_specs.rb +11 -1
- data/lib/hecks/projector/cli_projector/completion.rb +87 -0
- data/lib/hecks/projector/cli_projector/everyday.rb +40 -0
- data/lib/hecks/projector/cli_projector/json_listing.rb +77 -0
- data/lib/hecks/projector/cli_projector/listing.rb +1 -1
- data/lib/hecks/projector/cli_projector/modules.rb +39 -0
- data/lib/hecks/projector/cli_projector/query_specs.rb +1 -0
- data/lib/hecks/projector/cli_projector/renames.rb +58 -0
- data/lib/hecks/projector/cli_projector/search.rb +74 -0
- data/lib/hecks/projector/cli_projector/usage.rb +23 -6
- data/lib/hecks/projector/cli_projector.rb +24 -1
- data/lib/hecks/quality_control/adapters/ci_head.adapter +8 -0
- data/lib/hecks/quality_control/adapters/image_roll.adapter +9 -0
- data/lib/hecks/quality_control/adapters/image_roll.rb +158 -0
- data/lib/hecks/quality_control/adapters/main_maintenance.adapter +8 -0
- data/lib/hecks/quality_control/adapters/main_maintenance.rb +275 -0
- data/lib/hecks/quality_control/adapters/pump_tools.adapter +7 -0
- data/lib/hecks/quality_control/adapters/pump_tools.rb +18 -0
- data/lib/hecks/quality_control/adapters/push_due_reader.adapter +8 -0
- data/lib/hecks/quality_control/adapters/push_due_reader.rb +99 -0
- data/lib/hecks/quality_control/adapters/qa_auto_mint.rb +183 -0
- data/lib/hecks/quality_control/adapters/qa_era_mint.rb +94 -0
- data/lib/hecks/quality_control/adapters/qa_quiesce_marker.rb +126 -0
- data/lib/hecks/quality_control/adapters/run_keys.rb +36 -0
- data/lib/hecks/quality_control/adapters/run_reader.adapter +7 -0
- data/lib/hecks/quality_control/adapters/run_reader.rb +188 -0
- data/lib/hecks/quality_control/cli/child.rb +1 -0
- data/lib/hecks/quality_control/cli/qa_discover_external_domains/scanning.rb +1 -1
- data/lib/hecks/quality_control/cli/qa_domain_novelty.rb +3 -3
- data/lib/hecks/quality_control/cli/qa_event_pump/attached.rb +67 -0
- data/lib/hecks/quality_control/cli/qa_event_pump/consumer.rb +103 -0
- data/lib/hecks/quality_control/cli/qa_event_pump/cursors.rb +60 -0
- data/lib/hecks/quality_control/cli/qa_event_pump/reactions.rb +46 -0
- data/lib/hecks/quality_control/cli/qa_event_pump/reader.rb +30 -0
- data/lib/hecks/quality_control/cli/qa_event_pump.rb +76 -0
- data/lib/hecks/quality_control/cli/qa_fix_main_bug/publishing.rb +79 -0
- data/lib/hecks/quality_control/cli/qa_fix_main_bug.rb +167 -0
- data/lib/hecks/quality_control/cli/qa_generated_domains/evaluation.rb +1 -1
- data/lib/hecks/quality_control/cli/qa_generated_domains/promotion.rb +3 -3
- data/lib/hecks/quality_control/cli/qa_main_gate/gate_run.rb +52 -0
- data/lib/hecks/quality_control/cli/qa_main_gate/logging.rb +70 -0
- data/lib/hecks/quality_control/cli/qa_main_gate/shell.rb +47 -0
- data/lib/hecks/quality_control/cli/qa_main_gate/sweeping.rb +59 -0
- data/lib/hecks/quality_control/cli/qa_main_gate/worktree.rb +62 -0
- data/lib/hecks/quality_control/cli/qa_main_gate.rb +135 -0
- data/lib/hecks/quality_control/cli/qa_postgres_role.rb +1 -1
- data/lib/hecks/quality_control/cli/qa_pr_check/checking.rb +2 -3
- data/lib/hecks/quality_control/cli/qa_push_nudge.rb +48 -0
- data/lib/hecks/quality_control/cli/qa_seed_angles/seed.rb +1 -1
- data/lib/hecks/quality_control/cli/qa_sweep/seat.rb +1 -1
- data/lib/hecks/quality_control/cli/qa_tick/event_pump_step.rb +34 -0
- data/lib/hecks/quality_control/cli/qa_tick/output.rb +16 -1
- data/lib/hecks/quality_control/cli/qa_tick/push_nudge_step.rb +28 -0
- data/lib/hecks/quality_control/cli/qa_tick/quiesce_guard.rb +51 -0
- data/lib/hecks/quality_control/cli/qa_tick.rb +36 -8
- data/lib/hecks/quality_control/quality_control.behaviors +65 -0
- data/lib/hecks/quality_control/quality_control.bluebook +1131 -11
- data/lib/hecks/quality_control/quality_control.hecksagon +11 -0
- data/lib/hecks/quality_control/quality_control.ports.hecksagon +138 -0
- data/lib/hecks/query_ir/touchpoints.rb +5 -7
- data/lib/hecks/refused.rb +21 -0
- data/lib/hecks/release/approval.rb +6 -3
- data/lib/hecks/release/conditions.rb +46 -0
- data/lib/hecks/release/runner/gem_publisher.rb +4 -4
- data/lib/hecks/release/version_commit.rb +48 -0
- data/lib/hecks/runtime/command_interpreter/hydration.rb +5 -4
- data/lib/hecks/runtime/command_interpreter/persisting.rb +11 -3
- data/lib/hecks/runtime/command_interpreter.rb +2 -2
- data/lib/hecks/runtime/command_rules/admissibility.rb +0 -2
- data/lib/hecks/runtime/command_rules/emission.rb +0 -1
- data/lib/hecks/runtime/dependency_planning/expression_reads.rb +0 -1
- data/lib/hecks/runtime/dispatcher/planning.rb +24 -0
- data/lib/hecks/runtime/dispatcher/routing.rb +6 -0
- data/lib/hecks/runtime/dispatcher/value_routing.rb +54 -0
- data/lib/hecks/runtime/dispatcher.rb +7 -1
- data/lib/hecks/runtime/dry_run_plan.rb +60 -0
- data/lib/hecks/runtime/entity_element/location.rb +0 -1
- data/lib/hecks/runtime/entity_element/mutations.rb +0 -1
- data/lib/hecks/runtime/entity_interpreter/locating.rb +5 -0
- data/lib/hecks/runtime/entity_interpreter.rb +0 -1
- data/lib/hecks/runtime/errors.rb +26 -0
- data/lib/hecks/runtime/instance.rb +0 -1
- data/lib/hecks/runtime/invocation_builder.rb +0 -1
- data/lib/hecks/runtime/outbox/consumer_runner.rb +9 -1
- data/lib/hecks/runtime/outbox/relay.rb +25 -4
- data/lib/hecks/runtime/outbox/runnable.rb +3 -1
- data/lib/hecks/runtime/outbox.rb +6 -2
- data/lib/hecks/runtime/policy_interpreter/fan_out.rb +18 -2
- data/lib/hecks/runtime/policy_interpreter.rb +17 -9
- data/lib/hecks/runtime/port_operation_interpreter.rb +21 -7
- data/lib/hecks/runtime/query_interpreter/arguments.rb +6 -5
- data/lib/hecks/runtime/reaction_invocation.rb +0 -1
- data/lib/hecks/runtime/refusal_wording.rb +12 -1
- data/lib/hecks/runtime/registry/context_maps.rb +1 -5
- data/lib/hecks/runtime/registry/declarations.rb +34 -4
- data/lib/hecks/runtime/registry/hecksagon_rules.rb +15 -1
- data/lib/hecks/runtime/registry/runtime_state.rb +10 -0
- data/lib/hecks/runtime/registry/world_defaults.rb +24 -2
- data/lib/hecks/runtime/registry/world_names.rb +99 -0
- data/lib/hecks/runtime/registry.rb +33 -27
- data/lib/hecks/runtime/saga_interpreter/compensation.rb +10 -0
- data/lib/hecks/runtime/saga_interpreter/correlation.rb +29 -3
- data/lib/hecks/runtime/saga_interpreter/delivery.rb +0 -1
- data/lib/hecks/runtime/saga_interpreter/lifecycle.rb +1 -1
- data/lib/hecks/runtime/saga_interpreter.rb +46 -2
- data/lib/hecks/runtime/value/coercion.rb +36 -8
- data/lib/hecks/rust_build/conformance.rb +16 -5
- data/lib/hecks/rust_build/parser.rb +25 -0
- data/lib/hecks/rust_build/project_rust/codegen_run.rb +45 -12
- data/lib/hecks/rust_build/project_rust/declared.rb +80 -0
- data/lib/hecks/rust_build/project_rust/features_header.rb +22 -0
- data/lib/hecks/rust_build/project_rust/manifest.rb +96 -0
- data/lib/hecks/rust_build/project_rust/meta.rb +36 -0
- data/lib/hecks/rust_build/project_rust.rb +28 -90
- data/lib/hecks/rust_build/write_if_changed.rb +19 -4
- data/lib/hecks/rust_build.rb +2 -1
- data/lib/hecks/rust_format.rb +32 -2
- data/lib/hecks/secrets.rb +111 -0
- data/lib/hecks/shape_ledger/edge_hygiene.rb +170 -0
- data/lib/hecks/shape_ledger/scope.rb +51 -0
- data/lib/hecks/shape_ledger/status.rb +89 -0
- data/lib/hecks/shape_ledger.rb +78 -33
- data/lib/hecks/site/bluebook/site.bluebook +1 -0
- data/lib/hecks/storehouse/audit.rb +34 -4
- data/lib/hecks/storehouse/callers.rb +8 -0
- data/lib/hecks/storehouse/dispatching.rb +14 -3
- data/lib/hecks/storehouse/identity.rb +41 -0
- data/lib/hecks/storehouse/querying.rb +7 -7
- data/lib/hecks/storehouse.rb +28 -10
- data/lib/hecks/tickets/bluebook/adapters/work_areas.adapter +7 -0
- data/lib/hecks/tickets/bluebook/adapters/work_limits.adapter +7 -0
- data/lib/hecks/tickets/bluebook/tickets.behaviors +70 -0
- data/lib/hecks/tickets/bluebook/tickets.bluebook +323 -28
- data/lib/hecks/tickets/bluebook/tickets.hecksagon +7 -0
- data/lib/hecks/tickets/bluebook/tickets.ports.hecksagon +17 -0
- data/lib/hecks/{cli → tools}/behaviors.rb +1 -1
- data/lib/hecks/{cli → tools}/canonicalise.rb +1 -1
- data/lib/hecks/{cli → tools}/check_engine_agreement.rb +1 -1
- data/lib/hecks/{cli → tools}/check_era.rb +6 -6
- data/lib/hecks/tools/ci_gates.rb +8 -2
- data/lib/hecks/tools/ci_workflows.rb +98 -0
- data/lib/hecks/{cli → tools}/console.rb +1 -1
- data/lib/hecks/{cli → tools}/deploy_template_diff.rb +1 -1
- data/lib/hecks/{cli → tools}/doc_coverage.rb +2 -2
- data/lib/hecks/{cli → tools}/document.rb +1 -1
- data/lib/hecks/{cli → tools}/domain_stub.rb +1 -1
- data/lib/hecks/{cli → tools}/domain_writer.rb +1 -1
- data/lib/hecks/tools/downstream_model_check.rb +122 -0
- data/lib/hecks/tools/evolve_run.rb +2 -2
- data/lib/hecks/{cli → tools}/expected_era.rb +1 -1
- data/lib/hecks/{cli → tools}/expression_projection.rb +1 -1
- data/lib/hecks/{cli → tools}/follow.rb +1 -1
- data/lib/hecks/tools/fuzz_sweep/options.rb +40 -5
- data/lib/hecks/tools/fuzz_sweep/pool.rb +12 -1
- data/lib/hecks/tools/fuzz_sweep/shards.rb +155 -0
- data/lib/hecks/tools/fuzz_sweep.rb +11 -5
- data/lib/hecks/tools/gate.rb +38 -29
- data/lib/hecks/tools/gate_memo/local_files.rb +33 -0
- data/lib/hecks/tools/gate_memo/rehearsal.rb +54 -0
- data/lib/hecks/tools/gate_memo/ruby_files.rb +152 -0
- data/lib/hecks/tools/gate_memo/session.rb +114 -0
- data/lib/hecks/tools/gate_memo/standalone.rb +67 -0
- data/lib/hecks/tools/gate_memo.rb +196 -0
- data/lib/hecks/tools/gate_report.rb +56 -0
- data/lib/hecks/{cli → tools}/history.rb +1 -1
- data/lib/hecks/{cli → tools}/interview_agent.rb +1 -1
- data/lib/hecks/{cli → tools}/interview_aggregate.rb +1 -1
- data/lib/hecks/{cli → tools}/interview_draft.rb +1 -1
- data/lib/hecks/{cli → tools}/interview_record.rb +1 -1
- data/lib/hecks/{cli → tools}/interview_run.rb +2 -2
- data/lib/hecks/{cli → tools}/interview_session/agent_state.rb +1 -1
- data/lib/hecks/{cli → tools}/interview_session/catalog.rb +1 -1
- data/lib/hecks/{cli → tools}/interview_session/manual_findings.rb +1 -1
- data/lib/hecks/{cli → tools}/interview_session/proposals.rb +1 -1
- data/lib/hecks/{cli → tools}/interview_session.rb +2 -2
- data/lib/hecks/{cli → tools}/interview_shape/lifecycle.rb +1 -1
- data/lib/hecks/{cli → tools}/interview_shape.rb +1 -1
- data/lib/hecks/{cli → tools}/ir.rb +1 -1
- data/lib/hecks/tools/lanes/files.rb +1 -1
- data/lib/hecks/tools/lanes/watch_workflow.rb +6 -8
- data/lib/hecks/tools/lanes/workflow.rb +1 -1
- data/lib/hecks/tools/lanes.rb +1 -1
- data/lib/hecks/{cli → tools}/mcp.rb +1 -1
- data/lib/hecks/{cli → tools}/model_check/examination.rb +1 -1
- data/lib/hecks/{cli → tools}/model_check/sources.rb +1 -1
- data/lib/hecks/{cli → tools}/model_check.rb +1 -1
- data/lib/hecks/tools/move_disables/reasons.rb +35 -0
- data/lib/hecks/tools/move_disables.rb +211 -0
- data/lib/hecks/tools/move_former_name.rb +105 -0
- data/lib/hecks/{cli → tools}/pattern_cases.rb +1 -1
- data/lib/hecks/{cli → tools}/persistence_notice.rb +1 -1
- data/lib/hecks/{cli → tools}/present.rb +1 -1
- data/lib/hecks/{cli → tools}/project_cli/launcher_source.rb +32 -22
- data/lib/hecks/{cli → tools}/project_cli/templates.rb +22 -15
- data/lib/hecks/{cli → tools}/project_cli.rb +11 -7
- data/lib/hecks/{cli → tools}/project_diagrams.rb +3 -3
- data/lib/hecks/{cli → tools}/project_glossary.rb +2 -2
- data/lib/hecks/{cli → tools}/reference.rb +2 -2
- data/lib/hecks/{cli → tools}/refresh_projections.rb +1 -1
- data/lib/hecks/{cli → tools}/refresh_rspec_runtime_baseline.rb +1 -1
- data/lib/hecks/tools/regeneration_run/pool.rb +148 -0
- data/lib/hecks/tools/regeneration_run/scratch.rb +76 -0
- data/lib/hecks/tools/regeneration_run.rb +125 -103
- data/lib/hecks/{cli → tools}/release.rb +1 -1
- data/lib/hecks/{cli → tools}/release_gem.rb +1 -1
- data/lib/hecks/{cli → tools}/rspec_io_parallel_files.rb +1 -1
- data/lib/hecks/{cli → tools}/rspec_shard_files.rb +1 -1
- data/lib/hecks/{cli → tools}/run.rb +9 -2
- data/lib/hecks/{cli → tools}/run_expectations.rb +1 -1
- data/lib/hecks/{cli → tools}/seed_semantics_corpus.rb +4 -4
- data/lib/hecks/{cli → tools}/serve_query_ir_mcp.rb +1 -1
- data/lib/hecks/{cli → tools}/shape.rb +3 -2
- data/lib/hecks/{cli → tools}/smoke_http/checks.rb +1 -1
- data/lib/hecks/{cli → tools}/smoke_http/settings.rb +1 -1
- data/lib/hecks/{cli → tools}/smoke_http/transport.rb +1 -1
- data/lib/hecks/{cli → tools}/smoke_http.rb +1 -1
- data/lib/hecks/{cli → tools}/smoke_test.rb +1 -1
- data/lib/hecks/{cli → tools}/spec_example.rb +1 -1
- data/lib/hecks/tools/stage_progress.rb +54 -0
- data/lib/hecks/{cli → tools}/statements.rb +1 -1
- data/lib/hecks/{cli → tools}/stores.rb +1 -1
- data/lib/hecks/{cli → tools}/stress_concurrency_specs/reporting.rb +1 -1
- data/lib/hecks/{cli → tools}/stress_concurrency_specs/usage.rb +4 -4
- data/lib/hecks/{cli → tools}/stress_concurrency_specs.rb +3 -3
- data/lib/hecks/tools/tenant_provisioning.rb +23 -0
- data/lib/hecks/tools/tools_doc.rb +10 -8
- data/lib/hecks/tools/translation_audit/edges.rb +21 -16
- data/lib/hecks/tools/translation_audit/verdicts.rb +1 -1
- data/lib/hecks/tools/translation_audit.rb +1 -1
- data/lib/hecks/tools/translation_scaffold.rb +1 -1
- data/lib/hecks/tools.rb +4 -1
- data/lib/hecks/version.rb +1 -1
- data/lib/hecks/vocabulary.rb +61 -31
- data/lib/hecks/workflow_pagination/judge.rb +48 -0
- data/lib/hecks/workflow_pagination/statement.rb +50 -0
- data/lib/hecks/workflow_pagination.rb +58 -0
- data/lib/hecks.rb +2 -0
- data/lib/rubocop/cop/hecks/bare_event_and_query_names.rb +58 -0
- data/lib/rubocop/cop/hecks/correlates_by_aggregate.rb +39 -0
- data/lib/rubocop/cop/hecks/creating_command_sets.rb +75 -0
- data/lib/rubocop/cop/hecks/invariant_expression_language.rb +47 -0
- data/lib/rubocop/cop/hecks/lifecycle_needs_attribute.rb +58 -0
- data/lib/rubocop/cop/hecks/no_id_string_attribute.rb +49 -0
- data/lib/rubocop/cop/hecks/one_terminal_mark_per_lifecycle.rb +47 -0
- data/lib/rubocop/cop/hecks/value_object_shorthand.rb +56 -0
- data/prebuilt/13c04bdc5970295b310f0a980d397ba722232c8da99cc1a0cdb383249921e871.marshal +0 -0
- data/prebuilt/e3857b77f47d9ecc1787b2e1f5136364f3cb3444ef4aea5479f3b98167affea2.marshal +0 -0
- data/qa/settings.yml +23 -0
- data/rust/.gitignore +0 -6
- data/rust/Cargo.toml +2 -1
- data/rust/build/Cargo.toml +1 -1
- data/rust/build/src/binding_pass.rs +57 -4
- data/rust/build/src/pipeline.rs +6 -4
- data/rust/build/src/resolve.rs +1 -0
- data/rust/codegen/Cargo.toml +1 -1
- data/rust/codegen/src/domain_generator.rs +3 -0
- data/rust/codegen/src/json_codec.rs +182 -23
- data/rust/codegen/src/one_of_references.rs +1 -0
- data/rust/codegen/src/queries.rs +20 -2
- data/rust/codegen/src/registry.rs +21 -5
- data/rust/expr/Cargo.toml +1 -1
- data/rust/host/Cargo.toml +1 -1
- data/rust/host/HECKS_RELEASE +1 -1
- data/rust/host/core/Cargo.toml +1 -1
- data/rust/host/src/bin/mint_harness.rs +1 -0
- data/rust/host/src/boot.rs +1 -0
- data/rust/host/src/store/mint.rs +40 -6
- data/rust/lsp/Cargo.toml +1 -1
- data/rust/parser/Cargo.toml +1 -1
- data/rust/parser/src/build/correlation_keys.rs +125 -0
- data/rust/parser/src/build/mod.rs +1 -0
- data/rust/parser/src/emit.rs +55 -3
- data/rust/parser/src/ir.rs +33 -1
- data/rust/parser/src/keywords.rs +289 -1
- data/rust/parser/src/main.rs +2 -0
- data/rust/parser/src/parse/aggregate.rs +10 -1
- data/rust/parser/src/parse/audience.rs +65 -0
- data/rust/parser/src/parse/command.rs +14 -0
- data/rust/parser/src/parse/declaration.rs +97 -0
- data/rust/parser/src/parse/domain_port.rs +6 -0
- data/rust/parser/src/parse/mod.rs +1 -0
- data/rust/parser/src/parse/process_manager.rs +17 -10
- data/rust/parser/src/parse/world.rs +12 -8
- data/rust/parser/src/render_ruby.rs +9 -0
- data/rust/parser/src/sentence/format.rs +3 -0
- data/rust/parser/src/sentence/process.rs +6 -2
- data/rust/src/exemplar/json.rs +17 -0
- data/rust/src/kernel/cli.rs +27 -3
- data/rust/src/kernel/dispatch.rs +4 -2
- data/rust/src/kernel/json.rs +62 -0
- data/rust/src/kernel/orchestrate.rs +28 -3
- data/rust/src/kernel/orchestrate_guard_tests.rs +12 -12
- data/rust/web/Cargo.toml +1 -1
- metadata +389 -96
- data/lib/hecks/cli/command_table.rb +0 -72
- data/lib/hecks/cli/launcher_words.rb +0 -168
- data/lib/hecks/cli.rb +0 -133
- data/lib/hecks/hecks/agents.bluebook +0 -246
- data/lib/hecks/hecks/codebase.bluebook +0 -3209
- data/lib/hecks/hecks/custodian.bluebook +0 -1300
- data/lib/hecks/hecks/ledger.bluebook +0 -190
- data/lib/hecks/hecks/rehearsal.bluebook +0 -437
- data/lib/hecks/hecks/tooling.bluebook +0 -1234
- data/lib/hecks/hecks/translations/2-148748.bluebook +0 -2
- data/lib/hecks/hecks/translations/2-15a2e4.bluebook +0 -2
- data/lib/hecks/hecks/translations/2-1b447c.bluebook +0 -5
- data/lib/hecks/hecks/translations/2-240474.bluebook +0 -2
- data/lib/hecks/hecks/translations/2-44446d.bluebook +0 -2
- data/lib/hecks/hecks/translations/2-46ca26.bluebook +0 -2
- data/lib/hecks/hecks/translations/2-473eab.bluebook +0 -2
- data/lib/hecks/hecks/translations/2-75cc28.bluebook +0 -2
- data/lib/hecks/hecks/translations/2-781c07.bluebook +0 -2
- data/lib/hecks/hecks/translations/2-84c18b.bluebook +0 -2
- data/lib/hecks/hecks/translations/2-aa5fff.bluebook +0 -2
- data/lib/hecks/hecks/translations/2-bfdb48.bluebook +0 -2
- data/lib/hecks/hecks/translations/2-cd96d8.bluebook +0 -10
- data/lib/hecks/hecks/translations/2-d43f71.bluebook +0 -2
- data/lib/hecks/hecks/translations/2-eea577.bluebook +0 -2
- data/lib/hecks/hecks/translations/2-f53248.bluebook +0 -2
- data/lib/hecks/hecks/translations/2-fbb677.bluebook +0 -2
- data/lib/hecks/hecks/translations/2-ffdf12.bluebook +0 -6
- data/lib/hecks/quality_control/adapters/clearance_recorder.rb +0 -36
- data/lib/hecks/quality_control/adapters/github_ci_webhook.rb +0 -56
- data/prebuilt/31cf81e12f16236ad26249be590cfea3799c9db67432e6a4ef54b801c355b6ae.marshal +0 -0
- data/prebuilt/68ecb2bd3abb1a221007db4f2b0375834c13aaccac8f2b99778e8517f11aa113.marshal +0 -0
- data/prebuilt/verdicts-0328c2403383837d780ad5ed81d1da351c56436b894cf9015b5d56b8f1f1bf10.json +0 -1
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
Hecks.bluebook "Hecks" do
|
|
2
|
+
domain_module "Find" do
|
|
3
|
+
vision "Read the code: search the checkout's text, read a file, outline what it declares, find where a name is declared."
|
|
4
|
+
|
|
5
|
+
aggregate "Codebase" do
|
|
6
|
+
description "A read of the checkout's text files, answered without changing anything."
|
|
7
|
+
acknowledges :no_command_surface, "a read of the checkout's files, answered without changing anything"
|
|
8
|
+
|
|
9
|
+
attribute :root, CheckoutRoot
|
|
10
|
+
identified_by :root
|
|
11
|
+
|
|
12
|
+
value_object "CheckoutRoot" do
|
|
13
|
+
attribute :value, String, matches: :present
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# A regular expression, matched against one line of text at a time.
|
|
17
|
+
value_object "Pattern" do
|
|
18
|
+
attribute :value, String, matches: :present
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# An answer that is one document of text, one `path:line: text` row to a match.
|
|
22
|
+
value_object "Document" do
|
|
23
|
+
attribute :text, String
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
query "Search" do
|
|
27
|
+
description "The lines of the checkout's text files that match a pattern, as path:line: text."
|
|
28
|
+
attribute :pattern, Pattern
|
|
29
|
+
attribute :paths, PathList, optional: true
|
|
30
|
+
attribute :top, Top, optional: true
|
|
31
|
+
returns Document
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# A file of the checkout, named from its root.
|
|
35
|
+
value_object "SourcePath" do
|
|
36
|
+
attribute :value, String, matches: :present
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# A line of a file, counted from 1.
|
|
40
|
+
value_object "LineNumber" do
|
|
41
|
+
attribute :value, Integer
|
|
42
|
+
|
|
43
|
+
invariant("a line is counted from 1") { value > 0 }
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# The name a construct is declared under, as it stands between the quotes.
|
|
47
|
+
value_object "DeclaredName" do
|
|
48
|
+
attribute :value, String, matches: :present
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# What a declaration is: aggregate, command, query, policy and the rest.
|
|
52
|
+
value_object "DeclaredKind" do
|
|
53
|
+
attribute :value, String, pattern: '^[a-z_]+$'
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
query "ReadSource" do
|
|
57
|
+
description "The numbered lines of one file of the checkout, whole or from one line to another."
|
|
58
|
+
attribute :path, SourcePath
|
|
59
|
+
attribute :from, LineNumber, optional: true
|
|
60
|
+
attribute :to, LineNumber, optional: true
|
|
61
|
+
attribute :top, Top, optional: true
|
|
62
|
+
returns Document
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
query "Outline" do
|
|
66
|
+
description "What a file declares, by line: each construct of a bluebook, each definition of Ruby."
|
|
67
|
+
attribute :path, SourcePath
|
|
68
|
+
returns Document
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
query "Declaration" do
|
|
72
|
+
description "Where a named construct is declared across the corpus, as path:from-to, with its text on request."
|
|
73
|
+
attribute :name, DeclaredName
|
|
74
|
+
attribute :kind, DeclaredKind, optional: true
|
|
75
|
+
attribute :paths, PathList, optional: true
|
|
76
|
+
attribute :show, Switch, optional: true
|
|
77
|
+
returns Document
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Hecks.behaviors "Hecks" do
|
|
2
2
|
vision "A release moves tagged, published, verified; the grammar cache moves fresh, stale, fresh."
|
|
3
3
|
|
|
4
|
-
loads "hecks.bluebook", "
|
|
4
|
+
loads "hecks.bluebook", "context_map.hecksagon", "hecks.hecksagon", "environments/memory.world", modules: :all
|
|
5
5
|
|
|
6
6
|
test "Tag records a version as tagged" do
|
|
7
7
|
tests "Tag", on: "Release"
|
|
@@ -1,137 +1,4 @@
|
|
|
1
1
|
Hecks.bluebook "Hecks" do
|
|
2
2
|
vision "What this install is, what version it runs, and whether its grammar cache can be trusted."
|
|
3
3
|
namespace "Hecks::Domain"
|
|
4
|
-
|
|
5
|
-
aggregate "Release" do
|
|
6
|
-
description "One gem version: the record of what is running and what was shipped."
|
|
7
|
-
|
|
8
|
-
attribute :version, Version
|
|
9
|
-
attribute :ir_version, Version
|
|
10
|
-
attribute :ships_from, Checkout, optional: true
|
|
11
|
-
# The findings the version settled, by the key the Tickets bluebook gives them.
|
|
12
|
-
attribute :closes, list_of(FindingKey), optional: true
|
|
13
|
-
|
|
14
|
-
identified_by :version
|
|
15
|
-
|
|
16
|
-
value_object "FindingKey" do
|
|
17
|
-
attribute :value, String, matches: :present
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
value_object "Version" do
|
|
21
|
-
attribute :value, String, matches: :version
|
|
22
|
-
|
|
23
|
-
invariant("a version is present") { !value.to_s.empty? }
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
value_object "Checkout" do
|
|
27
|
-
attribute :path, String
|
|
28
|
-
|
|
29
|
-
invariant("a checkout is a working tree with hecks.gemspec beside lib/") { !path.to_s.empty? }
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
lifecycle :state, default: "tagged" do
|
|
33
|
-
transition "MarkPublished" => "published", from: "tagged"
|
|
34
|
-
transition "Verify" => "verified", from: %w[published verified]
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
command "Tag" do
|
|
38
|
-
role "Maintainer"
|
|
39
|
-
goal "Record a version as tagged, with the IR version it carries"
|
|
40
|
-
|
|
41
|
-
attribute :version, Version, sets: true
|
|
42
|
-
attribute :ir_version, Version, sets: true
|
|
43
|
-
attribute :ships_from, Checkout, sets: true
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
emits Tagged
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
command "MarkPublished", from: "tagged" do
|
|
50
|
-
role "Maintainer"
|
|
51
|
-
goal "Record that a tagged version reached the gem registry"
|
|
52
|
-
|
|
53
|
-
reference_to Release
|
|
54
|
-
|
|
55
|
-
emits Published
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
command "Verify", from: %w[published verified] do
|
|
59
|
-
role "Maintainer"
|
|
60
|
-
goal "Record that the published version installs and boots"
|
|
61
|
-
|
|
62
|
-
reference_to Release
|
|
63
|
-
|
|
64
|
-
emits Verified
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
command "CloseFindings" do
|
|
68
|
-
role "Maintainer"
|
|
69
|
-
goal "Record the findings this version settled"
|
|
70
|
-
|
|
71
|
-
reference_to Release
|
|
72
|
-
attribute :closes, list_of(FindingKey), sets: true
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
emits FindingsClosed
|
|
76
|
-
end
|
|
77
|
-
|
|
78
|
-
query "Shipped" do
|
|
79
|
-
description "Every version that was tagged, published and verified."
|
|
80
|
-
where(state: "verified")
|
|
81
|
-
order_by :version
|
|
82
|
-
end
|
|
83
|
-
end
|
|
84
|
-
|
|
85
|
-
aggregate "SyntaxBootCache" do
|
|
86
|
-
description "The grammar bluebooks' on-disk boot cache, keyed by a digest of the bluebooks it was built from."
|
|
87
|
-
|
|
88
|
-
attribute :digest, Digest
|
|
89
|
-
|
|
90
|
-
identified_by :digest
|
|
91
|
-
|
|
92
|
-
value_object "Digest" do
|
|
93
|
-
attribute :value, String, matches: :present
|
|
94
|
-
|
|
95
|
-
invariant("a digest is present") { !value.to_s.empty? }
|
|
96
|
-
end
|
|
97
|
-
|
|
98
|
-
lifecycle :state, default: "fresh" do
|
|
99
|
-
transition "Invalidate" => "stale", from: "fresh"
|
|
100
|
-
transition "Rebuild" => "fresh", from: "stale"
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
command "Record" do
|
|
104
|
-
role "Maintainer"
|
|
105
|
-
goal "Record a boot cache as built from the grammar bluebooks that hash to this digest"
|
|
106
|
-
|
|
107
|
-
attribute :digest, Digest, sets: true
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
emits CacheRecorded
|
|
111
|
-
end
|
|
112
|
-
|
|
113
|
-
command "Invalidate", from: "fresh" do
|
|
114
|
-
role "Maintainer"
|
|
115
|
-
goal "Record that the grammar changed under the cache"
|
|
116
|
-
|
|
117
|
-
reference_to SyntaxBootCache
|
|
118
|
-
|
|
119
|
-
emits CacheInvalidated
|
|
120
|
-
end
|
|
121
|
-
|
|
122
|
-
command "Rebuild", from: "stale" do
|
|
123
|
-
role "Maintainer"
|
|
124
|
-
goal "Record that the cache was rebuilt from the current grammar"
|
|
125
|
-
|
|
126
|
-
reference_to SyntaxBootCache
|
|
127
|
-
|
|
128
|
-
emits CacheRebuilt
|
|
129
|
-
end
|
|
130
|
-
|
|
131
|
-
query "Stale" do
|
|
132
|
-
description "Every cache whose grammar changed under it and is not yet rebuilt."
|
|
133
|
-
where(state: "stale")
|
|
134
|
-
order_by :digest
|
|
135
|
-
end
|
|
136
|
-
end
|
|
137
4
|
end
|
|
@@ -18,6 +18,8 @@ Hecks.context_map "Hecks" do
|
|
|
18
18
|
context "Tickets"
|
|
19
19
|
context "Composer"
|
|
20
20
|
context "QualityControl"
|
|
21
|
+
context "Coder"
|
|
22
|
+
context "Fixer"
|
|
21
23
|
|
|
22
24
|
# Deploy's `Tenant` is a validated request; Tenancy's `Tenant` is a fact. Tenancy's hecksagon
|
|
23
25
|
# translates Deploy's `TenantProvisioned` into its own `Register`, so Deploy's model never reaches it.
|
|
@@ -2,8 +2,10 @@ Hecks.hecksagon "Hecks" do
|
|
|
2
2
|
attaches "Governance"
|
|
3
3
|
|
|
4
4
|
# The bluebooks the gem carries: the language declared in itself (Paging comes with Bluebook),
|
|
5
|
-
# Expression, Tenancy, Deploy, Site, Tickets, Composer and QualityControl (the last three bring
|
|
6
|
-
|
|
5
|
+
# Expression, Tenancy, Deploy, Site, Tickets, Composer and QualityControl (the last three bring
|
|
6
|
+
# their own ports), and Coder and Fixer, whose events Tickets and QualityControl react to.
|
|
7
|
+
%w[Bluebook Hecksagon World Adapter Port Translation Expression Tenancy Deploy Site Tickets Composer QualityControl
|
|
8
|
+
Coder Fixer]
|
|
7
9
|
.each { |declaration| attaches declaration }
|
|
8
10
|
# Persistence is not bound here, so the domain is in Memory. A copy opts in with a
|
|
9
11
|
# hecks.local.hecksagon whose `persisted_by` the attached bluebooks inherit (ADR 0136).
|
|
@@ -80,38 +82,95 @@ Hecks.hecksagon "Hecks" do
|
|
|
80
82
|
end
|
|
81
83
|
end
|
|
82
84
|
|
|
83
|
-
Hecks::
|
|
84
|
-
asks "Carry", to:
|
|
85
|
+
Hecks::SendTrain.port "Train" do
|
|
86
|
+
asks "Carry", to: SendTrain do
|
|
85
87
|
attribute :run, RunKey
|
|
86
88
|
answers "TrainAnswered"
|
|
87
89
|
refuses "TrainRefused"
|
|
88
90
|
end
|
|
89
91
|
|
|
90
|
-
asks "Tally", to:
|
|
92
|
+
asks "Tally", to: SendTrain do
|
|
91
93
|
attribute :run, RunKey
|
|
92
94
|
answers "SurveyAnswered"
|
|
93
95
|
refuses "SurveyRefused"
|
|
94
96
|
end
|
|
95
97
|
end
|
|
96
98
|
|
|
97
|
-
Hecks::
|
|
98
|
-
asks "
|
|
99
|
+
Hecks::PushRehearsal.port "Rehearsing" do
|
|
100
|
+
asks "Trial", to: PushRehearsal do
|
|
99
101
|
attribute :run, RunKey
|
|
102
|
+
answers "PushRehearsalAnswered"
|
|
103
|
+
refuses "PushRehearsalRefused"
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
answers_query "Due"
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
Hecks::QaQuiesce.port "Quiescing" do
|
|
110
|
+
asks "Mark", to: QaQuiesce do
|
|
111
|
+
attribute :run, RunKey
|
|
112
|
+
answers "QuiesceAnswered"
|
|
113
|
+
refuses "QuiesceRefused"
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
asks "Clear", to: QaQuiesce do
|
|
117
|
+
attribute :run, RunKey
|
|
118
|
+
answers "QuiesceAnswered"
|
|
119
|
+
refuses "QuiesceRefused"
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
answers_query "Status"
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
Hecks::SendTrain.port "Alerts" do
|
|
126
|
+
asks "Announce", to: SendTrain do
|
|
127
|
+
attribute :run, RunKey
|
|
128
|
+
attribute :pushed, Word
|
|
100
129
|
answers "DeployReadyAnnounced"
|
|
101
130
|
refuses "AnnouncementRefused"
|
|
102
131
|
end
|
|
103
132
|
end
|
|
104
133
|
|
|
105
|
-
Hecks::
|
|
134
|
+
Hecks::Workspace.port "Reading" do
|
|
106
135
|
answers_query "Status"
|
|
107
136
|
answers_query "Changes"
|
|
108
|
-
answers_query "
|
|
137
|
+
answers_query "History"
|
|
109
138
|
end
|
|
110
139
|
|
|
111
|
-
Hecks::
|
|
140
|
+
Hecks::Workspace.port "Settings" do
|
|
112
141
|
answers_query "Settings"
|
|
113
142
|
end
|
|
114
143
|
|
|
144
|
+
Hecks::Workspace.port "Doctor" do
|
|
145
|
+
answers_query "Doctor"
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
Hecks::Workspace.port "Where" do
|
|
149
|
+
answers_query "Where"
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
Hecks::Revision.port "Committing" do
|
|
153
|
+
asks "Commit", to: Revision do
|
|
154
|
+
attribute :run, RunKey
|
|
155
|
+
answers "CommitAnswered"
|
|
156
|
+
refuses "CommitRefused"
|
|
157
|
+
end
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
Hecks::LinkedTree.port "WorktreeAdding" do
|
|
161
|
+
asks "Create", to: LinkedTree do
|
|
162
|
+
attribute :run, RunKey
|
|
163
|
+
answers "CreateAnswered"
|
|
164
|
+
refuses "CreateRefused"
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
asks "Pull", to: LinkedTree do
|
|
168
|
+
attribute :run, RunKey
|
|
169
|
+
answers "PullAnswered"
|
|
170
|
+
refuses "PullRefused"
|
|
171
|
+
end
|
|
172
|
+
end
|
|
173
|
+
|
|
115
174
|
Hecks::Landing.port "Worktrees" do
|
|
116
175
|
asks "Merge", to: Landing do
|
|
117
176
|
attribute :run, RunKey
|
|
@@ -119,6 +178,18 @@ Hecks.hecksagon "Hecks" do
|
|
|
119
178
|
refuses "MergeRefused"
|
|
120
179
|
end
|
|
121
180
|
|
|
181
|
+
asks "FinishBranch", to: Landing do
|
|
182
|
+
attribute :run, RunKey
|
|
183
|
+
answers "MergeAnswered"
|
|
184
|
+
refuses "MergeRefused"
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
asks "Convene", to: Landing do
|
|
188
|
+
attribute :run, RunKey
|
|
189
|
+
answers "ConveneAnswered"
|
|
190
|
+
refuses "ConveneRefused"
|
|
191
|
+
end
|
|
192
|
+
|
|
122
193
|
asks "Remove", to: Landing do
|
|
123
194
|
attribute :run, RunKey
|
|
124
195
|
answers "RemovalAnswered"
|
|
@@ -128,6 +199,47 @@ Hecks.hecksagon "Hecks" do
|
|
|
128
199
|
answers_query "Unlanded"
|
|
129
200
|
end
|
|
130
201
|
|
|
202
|
+
# The Tickets row a landed branch was cut for: the port reads the Work rows and answers the open
|
|
203
|
+
# one the branch names, refusing when there is none.
|
|
204
|
+
Hecks::Landing.port "LandedWork" do
|
|
205
|
+
asks "FindLandedWork", to: Landing do
|
|
206
|
+
attribute :branch, Word
|
|
207
|
+
answers "LandedWorkFound"
|
|
208
|
+
refuses "NoLandedWork"
|
|
209
|
+
end
|
|
210
|
+
end
|
|
211
|
+
|
|
212
|
+
Hecks::ReviewRequest.port "GitHubPullRequests" do
|
|
213
|
+
asks "Create", to: ReviewRequest do
|
|
214
|
+
attribute :run, RunKey
|
|
215
|
+
answers "OpenAnswered"
|
|
216
|
+
refuses "OpenRefused"
|
|
217
|
+
end
|
|
218
|
+
|
|
219
|
+
asks "Squash", to: ReviewRequest do
|
|
220
|
+
attribute :run, RunKey
|
|
221
|
+
answers "SquashAnswered"
|
|
222
|
+
refuses "SquashRefused"
|
|
223
|
+
end
|
|
224
|
+
|
|
225
|
+
answers_query "Status"
|
|
226
|
+
end
|
|
227
|
+
|
|
228
|
+
# The outside a filling of the queue reaches: the Work rows, the machine's load and the freeze.
|
|
229
|
+
Hecks::Dispatch.port "Dispatching" do
|
|
230
|
+
asks "Choose", to: Dispatch do
|
|
231
|
+
attribute :run, DispatchKey
|
|
232
|
+
answers "DispatchReported"
|
|
233
|
+
refuses "DispatchRefused"
|
|
234
|
+
end
|
|
235
|
+
|
|
236
|
+
asks "Conclude", to: Dispatch do
|
|
237
|
+
attribute :run, DispatchKey
|
|
238
|
+
answers "DispatchReported"
|
|
239
|
+
refuses "DispatchRefused"
|
|
240
|
+
end
|
|
241
|
+
end
|
|
242
|
+
|
|
131
243
|
# The outside an agent run reaches: it finds the directory, starts the background session, and
|
|
132
244
|
# reports the state the session is in. The state is judged in the bluebook, not here.
|
|
133
245
|
Hecks::AgentRun.port "Agents" do
|
|
@@ -163,9 +275,10 @@ Hecks.hecksagon "Hecks" do
|
|
|
163
275
|
end
|
|
164
276
|
end
|
|
165
277
|
|
|
166
|
-
Hecks::
|
|
167
|
-
asks "Refresh", to:
|
|
278
|
+
Hecks::SendTrain.port "Launcher" do
|
|
279
|
+
asks "Refresh", to: SendTrain do
|
|
168
280
|
attribute :run, RunKey
|
|
281
|
+
attribute :pushed, Word
|
|
169
282
|
answers "LauncherRefreshed"
|
|
170
283
|
refuses "LauncherRefreshRefused"
|
|
171
284
|
end
|
|
@@ -184,10 +297,24 @@ Hecks.hecksagon "Hecks" do
|
|
|
184
297
|
refuses "EraRefused"
|
|
185
298
|
end
|
|
186
299
|
|
|
300
|
+
asks "Mint", to: Era do
|
|
301
|
+
attribute :run, RunKey
|
|
302
|
+
answers "Minted"
|
|
303
|
+
refuses "MintRefused"
|
|
304
|
+
end
|
|
305
|
+
|
|
187
306
|
answers_query "ScaffoldTranslation"
|
|
188
307
|
answers_query "AuditTranslation"
|
|
308
|
+
answers_query "ComposeTranslation"
|
|
309
|
+
answers_query "ReconcilePlan"
|
|
189
310
|
answers_query "Attestation"
|
|
190
311
|
answers_query "Compaction"
|
|
312
|
+
answers_query "BootStatus"
|
|
313
|
+
answers_query "SqliteStatus"
|
|
314
|
+
answers_query "EventTrace"
|
|
315
|
+
answers_query "MintPlan"
|
|
316
|
+
answers_query "BootResolution"
|
|
317
|
+
answers_query "ProjectionAudit"
|
|
191
318
|
end
|
|
192
319
|
|
|
193
320
|
Hecks::Era.port "Ledger" do
|
|
@@ -247,13 +374,15 @@ Hecks.hecksagon "Hecks" do
|
|
|
247
374
|
end
|
|
248
375
|
end
|
|
249
376
|
|
|
250
|
-
Hecks::
|
|
251
|
-
asks "Serve", to:
|
|
252
|
-
attribute :run,
|
|
253
|
-
answers "
|
|
254
|
-
refuses "
|
|
377
|
+
Hecks::Server.port "Terminal" do
|
|
378
|
+
asks "Serve", to: Server do
|
|
379
|
+
attribute :run, RunKey
|
|
380
|
+
answers "ServerAnswered"
|
|
381
|
+
refuses "ServerRefused"
|
|
255
382
|
end
|
|
383
|
+
end
|
|
256
384
|
|
|
385
|
+
Hecks::Launch.port "Terminal" do
|
|
257
386
|
asks "Converse", to: Launch do
|
|
258
387
|
attribute :run, LaunchKey
|
|
259
388
|
answers "LaunchAnswered"
|
|
@@ -286,6 +415,12 @@ Hecks.hecksagon "Hecks" do
|
|
|
286
415
|
refuses "BuildRefused"
|
|
287
416
|
end
|
|
288
417
|
|
|
418
|
+
asks "Parser", to: Build do
|
|
419
|
+
attribute :run, BuildKey
|
|
420
|
+
answers "BuildAnswered"
|
|
421
|
+
refuses "BuildRefused"
|
|
422
|
+
end
|
|
423
|
+
|
|
289
424
|
asks "Conform", to: Build do
|
|
290
425
|
attribute :run, BuildKey
|
|
291
426
|
answers "BuildAnswered"
|
|
@@ -339,6 +474,20 @@ Hecks.hecksagon "Hecks" do
|
|
|
339
474
|
|
|
340
475
|
# Codebase: every ask goes to the SourceTree port, which examines the working tree before it
|
|
341
476
|
# carries a request out.
|
|
477
|
+
Hecks::ScriptRun.port "SourceTree" do
|
|
478
|
+
asks "Examine", to: ScriptRun do
|
|
479
|
+
attribute :run, RunKey
|
|
480
|
+
answers "ScriptExamined"
|
|
481
|
+
refuses "ScriptRefused"
|
|
482
|
+
end
|
|
483
|
+
|
|
484
|
+
asks "Perform", to: ScriptRun do
|
|
485
|
+
attribute :run, RunKey
|
|
486
|
+
answers "ScriptAnswered"
|
|
487
|
+
refuses "ScriptRefused"
|
|
488
|
+
end
|
|
489
|
+
end
|
|
490
|
+
|
|
342
491
|
Hecks::LanguageRun.port "SourceTree" do
|
|
343
492
|
asks "Examine", to: LanguageRun do
|
|
344
493
|
attribute :run, RunKey
|
|
@@ -441,6 +590,9 @@ Hecks.hecksagon "Hecks" do
|
|
|
441
590
|
refuses "InspectionRefused"
|
|
442
591
|
end
|
|
443
592
|
|
|
593
|
+
end
|
|
594
|
+
|
|
595
|
+
Hecks::Codebase.port "SourceTree" do
|
|
444
596
|
answers_query "Search"
|
|
445
597
|
answers_query "ReadSource"
|
|
446
598
|
answers_query "Outline"
|
|
@@ -480,26 +632,29 @@ Hecks.hecksagon "Hecks" do
|
|
|
480
632
|
end
|
|
481
633
|
|
|
482
634
|
Hecks::CorpusRun.port "SourceTree" do
|
|
483
|
-
asks "Examine", to: CorpusRun do
|
|
484
|
-
attribute :run, RunKey
|
|
485
|
-
answers "CorpusExamined"
|
|
486
|
-
refuses "CorpusRefused"
|
|
487
|
-
end
|
|
488
|
-
|
|
489
|
-
asks "Perform", to: CorpusRun do
|
|
490
|
-
attribute :run, RunKey
|
|
491
|
-
answers "CorpusAnswered"
|
|
492
|
-
refuses "CorpusRefused"
|
|
493
|
-
end
|
|
494
|
-
|
|
495
635
|
answers_query "RustDomains"
|
|
496
636
|
answers_query "RegenOrder"
|
|
497
637
|
answers_query "CorpusRustCoverage"
|
|
638
|
+
answers_query "GeneratedKey"
|
|
498
639
|
answers_query "IrConstructs"
|
|
499
640
|
answers_query "IrDuplicates"
|
|
500
641
|
answers_query "IrImpact"
|
|
501
642
|
end
|
|
502
643
|
|
|
644
|
+
Hecks::Server.port "SourceTree" do
|
|
645
|
+
asks "Examine", to: Server do
|
|
646
|
+
attribute :run, RunKey
|
|
647
|
+
answers "ServerExamined"
|
|
648
|
+
refuses "ServerRefused"
|
|
649
|
+
end
|
|
650
|
+
|
|
651
|
+
asks "Perform", to: Server do
|
|
652
|
+
attribute :run, RunKey
|
|
653
|
+
answers "ServerAnswered"
|
|
654
|
+
refuses "ServerRefused"
|
|
655
|
+
end
|
|
656
|
+
end
|
|
657
|
+
|
|
503
658
|
Hecks::PublishingRun.port "SourceTree" do
|
|
504
659
|
asks "Examine", to: PublishingRun do
|
|
505
660
|
attribute :run, RunKey
|
|
@@ -687,6 +842,7 @@ Hecks.hecksagon "Hecks" do
|
|
|
687
842
|
answers_query "Stores"
|
|
688
843
|
answers_query "History"
|
|
689
844
|
answers_query "Statements"
|
|
845
|
+
answers_query "Undo"
|
|
690
846
|
answers_query "Narrate"
|
|
691
847
|
answers_query "Relationships"
|
|
692
848
|
answers_query "ContextMap"
|
data/lib/hecks/hecks/hecks.world
CHANGED
|
@@ -33,15 +33,37 @@
|
|
|
33
33
|
# by the process that made it, so `request` waits and prints the whole outcome), `executable` is where `hecks project_cli` writes this bluebook's launcher (the
|
|
34
34
|
# gem's `exe/hecks`), `streams` lists the questions `--stream` may tail (`Follow`), `memory_commands` names
|
|
35
35
|
# the commands that launcher runs on the Memory environment unless `HECKS_ENVIRONMENT` is set (so
|
|
36
|
-
# `hecks console` needs no database), and `legacy` names the
|
|
37
|
-
# positional forms ADR 0066 shipped. `maintainer` names the aggregates only someone working on a hecks
|
|
36
|
+
# `hecks console` needs no database), and the retired positional forms (ADR 0066) are refused by name, so no `legacy` list remains. `maintainer` names the aggregates only someone working on a hecks
|
|
38
37
|
# checkout runs (Codebase, and releasing hecks itself): the help leaves them out anywhere else and
|
|
39
38
|
# `--maintainer` lists them; `bluebooks` names the attached bluebooks the help points at, one line each
|
|
40
39
|
# (`hecks deploy`), and `maintainer_bluebooks` the language's own, added inside a checkout.
|
|
41
40
|
# `newcomer` names the only commands the help lists in a folder holding no bluebook yet
|
|
42
41
|
# (`hecks --all` lists the rest), so a first run shows how to start and nothing else.
|
|
42
|
+
# `everyday` names the commands and queries the help lists first, under its own heading, each
|
|
43
|
+
# spelled as the call to type, for anyone the aggregate is not hidden from (ADR 0163).
|
|
44
|
+
#
|
|
45
|
+
# **test_scope** `suite_runs_in` names where the full suite runs ("ci": a local run of it is refused by name) and
|
|
46
|
+
# `spec_files_limit` is the most spec files one local `run_spec_files!` or `run_impacted_specs!` call runs.
|
|
47
|
+
#
|
|
48
|
+
# **landing** `stale_minutes` is how long a landing's ticket may go without a heartbeat before the next one treats
|
|
49
|
+
# it as abandoned and removes it (30 when absent); `wait_minutes` is how long a landing waits for its turn in the
|
|
50
|
+
# line before it gives up (40 when absent); `shell_lock` names a lock directory an older brief makes by hand,
|
|
51
|
+
# which a landing honours as the holder while it exists. Landings run one at a time, first come first served.
|
|
43
52
|
Hecks.world "Hecks" do
|
|
44
53
|
realm "Hecks"
|
|
54
|
+
# The tables the renamed aggregates keep: Workspace was Checkout, Revision was Commit, SendTrain was
|
|
55
|
+
# PushTrain and ReviewRequest was PullRequest, and their rows stay where they were written.
|
|
56
|
+
# A boot that found them empty beside the old tables' rows would refuse by name.
|
|
57
|
+
stored_as Workspace: "checkout", Revision: "commit", SendTrain: "push_train", ReviewRequest: "pull_request"
|
|
58
|
+
# The command whose own record an unminted boot is let write: a mint cannot start from a boot whose
|
|
59
|
+
# shape no era holds yet. This domain's PostgresEra binding lives in uncommitted local files, so the
|
|
60
|
+
# name is said here, where every copy reads it.
|
|
61
|
+
minting commands: ["Era.MintHeld"]
|
|
62
|
+
landing "Queue", stale_minutes: 30, wait_minutes: 40
|
|
63
|
+
# Owner decision: the full spec suite runs only in CI (the Vocabulary `rspec` check is `runs_in: "ci"`).
|
|
64
|
+
# Locally `test_suite_run.run_suite!` is refused, and `run_spec_files!` and `run_impacted_specs!` run at
|
|
65
|
+
# most `spec_files_limit` files per call; CI is detected by the environment (`CI`, `GITHUB_ACTIONS`).
|
|
66
|
+
test_scope "Local", suite_runs_in: "ci", spec_files_limit: 25
|
|
45
67
|
launcher "Launcher", run_keys: true,
|
|
46
68
|
settled: %w[package.vendor package.revendor package.release
|
|
47
69
|
operation.bootstrap_admin smoke_run.run
|
|
@@ -49,22 +71,26 @@ Hecks.world "Hecks" do
|
|
|
49
71
|
data_copy.verify bluebook_diff.run preview_run.name
|
|
50
72
|
preview_run.url preview_run.list preview_run.deploy
|
|
51
73
|
preview_run.destroy preview_run.login companion_roll.run
|
|
52
|
-
handover.clear rehearsal_run.request
|
|
53
|
-
landing.land landing.retire agent_run.dispatch agent_run.check],
|
|
74
|
+
handover.clear rehearsal_run.request send_train.board
|
|
75
|
+
landing.land landing.train landing.retire agent_run.dispatch agent_run.check],
|
|
54
76
|
unknown_runs: %w[rehearsal_run.rehearsal_outcome],
|
|
55
|
-
|
|
77
|
+
renamed: { "push_train.push" => "send_train.send", "pull_request.merge" => "review_request.take", "checkout.log" => "workspace.history" },
|
|
78
|
+
names: { "config" => "workspace.settings", "doctor" => "workspace.doctor", "mcp" => "server.serve_mcp", "console" => "operation.open_console", "init" => "launch.init",
|
|
56
79
|
"interview" => "launch.interview", "package.check" => "registry.check",
|
|
57
80
|
"package.digest" => "registry.digest",
|
|
58
81
|
"package.release" => "registry.release" },
|
|
59
82
|
streams: %w[Follow],
|
|
60
83
|
executable: "exe/hecks",
|
|
61
84
|
maintainer: %w[LanguageRun KernelRun ConformanceRun RegenerationRun GateRun StyleRun InspectionRun
|
|
62
|
-
CodemodRun TestSuiteRun CorpusRun PublishingRun PromotionRun Release
|
|
85
|
+
CodemodRun TestSuiteRun CorpusRun Server PublishingRun PromotionRun Release ScriptRun
|
|
63
86
|
SyntaxBootCache],
|
|
64
87
|
newcomer: %w[launch.init launch.interview operation.open_console],
|
|
88
|
+
everyday: %w[operation.run operation.open_console gate_run.gate
|
|
89
|
+
test_suite_run.run_changed test_suite_run.run_spec_example
|
|
90
|
+
test_suite_run.run_spec_files test_suite_run.run_impacted_specs
|
|
91
|
+
build.build_host shipment.ship landing.land send_train.board
|
|
92
|
+
workspace.status codebase.search],
|
|
65
93
|
bluebooks: %w[Deploy Governance Tenancy Site Tickets Composer QualityControl],
|
|
66
94
|
maintainer_bluebooks: %w[Bluebook Hecksagon World Adapter Port Translation Expression],
|
|
67
|
-
memory_commands: %w[console init interview]
|
|
68
|
-
legacy: %w[run docs narrate ir stores model_check smoke_test
|
|
69
|
-
project_diagrams project_cli mcp]
|
|
95
|
+
memory_commands: %w[console init interview]
|
|
70
96
|
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"QualityControl": [
|
|
3
|
+
{
|
|
4
|
+
"from": "e6b119",
|
|
5
|
+
"to": "541955"
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
"from": "541955",
|
|
9
|
+
"to": "7005ea"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"from": "7005ea",
|
|
13
|
+
"to": "316ef0"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"from": "316ef0",
|
|
17
|
+
"to": "8cdb9d"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"from": "8cdb9d",
|
|
21
|
+
"to": "bbe061"
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
}
|