Releases: argszero/emrg
Releases · argszero/emrg
Release list
v0.2.98
What's Changed
- emrg: pigz names its operand, measured before it was named (#1420) by @argszero in #1453
- emrg: a clustered destination is read by the verb's own value-taking letters (#1448) by @argszero in #1449
- emrg: the word a cluster ate is stepped over, and that is pinned (#1454) by @argszero in #1456
- emrg: a word an eaten option took is stepped over, and the one reader that need not says why by @argszero in #1460
- emrg: a release tag is annotated, and one job refuses a lightweight one by @argszero in #1459
- emrg: cancel is a session's turn, not a connection's, and the receipt is broadcast by @argszero in #1474
- emrg: the context frame never lands inside a tool_calls/tool pair by @argszero in #1475
- emrg: list_history can answer with the session's records, and paging stops moving by @argszero in #1476
- emrg: a destination verb is only a verb where a command can begin by @argszero in #1479
- emrg: cast-vote reads the body from stdin, so the tier that cannot write a file can still vote by @argszero in #1480
- emrg: a memory-index move re-plans instead of overwriting a concurrent writer by @argszero in #1481
- emrg: an fd prefix attached to a redirect is not an operand, so cp keeps its destination by @argszero in #1477
- emrg: a word a spaced option ate is not read again as an option by @argszero in #1482
- emrg: a GUI cancel names the session, and the receipt is what ends the turn by @argszero in #1485
- emrg: a refused memory-index move names the file it could not read back by @argszero in #1487
- emrg: an escaped separator is not a separator, so the mask keeps the word's name by @argszero in #1488
- emrg: a reading redirect's word is stepped over, so a destination verb names its destination by @argszero in #1478
- emrg: a replayed history is the live view, and its cursor is a record index by @argszero in #1489
- emrg: a wrapper in front of the reader keeps the heredoc's data mask by @argszero in #1490
- emrg: a cancel names the session, and its receipt ends the turn by @argszero in #1483
- emrg: a variable reference in operand position is not a wrapper, so its arguments stay data by @argszero in #1491
- emrg: a cancel reports only a turn it stopped by @argszero in #1499
- emrg: a head pushed by the cycle before this one is not offered as a vote by @argszero in #1498
- emrg: the older-page cursor has a guard, so a dropped cursor fails the suite by @argszero in #1495
- emrg: bump version to v0.2.98 by @argszero in #1500
Full Changelog: v0.2.97...v0.2.98
v0.2.97
What's Changed
- emrg: one writer for rants.jsonl, and the promote template is not it by @argszero in #1229
- emrg: a newline separates two commands for the sandbox guard by @argszero in #1233
- emrg: catch a patch that silently dropped a file, which applying and green cannot by @argszero in #1246
- emrg: drop the per-cycle memory-index row, keep the hygiene on the write (#1243) by @argszero in #1249
- emrg: the retired-mechanism guard was blind to three spellings of what it forbids (#1242) by @argszero in #1251
- emrg: every CR/LF separator form breaks the command, not only LF and CRLF (#1241) by @argszero in #1245
- emrg: document the dirty-tree downgrade, its diagnosis and its one exit (#1239) by @argszero in #1247
- emrg: internal errors never reach the TUI screen, only the log (#1235) by @argszero in #1248
- emrg: four read-only fail-opens closed, and the guard stops refusing the read that explains a dirty tree (#1234, #1236, #1238, #1240) by @argszero in #1250
- emrg: an auth rejection is not an absent daemon (both stop and rant said so) by @argszero in #1254
- emrg: decide
git configby its flags and subcommands, not by counting arguments (#1253) by @argszero in #1255 - emrg: a program word the guard cannot resolve is not a proven read (#1244) by @argszero in #1258
- emrg: a git flag with an attached value is the same flag (#1256) by @argszero in #1257
- emrg: a vote cast by following the remedy was still lost in silence by @argszero in #1259
- emrg: a Windows path is absolute for the shell that will run it (#1261) by @argszero in #1262
- emrg: judge a relative write target where the command moved the shell by @argszero in #1260
- emrg: a parameter expansion is a class, not two spellings (#1244) by @argszero in #1263
- emrg: a mid-word '#' is not a comment, so the guard must read the tail by @argszero in #1265
- emrg: the suite's verdict is about the tree, not the directory it sits in by @argszero in #1266
- emrg: name the workspace-write boundary instead of implying it by @argszero in #1267
- emrg: an operator is not a write target, so no redirect spelling can hide one by @argszero in #1269
- emrg: an uncomputed mergeability is a question, so ask it again by @argszero in #1270
- emrg: a
git configwrite names the file it writes, so no spelling can hide it by @argszero in #1271 - emrg: a quoted operator is a path, so the walk recovers quoting from the line by @argszero in #1272
- emrg: the daemon recovers reconstructible working-tree dirt itself by @argszero in #1274
- emrg: an untracked file whose bytes are in HEAD is reconstructible (#1277) by @argszero in #1285
- emrg: a duplication operand is a descriptor, so read-only stops refusing ordinary reads by @argszero in #1282
- emrg: the criterion reads paths, not git's quoting of them by @argszero in #1286
- emrg: a citation names the record that landed it, so a second host can resolve it by @argszero in #1278
- emrg: a partially quoted word no longer hides the path it points at (#1280) by @argszero in #1287
- emrg: the Windows newline trap is documented where a contributor will read it by @argszero in #1281
- emrg: a failed start reports this attempt, and a stop is not a crash by @argszero in #1279
- emrg: a config option's value is not a positional key, so four reads are refused (#1273) by @argszero in #1288
- emrg: the citation class covers the CI README the host acts on (#1289) by @argszero in #1290
- emrg: a recovery that could not write its receipt says so (#1284) by @argszero in #1292
- emrg: the shipped template's citations name the record that landed them (#1252) by @argszero in #1293
- emrg: the GUI's failed start reports its own attempt (#1283) by @argszero in #1295
- emrg: the config value-option set's membership is measured, not asserted (#1291) by @argszero in #1294
- emrg: a per-file test breakdown has one measured owner (#1297) by @argszero in #1298
- emrg: the unresolvable quoted operator is a pinned residual, not prose (#1273) by @argszero in #1299
- emrg: the advertised reversal is the measured one (#1284) by @argszero in #1296
- emrg: a vote body naming several cycles is attributed to none of them (#1301) by @argszero in #1302
- emrg: the corpus runs the masked operator family, not a sample of it (#1300) by @argszero in #1306
- emrg: every reader-facing copy of the recipe is guarded, not just one (#1304) by @argszero in #1305
- emrg: a counted veto is not a lost vote, and an unread review is not a verdict by @argszero in #1308
- emrg: the cast-vote exit codes are documented by the refusals the code can reach by @argszero in #1310
- emrg: the vote counter reads distinct cycle ids, like the poster does by @argszero in #1311
- emrg: a test's scratch directory is not tree dirt by @argszero in #1303
- emrg: the rant read path is the tool, in the template that denied opening the file by @argszero in #1312
- emrg: an escaped operator-shaped word is a path, in target position too by @argszero in #1314
- emrg: the rant list delivers the whole message, not its first hundred characters by @argszero in #1313
- emrg: a sandbox test's target is built by the test, not by the host by @argszero in #1318
- emrg: the containment test records the spawn instead of making a real request by @argszero in #1322
- emrg: the protected-file branch keeps an end-to-end pin the test builds itself by @argszero in #1323
- emrg: a dirty-tree verdict is the test's own, not the caller's env by @argszero in #1327
- emrg: a merge gate releases the PR-head ref it parked (#1325's class, four more tools) by @argszero in #1329
- emrg: the model's vision flag resolves in one place, and never inherits by @argszero in #1332
- emrg: a failed LLM request is classified before the compactor acts on it by @argszero in #1335
- emrg: a message reader's heredoc body is data, judged per invocation (#1320) by @argszero in #1328
- emrg: the dirty-tree guard pins the export that gives it its power by @argszero in #1331
- emrg: the journal prompt carries the editor's verification method, not just its skeleton by @argszero in #1333
- emrg: the plan-suite run inherits no verdict-changing env and leaves no ref behind by @argszero in #1325
- emrg: a start that dies before logging leaves its own stderr behind by @argszero in #1315
- emrg: the landing-tree harness can keep the tree it measured (--keep DIR) by @argszero in #1317
- emrg: the stop log is host state, and a test run no longer writes it by @argszero in #1341
- emrg: a config.toml edit takes effect in the running daemon, no restart by @argszero in #1334
- emrg: the chunker asks the classifier instead of a second spelling list by @argszero in #1342
- emrg: the ref-release guard keys on the ref, not on a function's name by @argszero in #1343
- emrg: the review queue is derived, not re-derived by hand by @argszero in #1344
- emrg: a round the provider rejects for length is compacted and retried once by @argszero in #1345
- emrg: the task picker can open a session, not only trigger one by @argszero in #1346
- emrg: a published tree reading names the whole tree by @argszero in #1347
- emrg: one platform-correct liveness probe (#1349) by @argszero in #1350
- emrg: a config.toml edit never restarts the daemon again by @argszero in #1355
- emrg: a wr...
v0.2.96
What's Changed
- emrg: refresh the base in every spelling it may be written in, in the sequence gate too by @argszero in #1195
- emrg: show the change merging a PR lands, next to the diff-to-master reading that is not it by @argszero in #1193
- emrg: refresh the base before measuring the merge tree, in the tree-health gate by @argszero in #1196
- emrg: take an explicit merge-order base by its full name, not by what git resolves first by @argszero in #1197
- emrg: refresh the pairs base before reading it, in every spelling by @argszero in #1198
- emrg: fetch the merge plan's base before measuring it, and take it by the name it was written as by @argszero in #1199
- emrg: price the refresh a stale verdict asks for, and give each stale state its own remedy by @argszero in #1201
- emrg: take the suite verdict from the suite's report, not from exit code 1 by @argszero in #1204
- emrg: take a guard's red verdict from the guard's own report, not from exit code 1 by @argszero in #1205
- emrg: refresh the merge-order base before it is read by @argszero in #1202
- emrg: pin the synthetic fold date in one place, and guard the agreement the comments claim by @argszero in #1203
- emrg: name the channel that carries a stale PR's landing-tree vote by @argszero in #1206
- emrg: archive the index rows that fall off by cycle id, and verify the move by @argszero in #1200
- emrg: take the merge verdict from merge-tree's output, not from its exit code by @argszero in #1207
- emrg: read the forecast's clean answer from the named tree, not the exit code by @argszero in #1209
- emrg: name the real conflicted files in the tree-health refusal by @argszero in #1212
- emrg: read the conflicted paths out of merge-tree's stage block, and decode them by @argszero in #1210
- emrg: make Agent.md a principles-only brief again, and measure it against the prompt cap by @argszero in #1211
- emrg: read landing-diff's path names with -z, so they are the real ones by @argszero in #1213
- emrg: the landing suite reads the tree, not a copy of it by @argszero in #1214
- emrg: one owner for the merge-precheck family's reading of git's answer by @argszero in #1217
- emrg: read the embedded index cap from the number the store warns by by @argszero in #1218
- emrg: one spelling for the gate's vote count by @argszero in #1221
- emrg: delete the restated memory-index thresholds, don't render them by @argszero in #1222
- emrg: keep hand-written MEMORY.md rows through an index load/save by @argszero in #1223
- emrg: replay a memory file's own frontmatter lines instead of re-rendering them by @argszero in #1224
- emrg: a replaced frontmatter key takes its own lines with it by @argszero in #1228
- emrg: cut project-context files on a line boundary, and say where the rest is by @argszero in #1227
- emrg: retire the state-file/reflection-file mechanism (open-source, competition, paper) by @argszero in #1226
- emrg: a chained git read is not decided by the next command's arguments by @argszero in #1231
- emrg: bump version to v0.2.96 by @argszero in #1232
Full Changelog: v0.2.95...v0.2.96
v0.2.95
What's Changed
- emrg: add release version-bump tool (scripts/bump-version.py) + Releasing docs by @argszero in #1119
- emrg: host scripts must not print output a legacy console codec cannot encode by @argszero in #1121
- emrg: keep CLI output alive when stdout cannot encode it by @pm25coder in #1122
- emrg: host-side doc-count sync tool (mirrors the CI test-count guard) by @argszero in #1123
- emrg: guard Agent.md renderer per-file test counts against the real definitions by @pm25coder in #1120
- emrg: doc-count drift hints print one repair command that actually runs by @argszero in #1124
- emrg: ask the real runners for the Node test counts (host-side sync tool) by @argszero in #1126
- emrg: doc-count guard refuses an ambiguous Python count line by @argszero in #1127
- emrg: run the Agent.md Node-count check against the real runners in CI by @argszero in #1130
- emrg: guard each test-count line kind against being stated twice by @argszero in #1128
- emrg: doc-count guard turns red on test forms it cannot count by @argszero in #1125
- emrg: resolve the count-line merge conflict by measurement, not by choosing a side by @argszero in #1131
- emrg: scan the whole repo for conflict markers, not just emrg/ by @argszero in #1129
- emrg: give the Windows CI job a Node toolchain, and guard that it keeps one by @argszero in #1137
- emrg: node-count tool runs on Windows — resolve argv through which, decode independent of locale (#1132) by @argszero in #1134
- emrg: count the LGTM votes that still apply, instead of the ones on screen by @argszero in #1139
- emrg: read the verdict mark through markdown decoration, not just the first character by @argszero in #1144
- emrg: classify merge-conflict blocks by the resolution the evidence supports by @argszero in #1143
- emrg: stop the conflict classifier duplicating content when a block spans several counts by @argszero in #1147
- emrg: run CI for every PR base branch, not just master by @argszero in #1149
- emrg: escalate a count line revised beside a text revision in one conflict block by @argszero in #1148
- emrg: doc-count guard sees a commented-out definition (eighth escape, first over-count) by @argszero in #1133
- emrg: measure the checkout you are standing in, not the one the script lives in by @argszero in #1140
- emrg: pin the canonical PyPI index so a bare uv run cannot re-dirty the tree by @argszero in #1163
- emrg: pin the historical merge base so a verdict test cannot go stale by @argszero in #1164
- emrg: a green CI verdict can be about a tree that can no longer be merged by @argszero in #1138
- emrg: re-measure the docs count on the merged tree after the #1138 auto-merge by @argszero in #1165
- emrg: parse write targets instead of scanning raw text (#1162) by @argszero in #1168
- emrg: check a merge sequence, not just each PR's merge by @argszero in #1169
- emrg: escalate a count line re-breakdown, not only an exact count match by @argszero in #1154
- emrg: classify git commands by parsed verb, not raw command text by @argszero in #1167
- emrg: check_nonlocal.py resolves the tree from the cwd, not from file by @argszero in #1142
- emrg: add the competition task type with an online-only entry gate by @argszero in #1166
- emrg: a merge plan that stopped at a conflict is not a verified plan by @argszero in #1174
- emrg: fail loudly when a prompt names a placeholder the builder lacks by @argszero in #1176
- emrg: plan only the open PRs that can actually merge, and refuse a plan that measures nothing by @argszero in #1178
- emrg: measure the Python test count instead of storing it, so test-adding PRs stop conflicting (#1158) by @argszero in #1181
- emrg: bump-version gates the checkout you are standing in, not the one the script lives in by @argszero in #1141
- emrg: read a veto stated below a prose intro, not just the first line by @argszero in #1145
- emrg: pin the digit-masking comparison in _differ_only_by_number by @argszero in #1151
- emrg: check that a merge lands a tree the repo's own guards accept by @argszero in #1155
- emrg: report an empty --all as a state, not as a usage error by @argszero in #1173
- emrg: measure PR pairs, so a silently-bad merge order is visible by @argszero in #1175
- emrg: name the unsynced environment, not a wrong interpreter, when pytest is missing by @argszero in #1179
- emrg: name the conflicting paths and a remedy that works when a plan is empty by @argszero in #1180
- emrg: build the default merge plan against the tree the steps build by @argszero in #1182
- emrg: extend the locale-decode guard into the emrg/ package and fix the path readers it found by @argszero in #1136
- emrg: check a PR's base can still reach master before merging it by @argszero in #1152
- emrg: forecast which PRs each merge would dirty, before choosing an order by @argszero in #1153
- emrg: report mergeability, so enough votes is not printed as ready to merge by @argszero in #1170
- emrg: drive check-merge-sequence's guard verdict for real, killing a fail-open mutant by @argszero in #1172
- emrg: ask the base whether it states the count, instead of assuming Agent.md does (#1184) by @argszero in #1185
- emrg: judge the tree a plan lands with the full suite, not one guard by @argszero in #1186
- emrg: ask for a resolved commit at both merge-question call sites, not just the first by @argszero in #1187
- emrg: read merge-tree's output, since a failure to merge the inputs also exits 1 by @argszero in #1188
- emrg: classify a mid-line revision as a revision, not a disjoint addition (#1183) by @argszero in #1189
- emrg: judge every intermediate tree of a plan, not only the final one (#1161) by @argszero in #1190
- emrg: pin the synthetic merge commits' identity, so the fold does not need the machine's git config by @argszero in #1192
- emrg: bump version to v0.2.95 by @argszero in #1194
Full Changelog: v0.2.94...v0.2.95
v0.2.94
What's Changed
- emrg: separate completed-round planted-fire timestamp (issue #1114) by @pm25coder in #1115
- emrg: journal_prompt — citation authenticity verification + >=100 references gate by @argszero in #1116
- emrg: guard Agent.md GUI test counts against the real definitions by @pm25coder in #1117
- emrg: bump version to v0.2.94 by @argszero in #1118
Full Changelog: v0.2.93...v0.2.94
v0.2.93
What's Changed
- emrg: GUI image input via clipboard paste (Cmd+V) and file drag-drop by @argszero in #1109
- emrg: gui — restore stop button to interrupt active reply by @argszero in #1110
- emrg: journal_prompt — raise review quality bar (Significance, census N3-cap, priors) by @argszero in #1111
- emrg: GUI streaming markdown block projection in React TranscriptView by @argszero in #1112
- emrg: bump version to v0.2.93 (release: #1108, #1109, #1110, #1111) by @argszero in #1113
Full Changelog: v0.2.92...v0.2.93
v0.2.92
What's Changed
- emrg: restrict main-window file:// navigation to renderer dist (fixes #1100) by @argszero in #1101
- emrg: sandbox containment-escape guard (block cloud metadata fetches + egress tunnels, #1102) by @argszero in #1103
- emrg: GUI history shows assistant messages (list_history include_assistant) by @argszero in #1104
- emrg: turn lifecycle timer fix (TUI freeze on mid-turn auto-compact + GUI per-session timers) by @argszero in #1105
- emrg: composer draft via separate store channel (no transcript re-render per keystroke, #1100) by @pm25coder in #1106
- emrg: remove pre-wrap from .msg.user (fix trailing blank line in user bubbles) by @argszero in #1108
- emrg: bump version to v0.2.92 (release: #1104, #1105, #1106) by @argszero in #1107
Full Changelog: v0.2.91...v0.2.92
v0.2.91
What's Changed
- emrg: fix 7 GUI bugs — upgrade restart loop, false stream timeout, session meta, history loading, slash commands, composer draft, link navigation by @argszero in #1097
- emrg: bump version to v0.2.91 (release: #1097 — 7 GUI bug fixes) by @argszero in #1098
- emrg: add Grok Bot to comparison table + mark EMRG sandboxed execution ✅ by @argszero in #1099
Full Changelog: v0.2.90...v0.2.91
v0.2.90
What's Changed
- emrg: planted-fire staleness alarm — last_planted age check (issue #1086) by @argszero in #1088
- emrg: planted-fire drill rides the real tokenizer-switch path (issue #1087) by @argszero in #1089
- emrg: count request-level tool schemas in usage estimator (issue #1090) by @argszero in #1091
- emrg: enforce workspace-write boundary in write/edit tools by @argszero in #1092
- emrg: trust evolution data root + normalize temp root in workspace-write boundary (issue #1093) by @argszero in #1094
- emrg: lock in evolution session-scratch write in workspace-write trusted zone by @pm25coder in #1095
- emrg: bump version to v0.2.90 (release: #1088-#1095 — planted-fire alarm/drill, usage estimator tools, workspace-write boundary) by @argszero in #1096
Full Changelog: v0.2.89...v0.2.90
v0.2.89
What's Changed
- emrg: calibrate silent-drift threshold from accumulated sub-threshold bias shifts by @argszero in #1076
- emrg: gui — restore three-tier sandbox switcher in chat composer by @how2how2how2-arch in #1077
- emrg: emit anchor-bias-heartbeat with explicit anchored state every round (issue #1078) by @argszero in #1079
- emrg: guard TUI terminal size probe against 0x0 winsize by @argszero in #1080
- emrg: gui — fix cross-round tool/text ordering (tool-after text shown above tool) by @argszero in #1081
- emrg: retry LLM stream transport errors (ReadTimeout) before any delta is yielded by @argszero in #1082
- emrg: session — recompute message_count on compact, count message records only (rant 2026-08-31T14:18:14) by @argszero in #1083
- emrg: Agent.md — sync Python test count 1183→1186 (parallel-merge drift) by @argszero in #1084
- emrg: bump version to v0.2.89 (release: #1080-#1083 — TUI size-0 guard, GUI tool/text order, LLM stream retry, session message_count) by @argszero in #1085
Full Changelog: v0.2.88...v0.2.89