Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
cadafe9
fix: a live test run reads imported names and survives a required fac…
ryota-murakami Oct 25, 2026
761500d
fix: a refused browser run seals with its refusal and the refusal say…
ryota-murakami Oct 25, 2026
cad1457
docs: doc comments stand above their own symbols and two stale commen…
ryota-murakami Oct 25, 2026
2e8b9b9
test: two test replay expectations are hard-coded literals (Cycle 005…
ryota-murakami Oct 25, 2026
30cb0bb
test: three test replay host tests await what their fixed waits stood…
ryota-murakami Oct 25, 2026
26c4878
test: the browser replay's untested state cells; a failed browser rep…
ryota-murakami Oct 25, 2026
10dd6d8
test: two Retry storage tests wait for the second run's refused save …
ryota-murakami Oct 25, 2026
4ddbb68
test: Removal tests read the write queue after the other study's writ…
ryota-murakami Oct 25, 2026
adb6e2d
test: configured service tests wait for a run's release up to a share…
ryota-murakami Oct 25, 2026
550b5ec
fix: an Update anyway chosen while this window's ended run changes it…
ryota-murakami Oct 25, 2026
aff71ba
fix: a node-history reference to an unknown study id is refused as NO…
ryota-murakami Oct 25, 2026
4ebaf61
test: two start keys go through a named variable and the inspector's …
ryota-murakami Oct 25, 2026
114f13f
fix: pre-landing review fixes and coverage tests (Cycle 0052 tasks 61…
ryota-murakami Oct 25, 2026
3e16553
fix: pre-landing review pass 2 fixes (Cycle 0052 tasks 64-65)
ryota-murakami Oct 25, 2026
02c2303
fix: pre-landing review pass 3 fixes (Cycle 0052 tasks 67-68)
ryota-murakami Oct 25, 2026
ec1fbc7
fix: Step 11 adversarial review fixes (Cycle 0052 tasks 70-75)
ryota-murakami Oct 25, 2026
b1e5b4d
chore: bump version and changelog (v0.2.42.0)
ryota-murakami Oct 25, 2026
b42256f
fix: local CodeRabbit round 1 (Cycle 0052 task 77)
ryota-murakami Oct 25, 2026
141ab78
docs: README names the Output entry of any failed browser replay open
ryota-murakami Oct 25, 2026
16623fa
fix: local CodeRabbit round 2 (Cycle 0052 tasks 78-79)
ryota-murakami Oct 25, 2026
9155a6f
fix: hosted CodeRabbit review of 16623fa2 (Cycle 0052 tasks 81-85)
ryota-murakami Oct 25, 2026
779c8ad
fix: a history page whose history is removed while its summary is rea…
ryota-murakami Oct 25, 2026
ac852a3
fix: an import written in a comment or a string binds no name (Cycle …
ryota-murakami Oct 25, 2026
d851ae4
fix: nested templates and quoted export names in a stopped file's imp…
ryota-murakami Oct 25, 2026
5551add
fix: CRLF string continuations and a history removed after its summar…
ryota-murakami Oct 25, 2026
a633527
fix: line separators in strings, and three Removal tests read the rem…
ryota-murakami Oct 25, 2026
d0b78db
fix: a history's material removed right after it was read is NOT_FOUN…
ryota-murakami Oct 25, 2026
267e5bc
fix: every history read checks for a removal after it answered (Cycle…
ryota-murakami Oct 25, 2026
657d677
fix: an imported name is read only from its own declaration's module …
ryota-murakami Oct 25, 2026
0629193
fix: a stop's imports are read from the bytes the capture verifies (C…
ryota-murakami Oct 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,28 @@
# Changelog

## [0.2.42.0] - 2026-10-26 (development candidate)

Cycle 0052 pt3 ([Issue #124](https://github.com/laststance/codebook/issues/124)), the last of three pull requests of a bug-fix cycle: a live test run survives a value it cannot read, and a browser run's refusals and seals say what happened.

**A live test run keeps going past a value it cannot read.**

- **A value the chat asks for at a test stop is read also when it is a name the stopped file imports**, such as `revalidatePath.mock.calls.length` of a mocked `next/cache` or a mocked database client's `db.insert.mock.calls`: Codebook reads it through the module Vitest binds it to, as the export the file's import declaration names, so an alias reads its module's original export and a default import its default export, each from that declaration's own module, never from another module that happens to export the same name; a name the file does not import, or an import whose module the stop cannot see, stays unavailable rather than guessed. A getter on the asked path runs once, as it does when you expand it in the Variables view.
- **A required value that still cannot be read no longer ends the run.** The stop keeps its other values and names the missing one, and the continuation that reached it (the chat's `codebook_continue`, or your Continue in the Study pane) answers `EVIDENCE_UNAVAILABLE` naming it while the run stays paused there, so it can go on without it or stop the run; `codebook://help/errors` says so in its recovery. A getter the debugger cannot expand, or expands to no single value, leaves only its own value unavailable (never its `(...)` placeholder), and a local variable keeps priority over an import of the same name even when its value cannot be read.
- **A run that went on without a required value seals its history partial**, with a reason that names the value and its stop: the study reads partial although the test passed.

**A browser run says where a stop can go and why it ended.**

- **A stop in another page's component** (one a link from the launched page navigates to) is refused before input with a sentence that names the stop's file and the launched page, and says to start the run at the stop's page (`entryPath`) or to choose a stop in the launched page's own components.
- **A run refused during its preparation, or failed later, seals its recording with that failure's own words** (`The run failed: <cause>. Recorded prefix retained.`, a long cause cut so that the sentence keeps its end), not as an interrupted run; a run whose release did not complete keeps `Runtime cleanup incomplete; recorded prefix retained.`
- **A browser replay whose open fails** also writes one `open:recording` entry to **Output › Codebook**, with the study, the profile and the cause.

**Other fixes.**

- **A node-history reference with an unknown study id** (a mistyped id, for example, or a history removed while it is read) is refused as `NOT_FOUND`, naming the id and telling the agent to copy the `studyId` or `historyUri` from `codebook://node-history`, instead of a failed operation with a raw file error.
- **Update anyway chosen right after this window's own update run ended** starts the update: it waits for that run's marker change instead of refusing itself as another window's update.

**Compatibility.** The MCP API stays 1.8, the bundled skill is unchanged (1.0.47) and no stored format changes. This closes Issue #124's tasks; nothing is carried.

## [0.2.41.0] - 2026-10-25 (development candidate)

Cycle 0052 pt2 ([Issue #124](https://github.com/laststance/codebook/issues/124)), the second of three pull requests of a bug-fix cycle: a test replay's moves, notices and summary page.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Codebook contributes `debug.focusEditorOnBreak: false` as the native debugger de

## Implementation status

This is a preview, not a Marketplace or Open VSX release. The delivered version is **0.2.41.0** once the second pull request of [Cycle 0052](https://github.com/laststance/codebook/issues/124) is merged; until then 0.2.40.0 ([PR #125](https://github.com/laststance/codebook/pull/125)) is the delivered one, and the active cycle Issue says where the delivery stands. Cycle 0051 opened a test replay in the learning-replay composition a browser replay has: the Learning summary in the chat's place, one transport for both replay families, and a Learning summary button that shows a hidden summary again. Cycle 0052 is a bug-fix cycle that closes every defect Cycle 0051 carried, in three pull requests: the first makes replays leave, open and reload without stale frames and makes their entries and exits behave as the learner chose; the second fixes a test replay's moves and its summary page; the third the live runtime's unreadable facts, a browser run's refusals and the tests' hygiene. The MCP API is 1.8. What each earlier cycle delivered, with its tests, trials and limits, is in the [change history](CHANGELOG.md) and in that cycle's record, kept under the tag [`docs-archive-2026-10-20`](https://github.com/laststance/codebook/tree/docs-archive-2026-10-20/docs/cycles); from Cycle 0048 on, the cycle's Issue holds its tasks and state, and its pull requests the results.
This is a preview, not a Marketplace or Open VSX release. The delivered version is **0.2.42.0** once the third pull request of [Cycle 0052](https://github.com/laststance/codebook/issues/124) is merged; until then 0.2.41.0 ([PR #126](https://github.com/laststance/codebook/pull/126)) is the delivered one, and the active cycle Issue says where the delivery stands. Cycle 0051 opened a test replay in the learning-replay composition a browser replay has: the Learning summary in the chat's place, one transport for both replay families, and a Learning summary button that shows a hidden summary again. Cycle 0052 is a bug-fix cycle that closes every defect Cycle 0051 carried, in three pull requests: the first makes replays leave, open and reload without stale frames and makes their entries and exits behave as the learner chose; the second fixes a test replay's moves and its summary page; the third the live runtime's unreadable facts, a browser run's refusals and the tests' hygiene. The MCP API is 1.8. What each earlier cycle delivered, with its tests, trials and limits, is in the [change history](CHANGELOG.md) and in that cycle's record, kept under the tag [`docs-archive-2026-10-20`](https://github.com/laststance/codebook/tree/docs-archive-2026-10-20/docs/cycles); from Cycle 0048 on, the cycle's Issue holds its tasks and state, and its pull requests the results.

The specification is [goal version 10](PRODUCT_GOAL.md), and the implementation targets external repositories. Historical fixture or coupled-Wiki success is not proof of that destination.

Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.2.41.0
0.2.42.0
Loading