Skip to content

refactor(f117): unify message send admission and Queue delivery - #222

Merged
mindfn merged 10 commits into
develop_basefrom
fix/f117-append-receipt-feedback
Oct 10, 2026
Merged

mindfn merged 10 commits into
develop_basefrom
fix/f117-append-receipt-feedback

Conversation

@mindfn

@mindfn mindfn commented Oct 10, 2026 •

Copy link
Copy Markdown
Owner

Change

Authenticated user, member, IM, email, plugin and persisted-notification entrances share send/admission: resolve targets, snapshot explicit intent or thread/global/product defaults, atomically persist Message + Queue, and notify one drain. Same-ID retries retain their original targets/policy. Drain preserves per-target FIFO without native Append ACKs blocking unrelated members. Ordinary unmatched prose @ text creates no warning and uses existing fallback; exact A2A and whisper recipients keep their identity/authorization boundaries. The short hint names active guide-capable members only.

Validation

Independent production approval remains bound to fd01f6fe / source 0001791626250471-000308-ed684312: 364/364 regression and unchanged whisper reproducer/control 3/3. Subsequent CI corrections change tests only. Latest author validation: four callback/Queue files 105/105 and an expanded serial regression of 138 affected-lane files 1787/1787 (overlap not added). The last failure expected callback producers to invoke Append directly; the corrected regression preserves exact targets, forbids availability/producer-Append calls, and verifies one shared-drain notification. Production code and performance thresholds are unchanged. Logs and reproducers remain outside the PR.

Corresponding upstream product HEAD 80ab8dafcb94a309bf5c4afbb61633225d879f6e passed 16 checks with 1 planned bootstrap skip (CI run38048372987; Windows run38048373021). This fork HEAD has no separate check runs; normalized product tree equality was verified while retaining accepted #221 plugin/baseline differences. No duplicate fork CI gate was added. Continuous original tracking remains armed. Operator experience/soak and runtime update/restart are still separate. No merge or restart performed.

Publication

HEAD 5c3f0ba19ff50977d93f19e15a8e2429e7a78c5e / tree 7515f3a190137d2707af6b8b301cb34e14182ffb. Source f6092d917649675d0cc336dcf3201b17b45bd858 matches after accounting for accepted fork #221 plugin changes and baseline evidence. The96 added process-artifact paths remain excluded from this PR; baseline project files and formal regressions are preserved. Originals, commits and hashes are retained in a local review archive. Upstream zts212653#1398 excludes the plugin increment.

mindfn added 6 commits October 9, 2026 23:48
Why: pending work belongs to the canonical Queue, while accepted input is owned by its response and exact execution. Consolidate producer admission, failure returns, native input-read evidence, target-based guidance and callback message identity; retire redundant custody, availability and routing projections with their regression coverage.
Why: the console must project the same source, response and execution identities as the backend. Consolidate delivery/read receipts, sender colors, capability-based composer guidance, exact Stop, socket recovery and complete failed-response rendering with their consumer tests.
Why: reviewers need a single delivery contract, retirement ledger and traceable red/green acceptance record. Preserve the previously reviewed documentation and evidence without including the separately owned GitHub plugin CI polling increment.
Why: external and scheduled inputs reached durable Queue admission but busy-target progress never invoked the existing Append path. Reuse exact target/run admission so eligible notifications guide the current reply, preserve unsupported/private/stopped/owner fences and source-ID replay semantics, and shorten the operator-approved guide hint.
Why: reuse the reviewed common Queue Append admission for busy targets so connector/system notices guide their existing response. Keep the accepted fork CI collector increment unchanged and carry the shorter operator-approved hint. Source implementation: 4fbb6a2; independent approval: thread_msr51149hym0i79f#0001791616030898-000056-d6f377a3.
Why: all current user, member, connector and persisted-notification inputs must enter the same policy snapshot and durable Queue execution path. Preserve exact A2A and whispered recipient boundaries.

Reviewed source: fd01f6fe36372a098f2a73df74008b9b6932584d. Publication retains the accepted fork #221 plugin delta. Removing precisely that delta from this tree yields the approved source tree aeba47f.
@mindfn mindfn changed the title fix: guide active replies with durable producer notifications refactor(f117): unify message send admission and Queue delivery Oct 10, 2026
Why: common Queue admission owns default routing and drain notification. Legacy fixtures omitted that host wiring or modeled retired connector default selection. Preserve all original identity, persistence, hook-order and wake assertions with actual common admission.

Source 1f3a8988af9819fa3e961028f32fd8a14a3d0fde, tree a8b2d9f. Tests/evidence only; production blobs unchanged from approved fd01f6fe. Original CI reds retained; author API119/119 and failure-return5/5.

Retains accepted fork #221 plugin delta byte-for-byte.
Why: match the shared admission host in tests and keep process artifacts outside the product PR. Preserve develop_base baseline evidence and accepted #221 plugin changes. Source 9e3db707da88ad115d93182eb89ba105748f0583; upstream 8746848.
Why: match current shared send behavior in formal tests without changing production, accepted fork plugin code or baseline evidence. Source c3cd2ae39e023c1600306f3af654580e462e2ed0; upstream 5fcb054.
Why: callback producers persist exact fan-out and notify the shared drain once; native Append orchestration belongs to Queue execution. Retain the availability suppression guard and exact target assertions. No production behavior changes.

Source: f6092d917649675d0cc336dcf3201b17b45bd858
@mindfn
mindfn merged commit bd5169c into develop_base Oct 10, 2026
mindfn added a commit that referenced this pull request Oct 10, 2026
Why: after #222, Redis Lua converts empty payload.requestedTargetCats arrays to objects, causing both automatic drain and manual Steer to fail validation. Restore the exact accepted #221 tree while repairing and testing the codec in the feature checkout. Persistent messages, queues, runtime configuration and processes are untouched.
mindfn added a commit that referenced this pull request Oct 10, 2026
* refactor(f117): restore unified send and Queue delivery

Why: Restore the reviewed #222 delivery implementation after its emergency rollback; the following commit repairs its Redis empty-array regression before runtime activation.

* fix(f117): preserve Redis empty request targets

Why: Redis cjson turns empty requestedTargetCats arrays into objects during row transitions, breaking automatic drain and Steer. Normalize all six row writers and recognize the existing empty-object artifact on read.

Source: 90ef6e418a5e4799835e7fe3c75f2f693efdfc38
Validation: owned Redis red reproduction, API build, 229 targeted tests passing. Independent review pending.
mindfn added a commit that referenced this pull request Oct 10, 2026
…very

Why: restore the reviewed common send and drain after the #222/#223 rollback, correcting Redis empty target encoding and preserving guidance until the exact native parent dispatcher is ready. Add composed Redis and HTTP Steer regression coverage.

Source: fd09784d3f4aea51b365258251639badbab90a9e
Source-tree: 6babe29
Fork-base: c29dba7
Fork-only #221 plugin changes and pre-existing evidence retained.
Runtime acceptance and soak remain pending; no process or storage changes.
mindfn added a commit that referenced this pull request Oct 11, 2026
…very (#224)

Why: restore the reviewed common send and drain after the #222/#223 rollback, correcting Redis empty target encoding and preserving guidance until the exact native parent dispatcher is ready. Add composed Redis and HTTP Steer regression coverage.

Source: fd09784d3f4aea51b365258251639badbab90a9e
Source-tree: 6babe29
Fork-base: c29dba7
Fork-only #221 plugin changes and pre-existing evidence retained.
Runtime acceptance and soak remain pending; no process or storage changes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant