Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
24 changes: 24 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,29 @@
# Changelog

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

Cycle 0054 ([Issue #130](https://github.com/laststance/codebook/issues/130)), a bug-fix cycle: the three defects Cycle 0053 carried.

**A test that ends before a later declared stop says so.**

- **When the test exits before the next declared stop**, the continuation now answers `Owned Node test exited with code <n> (or signal <s>) before declared stop <N>.`. The sentence goes on: a declared stop is reached only when the test runs its line after the previous stop; the test's output is in the Codebook test output; and if Vitest skipped the cited test, check `testTitles`. Earlier versions said only that the debug session ended.
- **A test that ends before its first declared stop** now adds that the first declared stop is reached only when the test runs its line.
- **A failure that is not an early exit keeps its own words:** a refusal before the test runs on (for example after you stopped the session yourself) and a failure while a reached stop is captured.
- **The node-test help tells the chat** that an additional stop is reached only when the test runs its line after the previous stop: a line that ran before it counts only if the test runs it again (in a loop, for example). It names the exit code or signal of a test that ends before a stop.
- **A run that ends with an error before its first stop** is no longer described as one that did not run its test. The node-test help and the bundled skill (1.0.48) now say that such a run reached no stop and explains nothing: a refusal before the launch ran no test, and a test that exited before that stop names its exit code or signal.

**A package test's launch checks the root claim again.**

- **When a test runs in its package because of the root claim** (`rootClaim` `not-selected`, `several-projects` or `listing-failed`), Codebook asks the repository root's Vitest once more right before the launch. The start is refused, naming the new and the planned answer, when that answer changed. This catches a config the root's `projects` select being added or edited to include the test, which neither the root config nor its Vitest shows.
- **A root listing that cannot finish** (stopped, past its deadline, or with a process group that could not be confirmed as ended) refuses with its own error.
- **The Vitest listings of a start have their own time:**
- each listing has 30 seconds;
- all of them together have 107 seconds;
- the attach to the debugger gets its own budget after them.
- **A start stopped while a listing is being released starts no further listing.**

**Compatibility.** The MCP API stays 1.8 and no input or stored format changes. The bundled skill moves to 1.0.48, one sentence changed.

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

Cycle 0053 ([Issue #128](https://github.com/laststance/codebook/issues/128)), a feature cycle: a test inside a workspace package runs with that package's Vitest and config.
Expand Down
29 changes: 15 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,33 +16,34 @@ 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.43.0** once the pull request of [Cycle 0053](https://github.com/laststance/codebook/issues/128) is merged; until then 0.2.42.0 ([PR #127](https://github.com/laststance/codebook/pull/127)) is the delivered one, and the active cycle Issue says where the delivery stands. Cycle 0053 is a feature cycle: a test inside a workspace package runs with that package's Vitest and config, as the package's own `vitest` would, while a test the repository root's config already selects keeps running from the root. 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 was a bug-fix cycle that closed 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.44.0** once the pull request of [Cycle 0054](https://github.com/laststance/codebook/issues/130) is merged; until then 0.2.43.0 ([PR #129](https://github.com/laststance/codebook/pull/129)) is the delivered one, and the active cycle Issue says where the delivery stands. Cycle 0053 was a feature cycle: a test inside a workspace package runs with that package's Vitest and config, as the package's own `vitest` would, while a test the repository root's config already selects keeps running from the root. Cycle 0054 is a bug-fix cycle that closes the three defects Cycle 0053 carried: a test that ends before a later declared stop says so, a package test's launch asks the repository root again whether its config now selects the test, and the native-trial bootstrap keeps a listing it could not release. 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 was a bug-fix cycle that closed 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.

Until final acceptance begins, actual-editor development verification uses the owner-designated [nextjs-dashboard checkout](AGENTS.md#development-target). Final acceptance requires [all nine designated projects in two stages](PRODUCT_GOAL.md#final-acceptance-protocol), both editors and every applicable runtime use case. No Stage 1 or Stage 2 PASS is claimed under goal version 10 or under version 9 before it.

## Start here

| Question | Source of truth |
| ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| How must an agent build and verify the product? | [AGENTS.md](AGENTS.md) |
| What image must an agent open and inspect? | [Approved v9 PNG and visual contract](PRODUCT_GOAL.md#design-target) |
| What are the features and how do they relate? | [PRODUCT_GOAL.md](PRODUCT_GOAL.md) |
| What exactly is saved learning? | [Learning replay contract](PRODUCT_GOAL.md#contract-learning-replay) |
| How is Wiki independent, generated and updated? | [LLM Wiki contract](PRODUCT_GOAL.md#contract-llm-wiki) |
| What must pass before completion? | [Final acceptance protocol and the fixed project matrix](PRODUCT_GOAL.md#final-acceptance-protocol) |
| What is implemented, verified and next? | The active cycle Issue (the open Issue with the label `cycle`) |
| How does the existing preview work? | [Version-qualified installation and usage](extension/README.md), [change history](CHANGELOG.md) |
| How do development and review work? | [Delivery](AGENTS.md#delivery) |
| What is the current design authority? | [Design target](PRODUCT_GOAL.md#design-target) |
| Question | Source of truth |
| ----------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| How must an agent build and verify the product? | [AGENTS.md](AGENTS.md) |
| What image must an agent open and inspect? | [Approved v9 PNG and visual contract](PRODUCT_GOAL.md#design-target) |
| What are the features and how do they relate? | [PRODUCT_GOAL.md](PRODUCT_GOAL.md) |
| What exactly is saved learning? | [Learning replay contract](PRODUCT_GOAL.md#contract-learning-replay) |
| How is Wiki independent, generated and updated? | [LLM Wiki contract](PRODUCT_GOAL.md#contract-llm-wiki) |
| What must pass before completion? | [Final acceptance protocol and the fixed project matrix](PRODUCT_GOAL.md#final-acceptance-protocol) |
| What is implemented, verified and next? | The active cycle Issue (the open Issue with the label `cycle`) |
| How does the existing preview work? | [Version-qualified installation and usage](extension/README.md), [change history](CHANGELOG.md) |
| How do development and review work? | [Delivery](AGENTS.md#delivery) |
| What is the current design authority? | [Design target](PRODUCT_GOAL.md#design-target) |

Read [AGENTS.md](AGENTS.md) when starting or resuming work; Codex loads it as its project instructions, and so does Claude Code while no `CLAUDE.md`, `.claude/CLAUDE.md` or `CLAUDE.local.md` overrides it. PRODUCT_GOAL.md owns the outcomes, AGENTS.md the way of working, and the active cycle Issue the state.

## Tracking and continuation

- [Goal Issue #1](https://github.com/laststance/codebook/issues/1) remains open until all acceptance conditions and owner acceptance hold.
- [Cycle 0053 Issue #128](https://github.com/laststance/codebook/issues/128) is the active cycle: a feature cycle in which a test inside a workspace package runs with that package's Vitest and config (TanStack Query's and Redux Toolkit's library tests among the final-acceptance targets); the Issue holds its tasks and state.
- [Cycle 0054 Issue #130](https://github.com/laststance/codebook/issues/130) is the active cycle: a bug-fix cycle with no increment that closes the three defects Cycle 0053 carried (an unreached declared stop explains itself, a launch asks the root claim again, the native trial keeps unreleased listings); the Issue holds its tasks and state.
- [Cycle 0053 Issue #128](https://github.com/laststance/codebook/issues/128) is closed after [PR #129](https://github.com/laststance/codebook/pull/129): a feature cycle in which a test inside a workspace package runs with that package's Vitest and config (TanStack Query's and Redux Toolkit's library tests among the final-acceptance targets); the three defects it carried are the tasks of Cycle 0054.
- [Cycle 0052 Issue #124](https://github.com/laststance/codebook/issues/124) is closed after [PR #125](https://github.com/laststance/codebook/pull/125), [PR #126](https://github.com/laststance/codebook/pull/126) and [PR #127](https://github.com/laststance/codebook/pull/127): a bug-fix cycle with no increment that closed every defect Cycle 0051 carried (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); it carried nothing.
- [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.
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.2.43.0
0.2.44.0
Loading