hecks 2.5.1 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/lib/hecks/adapters/driven/google_authentication.rb +1 -1
  3. data/lib/hecks/adapters/driven/lambda/client.rb +1 -1
  4. data/lib/hecks/adapters/driven/prism.rb +1 -1
  5. data/lib/hecks/bench/cli.rb +74 -0
  6. data/lib/hecks/bench/environment.rb +100 -0
  7. data/lib/hecks/bench/postgres_probe.rb +41 -0
  8. data/lib/hecks/bench/report.rb +116 -0
  9. data/lib/hecks/bench/ruby_runner.rb +151 -0
  10. data/lib/hecks/bench/run.rb +55 -0
  11. data/lib/hecks/bench/rust_runner.rb +165 -0
  12. data/lib/hecks/bench/stats.rb +75 -0
  13. data/lib/hecks/bench/suite.rb +172 -0
  14. data/lib/hecks/bench/workload.rb +137 -0
  15. data/lib/hecks/bench.rb +28 -0
  16. data/lib/hecks/bluebook/dsl/bootstrap_table.rb +2 -0
  17. data/lib/hecks/bluebook/dsl/command_builder.rb +3 -3
  18. data/lib/hecks/bluebook/dsl/port_operation_builder.rb +1 -1
  19. data/lib/hecks/bluebook/dsl/world_builder.rb +42 -3
  20. data/lib/hecks/bluebook/hexagon.rb +15 -7
  21. data/lib/hecks/bluebook/meta_validator/world_judge.rb +3 -1
  22. data/lib/hecks/bluebook/model_check/client_profile.rb +153 -0
  23. data/lib/hecks/bluebook/model_check.rb +21 -2
  24. data/lib/hecks/embryonaut_bluebook/lock.rb +72 -0
  25. data/lib/hecks/embryonaut_bluebook/shape.rb +47 -0
  26. data/lib/hecks/embryonaut_bluebook/vendor.rb +194 -0
  27. data/lib/hecks/embryonaut_bluebook/vendor_cli.rb +88 -0
  28. data/lib/hecks/embryonaut_bluebook.rb +29 -3
  29. data/lib/hecks/forms/value_object_shape.rb +1 -1
  30. data/lib/hecks/framework/bluebook/console_settings.bluebook +3 -3
  31. data/lib/hecks/fuzzing/era_boundary.rb +1 -1
  32. data/lib/hecks/fuzzing/isolated_boot.rb +136 -69
  33. data/lib/hecks/language/world/world.bluebook +32 -2
  34. data/lib/hecks/mcp_stdio_guard.rb +160 -0
  35. data/lib/hecks/ports/key_vault.rb +1 -1
  36. data/lib/hecks/ports/persistence/binding_policy.rb +16 -5
  37. data/lib/hecks/ports/persistence/plugins/era/era_check.rb +2 -1
  38. data/lib/hecks/ports/persistence/plugins/era/expected_era.rb +132 -0
  39. data/lib/hecks/ports/persistence/plugins/era/lineage.rb +1 -1
  40. data/lib/hecks/ports/persistence/plugins/era/translation/rule_compiler.rb +1 -1
  41. data/lib/hecks/ports/persistence/plugins/era.rb +7 -4
  42. data/lib/hecks/ports/persistence/postgres_dump/connection.rb +73 -0
  43. data/lib/hecks/ports/persistence/postgres_dump.rb +125 -0
  44. data/lib/hecks/ports/persistence/repository_factory.rb +2 -2
  45. data/lib/hecks/ports/persistence.rb +4 -0
  46. data/lib/hecks/projections/deploy/fargate/assembly.rb +193 -0
  47. data/lib/hecks/projections/deploy/fargate/cdn.rb +318 -0
  48. data/lib/hecks/projections/deploy/fargate/cdn_default.rb +87 -0
  49. data/lib/hecks/projections/deploy/fargate/check.rb +172 -0
  50. data/lib/hecks/projections/deploy/fargate/containers.rb +412 -0
  51. data/lib/hecks/projections/deploy/fargate/extras.rb +268 -0
  52. data/lib/hecks/projections/deploy/fargate/monitoring.rb +448 -0
  53. data/lib/hecks/projections/deploy/fargate/settings.rb +235 -0
  54. data/lib/hecks/projections/deploy/fargate/yaml.rb +116 -0
  55. data/lib/hecks/projections/deploy/fargate.rb +187 -138
  56. data/lib/hecks/projections/deploy/lambda.rb +5 -5
  57. data/lib/hecks/projections/deploy/preview/access_yaml.rb +145 -0
  58. data/lib/hecks/projections/deploy/preview/containers.rb +218 -0
  59. data/lib/hecks/projections/deploy/preview/preview.sh.erb +446 -0
  60. data/lib/hecks/projections/deploy/preview/routing_yaml.rb +216 -0
  61. data/lib/hecks/projections/deploy/preview/script.rb +40 -0
  62. data/lib/hecks/projections/deploy/preview/settings.rb +140 -0
  63. data/lib/hecks/projections/deploy/preview/task_yaml.rb +215 -0
  64. data/lib/hecks/projections/deploy/preview/template.rb +247 -0
  65. data/lib/hecks/projections/deploy/preview/yaml_text.rb +48 -0
  66. data/lib/hecks/projections/deploy/preview.rb +103 -0
  67. data/lib/hecks/projections/deploy/scripts/deploy-service.sh.tmpl +182 -0
  68. data/lib/hecks/projections/deploy/scripts/expected-era.header +17 -0
  69. data/lib/hecks/projections/deploy/scripts/hosting.mk.tmpl +54 -0
  70. data/lib/hecks/projections/deploy/scripts/settings.rb +114 -0
  71. data/lib/hecks/projections/deploy/scripts/smoke-after-deploy.sh.tmpl +232 -0
  72. data/lib/hecks/projections/deploy/scripts.rb +171 -0
  73. data/lib/hecks/projections/deploy/smoke/harness.js +366 -0
  74. data/lib/hecks/projections/deploy/smoke/workflow.yml.tmpl +56 -0
  75. data/lib/hecks/projections/deploy/smoke.rb +159 -0
  76. data/lib/hecks/projections/deploy/template_diff/comparer.rb +231 -0
  77. data/lib/hecks/projections/deploy/template_diff/loader.rb +105 -0
  78. data/lib/hecks/projections/deploy/template_diff.rb +173 -0
  79. data/lib/hecks/projections/glossary/sensitivity.rb +1 -1
  80. data/lib/hecks/projections.rb +2 -0
  81. data/lib/hecks/release/gem_pin/published_versions.rb +58 -0
  82. data/lib/hecks/release/gem_pin.rb +112 -0
  83. data/lib/hecks/runtime/command_rules/arithmetic.rb +2 -2
  84. data/lib/hecks/runtime/loader.rb +26 -2
  85. data/lib/hecks/runtime/registry/saga_persistence.rb +8 -2
  86. data/lib/hecks/runtime/registry/verification.rb +4 -2
  87. data/lib/hecks/runtime/registry/world_defaults.rb +106 -0
  88. data/lib/hecks/runtime/registry.rb +14 -9
  89. data/lib/hecks/runtime/tenant_check.rb +1 -1
  90. data/lib/hecks/vendoring/git_environment.rb +35 -0
  91. data/lib/hecks/vendoring/git_source.rb +102 -0
  92. data/lib/hecks/vendoring.rb +102 -0
  93. data/lib/hecks/version.rb +1 -1
  94. data/lib/hecks.rb +3 -1
  95. metadata +59 -2
data/lib/hecks.rb CHANGED
@@ -31,8 +31,10 @@ require_relative "hecks/projections"
31
31
  require_relative "hecks/facade/cli_door"
32
32
  require_relative "hecks/facade/cli_runner"
33
33
  require_relative "hecks/storehouse"
34
+ require_relative "hecks/mcp_stdio_guard"
34
35
  require_relative "hecks/framework"
35
36
  require_relative "hecks/corpus"
37
+ require_relative "hecks/vendoring"
36
38
  require_relative "hecks/embryonaut_bluebook"
37
39
 
38
40
  # The root namespace and public facade of the whole DSL/runtime: `Hecks.boot`/
@@ -56,7 +58,7 @@ module Hecks
56
58
  # `environments/<name>.hecksagon` / `.world` overlay it loads —
57
59
  # see Adapters::Folder#load_domain) existed on a prior commit of
58
60
  # this repo (933d1dd), was vendored out to a real consumer
59
- # (lifeadelics/domain), and was then lost from this repo's own
61
+ # (a client site's domain), and was then lost from this repo's own
60
62
  # history (no branch here reaches that commit). Ported forward
61
63
  # from the consumer's vendor snapshot — the only surviving copy —
62
64
  # and generalized: the original only loaded a `.hecksagon`
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hecks
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.1
4
+ version: 2.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Young
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-09-26 00:00:00.000000000 Z
11
+ date: 2026-09-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: prism
@@ -94,6 +94,17 @@ files:
94
94
  - lib/hecks/behaviors/ir.rb
95
95
  - lib/hecks/behaviors/rspec.rb
96
96
  - lib/hecks/behaviors/runner.rb
97
+ - lib/hecks/bench.rb
98
+ - lib/hecks/bench/cli.rb
99
+ - lib/hecks/bench/environment.rb
100
+ - lib/hecks/bench/postgres_probe.rb
101
+ - lib/hecks/bench/report.rb
102
+ - lib/hecks/bench/ruby_runner.rb
103
+ - lib/hecks/bench/run.rb
104
+ - lib/hecks/bench/rust_runner.rb
105
+ - lib/hecks/bench/stats.rb
106
+ - lib/hecks/bench/suite.rb
107
+ - lib/hecks/bench/workload.rb
97
108
  - lib/hecks/bluebook.rb
98
109
  - lib/hecks/bluebook/aggregate.rb
99
110
  - lib/hecks/bluebook/assembly.rb
@@ -174,6 +185,7 @@ files:
174
185
  - lib/hecks/bluebook/meta_validator/translation_judge.rb
175
186
  - lib/hecks/bluebook/meta_validator/world_judge.rb
176
187
  - lib/hecks/bluebook/model_check.rb
188
+ - lib/hecks/bluebook/model_check/client_profile.rb
177
189
  - lib/hecks/bluebook/pattern_subset.rb
178
190
  - lib/hecks/bluebook/policy.rb
179
191
  - lib/hecks/bluebook/process_manager.rb
@@ -195,6 +207,10 @@ files:
195
207
  - lib/hecks/deploy/oidc.json
196
208
  - lib/hecks/doc/reference.rb
197
209
  - lib/hecks/embryonaut_bluebook.rb
210
+ - lib/hecks/embryonaut_bluebook/lock.rb
211
+ - lib/hecks/embryonaut_bluebook/shape.rb
212
+ - lib/hecks/embryonaut_bluebook/vendor.rb
213
+ - lib/hecks/embryonaut_bluebook/vendor_cli.rb
198
214
  - lib/hecks/facade.rb
199
215
  - lib/hecks/facade/cli_door.rb
200
216
  - lib/hecks/facade/cli_runner.rb
@@ -302,6 +318,7 @@ files:
302
318
  - lib/hecks/language/world/wiring.bluebook
303
319
  - lib/hecks/language/world/world.bluebook
304
320
  - lib/hecks/literal.rb
321
+ - lib/hecks/mcp_stdio_guard.rb
305
322
  - lib/hecks/naming.rb
306
323
  - lib/hecks/ports.rb
307
324
  - lib/hecks/ports/access_control.port
@@ -340,6 +357,7 @@ files:
340
357
  - lib/hecks/ports/persistence/plugins/era/era_guard.rb
341
358
  - lib/hecks/ports/persistence/plugins/era/era_guard/shape_diff.rb
342
359
  - lib/hecks/ports/persistence/plugins/era/era_tamper.rb
360
+ - lib/hecks/ports/persistence/plugins/era/expected_era.rb
343
361
  - lib/hecks/ports/persistence/plugins/era/lineage.rb
344
362
  - lib/hecks/ports/persistence/plugins/era/postgres_era.rb
345
363
  - lib/hecks/ports/persistence/plugins/era/postgres_era/lineage.rb
@@ -369,6 +387,8 @@ files:
369
387
  - lib/hecks/ports/persistence/plugins/era/translation/scaffold/differ.rb
370
388
  - lib/hecks/ports/persistence/plugins/era/translation/scaffold/renderer.rb
371
389
  - lib/hecks/ports/persistence/plugins/era/translation/scaffold/writer.rb
390
+ - lib/hecks/ports/persistence/postgres_dump.rb
391
+ - lib/hecks/ports/persistence/postgres_dump/connection.rb
372
392
  - lib/hecks/ports/persistence/remote_runtime.rb
373
393
  - lib/hecks/ports/persistence/repository_factory.rb
374
394
  - lib/hecks/ports/persistence/state_codec.rb
@@ -380,8 +400,39 @@ files:
380
400
  - lib/hecks/projections.rb
381
401
  - lib/hecks/projections/bootstrap_table.rb
382
402
  - lib/hecks/projections/deploy/fargate.rb
403
+ - lib/hecks/projections/deploy/fargate/assembly.rb
404
+ - lib/hecks/projections/deploy/fargate/cdn.rb
405
+ - lib/hecks/projections/deploy/fargate/cdn_default.rb
406
+ - lib/hecks/projections/deploy/fargate/check.rb
407
+ - lib/hecks/projections/deploy/fargate/containers.rb
408
+ - lib/hecks/projections/deploy/fargate/extras.rb
409
+ - lib/hecks/projections/deploy/fargate/monitoring.rb
410
+ - lib/hecks/projections/deploy/fargate/settings.rb
411
+ - lib/hecks/projections/deploy/fargate/yaml.rb
383
412
  - lib/hecks/projections/deploy/lambda.rb
413
+ - lib/hecks/projections/deploy/preview.rb
414
+ - lib/hecks/projections/deploy/preview/access_yaml.rb
415
+ - lib/hecks/projections/deploy/preview/containers.rb
416
+ - lib/hecks/projections/deploy/preview/preview.sh.erb
417
+ - lib/hecks/projections/deploy/preview/routing_yaml.rb
418
+ - lib/hecks/projections/deploy/preview/script.rb
419
+ - lib/hecks/projections/deploy/preview/settings.rb
420
+ - lib/hecks/projections/deploy/preview/task_yaml.rb
421
+ - lib/hecks/projections/deploy/preview/template.rb
422
+ - lib/hecks/projections/deploy/preview/yaml_text.rb
423
+ - lib/hecks/projections/deploy/scripts.rb
424
+ - lib/hecks/projections/deploy/scripts/deploy-service.sh.tmpl
425
+ - lib/hecks/projections/deploy/scripts/expected-era.header
426
+ - lib/hecks/projections/deploy/scripts/hosting.mk.tmpl
427
+ - lib/hecks/projections/deploy/scripts/settings.rb
428
+ - lib/hecks/projections/deploy/scripts/smoke-after-deploy.sh.tmpl
384
429
  - lib/hecks/projections/deploy/shared.rb
430
+ - lib/hecks/projections/deploy/smoke.rb
431
+ - lib/hecks/projections/deploy/smoke/harness.js
432
+ - lib/hecks/projections/deploy/smoke/workflow.yml.tmpl
433
+ - lib/hecks/projections/deploy/template_diff.rb
434
+ - lib/hecks/projections/deploy/template_diff/comparer.rb
435
+ - lib/hecks/projections/deploy/template_diff/loader.rb
385
436
  - lib/hecks/projections/diagrams.rb
386
437
  - lib/hecks/projections/glossary.rb
387
438
  - lib/hecks/projections/glossary/html.rb
@@ -428,6 +479,8 @@ files:
428
479
  - lib/hecks/query_specification/field_path.rb
429
480
  - lib/hecks/query_specification/hop_path.rb
430
481
  - lib/hecks/query_specification/read_model/specification.rb
482
+ - lib/hecks/release/gem_pin.rb
483
+ - lib/hecks/release/gem_pin/published_versions.rb
431
484
  - lib/hecks/rendering.rb
432
485
  - lib/hecks/router.rb
433
486
  - lib/hecks/router/namespace_installer.rb
@@ -468,6 +521,7 @@ files:
468
521
  - lib/hecks/runtime/registry.rb
469
522
  - lib/hecks/runtime/registry/saga_persistence.rb
470
523
  - lib/hecks/runtime/registry/verification.rb
524
+ - lib/hecks/runtime/registry/world_defaults.rb
471
525
  - lib/hecks/runtime/remote_dispatcher.rb
472
526
  - lib/hecks/runtime/routing.rb
473
527
  - lib/hecks/runtime/saga_interpreter.rb
@@ -483,6 +537,9 @@ files:
483
537
  - lib/hecks/storehouse.rb
484
538
  - lib/hecks/tenancy/bluebook/tenancy.bluebook
485
539
  - lib/hecks/tenancy/bluebook/tenancy.hecksagon
540
+ - lib/hecks/vendoring.rb
541
+ - lib/hecks/vendoring/git_environment.rb
542
+ - lib/hecks/vendoring/git_source.rb
486
543
  - lib/hecks/version.rb
487
544
  - lib/hecks/vocabulary.rb
488
545
  - lib/rubocop/cop/hecks/fallback_hash_lookup.rb