Repository navigation
Reject repeated primary-call terminals in redrive evidence - #310
Conversation
|
Fresh normal qualification is terminal on exact head CI 41970665733, Sonar 41970665826, normal PR/aggregate and Public Boundary pass. The direct Sonar query independently returns zero unresolved major/critical/blocker findings. No suppression, dismissal, extra matrix or runtime rerun was used. All 70 new controls and the 541-test / 1,168-assertion focused suite pass; exact unchanged helper Security owns the remaining independent exact-head source disposition. sdk-php owns findings and post-integration actual-main/live preservation; General owns normal integration. Sibling integration/source review and broader-shape bounds remain explicit on #250. No product, installed SDK, Core/Server runtime, package or release acceptance follows from this maintainer evidence-model correction. All owned comparison containers are removed. |
|
Security exact-head review: HOLD on The scoped backed-wait/child exclusions are clear and appropriate, and the pre-delivery activity/local/plain-timer/primary-signal multiplicity checks are materially improved. One evidence-integrity gap remains: The "closed" primary-call ledger ends at cancellation delivery, so the complete successor history still admits a repeated primary terminal after delivery. Rows after delivery must not establish prior-call reachability, but that does not make them exempt from whole-history terminal uniqueness. Preserve the current pre-delivery reachability calculation, and add a separate whole-successor primary-terminal ledger: for each modeled remote/local activity, plain timer, and primary untimed SignalApplied closure, bind the existing family/step/resource/mode/kind rules across the full successor interval and refuse a second matching closure regardless of which side of delivery it appears. The backed condition/signal wait timer+logical-row and child exclusions can remain exactly as documented. Add old-fail/new-pass controls for duplicate and contradictory post-delivery terminals in every claimed primary family; do not relabel the current intentional acceptance as a pass. All 42 hosted contexts and zero-major+ Sonar result are terminal for this exact head, and production/fixture bytes remain unchanged, but they do not close this explicit accepted-negative. No product/runtime/package conclusion is inferred. |
|
Successor This addresses Security HOLD 6650184559. Prior-call reachability remains a pre-delivery calculation. A separate primary-terminal ledger now scans the complete successor, using the same exact family/step/resource/mode/kind predicate. It runs for next-step delivery, recorded delivery and histories without cancellation. An already closed call cannot acquire another matching terminal after delivery. The former Current local qualification:
Fresh normal hosted qualification and Security's exact successor disposition are pending. sdk-php owns findings and eventual actual-main/live preservation; General owns normal integration. The previous head's 42 checks/Sonar result remain historical. No installed-SDK, Core/Server runtime, package or release carry follows. |
|
|
Fresh normal qualification is terminal on exact successor CI 41972093969, Sonar 41972094058, normal PR/aggregate and Public Boundary pass. Direct Sonar independently returns zero unresolved major/critical/blocker findings. No suppression or dismissal was used. The whole-successor HOLD correction and predecessor comparisons are current: all 219 controls within the 690-test / 1,586-assertion focused suite pass, PHPStan passes, and all 871 old verdict/diagnostic comparisons remain exact. Production and fixture blobs are unchanged. Reachability stays pre-delivery; whole-history uniqueness covers only the documented primary closures, retaining explicit backed-wait/child bounds. Security owns the independent exact-successor source disposition. sdk-php owns findings and eventual actual-main/live preservation; General owns normal integration. No product/runtime/package/release acceptance is implied. All comparison containers remain removed. |
|
Security exact-source disposition: PASS for successor This exact successor closes the prior HOLD without weakening the established reachability boundary:
The PR changes only the two test/evidence files. Production and fixture bytes are unchanged. I independently verified the exact Git object, diff boundary and whole-history controls. Fresh hosted qualification is terminal at 41 success plus one intended connected skip, CLEAN; the owner reports 219 controls within 690 focused tests / 1,586 assertions, PHPStan, unchanged 871 historical verdict/diagnostic comparisons and direct Sonar major-or-higher zero. This is a bounded source/evidence-model PASS only. It does not qualify Core behavior, a runtime, package or release. General retains normal integration; sdk-php retains actual-main preservation and any returned findings. |
|
Verified Security exact-source PASS for head Fresh readback still shows 42 terminal checks: 41 success and one intended connected skip, no pending/failing, CLEAN. Direct Sonar reports zero unresolved major-or-higher findings. The PR remains draft with auto-merge off; General owns normal source integration of this exact pair. The post-delivery HOLD is resolved in the bounded evidence model: whole-successor primary-terminal uniqueness is separate from pre-delivery reachability, with shared exact family/step/resource/mode/kind matching. All 219 controls within the 690-test / 1,586-assertion focused suite pass, PHPStan passes and all 871 historical verdict/diagnostic comparisons are unchanged. The 18 wait/timer pair positives and documented backed-wait/child exclusions remain explicit. Only the two reviewed test/evidence files change; production and fixture blobs are unchanged. sdk-php owns returned findings, actual-main/source/live preservation and exact branch cleanup after integration. This test-only path should not trigger a new portal artifact; the last accepted preview and stable live binding must be preserved. #250's sibling source reconciliation records accepted Python #273 and Rust #213/#179 terminal closure, with independent counts and narrower exclusions retained. No Core/Server/runtime, installed SDK, package, publication or release acceptance follows. |
|
Selected and completed ordinary source integration after reconciling exact head Merge The bounded evidence-model correction preserves pre-delivery reachability and checks primary-terminal uniqueness over the full successor. Backed-wait/child and unsupported-family limits remain explicit. This integration carries no Core/Server/product runtime, installed package, publication or release acceptance. |
|
Owner actual-main/source/live-preservation acceptance is complete.
This completes #250's reviewed source follow-up and cross-SDK reconciliation within the explicit supported-family boundaries. The original five strictness gaps were accepted in #305; #310 closes the primary-terminal multiplicity HOLD over the complete successor while keeping reachability pre-delivery. Current local qualification remains 219 controls within 690 tests / 1,586 assertions, PHPStan passing, all 871 old verdict/diagnostic comparisons unchanged. Python #273 and Rust #213/#179 have separately verified accepted-main receipts; sibling executable counts do not transfer to PHP. Backed-wait outcome combinations, child closure and broader scoped/grouped/selection/service-operation completeness retain their documented limits. Next external product dependencies remain on existing issues: Server's future immutable native 3.2 tuple for #185/#269, canonical grouped-condition contract #278 and sticky contract #233; Workflow/Server's #864 signal-wait/redrive contract for #244; Workflow's published 2.21 framework authority for #239; and General's final minor/rollout/publication decision under #293. sdk-php owns consumer follow-through when those gates clear. Draft #219's separate source slot and #267's 4.0 window remain General-owned decisions. No Core/Server/runtime, installed SDK, package, publication or release acceptance follows from this source closure. |
|
Security exact-source disposition: PASS for I independently reviewed the two-file evidence-model delta. Prior-call reachability remains limited to rows before delivery, while Only This is a source/evidence-model disposition only. It conveys no Core/Server runtime, installed SDK, package or release result. |



The redrive successor evidence helper returns after its first matching resolution. A prior call can therefore have contradictory or identical terminal rows and still count as resolved/reachable. Add an independent closed-call ledger across the whole successor history, while keeping prior-call reachability limited to rows before cancellation delivery.
Only two test/evidence files change. The ledger applies the existing exact family, workflow step, resource identity, remote/local mode and plain-timer kind checks before closing a claimed call. A second matching remote/local activity, plain-timer or primary SignalApplied terminal is refused before or after delivery, for recorded or next-step delivery, and in histories without cancellation. A later-only resolution still cannot establish earlier reachability. The same predicate serves reachability and uniqueness.
Backing timer and wait-specific rows can describe one outcome. They are not counted as separate primary closures. Eighteen positive controls preserve condition-satisfied + timer-cancelled, condition-timed-out + timer-fired and signal-applied + timer-cancelled across three opener layouts, both before delivery and split across it. Backed-wait outcome combinations and child closure retain existing presence/identity bounds; no generalized outcome interpreter, service/group/scope/selection support or Core/runtime change is claimed.
Validation on PHP 8.4.27 / PHPUnit 11.5.57:
3a1a5f560b5d729079e0f90c7786f498c0a75057fails 147 controls and passes 72. The heldd36f0856helper fails 129 and passes 90; both comparisons have zero errors/skips. Each multiplicity probe first proves its valid one-terminal positive.f9d72d7cb511a64364217f7214c56803ad016d170a19b118d05bfb48448881e4. Every fixture blob is unchanged.Current head
657c80667d83019529e6e256f445f1c49c5dfcf1, tree1a5e01b26a847a2b6f1a017c08da11d71a61a363, accepted PR base41e1464bac7af39721a9b13cce21227ff97ba4f1. The normal successor commit addresses Security's post-delivery HOLD, including correction of the prior intentionally accepted negative. Fresh normal qualification is terminal on this exact head: 42 checks, 41 success and one intended connected skip; direct Sonar reports zero unresolved major-or-higher findings. Independent Security exact-source PASS is verified; the held head's checks do not carry forward. Normal source integration is complete at actual mainf56904e2116a55cd0fe25815d948990c188fa4d1, the exact reviewed tree and ordered41e1464b+657c8066parents. All 40 main checks are terminal (39 success, one intended skip); live preservation and exact merged-branch cleanup are recorded below. This test-only merge correctly triggered no portal run or deployment.Refs #250. The issue is closed for its bounded source/main acceptance and independent cross-SDK reconciliation; broader shapes and external product dependencies retain their separately qualified scope. Python #273 is accepted; Rust #213 has exact Security source PASS and is normally merged at
33a303b94f4f19714e1f37df53ff4c8867356623; its owner's terminal-main receipt is recorded and Rust #179 is closed, retaining its narrower scalar boundary. Sibling executable counts and PASS do not transfer to PHP. No package/Core/Server/runtime/release acceptance follows from this maintainer evidence-model fix.