Repository navigation
Integrate complete #1398 lifecycle on latest main - #225
Conversation
Why: user, member, connector, plugin and notification inputs must share persisted target and policy identity, one Queue owner and exact execution receipts. Fold reviewed send, Redis array preservation, preparing-client readiness and formal regressions into the final backend implementation. Reviewed-source: fdce1bc Reviewed-tree: 6babe29
Why: reviewers need the final common send/admission and per-target Queue contract, accurate guidance and independent reading evidence. Retire new process records from the product diff. Preserve the baseline done feature status separately from PR release state and remove the reopened activity row introduced by this PR. Reviewed-source: 1a766ee76cffabfcc549182603fab0fca7711f1c Independent-review: astra task300/source073 Mechanical-status-source: bf8061cef2dc093028dc3e7f900fa16ba3ea3c6d (operator087) Published-tree: 6d488a9 [砚砚/gpt-6.1-sol🐾]
Why: source recipient avatars and appended-input previews describe the same dispatch from different perspectives. Share exact receipt state and event time, preserve the role-specific names/content, and wire native first-input consumption into the existing durable observation path. Duplicate/late evidence preserves the first read time and never controls delivery or Stop.
Why: a settlement carrying an existing pending read receipt must follow the normal execution transition. Only initialization of a missing receipt is presentation-only. Keep late read evidence and first-read time intact after settlement; cover the QueueProcessor CI counterexample and the exact metadata transition.
Why: Preserve the zts212653#1584 public snapshot and its new business and UI capabilities while routing every producer through zts212653#1398 atomic send and the single persistent Queue. Retire superseded custody and compensation paths instead of restoring them, retain stable first-message retries and private audiences, and include exact native first-input read receipts. Base: 0fc7e37 (zts212653#1584 merged) Reference: 922ea0a1db630cab411f75e161ba46ea848ea12a (local capability migration) Receipt successor: d77c4f7 (zts212653#1398) [砚砚/gpt-6.1-sol🐾] Thread-Context: threadId=thread_msr51149hym0i79f invocationId=1239f4ff-2c89-48af-828a-e7332a25c6b4 catId=cat-eqdvbcxw
…ence Why: a concurrent winner can retire its pending Queue row before the producer adapter resumes, so the common send replay must acknowledge the original durable message rather than report unavailable. Live inbox read facts likewise require independent inputRead evidence instead of response membership. Migrate formal producer, SDK, preview and projection tests to the canonical send, sender identity and exact-parent policies while retaining audience and authority checks. Continues task300/source834 on actual zts212653#1584 merged base; no runtime, fork deployment or legacy custody recovery changes.
Why: the original PR history remains an ancestor of the published successor, while the validated rebuild already reconciles its complete lifecycle and receipt changes with the actual zts212653#1584 merged baseline. This merge records that continuity without changing any file in the approved candidate. Approved candidate: 7072f8f; tree f5e0a6a. Previous public HEAD d77c4f7; merged baseline 0fc7e37. Astra approval source860, original task300. No runtime or fork deployment changes.
Why: private carriers intentionally lack public response references. Resolve their witnesses from scoped durable execution records without exposing private identities or restoring queue compensation. Preserve full authorized callback bodies and owner-visible search, and migrate retired test consumers to the single send/Queue/History contract. Authored-by: 砚砚 / gpt-6.1-sol
Why: private review returns accepted by common Append were included in public response inputMessageIds, while rejection and native read paths depended on that public projection. Apply the existing whisper boundary to durable Append metadata and failures; retain exact internal execution binding for read receipts and terminal source settlement. Validate: API build, 134 compiled regression tests including owned Redis reopen, and pnpm check passed. Actual private callback acceptance and independent Astra review follow before publication.
Why: route terminal output can restore a private causal trigger filtered at admission. Project reply references from admitted public inputs while retaining raw owner execution facts. Provider done can precede response commit, so retain exact accepted inputs in the existing execution list before tracker retirement and settle only matching source refs after terminal persistence. Validate: compiled regression matrix and pnpm check passed. Fresh native private callback and play-mode reader acceptance follows before independent review or publication.
Why: The rebuilt PR combines a new main presentation with accepted fork A2A interactions. Record the exact three-way source cuts, preserved capabilities and classic UI gaps before changing shared presentation components, and distinguish restored behavior from new operator requests. This changes documentation only; v2 redesign and runtime/fork rebuild remain deferred until the requested classic acceptance. [砚砚/gpt-6.1-sol🐾] Thread-Context: threadId=thread_msr51149hym0i79f invocationId=7484b3b9-8925-412b-89c1-e3a5c9ed3021 catId=cat-eqdvbcxw
Why: Match the accepted develop_base classic composer and remove the reintroduced duplicate progress header. Expand truncated source previews in place and follow each source theme without changing delivery facts or the v2 menu and reading actions. Validation: 118 focused Web tests, Web typecheck, scoped Biome, and a headless real-component overflow/theme/menu journey. Full product UI acceptance and independent review follow on this exact candidate. [砚砚/gpt-6.1-sol🐾]
Why: The actual classic page showed expanded provenance consuming the author row and truncating the member name to one character. Let classic metadata wrap and put expanded source text on its own left-aligned row with the existing preview text size. Keep the v2 source action unchanged. Validation: 118 focused regressions, Web types, scoped Biome and the actual pre-fix layout screenshot; exact successor page proof follows. [砚砚/gpt-6.1-sol🐾]
Why: Stored reply previews contain only a short excerpt, so enlarging the pill still hid most of the source after refresh. Keep the excerpt while collapsed and supply full text from the unique source in the authorized timeline of the rendered thread. Recalled/deleted previews, ambiguous or missing sources, and another thread store never supply the body. The v2 preview and direct navigation stay unchanged. Validation: exact-body red/green, 126 focused tests, Web types, scoped Biome and frontmatter. Actual full-body rendering follows on the frozen revision. No backend or runtime configuration changed. [砚砚/gpt-6.1-sol🐾]
Why: Compact human rows reuse the legacy header even in v2, so the new wrap behavior must be gated by the presentation switch. Keep its v2 layout intact while retaining the validated classic full-source row. The browser proof requires an explicit installed driver instead of referring to the retired ppt-forge package. Validation: 126 focused tests, Web types, scoped Biome/frontmatter and the configured headless component journey. Actual classic/full-source UI is proven at 26d6eb9; final build identity remains to be renewed. [砚砚/gpt-6.1-sol🐾]
Why: retain upstream border-box and pane-width sizing while remeasuring the actual guidance or whisper placeholder after it changes. Preserve the reviewed classic parity and single Queue contract; keep F308 rerun-artifact evidence selection in its owning workstream.
Why: operator screenshots show that classic retained new-shell action placement. Keep source before trajectory and speech inside the existing message action strip, with the runtime copy/reply/select/branch/delete order. Retain native trajectory access and v2 ownership. Document main capability migration into the single zts212653#1398 send and Queue contract without restoring retired state.
Why: Append privacy projection and terminal settlement are existing F117 responsibilities; the integration map must not describe their implementation gaps as new main mechanisms.
Why: the portaled action sheet reused the author-row absolute positioning, overlapping its heading and first control. Preserve the desktop slot and v2 while placing classic sheet controls in normal flow and wrapping narrow rows.
|
Exact-source merge gate for this fork PR:
Five-axis behavior/data/security/contract risks remain as described in the PR. Source rollback is available through the retained7adb backup; no persistent data migration/deletion is performed. No new source or independent judgment is introduced by this carrier step, so cloudReview=not-selected: the existing stateful independent review chain and exact-head validation cover this unchanged candidate. This is a normal complete-feature integration, not a temporary hotfix or a Feature completion verdict. Fork Git source may land. Runtime checkout remains7adb and live=dormant for this candidate; no checkout update/restart is included. Runtime acceptance and fork soak remain pending. Preserve the original head branch used by upstream Draft zts212653#1398. |
Why: fork #225 squashed the already reviewed e775 tree. Preserve the original zts212653#1398 branch while making follow-up PRs against develop_base show only the three-file Steer feedback increment. The resulting tree must remain identical to reviewed 0fbf196. # Conflicts: # packages/web/src/components/__tests__/queue-panel-steer.test.ts # packages/web/src/components/execution-row/queue-toast-copy.ts # packages/web/src/components/useQueueActionConvergence.ts
* refactor(F117): unify durable message admission and execution Why: user, member, connector, plugin and notification inputs must share persisted target and policy identity, one Queue owner and exact execution receipts. Fold reviewed send, Redis array preservation, preparing-client readiness and formal regressions into the final backend implementation. Reviewed-source: fdce1bc Reviewed-tree: 6babe29 * feat(web): render canonical delivery feedback and member guidance Why: the console must project the same source, response and execution identities as the backend. Keep delivery/read receipts, capability guidance, exact Stop and Steer convergence together with their consumer tests. Reviewed-source: fdce1bc Reviewed-tree: 6babe29 * docs(F117): align final delivery and ownership contracts Why: reviewers need the final common send/admission and per-target Queue contract, accurate guidance and independent reading evidence. Retire new process records from the product diff. Preserve the baseline done feature status separately from PR release state and remove the reopened activity row introduced by this PR. Reviewed-source: 1a766ee76cffabfcc549182603fab0fca7711f1c Independent-review: astra task300/source073 Mechanical-status-source: bf8061cef2dc093028dc3e7f900fa16ba3ea3c6d (operator087) Published-tree: 6d488a9 [砚砚/gpt-6.1-sol🐾] * fix: unify receipt tooltips and observe first-input reads Why: source recipient avatars and appended-input previews describe the same dispatch from different perspectives. Share exact receipt state and event time, preserve the role-specific names/content, and wire native first-input consumption into the existing durable observation path. Duplicate/late evidence preserves the first read time and never controls delivery or Stop. * fix: preserve input settlement with pending read receipts Why: a settlement carrying an existing pending read receipt must follow the normal execution transition. Only initialization of a missing receipt is presentation-only. Keep late read evidence and first-read time intact after settlement; cover the QueueProcessor CI counterexample and the exact metadata transition. * feat(F117): rebuild unified delivery on merged source baseline Why: Preserve the zts212653#1584 public snapshot and its new business and UI capabilities while routing every producer through zts212653#1398 atomic send and the single persistent Queue. Retire superseded custody and compensation paths instead of restoring them, retain stable first-message retries and private audiences, and include exact native first-input read receipts. Base: 0fc7e37 (zts212653#1584 merged) Reference: 922ea0a1db630cab411f75e161ba46ea848ea12a (local capability migration) Receipt successor: d77c4f7 (zts212653#1398) [砚砚/gpt-6.1-sol🐾] Thread-Context: threadId=thread_msr51149hym0i79f invocationId=1239f4ff-2c89-48af-828a-e7332a25c6b4 catId=cat-eqdvbcxw * fix(F117): acknowledge retired producer replays and require read evidence Why: a concurrent winner can retire its pending Queue row before the producer adapter resumes, so the common send replay must acknowledge the original durable message rather than report unavailable. Live inbox read facts likewise require independent inputRead evidence instead of response membership. Migrate formal producer, SDK, preview and projection tests to the canonical send, sender identity and exact-parent policies while retaining audience and authority checks. Continues task300/source834 on actual zts212653#1584 merged base; no runtime, fork deployment or legacy custody recovery changes. * fix(a2a): complete private witnesses and canonical message projections Why: private carriers intentionally lack public response references. Resolve their witnesses from scoped durable execution records without exposing private identities or restoring queue compensation. Preserve full authorized callback bodies and owner-visible search, and migrate retired test consumers to the single send/Queue/History contract. Authored-by: 砚砚 / gpt-6.1-sol * fix(a2a): keep private append identity out of public responses Why: private review returns accepted by common Append were included in public response inputMessageIds, while rejection and native read paths depended on that public projection. Apply the existing whisper boundary to durable Append metadata and failures; retain exact internal execution binding for read receipts and terminal source settlement. Validate: API build, 134 compiled regression tests including owned Redis reopen, and pnpm check passed. Actual private callback acceptance and independent Astra review follow before publication. * fix(a2a): preserve admitted public references and private settlement Why: route terminal output can restore a private causal trigger filtered at admission. Project reply references from admitted public inputs while retaining raw owner execution facts. Provider done can precede response commit, so retain exact accepted inputs in the existing execution list before tracker retirement and settle only matching source refs after terminal persistence. Validate: compiled regression matrix and pnpm check passed. Fresh native private callback and play-mode reader acceptance follows before independent review or publication. * docs(f117): map classic A2A frontend parity from develop_base Why: The rebuilt PR combines a new main presentation with accepted fork A2A interactions. Record the exact three-way source cuts, preserved capabilities and classic UI gaps before changing shared presentation components, and distinguish restored behavior from new operator requests. This changes documentation only; v2 redesign and runtime/fork rebuild remain deferred until the requested classic acceptance. [砚砚/gpt-6.1-sol🐾] Thread-Context: threadId=thread_msr51149hym0i79f invocationId=7484b3b9-8925-412b-89c1-e3a5c9ed3021 catId=cat-eqdvbcxw * fix(f117): restore classic A2A presentation and source expansion Why: Match the accepted develop_base classic composer and remove the reintroduced duplicate progress header. Expand truncated source previews in place and follow each source theme without changing delivery facts or the v2 menu and reading actions. Validation: 118 focused Web tests, Web typecheck, scoped Biome, and a headless real-component overflow/theme/menu journey. Full product UI acceptance and independent review follow on this exact candidate. [砚砚/gpt-6.1-sol🐾] * fix(f117): keep author details readable during source expansion Why: The actual classic page showed expanded provenance consuming the author row and truncating the member name to one character. Let classic metadata wrap and put expanded source text on its own left-aligned row with the existing preview text size. Keep the v2 source action unchanged. Validation: 118 focused regressions, Web types, scoped Biome and the actual pre-fix layout screenshot; exact successor page proof follows. [砚砚/gpt-6.1-sol🐾] * fix(f117): expand the exact authorized source body in classic Why: Stored reply previews contain only a short excerpt, so enlarging the pill still hid most of the source after refresh. Keep the excerpt while collapsed and supply full text from the unique source in the authorized timeline of the rendered thread. Recalled/deleted previews, ambiguous or missing sources, and another thread store never supply the body. The v2 preview and direct navigation stay unchanged. Validation: exact-body red/green, 126 focused tests, Web types, scoped Biome and frontmatter. Actual full-body rendering follows on the frozen revision. No backend or runtime configuration changed. [砚砚/gpt-6.1-sol🐾] * sync: cat-cafe 2c7987ca2bf5 → clowder-ai (daily draft) Why: keep one reviewable draft current with the checked public export. Daily-Public-Sync: v1 Source-Commit: 2c7987ca2bf538aa806ff0f8ddb6fbeb6c5f929d Public-Base: 0fc7e37 [小星星·砚砚/GPT-6-astra🐾] * fix(f117): fence classic wrapping from compact v2 presentation Why: Compact human rows reuse the legacy header even in v2, so the new wrap behavior must be gated by the presentation switch. Keep its v2 layout intact while retaining the validated classic full-source row. The browser proof requires an explicit installed driver instead of referring to the retired ppt-forge package. Validation: 126 focused tests, Web types, scoped Biome/frontmatter and the configured headless component journey. Actual classic/full-source UI is proven at 26d6eb9; final build identity remains to be renewed. [砚砚/gpt-6.1-sol🐾] * fix(web): restore classic author and action strip parity Why: operator screenshots show that classic retained new-shell action placement. Keep source before trajectory and speech inside the existing message action strip, with the runtime copy/reply/select/branch/delete order. Retain native trajectory access and v2 ownership. Document main capability migration into the single zts212653#1398 send and Queue contract without restoring retired state. * docs: distinguish A2A private fixes from main capability migration Why: Append privacy projection and terminal settlement are existing F117 responsibilities; the integration map must not describe their implementation gaps as new main mechanisms. * fix(web): keep classic compact actions below the sheet heading Why: the portaled action sheet reused the author-row absolute positioning, overlapping its heading and first control. Preserve the desktop slot and v2 while placing classic sheet controls in normal flow and wrapping narrow rows. * Integrate complete zts212653#1398 lifecycle on latest main (#225) * refactor(F117): unify durable message admission and execution Why: user, member, connector, plugin and notification inputs must share persisted target and policy identity, one Queue owner and exact execution receipts. Fold reviewed send, Redis array preservation, preparing-client readiness and formal regressions into the final backend implementation. Reviewed-source: fdce1bc Reviewed-tree: 6babe29 * feat(web): render canonical delivery feedback and member guidance Why: the console must project the same source, response and execution identities as the backend. Keep delivery/read receipts, capability guidance, exact Stop and Steer convergence together with their consumer tests. Reviewed-source: fdce1bc Reviewed-tree: 6babe29 * docs(F117): align final delivery and ownership contracts Why: reviewers need the final common send/admission and per-target Queue contract, accurate guidance and independent reading evidence. Retire new process records from the product diff. Preserve the baseline done feature status separately from PR release state and remove the reopened activity row introduced by this PR. Reviewed-source: 1a766ee76cffabfcc549182603fab0fca7711f1c Independent-review: astra task300/source073 Mechanical-status-source: bf8061cef2dc093028dc3e7f900fa16ba3ea3c6d (operator087) Published-tree: 6d488a9 [砚砚/gpt-6.1-sol🐾] * fix: unify receipt tooltips and observe first-input reads Why: source recipient avatars and appended-input previews describe the same dispatch from different perspectives. Share exact receipt state and event time, preserve the role-specific names/content, and wire native first-input consumption into the existing durable observation path. Duplicate/late evidence preserves the first read time and never controls delivery or Stop. * fix: preserve input settlement with pending read receipts Why: a settlement carrying an existing pending read receipt must follow the normal execution transition. Only initialization of a missing receipt is presentation-only. Keep late read evidence and first-read time intact after settlement; cover the QueueProcessor CI counterexample and the exact metadata transition. * feat(F117): rebuild unified delivery on merged source baseline Why: Preserve the zts212653#1584 public snapshot and its new business and UI capabilities while routing every producer through zts212653#1398 atomic send and the single persistent Queue. Retire superseded custody and compensation paths instead of restoring them, retain stable first-message retries and private audiences, and include exact native first-input read receipts. Base: 0fc7e37 (zts212653#1584 merged) Reference: 922ea0a1db630cab411f75e161ba46ea848ea12a (local capability migration) Receipt successor: d77c4f7 (zts212653#1398) [砚砚/gpt-6.1-sol🐾] Thread-Context: threadId=thread_msr51149hym0i79f invocationId=1239f4ff-2c89-48af-828a-e7332a25c6b4 catId=cat-eqdvbcxw * fix(F117): acknowledge retired producer replays and require read evidence Why: a concurrent winner can retire its pending Queue row before the producer adapter resumes, so the common send replay must acknowledge the original durable message rather than report unavailable. Live inbox read facts likewise require independent inputRead evidence instead of response membership. Migrate formal producer, SDK, preview and projection tests to the canonical send, sender identity and exact-parent policies while retaining audience and authority checks. Continues task300/source834 on actual zts212653#1584 merged base; no runtime, fork deployment or legacy custody recovery changes. * fix(a2a): complete private witnesses and canonical message projections Why: private carriers intentionally lack public response references. Resolve their witnesses from scoped durable execution records without exposing private identities or restoring queue compensation. Preserve full authorized callback bodies and owner-visible search, and migrate retired test consumers to the single send/Queue/History contract. Authored-by: 砚砚 / gpt-6.1-sol * fix(a2a): keep private append identity out of public responses Why: private review returns accepted by common Append were included in public response inputMessageIds, while rejection and native read paths depended on that public projection. Apply the existing whisper boundary to durable Append metadata and failures; retain exact internal execution binding for read receipts and terminal source settlement. Validate: API build, 134 compiled regression tests including owned Redis reopen, and pnpm check passed. Actual private callback acceptance and independent Astra review follow before publication. * fix(a2a): preserve admitted public references and private settlement Why: route terminal output can restore a private causal trigger filtered at admission. Project reply references from admitted public inputs while retaining raw owner execution facts. Provider done can precede response commit, so retain exact accepted inputs in the existing execution list before tracker retirement and settle only matching source refs after terminal persistence. Validate: compiled regression matrix and pnpm check passed. Fresh native private callback and play-mode reader acceptance follows before independent review or publication. * docs(f117): map classic A2A frontend parity from develop_base Why: The rebuilt PR combines a new main presentation with accepted fork A2A interactions. Record the exact three-way source cuts, preserved capabilities and classic UI gaps before changing shared presentation components, and distinguish restored behavior from new operator requests. This changes documentation only; v2 redesign and runtime/fork rebuild remain deferred until the requested classic acceptance. [砚砚/gpt-6.1-sol🐾] Thread-Context: threadId=thread_msr51149hym0i79f invocationId=7484b3b9-8925-412b-89c1-e3a5c9ed3021 catId=cat-eqdvbcxw * fix(f117): restore classic A2A presentation and source expansion Why: Match the accepted develop_base classic composer and remove the reintroduced duplicate progress header. Expand truncated source previews in place and follow each source theme without changing delivery facts or the v2 menu and reading actions. Validation: 118 focused Web tests, Web typecheck, scoped Biome, and a headless real-component overflow/theme/menu journey. Full product UI acceptance and independent review follow on this exact candidate. [砚砚/gpt-6.1-sol🐾] * fix(f117): keep author details readable during source expansion Why: The actual classic page showed expanded provenance consuming the author row and truncating the member name to one character. Let classic metadata wrap and put expanded source text on its own left-aligned row with the existing preview text size. Keep the v2 source action unchanged. Validation: 118 focused regressions, Web types, scoped Biome and the actual pre-fix layout screenshot; exact successor page proof follows. [砚砚/gpt-6.1-sol🐾] * fix(f117): expand the exact authorized source body in classic Why: Stored reply previews contain only a short excerpt, so enlarging the pill still hid most of the source after refresh. Keep the excerpt while collapsed and supply full text from the unique source in the authorized timeline of the rendered thread. Recalled/deleted previews, ambiguous or missing sources, and another thread store never supply the body. The v2 preview and direct navigation stay unchanged. Validation: exact-body red/green, 126 focused tests, Web types, scoped Biome and frontmatter. Actual full-body rendering follows on the frozen revision. No backend or runtime configuration changed. [砚砚/gpt-6.1-sol🐾] * fix(f117): fence classic wrapping from compact v2 presentation Why: Compact human rows reuse the legacy header even in v2, so the new wrap behavior must be gated by the presentation switch. Keep its v2 layout intact while retaining the validated classic full-source row. The browser proof requires an explicit installed driver instead of referring to the retired ppt-forge package. Validation: 126 focused tests, Web types, scoped Biome/frontmatter and the configured headless component journey. Actual classic/full-source UI is proven at 26d6eb9; final build identity remains to be renewed. [砚砚/gpt-6.1-sol🐾] * fix(web): restore classic author and action strip parity Why: operator screenshots show that classic retained new-shell action placement. Keep source before trajectory and speech inside the existing message action strip, with the runtime copy/reply/select/branch/delete order. Retain native trajectory access and v2 ownership. Document main capability migration into the single zts212653#1398 send and Queue contract without restoring retired state. * docs: distinguish A2A private fixes from main capability migration Why: Append privacy projection and terminal settlement are existing F117 responsibilities; the integration map must not describe their implementation gaps as new main mechanisms. * fix(web): keep classic compact actions below the sheet heading Why: the portaled action sheet reused the author-row absolute positioning, overlapping its heading and first control. Preserve the desktop slot and v2 while placing classic sheet controls in normal flow and wrapping narrow rows. * fix(web): report queued Steer results using current client state Why: HTTP 200 can mean the exact guidance input remains pending during native client startup. Consume that result and reconcile Queue before showing thread-scoped feedback, without claiming Append or read acceptance or retaining a stale wait notice after drain. * fix(web): preserve saved Steer outcome when Queue refresh disconnects Why: a rejected Queue GET is a read failure after the guidance request was saved. Return the existing refresh-failed result without misreporting a failed submission or inviting a duplicate retry; retain POST failures as errors. * fix(web): preserve accepted steer intent after follow-up disconnect Why: target mapping persists intent and wakes Queue before the per-target request. A lost follow-up must not report the accepted input as failed or skip the remaining targets; interruption itself stays unconfirmed. * fix(a2a): execute Steer through one Queue operation Why: Console split one Steer into target persistence and per-target execution requests, duplicating backend orchestration and obscuring partial delivery. Run existing guide or claimed interruption from the target request, report the durable handoff before advancing siblings, and share transport feedback without retrying mutations. Author: astra / gpt-6-astra * fix(a2a): advance Steer targets at Queue handoff Why: The combined guide request waited for each native ACK after its Queue claim had already been released, blocking ready siblings. Observe the existing durable handoff to advance targets while retaining every final result and target-specific rejection facts. Cover slow acceptance, rejection and thrown dispatch without adding delivery state. Author: astra / gpt-6-astra * fix: retain visible canceled response mentions and validate Redis test leases Why: canceling outbound execution does not retract a published response. Match Redis mention publication to the canonical predicate while preserving excluded sources and acknowledgment boundaries. Exercise real owned runner leases instead of treating an isolated flag as authority. Validation: canceled-response parity and isolation-consumer red/green; 232 API tests passed (6 skipped), 86 isolated Redis passed, API/MCP build and governance passed. Full check and exact four-product builds follow this commit before non-author review. [astra/gpt-6-astra🐾] * test(api): align cursor read regression with mention handling result Why: the delivered read endpoint reports handledMention alongside advanced and caughtUp. Five successful owner-read assertions still expected the older JSON shape, causing exact public candidate 2d3 CI failures. Preserve every existing owner, mutable-stream and cursor guard; require handledMention=false where no user request was handled. The original five failures and 20-test passing rerun are archived. This is a test-only save of the frozen feature, not a new public export or runtime change. [砚砚/gpt-6.1-sol🐾] * fix(test): retain bounded cleanup scan failure evidence Why: Linux CI returns cleanup=unknown after a successful isolated Redis lease probe, but discards the scanner failure before the runner can report it. Preserve safe operation/code/PID evidence without error text, environment bytes or child stderr. Unknown cleanup still fails immediately. Diagnostic only: the original Linux CI cause remains unconfirmed. [astra/gpt-6-astra🐾] * fix(ci): bound public test cleanup to an isolated PID domain Why: Linux cleanup scans same-UID procfs entries, while the public lane previously isolated only networking. Real CI encounters EACCES on a host visible PID after the owned Redis lease probe succeeds. Create a fresh PID namespace and matching private procfs before dropping privileges, rather than treating unreadable processes as absent. Retain the protected network receipt, privilege checks, token cleanup and failure policy. Add native Linux boundary, denied-process, detached-child and monitor-death regressions. Local macOS checks pass; native Linux execution remains a CI requirement, not a locally proven fix of the original failure. [astra/gpt-6-astra🐾] * fix(ci): preserve parent-death signal across runner credential drop Why: changing UID/GID clears unshare parent-death SIGKILL, so a killed monitor could leave the isolated test process domain alive. Ask setpriv to restore the signal, probe the actual unprivileged PID 1, and reclaim the birth-identified test init even when the teardown assertion fails. Native Linux tests remain a CI requirement; macOS validation is not claimed as native evidence. Author: Astra / cat-xlbldqjc / gpt-6-astra * fix(mcp): bind completion cutover to the delivered target Why: formal zts212653#1600 already retired run_task_test, so the current target delta removes only the three completion tools. Declare that exact delta and matching layer evidence, while testing that all four tools remain absent from the canonical registry. Official generation and both fixed-7b and default checks pass; validator and A2A behavior are unchanged. Author: Astra / cat-xlbldqjc / gpt-6-astra * fix: verify Linux terminal processes and namespace identities Why: isolated Linux CI rejected legal namespace-zero coordinates and could not distinguish a fully exited execution from unreadable live processes. Require same-birth complete terminal-thread evidence, retain fail-closed cleanup, and migrate the removed carrier test to the current remote cancellation capability. Add native lease and thread-group probes without changing the 1398 A2A lifecycle. * fix: reap adopted children in isolated public test domains Why: b188 Linux shards retain descendant presence after termination because the shard runtime occupies PID 1 without an orphan reaper. Keep an unprivileged supervisor at PID 1, preserve command status and kernel teardown, and compare the old topology with the new one using bounded process facts. Production A2A and process ownership predicates remain unchanged. Native Linux validation remains pending CI. --------- Co-authored-by: 小星星·砚砚 (GPT-6-astra) <codex-astra@cat-cafe.local> Co-authored-by: lang <lang@langdeMacBook-Pro.local>
Integrate the complete upstream PR zts212653#1398 candidate into the fork, using the exact same source branch and HEAD as the upstream PR. Operator accepted the classic experience and explicitly directed this sequence: align develop_base to latest main, then merge the original1398 branch through a fork PR.
dc582b899ebdcb6f7bb3c6abf2eb81090f8c1c3d(sync: refresh public source snapshot zts212653/clowder-ai#1584/fix: Windows project labels and composer autosizing zts212653/clowder-ai#1587 already included).feat/F117-1354-message-delivery-lifecycle, exacte77577e1ffe238838e774a766fd4a9a0ff53e955, tree8b22386924e5a7fdc1c7db19cb610c9a9df0fc7f— unchanged from upstream #1398.7adb57dfa6cfa3465e3a009a67b48f0cc44d23c6is retained at remotebackup/develop-base-before-1398-20261013. The alignment used an exact-old-head lease; no unrelated concurrent update was overwritten.Validation/review reuse is exact-HEAD, not similarity: independent Astra approved e775's four-file final increment, with154/154 Web regressions, complete pnpmcheck, four exact build stamps and actual classic/v2 page proofs. Earlier independent audits cover the same complete1398 source chain, including private callback/reference/read/settlement and concurrent replay fixes. Upstream exact-e775 GitHub CI has16success+1plannedskip. Operator classic acceptance: original thread source1741; workflow correction: source1758. Fork checks, if any, remain their own provider truth.
Five-axis risk: behavior high (single send/Queue lifecycle); data high (durable source/response/reference semantics); security high (private audience and exact native read ownership); contract high (all input consumers use the common owners); irreversible bounded by retained old Git source and reversible source rollout, with no runtime data deletion or migration executed by this PR. Existing independent source reviews and exact-head checks are retained; this fork step does not prove historical-state/mixed-version/off-mode or seven-day upstream witness, and does not approve upstream merge.
Running checkout remains at7adb57dfa6; its configuration, data and processes are untouched. This PR updates Git source only. Operator chooses the eventual checkout update/restart; fork soak begins only on actual deployment. Keep the original1398 branch after merge because upstream1398 still uses it. Upstream PR remains Draft pending its own maintainer acceptance and remaining version-bound evidence.
Local review: astra/gpt-6-astra, approved exacte775 in message0001791869509585-001725-18e61d14. Author: sol/gpt-6.1-sol. Provenance: originaltask300 / thread_msr51149hym0i79f / user0001791873323583-001758-508820b7.