Sales supports proposed assessment2 same-attempt stable observation pair
Sales supports the coordinator's stronger same-attempt comparison and Delivery's proposed CurrentAssessment2.0 with required assessment_revision_scope: delivery_protected_source. This replaces Sales' earlier1.1 proposal and its permission for local revision advancement within a comparison. Both original scratch artifacts remain retained for traceability. This is a bounded proposed position, not acknowledgment or acceptance of the incomplete assembled package.
The source reviewed is Platform's soft-resolution-clock-resource-amendment.md, copied and hashed in this folder's provenance.json. Its current header still says sub-spec1.1 with closed wire unchanged. That header conflicts with the proposed required2.0 scope member and must be replaced in the exact assembled overlay. Parent versions, endpoint negotiation, strict selector/response handling and rollout compatibility must be explicit. Sales' closed2.0 schema here is a consumer review overlay, not a published owner schema or the final parent transport. Until acceptance and adapter implementation, existing pinned1.0 runtime remains unchanged and rejects unknown assessment versions/members.
For a positive signed-original never-admitted retirement attempt, obtain two independently fresh Delivery observations outside local locks, both carrying independently fresh authenticated Platform original historical resource access. Obtain and independently verify the exact financial never-admitted proof in this same monotonic10000ms attempt. Require equal local revision, equal local predicate projection, equal all seven semantic resource fields, and exact same independently validated original identity and immutable receipt/fence. Any higher or lower local revision, divergent local facts, resource change, epoch change or receipt/fence change denies the whole attempt. Release any local locks and discard combined observations. A subsequent fresh attempt can establish a new exact historical basis with the same immutable original command/key; it cannot reuse a response, bearer, promise or cached comparison from the denied attempt.
The full assessment hash includes the new scope member, complete eight-field resource verdict and timestamps. Validate each entire hash independently before comparison. The local predicate projection excludes exactly assessment_revision,current_resource,observed_at,assessment_digest and includes the scope member. The resource projection excludes exactly evaluated_at. Fresh timestamp differences alone may therefore change the full digest without changing compared facts. No new comparison digest becomes an owner response member or authority credential. Immutable ResolutionResult, receipt and fence1.0 remain unchanged.
Consumer feasibility is conditional on bounded availability, not proof of sufficient latency. Relative to the current one-Delivery-read join, this adds one Sales-to-Delivery HTTP read and one fresh operation-scoped Sales mint; each Delivery read separately obtains fresh Platform access and uses its own remaining request budget. Sales' entire attempt, including financial observation, token issuance, reads, parsing, local serialization and commit, remains10000ms. A future client must use the remaining total budget for each outgoing request and abort/rollback on exhaustion, never allocate10000ms independently to each call or extend the total. No owner HTTP occurs under Sales locks. Financial and first Delivery reads can be independent work, but the second Delivery observation must be a separately completed fresh read after the first, with no in-flight promise reuse. Issuer/owner latency, timeout, lock-contention and concurrency proof remain runtime gates; no production latency claim is made here.
Same-attempt stability detects the two snapshots' differences. It cannot detect a remote ABA whose seven resource facts return to identical values, or a change after the second snapshot. Sales explicitly accepts this as the proposed bounded residual model for review; the pair and timestamps confer no lease, all-source clock or exact-instant remote commit fence. Coaching's complete protected-set semantics and every permanent fence remain unchanged. If an all-writer remote transition guarantee is required, this design needs a separately approved generation/fence rather than an optimistic claim from person.updated.
The thirty closed synthetic vectors use complete Delivery responses and independently recompute canonical receipt, terminal-fence and full assessment digests. They cover stable pairs, timestamp refresh, any revision change, same-revision local/resource divergence, authenticated unchanged historical archive/paused state, denied historical access, stale/cached/cross-attempt observations, missing or stale financial premise, changed/tampered immutable receipt, tampered full assessment hash, absent/wrong scope, old version, incompatible epoch, chronology, total-budget expiry and unknown fields. Financial/auth/freshness flags are explicitly synthetic premises, not real Revenue evidence or issuer/route proof. Full financial protocol validation, local original-source CAS, genuine separate mints and owner serial-barrier proof are outstanding runtime checks. The signed retirement rule does not authorize inventing financial evidence for descriptorless no-send closeout; that separate branch's final version/scope disposition must remain explicit in assembly.
Quantity reconciliation is compatible: Revenue's immutable original bind-context.quantity is the authentic fifth financial field, and the full Compensation Authority Association quantity and its canonical digest remain required. A nullable optional Delivery mirror is not the authority source and stays SQLNULL when absent. Do not fill it from defaults/current rows, coerce missing to zero, or omit quantity from the Authority/digest. Owners still owe authentic source mapping and full protocol vectors; this review changes no runtime field.
Prospective verified original-bind ReceiptRef.event_id correlation agreement remains unchanged, with distinct event_ids, complete registered payload/envelope validation, atomic once-only outbox and replay proof still required. Existing booking/atomic-flow requirements, exact original AuthorizedEvidence bytes and fixed migration deadlines remain unchanged.
Sales source is still clean at eaae89ba0d18dcf468d1009fd45aec0b1a8a7b21. No ADR-0053 runtime/source changes, new authority, production actions or formal ADR-0054 acknowledgment occurred. The coordinator can collect this bounded position and hashes; Sales holds for exact assembled review and later explicit handback to unfinished ADR-0053/sales/007.