enola 0.5.3 → 0.5.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7587a8fade69cbde43c50ccf899b2085830d99e05e83feb03c1d31293e0eaedc
4
- data.tar.gz: 9d1bc99945a58b925dfeca0a70335907e53f4a47154d26fb5091250bdd353ab1
3
+ metadata.gz: b51cf9aa67dfbedac9d50b3b497dc1aa4a8cf503a64fbb8005ee229f33e2622d
4
+ data.tar.gz: 4472e4831653a8b39856ff614c29e453ddbd4a516f81de25ca7b5a6141979d60
5
5
  SHA512:
6
- metadata.gz: e6baed0ecc468220f0d80d37b40352e4b97889ae17e5049b7b167142d3f1ddd60c2bcd35f77ffe84dcb04493cd00bc7ae3954a879421a3abfb6f88303fab538b
7
- data.tar.gz: b39f2adc88525ed513773913d48b07071fd9e4bcf4a2a2fbaf7a1070e6e68a6d88e28271cae2b2ee7266b8f8f62f5ae7c13d8507661af852a3c0759c711624ce
6
+ metadata.gz: 441a27c23a38787138349ad7a8962d7c1acdc0f0138b6d208e241a22bce2cb4fdda14801ad8a11cf9de5f5d40d3f4f7cf39f037776692694259cb5808327094d
7
+ data.tar.gz: 3a92d8fcaaba9073b9bb606b45f64d1fe272a37e6550e9d295fc37d464db63e75c205727a473407f65e7e3a4e792623a316afaac7fdb0afa3f56a1add5660cb4
data/CHANGELOG.md CHANGED
@@ -1,3 +1,76 @@
1
+ ## enola 0.5.5, enola-rb 0.5.5 and munola 0.6.3 (2026-09-14)
2
+
3
+ The enola and enola-rb gems drive upstream enola 0.4.19. Between 0.4.10 and
4
+ here upstream read GraphQL server schemas so client operations have something
5
+ to match (0.4.12), bound Python imports to the module they name and added the
6
+ import-closure explainer (0.4.13), resolved C++ calls when the short name is
7
+ unique (0.4.13), published pip wheels and lowered the glibc floor to 2.17
8
+ (0.4.14, 0.4.15), stopped constraint checks skipping struct owners and
9
+ knowledge-page components (0.4.16), made the dashboard reload its snapshot on
10
+ refresh and bound Python calls to symbols a package defines in its own
11
+ `__init__.py` (0.4.17), made install.sh POSIX and gave upgrades their own
12
+ checksum (0.4.18), and made the Stop hook report once per session (0.4.19).
13
+ `cacheVersion` moved from v257 to v265, so caches rebuild once and a pinned
14
+ baseline can show a one-time change.
15
+
16
+ The vendored Prism provider script is re-vendored from v0.4.19. It had stayed
17
+ at provider version 0.1.0, the v0.4.4 script, while upstream moved it to 0.2.0
18
+ in 0.4.5: the seam hands the script a `--files` listing of the paths it holds
19
+ no cache entry for, and the 0.1.0 script parsed the whole tree regardless. The
20
+ Rubydex engine pin is unchanged at 0.4.0, which is what 0.4.19 fetches.
21
+
22
+ munola 0.6.3 drives channel release `0.4.19.1`, cut from the promoted current
23
+ at upstream enola 0.4.19. Three changes promoted into the channel after
24
+ 0.4.10.1 ship for the first time: `enola check -member` grades one repository
25
+ of a multi-repository config against the union pin by replaying it, a
26
+ constraints sentence written in snake_case reaches a recipe published in
27
+ kebab-case, and the module-edges binder keys symbol placement by repository
28
+ and drops its own prior derivations before deriving. Still carried: the
29
+ recipe catalogue at enola-guides v0.3.1, the init role binding, the
30
+ cache-version double history at cacheVersion v265, and the blame.go
31
+ spelling. The config munola writes also stops naming the Prism provider's
32
+ version as a fixed `0.1.0`; it asks the script, as the enola gem's config
33
+ already did.
34
+
35
+ ## munola 0.6.2 (2026-08-30)
36
+
37
+ munola drives channel release `0.4.10.1`, cut from the promoted current at
38
+ upstream enola 0.4.10. The difference list shrank again by contribution: the
39
+ exclusion filter went upstream in 0.4.7, and the constraints reference this
40
+ channel once carried inside INTENT.md shipped upstream as CONSTRAINTS.md and
41
+ PROVIDERS.md over 0.4.5. What the channel still adds is the recipe catalogue
42
+ at enola-guides v0.3.1, the init role binding, the cache-version double
43
+ history and a readability spelling in blame.go.
44
+
45
+ ## enola 0.5.4 and enola-rb 0.5.4 (2026-08-30)
46
+
47
+ The gems drive upstream enola 0.4.10. Between 0.4.6 and here upstream took the
48
+ exclusion filter (#255, in 0.4.7), rescored the layers explainer per language
49
+ cohort (0.4.7), began reading package manifests as dependency facts with a
50
+ declared-purpose diff (0.4.8), gave the dashboard its own command (0.4.9), and
51
+ documented the snapshot artifacts as a versioned contract with fact identity
52
+ (0.4.10). The vendored Prism provider script and the Rubydex engine pin are
53
+ byte-identical across the span, so nothing re-vendors; the wrappers move by
54
+ the release they name.
55
+
56
+ ## munola 0.6.1 (2026-08-24)
57
+
58
+ munola drives channel release `0.4.6.1`, cut from the promoted current at
59
+ upstream enola 0.4.6. The prefix walk fix is in the binary this gem fetches,
60
+ so the expiry the 0.6.0 note named is met and Rubydex is on by default again.
61
+ The channel still carries the exclusion filter, which upstream merged an hour
62
+ after 0.4.6 was published, so an excluded document is skipped before its
63
+ definitions are read: 440 seconds to 193 on a Rails monolith, facts identical.
64
+
65
+ The 0.6.0 note said munola waits on Prism alone. On the Rails install path it
66
+ did not. `munola init` reuses enola-rb's installer, which writes
67
+ `mcp-arch.yaml` first, and munola's own writer yields to a file that already
68
+ exists, so the config every Rails project got was the enola gem's, with both
69
+ providers on, against a channel binary built before the fix. Two things follow.
70
+ The config and the binary now agree, which is what closes it. And munola's
71
+ writer has a test that reads munola's writer, rather than one that reads the
72
+ file enola-rb wrote and reports on munola.
73
+
1
74
  ## enola 0.5.3, enola-rb 0.5.3 and munola 0.6.0 (2026-08-24)
2
75
 
3
76
  Both providers are on again. enola-labs shipped the prefix walk fix in 0.4.6,
data/README.md CHANGED
@@ -13,7 +13,7 @@ because nobody installs it to avoid Rails. The Rails code is written once, in
13
13
  ## `enola`
14
14
 
15
15
  The wrapper of the released enola. The gem versions itself; the release it
16
- drives is `Enola::UPSTREAM_VERSION`, v0.4.4 as of `enola 0.5.0`, and every
16
+ drives is `Enola::UPSTREAM_VERSION`, v0.4.19 as of `enola 0.5.5`, and every
17
17
  gemspec summary names it.
18
18
 
19
19
  ```ruby
@@ -29,7 +29,7 @@ bundle exec enola check .
29
29
  The first command that needs the binary downloads the release for your
30
30
  platform (linux, darwin, windows; amd64, arm64), verifies it against the
31
31
  sha256 file the same release publishes, and keeps it under
32
- `~/.cache/enola/upstream/0.4.4/` (`ENOLA_CACHE_DIR` moves the root). An
32
+ `~/.cache/enola/upstream/0.4.19/` (`ENOLA_CACHE_DIR` moves the root). An
33
33
  `enola` already on your PATH is used only when it answers the pinned version;
34
34
  offline with an empty cache is a refusal that names the cache and the release
35
35
  rather than a fallback to whatever is installed. Nothing downloads at
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
- # Vendored from enola-labs/enola examples/providers/ruby/prism/enola_prism_provider.rb at v0.4.4 (1e35dfd88e7b293bb2bffec6949989bd6105b796), Apache-2.0.
3
+ # Vendored from enola-labs/enola examples/providers/ruby/prism/enola_prism_provider.rb at v0.4.19 (f34e1998d5c41eeeb14e95f6c3584b8fee0746c6), Apache-2.0.
4
4
 
5
5
  # enola Prism reference provider.
6
6
  #
@@ -34,7 +34,7 @@
34
34
  require "json"
35
35
  require "prism"
36
36
 
37
- PROVIDER_VERSION = "0.1.0"
37
+ PROVIDER_VERSION = "0.2.0"
38
38
 
39
39
  if ARGV.include?("--version")
40
40
  puts PROVIDER_VERSION
@@ -42,7 +42,13 @@ if ARGV.include?("--version")
42
42
  end
43
43
 
44
44
  root = ARGV[0]
45
- abort "usage: enola_prism_provider.rb <repo-path>" unless root && File.directory?(root)
45
+ abort "usage: enola_prism_provider.rb <repo-path> [--files LISTING]" unless root && File.directory?(root)
46
+
47
+ # With --files the seam hands over the repo-relative paths whose facts it has no
48
+ # cache entry for, one per line; only those are parsed, and every fact still
49
+ # names its file, so the seam can store each file's facts under its own key.
50
+ listing = ARGV.index("--files") && ARGV[ARGV.index("--files") + 1]
51
+ abort "usage: enola_prism_provider.rb <repo-path> [--files LISTING]" if ARGV.include?("--files") && !listing
46
52
 
47
53
  SKIP_SEGMENTS = %w[vendor node_modules tmp].freeze
48
54
 
@@ -167,9 +173,13 @@ class CallCollector < Prism::Visitor
167
173
  end
168
174
 
169
175
  lines = []
170
- files = Dir.glob(File.join("**", "*.rb"), base: root).reject do |rel|
171
- rel.split("/").any? { |segment| SKIP_SEGMENTS.include?(segment) }
172
- end.sort
176
+ files = if listing
177
+ File.readlines(listing, chomp: true).reject(&:empty?).select { |rel| rel.end_with?(".rb") }.sort
178
+ else
179
+ Dir.glob(File.join("**", "*.rb"), base: root).reject do |rel|
180
+ rel.split("/").any? { |segment| SKIP_SEGMENTS.include?(segment) }
181
+ end.sort
182
+ end
173
183
 
174
184
  files.each do |rel|
175
185
  source = begin
data/lib/enola/version.rb CHANGED
@@ -3,6 +3,6 @@
3
3
  module Enola
4
4
  # The gem versions itself. UPSTREAM_VERSION names the enola release it
5
5
  # fetches and drives.
6
- UPSTREAM_VERSION = "0.4.6"
7
- VERSION = "0.5.3"
6
+ UPSTREAM_VERSION = "0.4.19"
7
+ VERSION = "0.5.5"
8
8
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: enola
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3
4
+ version: 0.5.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Muhamed Isabegovic
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-08-24 00:00:00.000000000 Z
11
+ date: 2026-09-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: prism
@@ -27,7 +27,7 @@ dependencies:
27
27
  description: |
28
28
  A pure-Ruby wrapper around enola, the architecture-graph tool by enola-labs.
29
29
  The gem versions itself; the enola release it drives is named in its
30
- UPSTREAM_VERSION, 0.4.6 here. The binary is not in the
30
+ UPSTREAM_VERSION, 0.4.19 here. The binary is not in the
31
31
  gem: the first command that needs it downloads the release for your
32
32
  platform, verifies it against the checksum the release publishes, and keeps
33
33
  it in a per-user cache. Every command and exit code is forwarded unchanged.
@@ -81,5 +81,5 @@ rubygems_version: 3.5.22
81
81
  signing_key:
82
82
  specification_version: 4
83
83
  summary: 'Runs the released enola from Ruby: fetched on first use, verified, cached.
84
- This release drives enola 0.4.6.'
84
+ This release drives enola 0.4.19.'
85
85
  test_files: []