enola 0.5.4 → 0.5.6

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: 8765810bf2e4d590bbbba5be8636b967a32850c114c77062f122f352178f2efd
4
- data.tar.gz: 3e5b6fcc384b5a4744be1f691fb219968f407b303e2b3220b2333e0c1e59840f
3
+ metadata.gz: c9465910b66ac8c461af7a7169f074d55b8c64c7c228dfe4acb81bdf70980731
4
+ data.tar.gz: f5fcd1f86a3cde157a0dc4ae901b56577f08cb1f8735aa065110bec03ad2254e
5
5
  SHA512:
6
- metadata.gz: 59ee62e4dce004b6828775875e6c68ed8821744ff47e69181a2d0dbdc0040d3ef46f0466b12b9bbd67fbffe7dc851de9bb3fae388f3a33c9680a51d1be630193
7
- data.tar.gz: 327a5ccd99c2842900aaedf773e2d550a756447ffd8990dc883b46c6687922cdb02d45cbf709614d80658a6b957ad75f31dc41924684e75a6851f6a3a696994f
6
+ metadata.gz: bf9acda456730768553a8489cde1f527989f0d8e35e425fbb74ff20eb265796a8c6d995ad5062dfcb92017017082610b950cc12b5f0d4d7ed919d8dc1f2aa629
7
+ data.tar.gz: 814dd495e17e04801536643b736143644adac776454e27a076256ae07daccdb1f45cd38b88fe7a10ae784f739ecfb1bcc465cd7a30e05d68c022b2a9455d3dcb
data/CHANGELOG.md CHANGED
@@ -1,3 +1,72 @@
1
+ ## enola 0.5.6 and enola-rb 0.5.6 (2026-10-20)
2
+
3
+ The enola and enola-rb gems drive upstream enola 0.4.32. Between 0.4.19 and
4
+ here upstream indexed a folder of repositories as a cluster (0.4.20), took dead
5
+ code, performance and package metrics into enola itself (0.4.21), installed as
6
+ a Claude Code plugin (0.4.22), stopped counting loops that cannot grow (0.4.23),
7
+ read FastAPI routes in every registration form (0.4.24), parsed Scala 3
8
+ capture-checked code (0.4.25), linked a cross-repo call to the function making
9
+ it and the one serving it (0.4.26), answered `enola impact` from the command
10
+ line (0.4.27), rested performance findings on facts about the callee (0.4.28),
11
+ walked a Laravel endpoint from its URL to its tables (0.4.29), added `enola
12
+ flows` and a `doc` prop on symbols (0.4.30), bound more routes to their
13
+ handlers and extracted TypeScript about twice as fast (0.4.31), and read docs
14
+ from comments in ten languages, module docs from package comments among them,
15
+ with a `docs.jsonl` renderer on by default (0.4.32). `cacheVersion` moved from v265 to v390, so caches rebuild
16
+ once and a pinned baseline can show a one-time change.
17
+
18
+ The vendored Prism provider script is re-vendored from v0.4.32. Its body is
19
+ unchanged since v0.4.19 and it still answers provider version 0.2.0; only the
20
+ line naming where it was vendored from moves. The Rubydex engine pin is
21
+ unchanged at 0.4.0, which is what 0.4.32 fetches.
22
+
23
+ munola is unchanged and still drives channel release `0.4.19.1`, until the
24
+ channel is cut on 0.4.32.
25
+
26
+ ## enola 0.5.5, enola-rb 0.5.5 and munola 0.6.3 (2026-09-14)
27
+
28
+ The enola and enola-rb gems drive upstream enola 0.4.19. Between 0.4.10 and
29
+ here upstream read GraphQL server schemas so client operations have something
30
+ to match (0.4.12), bound Python imports to the module they name and added the
31
+ import-closure explainer (0.4.13), resolved C++ calls when the short name is
32
+ unique (0.4.13), published pip wheels and lowered the glibc floor to 2.17
33
+ (0.4.14, 0.4.15), stopped constraint checks skipping struct owners and
34
+ knowledge-page components (0.4.16), made the dashboard reload its snapshot on
35
+ refresh and bound Python calls to symbols a package defines in its own
36
+ `__init__.py` (0.4.17), made install.sh POSIX and gave upgrades their own
37
+ checksum (0.4.18), and made the Stop hook report once per session (0.4.19).
38
+ `cacheVersion` moved from v257 to v265, so caches rebuild once and a pinned
39
+ baseline can show a one-time change.
40
+
41
+ The vendored Prism provider script is re-vendored from v0.4.19. It had stayed
42
+ at provider version 0.1.0, the v0.4.4 script, while upstream moved it to 0.2.0
43
+ in 0.4.5: the seam hands the script a `--files` listing of the paths it holds
44
+ no cache entry for, and the 0.1.0 script parsed the whole tree regardless. The
45
+ Rubydex engine pin is unchanged at 0.4.0, which is what 0.4.19 fetches.
46
+
47
+ munola 0.6.3 drives channel release `0.4.19.1`, cut from the promoted current
48
+ at upstream enola 0.4.19. Three changes promoted into the channel after
49
+ 0.4.10.1 ship for the first time: `enola check -member` grades one repository
50
+ of a multi-repository config against the union pin by replaying it, a
51
+ constraints sentence written in snake_case reaches a recipe published in
52
+ kebab-case, and the module-edges binder keys symbol placement by repository
53
+ and drops its own prior derivations before deriving. Still carried: the
54
+ recipe catalogue at enola-guides v0.3.1, the init role binding, the
55
+ cache-version double history at cacheVersion v265, and the blame.go
56
+ spelling. The config munola writes also stops naming the Prism provider's
57
+ version as a fixed `0.1.0`; it asks the script, as the enola gem's config
58
+ already did.
59
+
60
+ ## munola 0.6.2 (2026-08-30)
61
+
62
+ munola drives channel release `0.4.10.1`, cut from the promoted current at
63
+ upstream enola 0.4.10. The difference list shrank again by contribution: the
64
+ exclusion filter went upstream in 0.4.7, and the constraints reference this
65
+ channel once carried inside INTENT.md shipped upstream as CONSTRAINTS.md and
66
+ PROVIDERS.md over 0.4.5. What the channel still adds is the recipe catalogue
67
+ at enola-guides v0.3.1, the init role binding, the cache-version double
68
+ history and a readability spelling in blame.go.
69
+
1
70
  ## enola 0.5.4 and enola-rb 0.5.4 (2026-08-30)
2
71
 
3
72
  The gems drive upstream enola 0.4.10. Between 0.4.6 and here upstream took the
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.32 as of `enola 0.5.6`, 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.32/` (`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.32 (37d74c08a48dfa6092ae5e37cc15edb390f66ec7), 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.10"
7
- VERSION = "0.5.4"
6
+ UPSTREAM_VERSION = "0.4.32"
7
+ VERSION = "0.5.6"
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.4
4
+ version: 0.5.6
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-30 00:00:00.000000000 Z
11
+ date: 2026-10-20 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.10 here. The binary is not in the
30
+ UPSTREAM_VERSION, 0.4.32 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.10.'
84
+ This release drives enola 0.4.32.'
85
85
  test_files: []