fix(desktop): capture same-origin iframe annotations reliably - #198
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a27f703884
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d0d27fc02e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 31fa06ced9
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 11f69c8c8c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8bc634af48
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6220b4eeb1
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 322a56bc1b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4f1b4cf630
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
|
Codex Review: Didn't find any major issues. Nice work! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Picking inside a same-origin iframe preserved the annotation but could lose its screenshot. The desktop passed a rectangle in page CSS pixels directly to Electron's native crop API. In a zoomed guest, that can select the wrong area, truncate the image, or fail with `UnknownVizError`. Capture the complete guest surface, then map the CSS rectangle into the image before cropping. Preserve fractional coordinates until image rounding, clip iframe selections to their surrounding scroll panels while respecting positioned containing blocks, and retain the existing annotation delivery, cancellation, and screenshot failure fallback. No IPC schema or security settings change; cross-origin picking remains unsupported. Validation: 169 focused tests, scoped desktop typecheck and lint, plus the actual Template Editor in an isolated Electron webview using the production picker and capture helper. Native capture passes for a normal Facsimile selection, iframe scrolling, and surrounding-panel scrolling. The synthetic native regression reproduces `UnknownVizError` with the former crop call and verifies the fixed PNG contains the selected target. Existing Chromium picking, frame navigation, cleanup, and annotation packaging checks pass. The installed app reproduced the original warning. It has not been modified or restarted; corrected native capture was verified in the isolated runtime. Template Editor evidence remains private; public evidence uses a synthetic same-origin iframe. CI repair: the mobile cold-highlighting comparison freezes and restores its clock so Shiki’s tokenization budget cannot make identical input produce different token boundaries under runner load. Production mobile behavior is unchanged; all five focused highlighting tests pass. Implemented with GPT-6 in the Codex harness.
Picking inside a same-origin iframe preserved the annotation but could lose its screenshot. The desktop passed a rectangle in page CSS pixels directly to Electron's native crop API. In a zoomed guest, that can select the wrong area, truncate the image, or fail with `UnknownVizError`. Capture the complete guest surface, then map the CSS rectangle into the image before cropping. Preserve fractional coordinates until image rounding, clip iframe selections to their surrounding scroll panels while respecting positioned containing blocks, and retain the existing annotation delivery, cancellation, and screenshot failure fallback. No IPC schema or security settings change; cross-origin picking remains unsupported. Validation: 169 focused tests, scoped desktop typecheck and lint, plus the actual Template Editor in an isolated Electron webview using the production picker and capture helper. Native capture passes for a normal Facsimile selection, iframe scrolling, and surrounding-panel scrolling. The synthetic native regression reproduces `UnknownVizError` with the former crop call and verifies the fixed PNG contains the selected target. Existing Chromium picking, frame navigation, cleanup, and annotation packaging checks pass. The installed app reproduced the original warning. It has not been modified or restarted; corrected native capture was verified in the isolated runtime. Template Editor evidence remains private; public evidence uses a synthetic same-origin iframe. CI repair: the mobile cold-highlighting comparison freezes and restores its clock so Shiki’s tokenization budget cannot make identical input produce different token boundaries under runner load. Production mobile behavior is unchanged; all five focused highlighting tests pass. Implemented with GPT-6 in the Codex harness.
Picking inside a same-origin iframe preserved the annotation but could lose its screenshot. The desktop passed a rectangle in page CSS pixels directly to Electron's native crop API. In a zoomed guest, that can select the wrong area, truncate the image, or fail with `UnknownVizError`. Capture the complete guest surface, then map the CSS rectangle into the image before cropping. Preserve fractional coordinates until image rounding, clip iframe selections to their surrounding scroll panels while respecting positioned containing blocks, and retain the existing annotation delivery, cancellation, and screenshot failure fallback. No IPC schema or security settings change; cross-origin picking remains unsupported. Validation: 169 focused tests, scoped desktop typecheck and lint, plus the actual Template Editor in an isolated Electron webview using the production picker and capture helper. Native capture passes for a normal Facsimile selection, iframe scrolling, and surrounding-panel scrolling. The synthetic native regression reproduces `UnknownVizError` with the former crop call and verifies the fixed PNG contains the selected target. Existing Chromium picking, frame navigation, cleanup, and annotation packaging checks pass. The installed app reproduced the original warning. It has not been modified or restarted; corrected native capture was verified in the isolated runtime. Template Editor evidence remains private; public evidence uses a synthetic same-origin iframe. CI repair: the mobile cold-highlighting comparison freezes and restores its clock so Shiki’s tokenization budget cannot make identical input produce different token boundaries under runner load. Production mobile behavior is unchanged; all five focused highlighting tests pass. Implemented with GPT-6 in the Codex harness.
Annotation screenshots still disappeared in the packaged desktop app after #198: native capture succeeded, but the renderer fetched the PNG data URL to create a composer attachment. The production Content Security Policy rejects that request, producing the screenshot warning while preserving the annotation text. Decode the native PNG locally into a File in bounded chunks, yielding between chunks for large crops. Keep the existing missing/invalid-image fallback and remove the network timeout from this now-local conversion. No security policy, iframe access, picking, or native crop settings change. Validation: - Reproduced the warning in the installed app; reproduced the blocked data URL fetch under the exact production policy. - 20 focused annotation and PreviewView tests, web typecheck, targeted lint, and Quick CI pass. - Extended the native smoke test through renderer attachment conversion under the production policy. Synthetic and populated Template Editor captures pass normally, after iframe scrolling, and after panel scrolling; attachment PNG bytes match native captures and generate no CSP violations. - The smoke test explicitly checks that the previous data URL fetch remains blocked, so the policy is enforced during verification. Existing public [synthetic capture image](https://github.com/user-attachments/assets/625f26af-fae2-47e8-a5ed-efdc8603b661) illustrates the crop preserved by this delivery fix. Before: valid native PNG discarded at renderer conversion. After: the same PNG becomes a composer File attachment. Private document evidence stays local. Installation and verification in the updated live app remain coordinated separately with the maintainer. Implemented with GPT-6-Astra in the Codex harness. Carry-Source-Ref: refs/lastcode/carry-sources/pr-212/5e8bdf1c27f709b5eff16ce5b7b1c4311955164a Carry-Source-Base: 90313e5 Carry-Source-Head: 5e8bdf1
Carry-Group: incubator
Carry-Contribution: {"sourceCommit":"11f888d75eb7449c0429a5ff7b0dbd5bda970e72","subject":"carry(incubator): feat(lastcode): bootstrap isolated nightly fork workflow (#1)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/1"],"Carry-Upstream":[],"Carry-Observation":["Separated from a mixed historical contribution by behavioral ownership."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/e3bdabeea6e9b4788092ef21e3e742d8b69c1f11"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"cc9ba6aa7f235c42c25e48b242b64cea12602485","subject":"carry(incubator): feat(lastcode): import settings from T3 Code (#12)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/12"],"Carry-Upstream":[],"Carry-Observation":["Standalone settings-import capability without an owning essential carry group."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/bd131c31167d485c5ccc98fe16a6398a1648c932"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"ff89da71bcec43c8f64dcbf61fa4f994e660e0a6","subject":"carry(incubator): feat(lastcode): add thread annotations (#50)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/50"],"Carry-Upstream":[],"Carry-Observation":["Thread annotation capability, persistence, contracts, and annotation-specific presentation. Evidence: The remaining contribution defines annotation state and interactions; the extracted hover component contains no annotation behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/52f03065c5b642ffa054d815ded9ed28c5c5efdc"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"b47cc3e3fe4b97f4bac462c65090ec19ece8a5e8","subject":"carry(incubator): fix(web): keep annotation actions attached to dialog","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Annotation dialog behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/aeeea4954879687dc15e66b05d6ae5cc259859d5"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"67cc385bec9a9eb23ad12a59e39533b1dd5897e9","subject":"carry(incubator): Revert \"fix(web): keep annotation actions attached to dialog\"","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Reverts annotation dialog behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/fa11611c2e47cca48ee9a0730fb99aaf2e54c6c6"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"7183a15901eb52939b5b085d1eb81631a480c883","subject":"carry(incubator): fix(web): keep annotation actions attached to dialog (#73)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/73"],"Carry-Upstream":[],"Carry-Observation":["Annotation dialog behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/475e810208efdd1a5271fcb7687159056ddb5863"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"3d8c92c799fc7680d664593e510c195465c79a54","subject":"carry(incubator): feat(lastcode): add Codex thread tools (#52)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/52"],"Carry-Upstream":[],"Carry-Observation":["Codex thread tools are a separate capability."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/d96a3e6b4aa675df2a2b0098fd719f5d23a353c3"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"9c7b55f0fb7d24a9e968bfafbaf86836c7dbf5ed","subject":"carry(incubator): feat(lastcode): make worktree cleanup durable (#76)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/76"],"Carry-Upstream":[],"Carry-Observation":["Mobile thread-row cleanup presentation and the experimental thread-annotation interaction. Evidence: No agreed carry group owns the mobile cleanup surface; Thread Annotation remains an Incubator feature."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/e3a9760874b76c1f686e7c3948003fd08bf3016e"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"0b026d71fc1a4bc52b3c4ee52d17bcbd9b8d2e5d","subject":"carry(incubator): fix(web): dialogs no longer block clicks after closing (#86)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/86"],"Carry-Upstream":[],"Carry-Observation":["Shared UI dialog primitives, no owning group."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/07c2966d5baad3e6624d3fb4621289698b974180"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"2fb831f0f6b82395cbf95309e106916e49c8f063","subject":"carry(incubator): style(web): use warning color for annotations (#93)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/93"],"Carry-Upstream":[],"Carry-Observation":["Annotation presentation styling."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/55bf565530762045987bd1728a84cb3a71018ef9"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"265bd4c85030a58ebb3d0bd7ccef52994a7e7173","subject":"carry(incubator): fix(lastcode): keep checkpoint migrations replayable (#95)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/95"],"Carry-Upstream":[],"Carry-Observation":["Thread-annotation migration fixture maintenance follows the annotation feature. Evidence: The only changed behavior advances the 048 annotation migration fixture; the annotation implementation is Incubator-owned."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/eb837b1efb24e4022adaaa6e05cfd93b627f201e"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"2906b7a2c862ec32d946a1155547596196deaeac","subject":"carry(incubator): fix(lastcode): keep checkpoint migrations replayable (#95)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/95"],"Carry-Upstream":[],"Carry-Observation":["Thread-tool correlation and annotation replay compatibility follow their Incubator features. Evidence: The 051 fixture and latestUserMessageId persistence support the Codex thread-tools send/wait contract from PR #52; the remaining field preserves annotations."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/eb837b1efb24e4022adaaa6e05cfd93b627f201e"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"69d6a070f137ca0ac722eff046a72242f952e756","subject":"carry(incubator): fix(lastcode): keep checkpoint migrations replayable (#95)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/95"],"Carry-Upstream":[],"Carry-Observation":["Thread-tool correlation and annotation upsert compatibility follow their Incubator features. Evidence: The optional latestUserMessageId field supports PR #52's thread wait correlation and the annotation field supports PR #50."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/eb837b1efb24e4022adaaa6e05cfd93b627f201e"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"12c23689cfbb07b7394f751dbed71f7a4951928d","subject":"carry(incubator): fix(lastcode): make checkpoint failures self-reporting (#101)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/101"],"Carry-Upstream":[],"Carry-Observation":["Thread-annotation migration fixture maintenance follows the annotation feature. Evidence: The hunk only advances the annotation migration test fixture after the checkpoint repair."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/0ccb6ec0bd54ebe6c2662458a6ffe9a6acbb457d"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"d09432afece5fba9206fe0d9509cdb0306d8efde","subject":"carry(incubator): fix(lastcode): make checkpoint failures self-reporting (#101)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/101"],"Carry-Upstream":[],"Carry-Observation":["Turn-request correlation migration fixture maintenance follows Codex thread tools. Evidence: The hunk only advances the PR #52 send/wait correlation fixture after the checkpoint repair."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/0ccb6ec0bd54ebe6c2662458a6ffe9a6acbb457d"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"a6b8dc067f5500d62e70fd63e9853fbe4c879763","subject":"carry(incubator): fix(web): improve sidebar and minimap indicator legibility (#113)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/113"],"Carry-Upstream":[],"Carry-Observation":["Annotation minimap contrast and clustered marker rendering follow the Incubator-owned annotation feature. Evidence: These hunks exclusively restyle and test annotation markers in the message minimap; sidebar indicators and their settings remain Legacy Sidebar."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/84380d167b0c6c09be7376e5328506ca4e2c5d87"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"1202adde292e6d00cf8acfbf73de98c567040b51","subject":"carry(incubator): fix(lastcode): validate checkpoint lint before publish (#120)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/120"],"Carry-Upstream":[],"Carry-Observation":["Adaptive cleanup-state colours follow the Incubator-owned mobile worktree-cleanup surface."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/3ea6c456f10ff38aa7f6b3d0d8b4cc54867cd646"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"1407441d4f9d5b00c88199707fb02ed80a30336f","subject":"carry(incubator): fix(lastcode): validate checkpoint lint before publish (#120)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/120"],"Carry-Upstream":[],"Carry-Observation":["Adaptive cleanup-state colour declarations follow the Incubator-owned mobile worktree-cleanup surface."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/3ea6c456f10ff38aa7f6b3d0d8b4cc54867cd646"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"abddc08a7977b330c1cabe46b5bd9200caf6017f","subject":"carry(incubator): fix(lastcode): validate checkpoint lint before publish (#120)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/120"],"Carry-Upstream":[],"Carry-Observation":["Cleanup failed, queued, and deleting colour conversions follow the Incubator-owned mobile cleanup surface."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/3ea6c456f10ff38aa7f6b3d0d8b4cc54867cd646"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"59cdf5258cba62f6e5068617dba6ee14839b6b3d","subject":"carry(incubator): fix(web): make annotation post-it readable (#121)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/121"],"Carry-Upstream":[],"Carry-Observation":["Annotation post-it presentation."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/62bd601b1e2c94eb94c6ed66233517f5ffb2337a"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"f49064aa1c325f96d97f7d78432491c3d39f7e86","subject":"carry(incubator): feat(web): identify cross-thread agent messages (#169)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/169"],"Carry-Upstream":[],"Carry-Observation":["Cross-thread message capability."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/e0e20051ae6e3d782f1daf8e82d697cceb465f5c"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"2f70545896915e687f5b28f81fdada37ad06da12","subject":"carry(incubator): fix(web): keep thread annotation typing responsive (#173)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/173"],"Carry-Upstream":[],"Carry-Observation":["Annotation editor responsiveness."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/286ca605790d31628861468caf474a8ebf60ba38"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"416eb1b64c8d3b75d4e9a5fa5bbce4f8baf4cdf0","subject":"carry(incubator): feat(lastcode): safeguard persistent threads (#178)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/178"],"Carry-Upstream":[],"Carry-Observation":["Persistent thread product capability."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/94389c9600931744389cd12691e5645831a3a12d"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"efdb15c1f90d160f4936f53f39e6cffc1acf6c61","subject":"carry(incubator): feat(lastcode): integrate resumable actions with composer stack (#180)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/180"],"Carry-Upstream":[],"Carry-Observation":["Thread-annotation composer-banner integration follows the Incubator-owned annotation feature. Evidence: These hunks move the annotation post-it into ComposerBannerStack while preserving edit, resolve, dismiss, and pending behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/9a2fc4d9716475a574aa9bf8eec79bced3e457bd"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"6966d2c403767b516b6363d58e3a9b705ccd649c","subject":"carry(incubator): feat(lastcode): integrate resumable actions with composer stack (#180)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/180"],"Carry-Upstream":[],"Carry-Observation":["Separated from a mixed historical contribution by behavioral ownership."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/9a2fc4d9716475a574aa9bf8eec79bced3e457bd"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"24df2793585aa5448f3c7b8eab77adfd7c7713f4","subject":"carry(incubator): fix(lastcode): reconcile nightly 1256 integrations","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Thread-annotation timeline coverage follows the Incubator-owned annotation feature. Evidence: The changed assertions belong to a test introduced by PR #50 with the annotation minimap and its top-fade interaction."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/2f8418eb9c9b87164768bff5f2f0bf1e0ec886e6"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"60f24c6960a968c226f1d91b75f128e6b27abcad","subject":"carry(incubator): fix(lastcode): format nightly 1256 revision","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Electron protocol coverage follows the Incubator-owned LastCode desktop identity feature. Evidence: The format-only hunk changes a test introduced with the LastCode protocol and brand identity; it has no checkpoint/tooling behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/9169a9791ec5add68e31ea59f472f86f32de609f"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"446e321f290b637fef6e0cf3f5d88bb821a16b3a","subject":"carry(incubator): fix(lastcode): reconcile nightly 1262 integrations","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Annotation fixture reconciliation remains with the annotation feature. Evidence: The path's two-line reconciliation only changes its annotation migration fixture."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/646f1b96e0844e7f29232ef1fa753b9bd6288868"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"5307f08b19b94083a44e43ed801261dfd256d844","subject":"carry(incubator): fix(lastcode): reconcile nightly 1262 integrations","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Correlation fixture reconciliation follows Codex thread tools. Evidence: The path's two-line reconciliation only changes the PR #52 send/wait correlation fixture."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/646f1b96e0844e7f29232ef1fa753b9bd6288868"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"d17b547cccfa6d47a3c7dd6f46ba717068c37735","subject":"carry(incubator): fix(lastcode): reconcile nightly 1262 integrations","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Feature-specific migration and UI reconciliation follows the Incubator features that own these paths. Evidence: The 055 and 056 fixtures belong to cross-thread message provenance and persistent-thread safeguards; the UI import cleanups affect annotation and cross-thread-message code introduced by Incubator contributions."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/646f1b96e0844e7f29232ef1fa753b9bd6288868"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"8ef35cea5ba323a9be5f1d7ea91baab870b8efef","subject":"carry(incubator): fix(server): preserve latest user message identity on replay (#182)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/182"],"Carry-Upstream":[],"Carry-Observation":["Server message identity behavior; no existing group."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/a292664c7b7344950cea6a7c7e49425e44afd388"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"c9bcdd87cc26f3ed62ae781a9ee3f9207d244f32","subject":"carry(incubator): fix(lastcode): clean replay migration fixtures","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Annotation fixture cleanup follows the annotation feature. Evidence: The deleted duplicated replay fixture text is exclusively in the annotation migration test."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/204da32488b3eb4dcc6615b20a0d0619085e2ba0"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"b90161fdc1923a750d7e73b95e40767d1d1f565f","subject":"carry(incubator): fix(lastcode): clean replay migration fixtures","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Correlation fixture cleanup follows Codex thread tools. Evidence: The deleted duplicated replay fixture text is exclusively in the PR #52 send/wait correlation migration test."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/204da32488b3eb4dcc6615b20a0d0619085e2ba0"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"1481e9059ccc0f3527cff8ec57b539b5df797941","subject":"carry(incubator): fix(lastcode): carry attachment types into mobile previews","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Mobile attachment preview behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/ae64ed8f9420b128677c80f1adfe2cad4d7eb274"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"70f0bc747510087db74c8d3ab5c70e52351fa1b3","subject":"carry(incubator): fix(lastcode): keep local update builds reproducible (#183)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/183"],"Carry-Upstream":[],"Carry-Observation":["Thread CLI source-context isolation follows the Incubator-owned thread-tools feature. Evidence: The hunk scopes source-thread metadata and wait self-rejection inside the CLI introduced by PR #52 and extended by the cross-thread-message and persistent-thread Incubator contributions."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/6daea8ef0de1c9df9e28b9f90407643d40e7b9e9"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"fdd705bfb158754b03db0d036347e4a55af70c08","subject":"carry(incubator): test(server): preserve settlement activation gate (#185)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/185"],"Carry-Upstream":[],"Carry-Observation":["Settlement activation product behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/52d2b539668e206f104948e6d66600b5d7ce994c"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"24b45b9de1226d798054612b81ca1318c669f4ab","subject":"carry(incubator): fix(server): canonicalize Antigravity file paths (#187)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/187"],"Carry-Upstream":[],"Carry-Observation":["Provider path correctness is upstream-worthy portability. No upstream pull-request provenance is recorded in the source."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/91b12bd3f0f6493f4ce6fe9cd7b8cf491a51b509"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"385a9b944addf1c69ac89b1286ecfef44ceca8ce","subject":"carry(incubator): feat(lastcode): add adjustable larger scrollbars (#190)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/190"],"Carry-Upstream":[],"Carry-Observation":["Cross-surface appearance feature."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/e5237a1fe84d707fef14eb469f8a45bb04da9689"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"0ab21149bd496008529e478c1d368c40ccbe4177","subject":"carry(incubator): feat(threads): show pending agent questions (#191)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/191"],"Carry-Upstream":[],"Carry-Observation":["Pending-question attention capability."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/c6767c5c1b53b93f057e6dbeb6b4467ad3485a45"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"3e21f089097e2cb17ed9bbc0b3833957b14454c0","subject":"carry(incubator): fix(lastcode): reconcile nightly typechecks","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Cross-thread agent-message formatting follows its Incubator feature. Evidence: The indentation-only hunk formats AgentMessageTimelineRow branches introduced by PR #169."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/74680f64e7e90d3007d1e5e77852980a52acc91b"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"e5f7563f643bc152bfe143c54810a45019191b40","subject":"carry(incubator): fix(lastcode): preserve annotation task controls after replay","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Annotation task controls product behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/aea8005a5c3ca42aa16e67cb0cf0e35853aa2605"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"b78d8acbae7320166334343c28a9edaf3fe186c2","subject":"carry(incubator): fix(lastcode): preserve provider thread context after nightly replay","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Provider thread context product behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/e49721a1ace785d285169dd5b8e89c6297e9b8d2"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"8b1aa58db6ff93d78920a32706861033dd87943a","subject":"carry(incubator): fix(lastcode): format checkpoint recovery mock","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Thread-attention coverage follows the Incubator-owned pending-question feature. Evidence: The hunk only formats the MCP handler test introduced by PR #191."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/ecf602b25c9256b5dd170c67fcd69d410aea2bfb"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"7112f43559bc42845dc4044de02ca7bf67b3870f","subject":"carry(incubator): test(server): cover recovered provider thread context","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Provider thread context test."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/4ba5e4de7300b2ad4b366a8da9fc5d6b6c08df9b"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"b09e09d5081a0f3c7b557698b99ff3bdc0cbd6f2","subject":"carry(incubator): test(server): type recovered runtime context fixture","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Provider thread context test fixture."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/43c0c714b57b65d51b3787999cec235b60c321cc"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"d0fa92210843f229314b706f6be456f620619d8b","subject":"carry(incubator): fix(lastcode): repair annotation display and editing (#189)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/189"],"Carry-Upstream":[],"Carry-Observation":["Annotation display and editing capability."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/6c4e502b65e0b39039d9fcc02a470624bb858329"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"4ba5073af76a03932ffb55579bab190a1df4c6ac","subject":"carry(incubator): fix(desktop): pick annotations inside same-origin iframes (#192)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/192"],"Carry-Upstream":[],"Carry-Observation":["Browser annotation capture capability."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/67ff1143d5e1982b1f4abcb821ea781669b6999e"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"f46ad24a1c91c23c3c5f71e7d1ad84f54cba8a49","subject":"carry(incubator): fix(server): return terminal history text after nightly rebase","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Terminal history behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/135d3d0f3ae22b3e8fb8aa5cfec8eaae9fdd2b7b"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"c4f2d71e064149356e0ebe2247666cfcebf4d2f8","subject":"carry(incubator): test(server): make local build fixtures portable (#196)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/196"],"Carry-Upstream":[],"Carry-Observation":["Provider test portability is upstream-worthy. No upstream pull-request provenance is recorded in the source."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/e1badc5cb231f6babcada2e17ab2d1cacf47e7bc"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"9f1dc4a82aee875d6c5939d946d6d75134a01604","subject":"carry(incubator): fix(desktop): capture same-origin iframe annotations reliably (#198)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/198"],"Carry-Upstream":[],"Carry-Observation":["Browser annotation capture across desktop/mobile."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/93ccbecb0977abae25a9739e57cec4d6cbe441c4"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"63b2f3ea05445e2cb5cc91617b239ac1029489f8","subject":"carry(incubator): fix(mobile): use current duration formatter for working row (#199)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/199"],"Carry-Upstream":[],"Carry-Observation":["Mobile thread presentation formatting."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/0b29e6523e510323b925596dc42dc179f7730bf0"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"9c6ecb9148fb99cd82ce229f05801203f198ce65","subject":"carry(incubator): compile surviving shared release guidance","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Synthetic bootstrap-only shared-guide slice; docs/lastcode/nightly-workflow.md: 20 surviving lines; docs/lastcode/release.md: 0 surviving lines."],"Carry-Evidence":["4156900a2d0257b783351b7902a0cd58b9d01cf4"],"Carry-Applies-To":["upstream 8d3c56b; frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"240d3c552ecefac40380105347728655954bc968","subject":"carry(incubator): handle aliased scanner exclusion roots","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/206"],"Carry-Upstream":[],"Carry-Observation":["The server scanner recognizes both configured and filesystem-resolved sandbox roots so an aliased configuration path cannot expose managed worktrees as importable projects. Its focused regression test belongs with that scanner behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/0a95a19d07801c1173a6ad182b70e2d879a4985e"],"Carry-Applies-To":["upstream f8b4c46 (v0.0.39-nightly.20260905.1290); historical source 42e0e48"],"Carry-Supersedes":[]}}
Carry-Group: incubator
Carry-Contribution: {"sourceCommit":"11f888d75eb7449c0429a5ff7b0dbd5bda970e72","subject":"carry(incubator): feat(lastcode): bootstrap isolated nightly fork workflow (#1)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/1"],"Carry-Upstream":[],"Carry-Observation":["Separated from a mixed historical contribution by behavioral ownership."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/e3bdabeea6e9b4788092ef21e3e742d8b69c1f11"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"cc9ba6aa7f235c42c25e48b242b64cea12602485","subject":"carry(incubator): feat(lastcode): import settings from T3 Code (#12)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/12"],"Carry-Upstream":[],"Carry-Observation":["Standalone settings-import capability without an owning essential carry group."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/bd131c31167d485c5ccc98fe16a6398a1648c932"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"ff89da71bcec43c8f64dcbf61fa4f994e660e0a6","subject":"carry(incubator): feat(lastcode): add thread annotations (#50)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/50"],"Carry-Upstream":[],"Carry-Observation":["Thread annotation capability, persistence, contracts, and annotation-specific presentation. Evidence: The remaining contribution defines annotation state and interactions; the extracted hover component contains no annotation behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/52f03065c5b642ffa054d815ded9ed28c5c5efdc"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"b47cc3e3fe4b97f4bac462c65090ec19ece8a5e8","subject":"carry(incubator): fix(web): keep annotation actions attached to dialog","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Annotation dialog behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/aeeea4954879687dc15e66b05d6ae5cc259859d5"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"67cc385bec9a9eb23ad12a59e39533b1dd5897e9","subject":"carry(incubator): Revert \"fix(web): keep annotation actions attached to dialog\"","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Reverts annotation dialog behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/fa11611c2e47cca48ee9a0730fb99aaf2e54c6c6"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"7183a15901eb52939b5b085d1eb81631a480c883","subject":"carry(incubator): fix(web): keep annotation actions attached to dialog (#73)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/73"],"Carry-Upstream":[],"Carry-Observation":["Annotation dialog behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/475e810208efdd1a5271fcb7687159056ddb5863"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"3d8c92c799fc7680d664593e510c195465c79a54","subject":"carry(incubator): feat(lastcode): add Codex thread tools (#52)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/52"],"Carry-Upstream":[],"Carry-Observation":["Codex thread tools are a separate capability."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/d96a3e6b4aa675df2a2b0098fd719f5d23a353c3"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"9c7b55f0fb7d24a9e968bfafbaf86836c7dbf5ed","subject":"carry(incubator): feat(lastcode): make worktree cleanup durable (#76)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/76"],"Carry-Upstream":[],"Carry-Observation":["Mobile thread-row cleanup presentation and the experimental thread-annotation interaction. Evidence: No agreed carry group owns the mobile cleanup surface; Thread Annotation remains an Incubator feature."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/e3a9760874b76c1f686e7c3948003fd08bf3016e"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"0b026d71fc1a4bc52b3c4ee52d17bcbd9b8d2e5d","subject":"carry(incubator): fix(web): dialogs no longer block clicks after closing (#86)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/86"],"Carry-Upstream":[],"Carry-Observation":["Shared UI dialog primitives, no owning group."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/07c2966d5baad3e6624d3fb4621289698b974180"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"2fb831f0f6b82395cbf95309e106916e49c8f063","subject":"carry(incubator): style(web): use warning color for annotations (#93)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/93"],"Carry-Upstream":[],"Carry-Observation":["Annotation presentation styling."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/55bf565530762045987bd1728a84cb3a71018ef9"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"265bd4c85030a58ebb3d0bd7ccef52994a7e7173","subject":"carry(incubator): fix(lastcode): keep checkpoint migrations replayable (#95)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/95"],"Carry-Upstream":[],"Carry-Observation":["Thread-annotation migration fixture maintenance follows the annotation feature. Evidence: The only changed behavior advances the 048 annotation migration fixture; the annotation implementation is Incubator-owned."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/eb837b1efb24e4022adaaa6e05cfd93b627f201e"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"2906b7a2c862ec32d946a1155547596196deaeac","subject":"carry(incubator): fix(lastcode): keep checkpoint migrations replayable (#95)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/95"],"Carry-Upstream":[],"Carry-Observation":["Thread-tool correlation and annotation replay compatibility follow their Incubator features. Evidence: The 051 fixture and latestUserMessageId persistence support the Codex thread-tools send/wait contract from PR #52; the remaining field preserves annotations."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/eb837b1efb24e4022adaaa6e05cfd93b627f201e"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"69d6a070f137ca0ac722eff046a72242f952e756","subject":"carry(incubator): fix(lastcode): keep checkpoint migrations replayable (#95)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/95"],"Carry-Upstream":[],"Carry-Observation":["Thread-tool correlation and annotation upsert compatibility follow their Incubator features. Evidence: The optional latestUserMessageId field supports PR #52's thread wait correlation and the annotation field supports PR #50."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/eb837b1efb24e4022adaaa6e05cfd93b627f201e"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"12c23689cfbb07b7394f751dbed71f7a4951928d","subject":"carry(incubator): fix(lastcode): make checkpoint failures self-reporting (#101)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/101"],"Carry-Upstream":[],"Carry-Observation":["Thread-annotation migration fixture maintenance follows the annotation feature. Evidence: The hunk only advances the annotation migration test fixture after the checkpoint repair."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/0ccb6ec0bd54ebe6c2662458a6ffe9a6acbb457d"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"d09432afece5fba9206fe0d9509cdb0306d8efde","subject":"carry(incubator): fix(lastcode): make checkpoint failures self-reporting (#101)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/101"],"Carry-Upstream":[],"Carry-Observation":["Turn-request correlation migration fixture maintenance follows Codex thread tools. Evidence: The hunk only advances the PR #52 send/wait correlation fixture after the checkpoint repair."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/0ccb6ec0bd54ebe6c2662458a6ffe9a6acbb457d"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"a6b8dc067f5500d62e70fd63e9853fbe4c879763","subject":"carry(incubator): fix(web): improve sidebar and minimap indicator legibility (#113)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/113"],"Carry-Upstream":[],"Carry-Observation":["Annotation minimap contrast and clustered marker rendering follow the Incubator-owned annotation feature. Evidence: These hunks exclusively restyle and test annotation markers in the message minimap; sidebar indicators and their settings remain Legacy Sidebar."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/84380d167b0c6c09be7376e5328506ca4e2c5d87"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"1202adde292e6d00cf8acfbf73de98c567040b51","subject":"carry(incubator): fix(lastcode): validate checkpoint lint before publish (#120)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/120"],"Carry-Upstream":[],"Carry-Observation":["Adaptive cleanup-state colours follow the Incubator-owned mobile worktree-cleanup surface."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/3ea6c456f10ff38aa7f6b3d0d8b4cc54867cd646"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"1407441d4f9d5b00c88199707fb02ed80a30336f","subject":"carry(incubator): fix(lastcode): validate checkpoint lint before publish (#120)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/120"],"Carry-Upstream":[],"Carry-Observation":["Adaptive cleanup-state colour declarations follow the Incubator-owned mobile worktree-cleanup surface."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/3ea6c456f10ff38aa7f6b3d0d8b4cc54867cd646"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"abddc08a7977b330c1cabe46b5bd9200caf6017f","subject":"carry(incubator): fix(lastcode): validate checkpoint lint before publish (#120)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/120"],"Carry-Upstream":[],"Carry-Observation":["Cleanup failed, queued, and deleting colour conversions follow the Incubator-owned mobile cleanup surface."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/3ea6c456f10ff38aa7f6b3d0d8b4cc54867cd646"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"59cdf5258cba62f6e5068617dba6ee14839b6b3d","subject":"carry(incubator): fix(web): make annotation post-it readable (#121)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/121"],"Carry-Upstream":[],"Carry-Observation":["Annotation post-it presentation."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/62bd601b1e2c94eb94c6ed66233517f5ffb2337a"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"f49064aa1c325f96d97f7d78432491c3d39f7e86","subject":"carry(incubator): feat(web): identify cross-thread agent messages (#169)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/169"],"Carry-Upstream":[],"Carry-Observation":["Cross-thread message capability."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/e0e20051ae6e3d782f1daf8e82d697cceb465f5c"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"2f70545896915e687f5b28f81fdada37ad06da12","subject":"carry(incubator): fix(web): keep thread annotation typing responsive (#173)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/173"],"Carry-Upstream":[],"Carry-Observation":["Annotation editor responsiveness."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/286ca605790d31628861468caf474a8ebf60ba38"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"416eb1b64c8d3b75d4e9a5fa5bbce4f8baf4cdf0","subject":"carry(incubator): feat(lastcode): safeguard persistent threads (#178)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/178"],"Carry-Upstream":[],"Carry-Observation":["Persistent thread product capability."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/94389c9600931744389cd12691e5645831a3a12d"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"efdb15c1f90d160f4936f53f39e6cffc1acf6c61","subject":"carry(incubator): feat(lastcode): integrate resumable actions with composer stack (#180)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/180"],"Carry-Upstream":[],"Carry-Observation":["Thread-annotation composer-banner integration follows the Incubator-owned annotation feature. Evidence: These hunks move the annotation post-it into ComposerBannerStack while preserving edit, resolve, dismiss, and pending behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/9a2fc4d9716475a574aa9bf8eec79bced3e457bd"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"6966d2c403767b516b6363d58e3a9b705ccd649c","subject":"carry(incubator): feat(lastcode): integrate resumable actions with composer stack (#180)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/180"],"Carry-Upstream":[],"Carry-Observation":["Separated from a mixed historical contribution by behavioral ownership."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/9a2fc4d9716475a574aa9bf8eec79bced3e457bd"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"24df2793585aa5448f3c7b8eab77adfd7c7713f4","subject":"carry(incubator): fix(lastcode): reconcile nightly 1256 integrations","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Thread-annotation timeline coverage follows the Incubator-owned annotation feature. Evidence: The changed assertions belong to a test introduced by PR #50 with the annotation minimap and its top-fade interaction."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/2f8418eb9c9b87164768bff5f2f0bf1e0ec886e6"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"60f24c6960a968c226f1d91b75f128e6b27abcad","subject":"carry(incubator): fix(lastcode): format nightly 1256 revision","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Electron protocol coverage follows the Incubator-owned LastCode desktop identity feature. Evidence: The format-only hunk changes a test introduced with the LastCode protocol and brand identity; it has no checkpoint/tooling behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/9169a9791ec5add68e31ea59f472f86f32de609f"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"446e321f290b637fef6e0cf3f5d88bb821a16b3a","subject":"carry(incubator): fix(lastcode): reconcile nightly 1262 integrations","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Annotation fixture reconciliation remains with the annotation feature. Evidence: The path's two-line reconciliation only changes its annotation migration fixture."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/646f1b96e0844e7f29232ef1fa753b9bd6288868"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"5307f08b19b94083a44e43ed801261dfd256d844","subject":"carry(incubator): fix(lastcode): reconcile nightly 1262 integrations","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Correlation fixture reconciliation follows Codex thread tools. Evidence: The path's two-line reconciliation only changes the PR #52 send/wait correlation fixture."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/646f1b96e0844e7f29232ef1fa753b9bd6288868"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"d17b547cccfa6d47a3c7dd6f46ba717068c37735","subject":"carry(incubator): fix(lastcode): reconcile nightly 1262 integrations","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Feature-specific migration and UI reconciliation follows the Incubator features that own these paths. Evidence: The 055 and 056 fixtures belong to cross-thread message provenance and persistent-thread safeguards; the UI import cleanups affect annotation and cross-thread-message code introduced by Incubator contributions."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/646f1b96e0844e7f29232ef1fa753b9bd6288868"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"8ef35cea5ba323a9be5f1d7ea91baab870b8efef","subject":"carry(incubator): fix(server): preserve latest user message identity on replay (#182)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/182"],"Carry-Upstream":[],"Carry-Observation":["Server message identity behavior; no existing group."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/a292664c7b7344950cea6a7c7e49425e44afd388"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"c9bcdd87cc26f3ed62ae781a9ee3f9207d244f32","subject":"carry(incubator): fix(lastcode): clean replay migration fixtures","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Annotation fixture cleanup follows the annotation feature. Evidence: The deleted duplicated replay fixture text is exclusively in the annotation migration test."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/204da32488b3eb4dcc6615b20a0d0619085e2ba0"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"b90161fdc1923a750d7e73b95e40767d1d1f565f","subject":"carry(incubator): fix(lastcode): clean replay migration fixtures","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Correlation fixture cleanup follows Codex thread tools. Evidence: The deleted duplicated replay fixture text is exclusively in the PR #52 send/wait correlation migration test."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/204da32488b3eb4dcc6615b20a0d0619085e2ba0"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"1481e9059ccc0f3527cff8ec57b539b5df797941","subject":"carry(incubator): fix(lastcode): carry attachment types into mobile previews","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Mobile attachment preview behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/ae64ed8f9420b128677c80f1adfe2cad4d7eb274"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"70f0bc747510087db74c8d3ab5c70e52351fa1b3","subject":"carry(incubator): fix(lastcode): keep local update builds reproducible (#183)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/183"],"Carry-Upstream":[],"Carry-Observation":["Thread CLI source-context isolation follows the Incubator-owned thread-tools feature. Evidence: The hunk scopes source-thread metadata and wait self-rejection inside the CLI introduced by PR #52 and extended by the cross-thread-message and persistent-thread Incubator contributions."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/6daea8ef0de1c9df9e28b9f90407643d40e7b9e9"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"fdd705bfb158754b03db0d036347e4a55af70c08","subject":"carry(incubator): test(server): preserve settlement activation gate (#185)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/185"],"Carry-Upstream":[],"Carry-Observation":["Settlement activation product behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/52d2b539668e206f104948e6d66600b5d7ce994c"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"24b45b9de1226d798054612b81ca1318c669f4ab","subject":"carry(incubator): fix(server): canonicalize Antigravity file paths (#187)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/187"],"Carry-Upstream":[],"Carry-Observation":["Provider path correctness is upstream-worthy portability. No upstream pull-request provenance is recorded in the source."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/91b12bd3f0f6493f4ce6fe9cd7b8cf491a51b509"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"385a9b944addf1c69ac89b1286ecfef44ceca8ce","subject":"carry(incubator): feat(lastcode): add adjustable larger scrollbars (#190)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/190"],"Carry-Upstream":[],"Carry-Observation":["Cross-surface appearance feature."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/e5237a1fe84d707fef14eb469f8a45bb04da9689"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"0ab21149bd496008529e478c1d368c40ccbe4177","subject":"carry(incubator): feat(threads): show pending agent questions (#191)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/191"],"Carry-Upstream":[],"Carry-Observation":["Pending-question attention capability."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/c6767c5c1b53b93f057e6dbeb6b4467ad3485a45"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"3e21f089097e2cb17ed9bbc0b3833957b14454c0","subject":"carry(incubator): fix(lastcode): reconcile nightly typechecks","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Cross-thread agent-message formatting follows its Incubator feature. Evidence: The indentation-only hunk formats AgentMessageTimelineRow branches introduced by PR #169."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/74680f64e7e90d3007d1e5e77852980a52acc91b"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"e5f7563f643bc152bfe143c54810a45019191b40","subject":"carry(incubator): fix(lastcode): preserve annotation task controls after replay","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Annotation task controls product behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/aea8005a5c3ca42aa16e67cb0cf0e35853aa2605"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"b78d8acbae7320166334343c28a9edaf3fe186c2","subject":"carry(incubator): fix(lastcode): preserve provider thread context after nightly replay","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Provider thread context product behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/e49721a1ace785d285169dd5b8e89c6297e9b8d2"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"8b1aa58db6ff93d78920a32706861033dd87943a","subject":"carry(incubator): fix(lastcode): format checkpoint recovery mock","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Thread-attention coverage follows the Incubator-owned pending-question feature. Evidence: The hunk only formats the MCP handler test introduced by PR #191."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/ecf602b25c9256b5dd170c67fcd69d410aea2bfb"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"7112f43559bc42845dc4044de02ca7bf67b3870f","subject":"carry(incubator): test(server): cover recovered provider thread context","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Provider thread context test."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/4ba5e4de7300b2ad4b366a8da9fc5d6b6c08df9b"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"b09e09d5081a0f3c7b557698b99ff3bdc0cbd6f2","subject":"carry(incubator): test(server): type recovered runtime context fixture","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Provider thread context test fixture."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/43c0c714b57b65d51b3787999cec235b60c321cc"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"d0fa92210843f229314b706f6be456f620619d8b","subject":"carry(incubator): fix(lastcode): repair annotation display and editing (#189)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/189"],"Carry-Upstream":[],"Carry-Observation":["Annotation display and editing capability."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/6c4e502b65e0b39039d9fcc02a470624bb858329"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"4ba5073af76a03932ffb55579bab190a1df4c6ac","subject":"carry(incubator): fix(desktop): pick annotations inside same-origin iframes (#192)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/192"],"Carry-Upstream":[],"Carry-Observation":["Browser annotation capture capability."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/67ff1143d5e1982b1f4abcb821ea781669b6999e"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"f46ad24a1c91c23c3c5f71e7d1ad84f54cba8a49","subject":"carry(incubator): fix(server): return terminal history text after nightly rebase","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Terminal history behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/135d3d0f3ae22b3e8fb8aa5cfec8eaae9fdd2b7b"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"c4f2d71e064149356e0ebe2247666cfcebf4d2f8","subject":"carry(incubator): test(server): make local build fixtures portable (#196)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/196"],"Carry-Upstream":[],"Carry-Observation":["Provider test portability is upstream-worthy. No upstream pull-request provenance is recorded in the source."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/e1badc5cb231f6babcada2e17ab2d1cacf47e7bc"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"9f1dc4a82aee875d6c5939d946d6d75134a01604","subject":"carry(incubator): fix(desktop): capture same-origin iframe annotations reliably (#198)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/198"],"Carry-Upstream":[],"Carry-Observation":["Browser annotation capture across desktop/mobile."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/93ccbecb0977abae25a9739e57cec4d6cbe441c4"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"63b2f3ea05445e2cb5cc91617b239ac1029489f8","subject":"carry(incubator): fix(mobile): use current duration formatter for working row (#199)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/199"],"Carry-Upstream":[],"Carry-Observation":["Mobile thread presentation formatting."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/0b29e6523e510323b925596dc42dc179f7730bf0"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"9c6ecb9148fb99cd82ce229f05801203f198ce65","subject":"carry(incubator): compile surviving shared release guidance","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Synthetic bootstrap-only shared-guide slice; docs/lastcode/nightly-workflow.md: 20 surviving lines; docs/lastcode/release.md: 0 surviving lines."],"Carry-Evidence":["4156900a2d0257b783351b7902a0cd58b9d01cf4"],"Carry-Applies-To":["upstream 8d3c56b; frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"240d3c552ecefac40380105347728655954bc968","subject":"carry(incubator): handle aliased scanner exclusion roots","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/206"],"Carry-Upstream":[],"Carry-Observation":["The server scanner recognizes both configured and filesystem-resolved sandbox roots so an aliased configuration path cannot expose managed worktrees as importable projects. Its focused regression test belongs with that scanner behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/0a95a19d07801c1173a6ad182b70e2d879a4985e"],"Carry-Applies-To":["upstream f8b4c46 (v0.0.39-nightly.20260905.1290); historical source 42e0e48"],"Carry-Supersedes":[]}}
Carry-Group: incubator
Carry-Contribution: {"sourceCommit":"11f888d75eb7449c0429a5ff7b0dbd5bda970e72","subject":"carry(incubator): feat(lastcode): bootstrap isolated nightly fork workflow (#1)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/1"],"Carry-Upstream":[],"Carry-Observation":["Separated from a mixed historical contribution by behavioral ownership."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/e3bdabeea6e9b4788092ef21e3e742d8b69c1f11"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"cc9ba6aa7f235c42c25e48b242b64cea12602485","subject":"carry(incubator): feat(lastcode): import settings from T3 Code (#12)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/12"],"Carry-Upstream":[],"Carry-Observation":["Standalone settings-import capability without an owning essential carry group."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/bd131c31167d485c5ccc98fe16a6398a1648c932"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"ff89da71bcec43c8f64dcbf61fa4f994e660e0a6","subject":"carry(incubator): feat(lastcode): add thread annotations (#50)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/50"],"Carry-Upstream":[],"Carry-Observation":["Thread annotation capability, persistence, contracts, and annotation-specific presentation. Evidence: The remaining contribution defines annotation state and interactions; the extracted hover component contains no annotation behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/52f03065c5b642ffa054d815ded9ed28c5c5efdc"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"b47cc3e3fe4b97f4bac462c65090ec19ece8a5e8","subject":"carry(incubator): fix(web): keep annotation actions attached to dialog","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Annotation dialog behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/aeeea4954879687dc15e66b05d6ae5cc259859d5"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"67cc385bec9a9eb23ad12a59e39533b1dd5897e9","subject":"carry(incubator): Revert \"fix(web): keep annotation actions attached to dialog\"","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Reverts annotation dialog behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/fa11611c2e47cca48ee9a0730fb99aaf2e54c6c6"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"7183a15901eb52939b5b085d1eb81631a480c883","subject":"carry(incubator): fix(web): keep annotation actions attached to dialog (#73)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/73"],"Carry-Upstream":[],"Carry-Observation":["Annotation dialog behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/475e810208efdd1a5271fcb7687159056ddb5863"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"3d8c92c799fc7680d664593e510c195465c79a54","subject":"carry(incubator): feat(lastcode): add Codex thread tools (#52)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/52"],"Carry-Upstream":[],"Carry-Observation":["Codex thread tools are a separate capability."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/d96a3e6b4aa675df2a2b0098fd719f5d23a353c3"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"9c7b55f0fb7d24a9e968bfafbaf86836c7dbf5ed","subject":"carry(incubator): feat(lastcode): make worktree cleanup durable (#76)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/76"],"Carry-Upstream":[],"Carry-Observation":["Mobile thread-row cleanup presentation and the experimental thread-annotation interaction. Evidence: No agreed carry group owns the mobile cleanup surface; Thread Annotation remains an Incubator feature."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/e3a9760874b76c1f686e7c3948003fd08bf3016e"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"0b026d71fc1a4bc52b3c4ee52d17bcbd9b8d2e5d","subject":"carry(incubator): fix(web): dialogs no longer block clicks after closing (#86)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/86"],"Carry-Upstream":[],"Carry-Observation":["Shared UI dialog primitives, no owning group."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/07c2966d5baad3e6624d3fb4621289698b974180"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"2fb831f0f6b82395cbf95309e106916e49c8f063","subject":"carry(incubator): style(web): use warning color for annotations (#93)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/93"],"Carry-Upstream":[],"Carry-Observation":["Annotation presentation styling."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/55bf565530762045987bd1728a84cb3a71018ef9"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"265bd4c85030a58ebb3d0bd7ccef52994a7e7173","subject":"carry(incubator): fix(lastcode): keep checkpoint migrations replayable (#95)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/95"],"Carry-Upstream":[],"Carry-Observation":["Thread-annotation migration fixture maintenance follows the annotation feature. Evidence: The only changed behavior advances the 048 annotation migration fixture; the annotation implementation is Incubator-owned."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/eb837b1efb24e4022adaaa6e05cfd93b627f201e"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"2906b7a2c862ec32d946a1155547596196deaeac","subject":"carry(incubator): fix(lastcode): keep checkpoint migrations replayable (#95)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/95"],"Carry-Upstream":[],"Carry-Observation":["Thread-tool correlation and annotation replay compatibility follow their Incubator features. Evidence: The 051 fixture and latestUserMessageId persistence support the Codex thread-tools send/wait contract from PR #52; the remaining field preserves annotations."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/eb837b1efb24e4022adaaa6e05cfd93b627f201e"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"69d6a070f137ca0ac722eff046a72242f952e756","subject":"carry(incubator): fix(lastcode): keep checkpoint migrations replayable (#95)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/95"],"Carry-Upstream":[],"Carry-Observation":["Thread-tool correlation and annotation upsert compatibility follow their Incubator features. Evidence: The optional latestUserMessageId field supports PR #52's thread wait correlation and the annotation field supports PR #50."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/eb837b1efb24e4022adaaa6e05cfd93b627f201e"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"12c23689cfbb07b7394f751dbed71f7a4951928d","subject":"carry(incubator): fix(lastcode): make checkpoint failures self-reporting (#101)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/101"],"Carry-Upstream":[],"Carry-Observation":["Thread-annotation migration fixture maintenance follows the annotation feature. Evidence: The hunk only advances the annotation migration test fixture after the checkpoint repair."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/0ccb6ec0bd54ebe6c2662458a6ffe9a6acbb457d"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"d09432afece5fba9206fe0d9509cdb0306d8efde","subject":"carry(incubator): fix(lastcode): make checkpoint failures self-reporting (#101)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/101"],"Carry-Upstream":[],"Carry-Observation":["Turn-request correlation migration fixture maintenance follows Codex thread tools. Evidence: The hunk only advances the PR #52 send/wait correlation fixture after the checkpoint repair."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/0ccb6ec0bd54ebe6c2662458a6ffe9a6acbb457d"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"a6b8dc067f5500d62e70fd63e9853fbe4c879763","subject":"carry(incubator): fix(web): improve sidebar and minimap indicator legibility (#113)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/113"],"Carry-Upstream":[],"Carry-Observation":["Annotation minimap contrast and clustered marker rendering follow the Incubator-owned annotation feature. Evidence: These hunks exclusively restyle and test annotation markers in the message minimap; sidebar indicators and their settings remain Legacy Sidebar."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/84380d167b0c6c09be7376e5328506ca4e2c5d87"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"1202adde292e6d00cf8acfbf73de98c567040b51","subject":"carry(incubator): fix(lastcode): validate checkpoint lint before publish (#120)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/120"],"Carry-Upstream":[],"Carry-Observation":["Adaptive cleanup-state colours follow the Incubator-owned mobile worktree-cleanup surface."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/3ea6c456f10ff38aa7f6b3d0d8b4cc54867cd646"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"1407441d4f9d5b00c88199707fb02ed80a30336f","subject":"carry(incubator): fix(lastcode): validate checkpoint lint before publish (#120)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/120"],"Carry-Upstream":[],"Carry-Observation":["Adaptive cleanup-state colour declarations follow the Incubator-owned mobile worktree-cleanup surface."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/3ea6c456f10ff38aa7f6b3d0d8b4cc54867cd646"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"abddc08a7977b330c1cabe46b5bd9200caf6017f","subject":"carry(incubator): fix(lastcode): validate checkpoint lint before publish (#120)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/120"],"Carry-Upstream":[],"Carry-Observation":["Cleanup failed, queued, and deleting colour conversions follow the Incubator-owned mobile cleanup surface."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/3ea6c456f10ff38aa7f6b3d0d8b4cc54867cd646"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"59cdf5258cba62f6e5068617dba6ee14839b6b3d","subject":"carry(incubator): fix(web): make annotation post-it readable (#121)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/121"],"Carry-Upstream":[],"Carry-Observation":["Annotation post-it presentation."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/62bd601b1e2c94eb94c6ed66233517f5ffb2337a"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"f49064aa1c325f96d97f7d78432491c3d39f7e86","subject":"carry(incubator): feat(web): identify cross-thread agent messages (#169)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/169"],"Carry-Upstream":[],"Carry-Observation":["Cross-thread message capability."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/e0e20051ae6e3d782f1daf8e82d697cceb465f5c"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"2f70545896915e687f5b28f81fdada37ad06da12","subject":"carry(incubator): fix(web): keep thread annotation typing responsive (#173)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/173"],"Carry-Upstream":[],"Carry-Observation":["Annotation editor responsiveness."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/286ca605790d31628861468caf474a8ebf60ba38"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"416eb1b64c8d3b75d4e9a5fa5bbce4f8baf4cdf0","subject":"carry(incubator): feat(lastcode): safeguard persistent threads (#178)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/178"],"Carry-Upstream":[],"Carry-Observation":["Persistent thread product capability."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/94389c9600931744389cd12691e5645831a3a12d"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"efdb15c1f90d160f4936f53f39e6cffc1acf6c61","subject":"carry(incubator): feat(lastcode): integrate resumable actions with composer stack (#180)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/180"],"Carry-Upstream":[],"Carry-Observation":["Thread-annotation composer-banner integration follows the Incubator-owned annotation feature. Evidence: These hunks move the annotation post-it into ComposerBannerStack while preserving edit, resolve, dismiss, and pending behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/9a2fc4d9716475a574aa9bf8eec79bced3e457bd"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"6966d2c403767b516b6363d58e3a9b705ccd649c","subject":"carry(incubator): feat(lastcode): integrate resumable actions with composer stack (#180)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/180"],"Carry-Upstream":[],"Carry-Observation":["Separated from a mixed historical contribution by behavioral ownership."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/9a2fc4d9716475a574aa9bf8eec79bced3e457bd"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"24df2793585aa5448f3c7b8eab77adfd7c7713f4","subject":"carry(incubator): fix(lastcode): reconcile nightly 1256 integrations","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Thread-annotation timeline coverage follows the Incubator-owned annotation feature. Evidence: The changed assertions belong to a test introduced by PR #50 with the annotation minimap and its top-fade interaction."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/2f8418eb9c9b87164768bff5f2f0bf1e0ec886e6"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"60f24c6960a968c226f1d91b75f128e6b27abcad","subject":"carry(incubator): fix(lastcode): format nightly 1256 revision","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Electron protocol coverage follows the Incubator-owned LastCode desktop identity feature. Evidence: The format-only hunk changes a test introduced with the LastCode protocol and brand identity; it has no checkpoint/tooling behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/9169a9791ec5add68e31ea59f472f86f32de609f"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"446e321f290b637fef6e0cf3f5d88bb821a16b3a","subject":"carry(incubator): fix(lastcode): reconcile nightly 1262 integrations","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Annotation fixture reconciliation remains with the annotation feature. Evidence: The path's two-line reconciliation only changes its annotation migration fixture."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/646f1b96e0844e7f29232ef1fa753b9bd6288868"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"5307f08b19b94083a44e43ed801261dfd256d844","subject":"carry(incubator): fix(lastcode): reconcile nightly 1262 integrations","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Correlation fixture reconciliation follows Codex thread tools. Evidence: The path's two-line reconciliation only changes the PR #52 send/wait correlation fixture."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/646f1b96e0844e7f29232ef1fa753b9bd6288868"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"d17b547cccfa6d47a3c7dd6f46ba717068c37735","subject":"carry(incubator): fix(lastcode): reconcile nightly 1262 integrations","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Feature-specific migration and UI reconciliation follows the Incubator features that own these paths. Evidence: The 055 and 056 fixtures belong to cross-thread message provenance and persistent-thread safeguards; the UI import cleanups affect annotation and cross-thread-message code introduced by Incubator contributions."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/646f1b96e0844e7f29232ef1fa753b9bd6288868"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"8ef35cea5ba323a9be5f1d7ea91baab870b8efef","subject":"carry(incubator): fix(server): preserve latest user message identity on replay (#182)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/182"],"Carry-Upstream":[],"Carry-Observation":["Server message identity behavior; no existing group."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/a292664c7b7344950cea6a7c7e49425e44afd388"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"c9bcdd87cc26f3ed62ae781a9ee3f9207d244f32","subject":"carry(incubator): fix(lastcode): clean replay migration fixtures","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Annotation fixture cleanup follows the annotation feature. Evidence: The deleted duplicated replay fixture text is exclusively in the annotation migration test."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/204da32488b3eb4dcc6615b20a0d0619085e2ba0"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"b90161fdc1923a750d7e73b95e40767d1d1f565f","subject":"carry(incubator): fix(lastcode): clean replay migration fixtures","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Correlation fixture cleanup follows Codex thread tools. Evidence: The deleted duplicated replay fixture text is exclusively in the PR #52 send/wait correlation migration test."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/204da32488b3eb4dcc6615b20a0d0619085e2ba0"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"1481e9059ccc0f3527cff8ec57b539b5df797941","subject":"carry(incubator): fix(lastcode): carry attachment types into mobile previews","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Mobile attachment preview behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/ae64ed8f9420b128677c80f1adfe2cad4d7eb274"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"70f0bc747510087db74c8d3ab5c70e52351fa1b3","subject":"carry(incubator): fix(lastcode): keep local update builds reproducible (#183)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/183"],"Carry-Upstream":[],"Carry-Observation":["Thread CLI source-context isolation follows the Incubator-owned thread-tools feature. Evidence: The hunk scopes source-thread metadata and wait self-rejection inside the CLI introduced by PR #52 and extended by the cross-thread-message and persistent-thread Incubator contributions."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/6daea8ef0de1c9df9e28b9f90407643d40e7b9e9"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"fdd705bfb158754b03db0d036347e4a55af70c08","subject":"carry(incubator): test(server): preserve settlement activation gate (#185)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/185"],"Carry-Upstream":[],"Carry-Observation":["Settlement activation product behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/52d2b539668e206f104948e6d66600b5d7ce994c"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"24b45b9de1226d798054612b81ca1318c669f4ab","subject":"carry(incubator): fix(server): canonicalize Antigravity file paths (#187)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/187"],"Carry-Upstream":[],"Carry-Observation":["Provider path correctness is upstream-worthy portability. No upstream pull-request provenance is recorded in the source."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/91b12bd3f0f6493f4ce6fe9cd7b8cf491a51b509"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"385a9b944addf1c69ac89b1286ecfef44ceca8ce","subject":"carry(incubator): feat(lastcode): add adjustable larger scrollbars (#190)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/190"],"Carry-Upstream":[],"Carry-Observation":["Cross-surface appearance feature."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/e5237a1fe84d707fef14eb469f8a45bb04da9689"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"0ab21149bd496008529e478c1d368c40ccbe4177","subject":"carry(incubator): feat(threads): show pending agent questions (#191)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/191"],"Carry-Upstream":[],"Carry-Observation":["Pending-question attention capability."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/c6767c5c1b53b93f057e6dbeb6b4467ad3485a45"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"3e21f089097e2cb17ed9bbc0b3833957b14454c0","subject":"carry(incubator): fix(lastcode): reconcile nightly typechecks","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Cross-thread agent-message formatting follows its Incubator feature. Evidence: The indentation-only hunk formats AgentMessageTimelineRow branches introduced by PR #169."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/74680f64e7e90d3007d1e5e77852980a52acc91b"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"e5f7563f643bc152bfe143c54810a45019191b40","subject":"carry(incubator): fix(lastcode): preserve annotation task controls after replay","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Annotation task controls product behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/aea8005a5c3ca42aa16e67cb0cf0e35853aa2605"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"b78d8acbae7320166334343c28a9edaf3fe186c2","subject":"carry(incubator): fix(lastcode): preserve provider thread context after nightly replay","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Provider thread context product behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/e49721a1ace785d285169dd5b8e89c6297e9b8d2"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"8b1aa58db6ff93d78920a32706861033dd87943a","subject":"carry(incubator): fix(lastcode): format checkpoint recovery mock","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Thread-attention coverage follows the Incubator-owned pending-question feature. Evidence: The hunk only formats the MCP handler test introduced by PR #191."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/ecf602b25c9256b5dd170c67fcd69d410aea2bfb"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"7112f43559bc42845dc4044de02ca7bf67b3870f","subject":"carry(incubator): test(server): cover recovered provider thread context","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Provider thread context test."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/4ba5e4de7300b2ad4b366a8da9fc5d6b6c08df9b"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"b09e09d5081a0f3c7b557698b99ff3bdc0cbd6f2","subject":"carry(incubator): test(server): type recovered runtime context fixture","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Provider thread context test fixture."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/43c0c714b57b65d51b3787999cec235b60c321cc"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"d0fa92210843f229314b706f6be456f620619d8b","subject":"carry(incubator): fix(lastcode): repair annotation display and editing (#189)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/189"],"Carry-Upstream":[],"Carry-Observation":["Annotation display and editing capability."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/6c4e502b65e0b39039d9fcc02a470624bb858329"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"4ba5073af76a03932ffb55579bab190a1df4c6ac","subject":"carry(incubator): fix(desktop): pick annotations inside same-origin iframes (#192)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/192"],"Carry-Upstream":[],"Carry-Observation":["Browser annotation capture capability."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/67ff1143d5e1982b1f4abcb821ea781669b6999e"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"f46ad24a1c91c23c3c5f71e7d1ad84f54cba8a49","subject":"carry(incubator): fix(server): return terminal history text after nightly rebase","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Terminal history behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/135d3d0f3ae22b3e8fb8aa5cfec8eaae9fdd2b7b"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"c4f2d71e064149356e0ebe2247666cfcebf4d2f8","subject":"carry(incubator): test(server): make local build fixtures portable (#196)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/196"],"Carry-Upstream":[],"Carry-Observation":["Provider test portability is upstream-worthy. No upstream pull-request provenance is recorded in the source."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/e1badc5cb231f6babcada2e17ab2d1cacf47e7bc"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"9f1dc4a82aee875d6c5939d946d6d75134a01604","subject":"carry(incubator): fix(desktop): capture same-origin iframe annotations reliably (#198)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/198"],"Carry-Upstream":[],"Carry-Observation":["Browser annotation capture across desktop/mobile."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/93ccbecb0977abae25a9739e57cec4d6cbe441c4"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"63b2f3ea05445e2cb5cc91617b239ac1029489f8","subject":"carry(incubator): fix(mobile): use current duration formatter for working row (#199)","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/199"],"Carry-Upstream":[],"Carry-Observation":["Mobile thread presentation formatting."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/0b29e6523e510323b925596dc42dc179f7730bf0"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"9c6ecb9148fb99cd82ce229f05801203f198ce65","subject":"carry(incubator): compile surviving shared release guidance","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Synthetic bootstrap-only shared-guide slice; docs/lastcode/nightly-workflow.md: 20 surviving lines; docs/lastcode/release.md: 0 surviving lines."],"Carry-Evidence":["4156900a2d0257b783351b7902a0cd58b9d01cf4"],"Carry-Applies-To":["upstream 8d3c56b; frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"240d3c552ecefac40380105347728655954bc968","subject":"carry(incubator): handle aliased scanner exclusion roots","group":"incubator","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/206"],"Carry-Upstream":[],"Carry-Observation":["The server scanner recognizes both configured and filesystem-resolved sandbox roots so an aliased configuration path cannot expose managed worktrees as importable projects. Its focused regression test belongs with that scanner behavior."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/0a95a19d07801c1173a6ad182b70e2d879a4985e"],"Carry-Applies-To":["upstream f8b4c46 (v0.0.39-nightly.20260905.1290); historical source 42e0e48"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"a58dec0375f3bb24cf8d457fc4676bbb7f98d29d","subject":"fix(lastcode): separate upstream and fork migration histories","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Keep upstream migration IDs untouched; the LastCode ledger must survive complete checkpoint reconstruction."],"Carry-Evidence":[],"Carry-Applies-To":[],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"363065fd40b7071de9fa004d0356d60c207ee1cf","subject":"fix(desktop): show failures when the server exits before startup","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Preserve visible diagnostic errors for asynchronous backend startup failures; repeated automatic retries must not cause repeated dialogs."],"Carry-Evidence":[],"Carry-Applies-To":[],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"0c68ab0285e54610a081d5119b58adcc96dd41f0","subject":"fix(web): keep annotation timestamp helper private","group":"incubator","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["Remove the unused export flagged by the required GitHub export check; local callers and behavior are unchanged."],"Carry-Evidence":[],"Carry-Applies-To":[],"Carry-Supersedes":[]}}


Picking inside a same-origin iframe preserved the annotation but could lose its screenshot. The desktop passed a rectangle in page CSS pixels directly to Electron's native crop API. In a zoomed guest, that can select the wrong area, truncate the image, or fail with
UnknownVizError.Capture the complete guest surface, then map the CSS rectangle into the image before cropping. Preserve fractional coordinates until image rounding, clip iframe selections to their surrounding scroll panels while respecting positioned containing blocks, and retain the existing annotation delivery, cancellation, and screenshot failure fallback. No IPC schema or security settings change; cross-origin picking remains unsupported.
Validation: 169 focused tests, scoped desktop typecheck and lint, plus the actual Template Editor in an isolated Electron webview using the production picker and capture helper. Native capture passes for a normal Facsimile selection, iframe scrolling, and surrounding-panel scrolling. The synthetic native regression reproduces
UnknownVizErrorwith the former crop call and verifies the fixed PNG contains the selected target. Existing Chromium picking, frame navigation, cleanup, and annotation packaging checks pass.The installed app reproduced the original warning. It has not been modified or restarted; corrected native capture was verified in the isolated runtime. Template Editor evidence remains private; public evidence uses a synthetic same-origin iframe.
CI repair: the mobile cold-highlighting comparison freezes and restores its clock so Shiki’s tokenization budget cannot make identical input produce different token boundaries under runner load. Production mobile behavior is unchanged; all five focused highlighting tests pass.
Implemented with GPT-6 in the Codex harness.