Repository navigation
refactor(f117): unify message send admission and Queue delivery - #222
Merged
Merged
Conversation
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.
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 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
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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/ source0001791626250471-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
80ab8dafcb94a309bf5c4afbb61633225d879f6epassed 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/ tree7515f3a190137d2707af6b8b301cb34e14182ffb. Sourcef6092d917649675d0cc336dcf3201b17b45bd858matches 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.