Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
358 commits
Select commit Hold shift + click to select a range
13b2a4e
🔊 Normalize executable startup contract
pboling Jul 23, 2026
543cb19
⬆️ Raise kettle-gha-pins floor
pboling Jul 24, 2026
4a766e9
⬆️ Upgrade GHA SHA pins & deps
pboling Jul 24, 2026
a0366ce
🧰 Fix dependency floor writer UX
pboling Jul 24, 2026
1f4f672
🧭 Clarify workflow pins dry runs
pboling Jul 24, 2026
80ba003
📌 Commit workflow pin template updates
pboling Jul 24, 2026
3c79214
📌 Normalize workflow pin comments
pboling Jul 24, 2026
77bd7b2
🧭 Fix Kettle local Gemfile roots
pboling Jul 24, 2026
6a71afe
⬆️ Raise kettle-jem dependency floors
pboling Jul 24, 2026
9298b92
📝 Track kettle-jem changelog replay state
pboling Jul 25, 2026
36cb8a4
📝 Document merge gem behavior sharing
pboling Jul 25, 2026
499f71d
📝 Clarify merge gem backend taxonomy
pboling Jul 25, 2026
91c2f88
✨ Register zip Kaitai parser backend
pboling Jul 25, 2026
52d22da
✨ Register line parser backends
pboling Jul 25, 2026
dd537b7
🔒 Update family lockfiles
pboling Jul 25, 2026
c0af785
✨ Use binary substrate in zip merge
pboling Jul 25, 2026
c18d9a7
⬆️ Raise kettle-jem dependency floors
pboling Jul 25, 2026
140a80c
♻️ Use shared NDJSON events
pboling Jul 25, 2026
232030a
🧭 Separate scaffold forge org from GitHub user
pboling Jul 25, 2026
76fd9b6
🧭 Set family forge org
pboling Jul 25, 2026
9d57f5e
🎬 Run engine workflows on release PRs
pboling Jul 25, 2026
f061dac
⬆️ Raise kettle-ndjson floor
pboling Jul 25, 2026
b5e922a
⬆️ Raise kettle-jem dependency floors
pboling Jul 25, 2026
be6e9de
⬆️ Raise kettle-jem dependency floors
pboling Jul 25, 2026
01d3593
⬆️ Raise kettle-jem dependency floors
pboling Jul 25, 2026
2cbc056
⬆️ Raise kettle-jem dependency floors
pboling Jul 25, 2026
21db82c
🐛 Replay missing template changelog entries
pboling Jul 25, 2026
f4a5646
⬆️ Raise kettle-jem dependency floors
pboling Jul 25, 2026
76edb55
🐛 Mirror legacy CI installs
pboling Jul 25, 2026
79f1cc8
⬆️ Raise kettle-jem dependency floors
pboling Jul 25, 2026
975c0df
⬆️ Raise kettle-jem dependency floors
pboling Jul 25, 2026
85cb1bb
🐛 Load generated version specs anonymously
pboling Jul 25, 2026
86da691
✨ Expose transfer changelog lag query
pboling Jul 25, 2026
60b4dda
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 25, 2026
c1ed519
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 25, 2026
b756a30
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 25, 2026
65b0678
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 25, 2026
eb07ec6
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 25, 2026
91acb20
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 25, 2026
b754a2c
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 25, 2026
d008cc3
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 25, 2026
68b445b
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 25, 2026
d3b9c3c
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 25, 2026
e86306d
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 25, 2026
219a03e
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 25, 2026
4c1db04
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 25, 2026
c2fdb33
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 25, 2026
66fdaa8
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 25, 2026
6585656
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 25, 2026
21077dc
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 25, 2026
cd276c6
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 25, 2026
999315e
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 25, 2026
dae4d3a
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 25, 2026
8f21a8f
🐛 Serialize template git driver setup
pboling Jul 26, 2026
8a3494b
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
7bef06c
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
a74b431
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
283d4bf
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
52bfb6f
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
2f3d08a
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
8c130af
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
1d66477
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
e03a74c
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
12c10d0
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
a38f6dc
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
95837ba
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
0c6b19a
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
47f2b6e
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
2fd7116
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
33f5a02
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
925d7cc
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
89003bb
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
a515540
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
f8bcd8a
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
69098c6
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
57cb5cf
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
3c8c2b5
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
f7dc569
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
b94df5e
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
4d24f71
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
c171e16
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
e690a06
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
fb5ddab
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
e9d48e1
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
77caecf
🔇 Gate executable headers behind verbose
pboling Jul 26, 2026
ba140c1
📝 Tighten transfer changelog wording
pboling Jul 26, 2026
c5312e1
🧬 Parse transfer changelogs structurally
pboling Jul 26, 2026
0b5551c
📝 Add YARD lint template and fix transfer replay
pboling Jul 26, 2026
38a6f82
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
d60208a
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
0f1830d
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
9330cd9
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
d460d67
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
de5f4dc
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
b808d37
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
ffb1068
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
ca141ee
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
4ffd3a0
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
55c697f
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
0ee1dbe
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
5daf92b
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
f938644
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
b23032b
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
bf8305c
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
25e8feb
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
81f4e91
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
f2c58d7
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
1aec4fa
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
9f19363
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
d823e8e
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
ce211ac
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
cd36de3
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
07bfdf2
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
5aea2ef
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
b15da96
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
7fd2a85
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
c51eeef
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
d94c74f
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
abbd436
📝 Let kettle-dev own YARD lint tasks
pboling Jul 26, 2026
a9f02a4
⬆️ Raise kettle-jem dependency floors
pboling Jul 26, 2026
dc0c0ad
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
96de899
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
832587b
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
a67f800
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
32ea890
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
94cc2aa
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
daeb42b
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
e81995d
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
99d8fc9
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
67c9253
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
e170598
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
9aa4de8
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
624482f
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
9bbc22d
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
7fc7d8d
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
d5d2e90
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
785078a
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
f318399
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
2ea182e
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
faf13b9
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
2187a9e
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
fe7277e
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
bee3f7f
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
95a1f43
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
334c819
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
249dbc7
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
930c9f9
🐛 Fix YARD lint configuration
pboling Jul 26, 2026
ba237a5
🐛 Add kettle-jem checksum lockfile
pboling Jul 26, 2026
97bcb98
🐛 Read changelog replay from kettle-jem lock
pboling Jul 26, 2026
a854f38
🔐 Avoid template token values in kettle-jem lock
pboling Jul 26, 2026
653d6f4
📝 Document kettle-jem checksum skip modes
pboling Jul 26, 2026
7411919
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
d2f85ff
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
4c79951
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
c431f99
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
24bd0d6
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
58513dc
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
1fd4cf4
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
57611d8
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
03a0cf8
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
5cd35e0
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
dad134d
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
f120ba4
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
aa6ceba
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
d51b1c6
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
6c4bf4b
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
f590c2a
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
729b636
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
19f885d
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
9e1c39b
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
99a8d73
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
d9d17b5
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
c86bd51
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
cf25c15
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
76f1160
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
ecb57e8
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
c2078c2
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
6db4c6a
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
751d194
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
c6775e8
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
ba59c4d
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
fa9b21a
🚚 Move kettle-jem lock under structuredmerge
pboling Jul 26, 2026
080f0d4
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
1a65f6e
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
4a34d99
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
01f215e
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
9647f1c
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
6366723
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
48369f4
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
49bfa26
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
710ddcf
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
2dca96c
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
d6d3911
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
46f9d64
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
f2f4146
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
a407e18
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
5544f8f
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
d66036d
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
0431b65
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
41b469c
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
e3e9bf3
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
f3e7813
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
37fa2ac
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
b5bbf7f
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
0c8e4d6
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
56aa768
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
7e8b040
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
c851e10
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
247616c
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
bfc20ff
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
849b4f1
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
bd31c6f
📝 Document generated version constants
pboling Jul 26, 2026
fe36d5c
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
461f6d2
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
7c074c0
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
4afb7d5
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
bcab19b
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
7babb26
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
27a0940
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
1bc326b
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
b326558
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
a8f8219
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
ab603ce
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
a725124
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
8dec83b
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
da0bde8
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
0df959a
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
fcb3c37
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
312e27f
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
5c901cb
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
3818391
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
51f25dc
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
c70f155
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
40990d0
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
63cda7d
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
e0e56a1
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
1773967
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
1f1c9dd
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
00b62a6
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
dc28a61
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
2834f12
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
c07732e
🎨 Template bootstrap by kettle-jem v7.1.0
pboling Jul 26, 2026
abaf0dc
🔧 Complete kettle-family configuration
pboling Jul 26, 2026
76cdbd3
💚 Make coverage upload templates optional
pboling Jul 26, 2026
0049adb
✨ Add family tooling and spec harness docs to templates
pboling Jul 27, 2026
583ff9b
⬆️ turbo_tests2 v3.2.3, prepare release
pboling Jul 27, 2026
2b745f5
⬆️ Raise kettle-jem dependency floors
pboling Jul 27, 2026
971280d
🐛 Preserve spec helper harness docs during merge
pboling Jul 27, 2026
151bf3d
🐛 Preserve Ruby template trailing comments
pboling Jul 27, 2026
4cc2e0d
⬆️ kettle-dev v2.5.0
pboling Jul 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
36 changes: 36 additions & 0 deletions .kettle-family.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,43 @@
---
family:
name: structuredmerge-ruby
mode: monorepo
local_path_env: STRUCTUREDMERGE_DEV
members_root: gems

members:
roots:
- gems/tree_haver
- gems/ast-merge
- gems/ast-crispr
- gems/ast-crispr-ruby-prism
- gems/ast-crispr-markdown-markly
- gems/ast-merge-git
- gems/plain-merge
- gems/bash-merge
- gems/dotenv-merge
- gems/rbs-merge
- gems/html-merge
- gems/json-merge
- gems/yaml-merge
- gems/toml-merge
- gems/markdown-merge
- gems/ruby-merge
- gems/go-merge
- gems/rust-merge
- gems/typescript-merge
- gems/ast-template
- gems/binary-merge
- gems/zip-merge
- gems/psych-merge
- gems/citrus-toml-merge
- gems/parslet-toml-merge
- gems/commonmarker-merge
- gems/kramdown-merge
- gems/markly-merge
- gems/prism-merge
- gems/smorg-rb
- gems/kettle-jem
exclude:
- "**/benchmarks/**"
order:
Expand Down Expand Up @@ -115,6 +149,8 @@ install:
release:
build_command: bundle exec rake build
publish_command: bundle exec kettle-release
disable_local_path_env:
- TSLP_DEV
env:
GALTZO_FLOSS_DEV: false
KETTLE_DEV_DEV: false
Expand Down
33 changes: 33 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,16 @@ Please file a bug if you notice a violation of semantic versioning.

- `ast-crispr` now provides `Ast::Crispr::DeleteBatch` for deleting matches from
multiple structural selectors through one parsed document context.
- `zip-merge` now registers a Kaitai-backed `TreeHaver.parser_for(:zip)` path
for ZIP inventory analysis.
- `plain-merge` now registers `TreeHaver.parser_for(:text)` and
`TreeHaver.parser_for(:plain)` line-backed parser paths for normalized text
block analysis.
- `dotenv-merge` now registers `TreeHaver.parser_for(:dotenv)` and
`TreeHaver.parser_for(:env)` line-backed parser paths built on the
`plain-merge` line substrate.
- `zip-merge` now depends on `binary-merge` for shared Kaitai/binary-family
report and diagnostic construction.
- Added `html-merge` as a StructuredMerge Ruby family member with TreeHaver
HTML parsing, feature profile reporting, and an initial ast-crispr-backed HTML
structural edit adapter.
Expand All @@ -33,6 +43,16 @@ Please file a bug if you notice a violation of semantic versioning.

### Changed

- Documented the StructuredMerge Ruby merge-gem family model, including
substrate/provider behavior sharing and the requirement that partial document
insertion, replacement, and removal flow through `ast-crispr` instead of
parser-specific object round-trips.
- Clarified that `zip-merge` is a Kaitai-family binary AST integration and
should not be categorized with byte or line oriented merge gems.
- Clarified that `binary-merge` is the Kaitai/binary-family substrate for
concrete schema parser gems such as `zip-merge`.
- The `smorg-rb` executable now supports `-v` / `--version` and prints a
standard startup header on normal runs.
- `kettle-jem` now migrates existing SimpleCov bootstrap files for packaged
monorepo subgems even when the selected template profile does not otherwise
manage per-gem harness files.
Expand All @@ -50,6 +70,8 @@ Please file a bug if you notice a violation of semantic versioning.
- `kettle-jem` main Gemfile templating now removes repeated direct sibling
execution blocks left behind by older `nomono` bootstrap output while applying
the simplified `require "nomono/bundler"` loader.
- `html-merge` now follows the shared root changelog used by the other
monorepo `*-merge` gems instead of carrying a member-local changelog.
- `smorg-rb` diff-driver output now appends a unified review hunk with exact
removed and added source text after the semantic structured-diff summary.
- Retemplated generated project metadata, support documentation, CI workflows,
Expand Down Expand Up @@ -102,6 +124,15 @@ Please file a bug if you notice a violation of semantic versioning.

### Fixed

- `prism-merge` now preserves template-owned trailing comment lines attached to
matched Ruby statements, including comments adjacent to generated `require`
calls during template merges.
- `kettle-jem` local Gemfile templating now removes obsolete nomono activation
ceremony from existing destination files while retaining the simple
`require "nomono/bundler"` loader.
- `kettle-jem` bootstrap commits can now be serialized by monorepo family
templating, preventing concurrent member template jobs from racing while
updating the shared `HEAD`.
- TreeHaver now smoke-tests `tree_sitter_language_pack` parser execution for the
requested language before registering the TSLP backend, so broken native gem
artifacts fail closed with a useful reason instead of surfacing parser
Expand Down Expand Up @@ -139,6 +170,8 @@ Please file a bug if you notice a violation of semantic versioning.
integrations in the current process.
- Ast-merge changed-gem CI no longer times out or fails when exercising
isolated fixture integrations that require Prism-backed Ruby merging.
- TreeHaver's Prism parser backend no longer depends on the removed upstream
`Prism.available?` API, allowing Prism 1.9+ to parse during templating.
- Changed-gem CI suites now pass in isolated gem bundles by loading required
adapter gems explicitly, avoiding Ruby 4 `Pathname#find` assumptions, and
keeping Prism merge tests on the local TreeHaver capability registry.
Expand Down
52 changes: 52 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,58 @@ Git diff driver setup
K_JEM_TEMPLATING=true kettle-jem install
```

## Merge gem architecture

Merge gems are parser-backed, but merge behavior must not call parser libraries
directly. Parsing enters through `tree_haver`; structural edits enter through
`ast-crispr`; common merge orchestration enters through `ast-merge`.

Language and format families have a substrate gem that owns shared merge
behavior for that family. A substrate gem may also register the tree-sitter
grammar interface for the same format. Provider gems register an alternate AST
backend and delegate family behavior back to the substrate gem.

Do not infer backend registration from the behavior role. A substrate often does
register a TSLP/tree-sitter grammar, and may still share behavior with provider
gems that register native or Ruby parser backends.

Examples:

- `markdown-merge` registers the tree-sitter Markdown path and owns shared
Markdown merge behavior. `commonmarker-merge`, `kramdown-merge`, and
`markly-merge` provide backend-specific AST integrations and share that
Markdown behavior.
- `yaml-merge` is the YAML substrate. It registers the tree-sitter YAML path and
should own shared YAML merge behavior, including key-path partial merge
semantics. `psych-merge` provides the Psych-backed YAML AST integration and
should share those YAML behaviors.
- `ruby-merge` registers the tree-sitter Ruby path and owns shared Ruby merge
behavior. `prism-merge` provides the Prism-backed Ruby AST integration.
- `toml-merge` registers the tree-sitter TOML path and owns shared TOML merge
behavior. `citrus-toml-merge` and `parslet-toml-merge` provide alternate TOML
parser integrations.
- `rbs-merge` intentionally registers both the official RBS parser backend and
the tree-sitter RBS grammar in one gem.
- `zip-merge` is a Kaitai-family binary AST integration. It registers and
consumes a `parser_for(:zip)` Kaitai path so ZIP analysis enters through the
normalized TreeHaver API, and depends on `binary-merge` for shared
binary-family report and renderer-planning behavior.
- `binary-merge` is the Kaitai/binary substrate. It hosts common byte-range,
preservation, unsafe-diagnostic, render-policy, and nested-dispatch vocabulary
for concrete schema parser gems such as `zip-merge`.
- `plain-merge` is the line/text substrate. It registers `:text` and `:plain`
parser paths through the `:line` backend.
- `dotenv-merge` builds dotenv assignment and comment ownership on top of the
plain line substrate, and registers `:dotenv` and `:env` parser paths through
the same `:line` backend family.

Partial document insertion, replacement, and removal are `ast-crispr` work.
`PartialTemplateMerger` should normalize the API used by merge gems and route
those operations through structural owners and source-preserving edit plans. Do
not implement partial merges by converting documents to native Ruby objects and
serializing them back out; that bypasses owner identity, comments, layout, and
backend diagnostics.

Troubleshooting Git diffs
- Use `git diff --no-ext-diff` to compare against Git's built-in diff output.
- Use `git diff --no-textconv` when a textconv projection obscures the raw file bytes you need to inspect.
Expand Down
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ gem "bundler-audit", "~> 0.9.3"
if kettle_dev_dev.casecmp("false").zero?
gem "kettle-dev", "~> 2.2", ">= 2.2.25"

gem "kettle-family", ">= 1.0.4"
gem "kettle-family", ">= 1.1.9"

gem "kettle-test", "~> 2.0", ">= 2.0.11"
end
Expand Down
Loading
Loading