Implements #177. Writer lane does not merge/close; Product Integration Gate owns merge/closure.
Execution base
Initial writer base: main@ba8c7d5d557bfb81f89722b7fe71241a8ff66f1f.
After #180 advanced main, this branch was refreshed by a normal merge from main@10a77aedaa8cebdd258c18a400e0a776f6e63443 (no rebase/squash/force push/history rewrite).
Current head: 1c9f44c90179e004bca8833ae47738003d9208e5.
Implemented
derive chapter boundaries/positions from existing demo registry order + existing checkpoint terminal mapping; no second lesson-order truth
expose current Chapter NN · position/size in Workbench navigation
add direct previous / next / chapter checkpoint actions through the existing onSelectUnit path
make ChapterCheckpoint 下一步 navigate to the next chapter's first learning unit through existing handleSelectDemo -> selectDemo URL semantics
preserve Chapter 09/10/12 Real Integration Lab rendering and boundaries
preserve Inspector open/tab/width persistence across learning-path navigation
add keyboard/focus coverage for path controls
Scope
src/workbench/**
minimal Scope Drift B composition wiring in src/App.jsx + src/components/ChapterCheckpoint.jsx, explicitly recorded on #177
focused unit test + Workbench E2E
minimal existing browser-suite ownership registration for the new Workbench E2E, explicitly recorded as Scope Drift B on #177
No registry rewrite, new ordering truth, URL/persistence contract change, global CSS, AI/Assessment/learning-actions/source-locator change, package change, workflow change, required-check identity change, timeout/retry expansion, or weakened assertion.
Validation — exact current head
React Learning Verify / verify: SUCCESS — run 34829697682
Workbench Integration Verify / verify: SUCCESS — run 34829697794
Workbench State URL Verify: SUCCESS — run 34829697626
PR has no unresolved review threads
current diff vs main@10a77aedaa8cebdd258c18a400e0a776f6e63443 is ahead-only (behind_by=0)
Acceptance criteria were also checked independently from CI.
## Issue
Implements #177. Writer lane does not merge/close; Product Integration Gate owns merge/closure.
## Execution base
Initial writer base: `main@ba8c7d5d557bfb81f89722b7fe71241a8ff66f1f`.
After #180 advanced main, this branch was refreshed by a normal merge from `main@10a77aedaa8cebdd258c18a400e0a776f6e63443` (no rebase/squash/force push/history rewrite).
Current head: `1c9f44c90179e004bca8833ae47738003d9208e5`.
## Implemented
- derive chapter boundaries/positions from existing demo registry order + existing checkpoint terminal mapping; no second lesson-order truth
- expose current `Chapter NN · position/size` in Workbench navigation
- add direct previous / next / chapter checkpoint actions through the existing `onSelectUnit` path
- make ChapterCheckpoint `下一步` navigate to the next chapter's first learning unit through existing `handleSelectDemo -> selectDemo` URL semantics
- preserve Chapter 09/10/12 Real Integration Lab rendering and boundaries
- preserve Inspector open/tab/width persistence across learning-path navigation
- add keyboard/focus coverage for path controls
## Scope
- `src/workbench/**`
- minimal Scope Drift B composition wiring in `src/App.jsx` + `src/components/ChapterCheckpoint.jsx`, explicitly recorded on #177
- focused unit test + Workbench E2E
- minimal existing browser-suite ownership registration for the new Workbench E2E, explicitly recorded as Scope Drift B on #177
No registry rewrite, new ordering truth, URL/persistence contract change, global CSS, AI/Assessment/learning-actions/source-locator change, package change, workflow change, required-check identity change, timeout/retry expansion, or weakened assertion.
## Validation — exact current head
- `React Learning Verify / verify`: SUCCESS — run `34829697682`
- `Workbench Integration Verify / verify`: SUCCESS — run `34829697794`
- `Workbench State URL Verify`: SUCCESS — run `34829697626`
- PR has no unresolved review threads
- current diff vs `main@10a77aedaa8cebdd258c18a400e0a776f6e63443` is ahead-only (`behind_by=0`)
Acceptance criteria were also checked independently from CI.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Issue
Implements #177. Writer lane does not merge/close; Product Integration Gate owns merge/closure.
Execution base
Initial writer base:
main@ba8c7d5d557bfb81f89722b7fe71241a8ff66f1f.After #180 advanced main, this branch was refreshed by a normal merge from
main@10a77aedaa8cebdd258c18a400e0a776f6e63443(no rebase/squash/force push/history rewrite).Current head:
1c9f44c90179e004bca8833ae47738003d9208e5.Implemented
Chapter NN · position/sizein Workbench navigationonSelectUnitpath下一步navigate to the next chapter's first learning unit through existinghandleSelectDemo -> selectDemoURL semanticsScope
src/workbench/**src/App.jsx+src/components/ChapterCheckpoint.jsx, explicitly recorded on #177No registry rewrite, new ordering truth, URL/persistence contract change, global CSS, AI/Assessment/learning-actions/source-locator change, package change, workflow change, required-check identity change, timeout/retry expansion, or weakened assertion.
Validation — exact current head
React Learning Verify / verify: SUCCESS — run34829697682Workbench Integration Verify / verify: SUCCESS — run34829697794Workbench State URL Verify: SUCCESS — run34829697626main@10a77aedaa8cebdd258c18a400e0a776f6e63443is ahead-only (behind_by=0)Acceptance criteria were also checked independently from CI.