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
c4a7f6e
fix: leaving a replay withdraws its Learning summary and shows no tes…
ryota-murakami Oct 24, 2026
db06b20
fix: Close and Return to Live retire a waiting test replay entry, and…
ryota-murakami Oct 24, 2026
b37912f
fix: replay entries and reloads keep the learner's view: Open replay …
ryota-murakami Oct 24, 2026
f028933
test: a test replay opened from the Study composition leaves no empty…
ryota-murakami Oct 24, 2026
f554cc9
docs: the README names pt1's replay exits, entries and reloads (Cycle…
ryota-murakami Oct 24, 2026
d05340a
fix: the end of a deferred editor-area wait closes only the retired r…
ryota-murakami Oct 24, 2026
de77903
fix: a deferred slot close closes only the retired replay's own tabs,…
ryota-murakami Oct 24, 2026
60389aa
fix: a superseded test replay entry leaves the empty summary composit…
ryota-murakami Oct 24, 2026
addf2e2
fix: the waiting slot record survives Cursor's rebuilt tab objects, a…
ryota-murakami Oct 24, 2026
2bba14b
fix: slot tabs that waited for the hidden editor area close on every …
ryota-murakami Oct 24, 2026
3c57d9a
refactor: one helper names a tab record's rebuilt addresses, removing…
ryota-murakami Oct 24, 2026
6ba0dc3
fix: a same-study Reload still loading counts as the shown browser re…
ryota-murakami Oct 25, 2026
498ed55
fix: a same-study Reload keeps the recording on every surface during …
ryota-murakami Oct 25, 2026
f61415f
fix: the last superseded test replay entry to end leaves the empty su…
ryota-murakami Oct 25, 2026
c03cc15
fix: Open replay into a standing composition waits for the work windo…
ryota-murakami Oct 25, 2026
35e0215
fix: an explicit display reads the reader's lifetime before it closes…
ryota-murakami Oct 25, 2026
40d30aa
fix: a same-study Reload counts as the browser replay shown for choic…
ryota-murakami Oct 25, 2026
0a8d85d
fix: Reload and Retry load a same-study Reload's recording again afte…
ryota-murakami Oct 25, 2026
5bd1db2
fix: a runtime release and a study deletion respect a same-study Relo…
ryota-murakami Oct 25, 2026
40ecb54
fix: earlier test replay opens leave a newer entry's composition alon…
ryota-murakami Oct 25, 2026
a6a6a5d
fix: the views read a same-study Reload's recording while it loads or…
ryota-murakami Oct 25, 2026
1198a5a
docs: the packaged README names pt1's replay entries, exits and reloa…
ryota-murakami Oct 25, 2026
e177d0c
chore: bump version and changelog (v0.2.40.0)
ryota-murakami Oct 25, 2026
e393b9f
fix: Focus source during a same-study Reload leaves the replay's Appl…
ryota-murakami Oct 25, 2026
032a520
docs: README and the 0.2.40.0 changelog name Focus source among what …
ryota-murakami Oct 25, 2026
c1fad4a
docs: the root README's implementation status names the delivered 0.2…
ryota-murakami Oct 25, 2026
8e78115
chore: the runtime version reads 0.2.40 with the package (v0.2.40.0)
ryota-murakami Oct 25, 2026
270022c
fix: leaving a browser replay paints no loading line; refused Reloads…
ryota-murakami Oct 25, 2026
fe37cce
fix: leaving a browser replay withdraws its summary first; an Open re…
ryota-murakami Oct 25, 2026
c89e7dc
fix: an overtaken Open replay's Learning summary reveal ends with its…
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
25 changes: 25 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,30 @@
# Changelog

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

Cycle 0052 pt1 ([Issue #124](https://github.com/laststance/codebook/issues/124)), the first of three pull requests of a bug-fix cycle: replays leave, open and reload without stale frames, and the entries and exits behave as you chose.

**Leaving a replay shows nothing of the other side.**

- **Return to Live and another saved study** withdraw the Learning summary before the reader shows the Live state, so the summary never draws the Live Study page, nor a browser replay's departing state, and the transport never shows the other replay family's controls while you leave.
- **A browser replay's open and its Return to Live** send the Learning summary nothing of the Study before the replay's own summary.
- **The Application tab takes back its name** `codebook · Application` after a browser replay, in the Live composition and in a test replay, and while you leave a browser replay the Application pane no longer flashes the recording's `Loading recorded position…` line.

**Entries do what you chose.**

- **Close and Return to Live cancel an Open replay that is still waiting** for its turn or for the work window's focus, so it neither asks a second time, holds up your next Open replay nor reopens the reader, and a newer Open replay ends an earlier one that waits for the focus or for the Learning summary to show at once; a Return to Live while a test replay is still opening ends that open at once in Live, with no loading state left. An entry overtaken while it closes earlier tabs asks no one-replay-at-a-time notice.
- **A superseded Saved studies open** gives the Study pane back, and an earlier replay's failed or superseded open no longer takes the summary composition from a newer Open replay that is entering it.
- **Open replay brings the Learning summary back** if you had hidden it, also with the bottom panel hidden, and waits for the work window's focus as the first open does.
- **A browser study chosen over a test replay while the bottom panel is maximized** waits for the editor area: the panel stays maximized, and the Study pane, the study's source and the closing of the test replay's recorded-source tab wait until you restore the panel; a close the editor refuses is told and tried again at your next display.

**Reloading a browser replay keeps it on screen.**

- **Reload saved recording keeps the Learning summary** while the recording reloads, with the reload's loading or failure on the replay's status line, and the Application pane keeps the recording through refreshes, a runtime release and Focus source.
- **While a reload loads, or after it failed**, a saved study you choose opens its own recording (Saved studies keeps your choice while it loads), a step you select is refused until the recording has loaded again, Reload and Retry storage / refresh load the recording again (one refused because a layout change is still pending changes nothing, so a failed reload keeps its reason), choosing Live leaves the replay, and the replay's study cannot be deleted until you leave it. An agent reads the reader as showing the recording, so it returns to Live before it starts a run.
- **A browser recording opened over a test replay** shows its loading, failure and recovery in the Learning summary.

**Compatibility.** The MCP API stays 1.8, the bundled skill is unchanged and no stored format changes. Tasks 1, 5, 7 to 11, 17, 19 to 23, 26 and 27 of Issue #124 follow in the cycle's second and third pull requests.

## [0.2.39.0] - 2026-10-24 (development candidate)

Cycle 0051 ([Issue #122](https://github.com/laststance/codebook/issues/122)): a test replay opens in the learning-replay composition a browser replay has, with 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 (approved choice 5A).
Expand Down
7 changes: 5 additions & 2 deletions 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.35.0** once the third pull request of [Cycle 0049](https://github.com/laststance/codebook/issues/107) is merged; until then 0.2.34.0 ([PR #116](https://github.com/laststance/codebook/pull/116)) is the delivered one, and the active cycle Issue says where the delivery stands. Cycle 0049 is a feature cycle: a Vitest test run that the editor chat explained becomes a learning replay, a **test replay**. Its first pull request holds the loop and its contracts: a test run reads `demonstrated` once its test passed after every declared stop and its history sealed complete; **Save learning replay** and **Open replay** in the status bar save and open it (its test output, the executed source and the native debugger's recorded stops; no application video); the run resource tells the agent the test's result and which explanations the saved learning still lacks; a node-test start's refusals arrive before its first stop with their fix; and the bundled skill 1.0.46 routes a question about a test to this flow. The MCP API is 1.8. Its second pull request shows the recorded test output in the Application pane, updated in place up to the selected moment, and rebuilds the Study pane's test replay section around that moment (Previous stop and Next stop first, the learning summary drawn as a browser replay's with the selected step); its third shows the executed source in one recorded-source tab that the native debugger's frames open, takes the earlier moment off the tab and the debugger before each move, marks the unrecorded time on the slider and bounds Play's wait between events; the native round in both editors follows its merge; the test replay's summary in the Learning summary view is the next feature cycle. 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.40.0** once the first pull request of [Cycle 0052](https://github.com/laststance/codebook/issues/124) is merged; until then 0.2.39.0 ([PR #123](https://github.com/laststance/codebook/pull/123)) 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.
Comment thread
ryota-murakami marked this conversation as resolved.

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 All @@ -42,7 +42,10 @@ Read [AGENTS.md](AGENTS.md) when starting or resuming work; Codex loads it as it
## Tracking and continuation

- [Goal Issue #1](https://github.com/laststance/codebook/issues/1) remains open until all acceptance conditions and owner acceptance hold.
- [Cycle 0049 Issue #107](https://github.com/laststance/codebook/issues/107) is the active cycle: a feature cycle that makes a Vitest test run the chat explained a saved, replayable learning replay in both editors, in three pull requests merged in order (the loop and its contracts; the Application pane and the Study section; the recorded source, the debugger and the transitions, with the native round in both editors).
- [Cycle 0052 Issue #124](https://github.com/laststance/codebook/issues/124) is the active cycle: a bug-fix cycle with no increment that closes every defect Cycle 0051 carried, in three pull requests merged in order (replays leave, open and reload without stale frames; a test replay's moves and summary page; the live runtime, a browser run's refusals and the tests' hygiene); the Issue holds its tasks and state.
- [Cycle 0051 Issue #122](https://github.com/laststance/codebook/issues/122) is closed after [PR #123](https://github.com/laststance/codebook/pull/123): a feature cycle that opens a test replay in the learning-replay composition a browser replay has, with the Learning summary in the chat's place and one transport; the defects it carried are the tasks of Cycle 0052.
- [Cycle 0050 Issue #118](https://github.com/laststance/codebook/issues/118) is closed after [PR #119](https://github.com/laststance/codebook/pull/119), [PR #120](https://github.com/laststance/codebook/pull/120) and [PR #121](https://github.com/laststance/codebook/pull/121): a bug-fix cycle with no increment that closed every defect Cycle 0049 carried.
- [Cycle 0049 Issue #107](https://github.com/laststance/codebook/issues/107) is closed after [PR #113](https://github.com/laststance/codebook/pull/113), [PR #116](https://github.com/laststance/codebook/pull/116) and [PR #117](https://github.com/laststance/codebook/pull/117): a feature cycle that made a Vitest test run the chat explained a saved, replayable learning replay in both editors, in three pull requests merged in order (the loop and its contracts; the Application pane and the Study section; the recorded source, the debugger and the transitions, with the native round in both editors).
- [Cycle 0048 Issue #105](https://github.com/laststance/codebook/issues/105) is closed after [PR #106](https://github.com/laststance/codebook/pull/106): a bug-fix cycle with no increment that closed the 24 defects the adversarial review of Cycle 0047's final candidate found, 5 that an archived test guide carried and the 189 found while it ran, and carried nothing.
- [Cycle 0047 Issue #90](https://github.com/laststance/codebook/issues/90) is closed after [PR #91](https://github.com/laststance/codebook/pull/91) ([record](https://github.com/laststance/codebook/blob/docs-archive-2026-10-20/docs/cycles/0047-carried-defects-of-cycle-0046.md)): a bug-fix cycle with no increment that closed the 53 defects Cycle 0046 left and every defect found while it ran (279 rows, [the list](https://github.com/laststance/codebook/blob/docs-archive-2026-10-20/docs/cycles/0047-carried-defects.md)); the 24 defects that the adversarial review of its final candidate found are the tasks of Cycle 0048, a bug-fix cycle whose pull request holds only their fixes.
- [Cycle 0046 Issue #87](https://github.com/laststance/codebook/issues/87) is closed after [PR #88](https://github.com/laststance/codebook/pull/88) ([record](https://github.com/laststance/codebook/blob/docs-archive-2026-10-20/docs/cycles/0046-carried-defects-of-cycle-0045.md)): a bug-fix cycle with no increment that closed every defect Cycle 0045 left and every defect found while it ran but row 1066 ([1192 rows](https://github.com/laststance/codebook/blob/docs-archive-2026-10-20/docs/cycles/0046-carried-defects.md)); row 1066 and the findings its delivery's last review left open are the tasks of Cycle 0047.
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.2.39.0
0.2.40.0
Loading