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 +4 -4
- data/CHANGELOG.md +73 -0
- data/README.md +2 -2
- data/lib/enola/providers/prism/enola_prism_provider.rb +16 -6
- data/lib/enola/version.rb +2 -2
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b51cf9aa67dfbedac9d50b3b497dc1aa4a8cf503a64fbb8005ee229f33e2622d
|
|
4
|
+
data.tar.gz: 4472e4831653a8b39856ff614c29e453ddbd4a516f81de25ca7b5a6141979d60
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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 =
|
|
171
|
-
|
|
172
|
-
|
|
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
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
|
+
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-
|
|
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.
|
|
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.
|
|
84
|
+
This release drives enola 0.4.19.'
|
|
85
85
|
test_files: []
|