docs(changelog): record the stability batch merged after #1191 - #1222
Conversation
Adds the changelog entries that #1192-#1221 carried in their PR bodies instead of CHANGELOG.md, so parallel branches did not conflict on it. Breaking entries cover the upgrade that strands v0.1.1 runs whose dynamic groups expanded, the Codex openai_base_url route IDs, the rejected [models] default, pre-#961 refreshed or recovered runs, and the knip gate with its removed export aliases. Test-only PRs get no entry. Co-Authored-By: Claude Opus 5.5 <[email protected]>
| - **[runtime] [docs]** A Codex `config.toml` with a non-empty top-level `openai_base_url` and no `model_provider` is now acknowledged as its own route (the ID of the explicit `model_provider = "openai"` form) instead of `model:openai`, and cloud planning rejects it as it rejects a `model_provider` config. With a custom `model_provider` selected, `openai_base_url`, which Codex then ignores, no longer counts, so editing it no longer fails later Codex tasks with "provider route changed after disclosure acknowledgement". Route IDs change for both config shapes: update `ULTRAFUZZ_DATA_GOVERNANCE_POLICY`, re-acknowledge, and re-plan a run whose acknowledged ID changed. | ||
| - **[config]** `validate` and `run` reject `[models] default = "<id>"`; name the default agent chain in `[retry] agents` instead. | ||
| - **[runtime]** Removes the code that native continuation (#961) left without callers: sealed controller refresh through the controller-generation journal, controller re-finalization, and retry-failed recovery authority. `resume --refresh-controller` is unchanged. A run refreshed before #961 now fails `status`, sync, `pause`, `cancel`, `replay` and `fork`, and a run recovered before #961 can no longer re-read its terminal report; both were planned before resolved-config v4. | ||
| - **[runtime] [artifacts] [modal] [workflows]** `pnpm -w knip` now fails on unused exports, exported types and duplicate exports. The duplicate aliases `cleanGenerated` (use `cleanRun`), `materializeRun` (use `materializeSelection`), `findingNoteSchema` (use `findingReportBoundTextSchema`), `MODAL_MAX_SANDBOX_TIMEOUT_MS` and `MODAL_RECOVERY_SANDBOX_TIMEOUT_MS` (use `MODAL_SANDBOX_TIMEOUT_MS`) are removed, and symbols only their own module uses are no longer exported. |
There was a problem hiding this comment.
Knip changes not yet present If this changelog merges before #1219, it will say that
pnpm -w knip checks unused exports, types, and duplicates and that several aliases have been removed. In this PR's head, those checks are absent and the aliases are still exported. Users would be told to migrate away from APIs that remain available. Merge after #1219 and check this entry against its final changes, or defer the entry.
Prompt To Fix With AI
This is a comment left during a code review.
Path: CHANGELOG.md
Line: 11
Comment:
**Knip changes not yet present** If this changelog merges before #1219, it will say that `pnpm -w knip` checks unused exports, types, and duplicates and that several aliases have been removed. In this PR's head, those checks are absent and the aliases are still exported. Users would be told to migrate away from APIs that remain available. Merge after #1219 and check this entry against its final changes, or defer the entry.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
|
|
||
| ### Other changes | ||
|
|
||
| - **[artifacts]** Concurrent ultrafuzz commands, such as `ultrafuzz status --watch` while `ultrafuzz cancel` runs, no longer lose or tear records in a run's `events.jsonl`, `usage.jsonl` or `attempts.jsonl`, or in the `.ultrafuzz/` audit journals. Each append holds a short-lived `<journal>.lock` next to the journal; a lock left by a killed process on the same host is taken over at once, and one that cannot be checked after 10 seconds. |
There was a problem hiding this comment.
Journal locks not yet present If this changelog merges before #1221, it will promise that concurrent commands cannot lose or tear journal records because each append holds a lock. In this PR's head, the event, usage, and attempt append paths do not acquire those locks, so readers would be given a guarantee the current code does not provide. Merge after #1221 and check the final lock behavior before retaining this entry. The last clause also needs to say what happens after ten seconds.
Prompt To Fix With AI
This is a comment left during a code review.
Path: CHANGELOG.md
Line: 24
Comment:
**Journal locks not yet present** If this changelog merges before #1221, it will promise that concurrent commands cannot lose or tear journal records because each append holds a lock. In this PR's head, the event, usage, and attempt append paths do not acquire those locks, so readers would be given a guarantee the current code does not provide. Merge after #1221 and check the final lock behavior before retaining this entry. The last clause also needs to say what happens after ten seconds.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.
Records the changelog entries for the PRs merged after #1191, plus the two still open that land before v0.1.2 (#1219, #1221). These PRs carried their entries in their PR bodies ("Changelog entry") instead of
CHANGELOG.md, so the parallel branches did not conflict on one file.Breaking changes (5 entries):
openai_base_urlroute IDs (fix(runtime): Codex route checks follow openai_base_url the way Codex does, and -smithers paths stay intact in diagnostics #1210).[models] defaultis rejected (fix: symlinked project roots, locale-independent ordering, clock-skew-tolerant audit journals and other small verified bugs #1195).Other changes (17 entries): #1221, #1220, #1204, #1205, #1206, #1207 with #1210's path fix, #1208, #1209, #1211, #1215, #1199, #1200, #1192, #1194 and #1195.
No entries for test-only PRs (#1196, #1203, #1212, #1214). #1202 and #1213 added their own entries.
This PR must merge after #1219 and #1221, or be rebased if their entries change.
🤖 Generated with Claude Code
This PR should not merge until the knip and journal-lock changes land and their changelog entries are checked against the final implementations.
Fix with agent prompt
Summary
This PR adds stability-batch breaking-change and operational entries to the Unreleased changelog.
Reviews (1) · Last reviewed commit: "docs(changelog): record the stability ba..."