Conversation
There was a problem hiding this comment.
Code Review
This pull request updates the documentation and release notes for Harper v5.3.0 to reflect changes in subscription catch-up behavior, where table subscriptions and MQTT durable-session reconnects now skip superseded record updates by default. It documents the new includeSuperseded and rawEvents subscription options. The review feedback recommends avoiding the use of the <VersionBadge> component inline within table cells, suggesting plain text instead to maintain consistent formatting.
🚀 Preview DeploymentYour preview deployment is ready! 🔗 Preview URL: https://preview.harper-documentation.harperfabric.com/pr-679 This preview will update automatically when you push new commits. |
1 similar comment
🚀 Preview DeploymentYour preview deployment is ready! 🔗 Preview URL: https://preview.harper-documentation.harperfabric.com/pr-679 This preview will update automatically when you push new commits. |
Rebase conflict resolution merged the section without the blank line prettier requires before a heading. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Dispatch-Task: pr-maint-92e4b54bf5b8178a01b68ecdd48dc2b0
d0ffcb1 to
910f8d3
Compare
🚀 Preview DeploymentYour preview deployment is ready! 🔗 Preview URL: https://preview.harper-documentation.harperfabric.com/pr-679 This preview will update automatically when you push new commits. |
…QoS 1/2 The Upgrade Notes bullet said durable MQTT subscriptions unconditionally receive every publication, but core only sets includeSuperseded for durable QoS 1/2 sessions -- QoS 0 durable subscriptions get current-state delivery like everything else. That contradicted the new Subscription Catch-up section landed just below it. Cross-model pre-push review caught the self-contradiction (harper-domain adjudication, finding 5.3.md:27). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Dispatch-Task: pr-maint-92e4b54bf5b8178a01b68ecdd48dc2b0
🚀 Preview DeploymentYour preview deployment is ready! 🔗 Preview URL: https://preview.harper-documentation.harperfabric.com/pr-679 This preview will update automatically when you push new commits. |
Document the v5.3 subscription default: catch-up suppresses record mutations whose version does not match the current stored primary entry, consistently with live delivery. Explain the
includeSupersededopt-in, retained-history limits, and the explicit opt-in that preserves intermediate publications for durable MQTT QoS 1/2 subscriptions.Companion implementation: Skip superseded subscription updates during catch-up.
For the human reviewer
previousCountretains its bounded scan and does not promise a complete history.Post-review delta: four changed lines in the MQTT reference and release notes, not re-reviewed; these narrowly resolve the reviewed ordering contradiction and migration-warning omissions.
Changes
reference/resources/resource-api.mddocuments option defaults and explicit overrides; matching tombstones, missing-primary and publication-version behavior; and historical reconstruction and the awaited opt-in example. Shared cursors and accepted-event history limits are described above.reference/mqtt/overview.mddistinguishes durable QoS 1/2 historical delivery from ordinary version-filtered subscriptions, including distributed ordering and audit retention.release-notes/v5-lincoln/5.3.mdadds the migration warning covering superseded updates, publication-advanced metadata, and removed records/tombstones, plus the durable MQTT exception.Verification
npm run buildpassed, generating the static site with the new links and version badges. Later corrections change prose only.npm run format:write,npm run format:check, andgit diff --checkpassed.cc5524841259. The final narrow prose correction is described above. The companion core change tracks runtime behavior and MQTT regression tests.Complexity: medium
Origin — the dispatch brief this PR was written from
Document consistent subscription catch-up and live delivery
Maintain #679 (Document consistent subscription catch-up and live delivery) on branch kris/subscription-superseded. Read the current PR head, mergeability, and latest check runs before acting; the dispatch observation may be stale. First read the remote head for refs/heads/kris/subscription-superseded without updating local refs and require it to equal this task's observed head d0ffcb1; if it differs, stop with needs-input because remote history changed after dispatch. Then fetch only refs/heads/main from origin into refs/remotes/origin/main. If Git reports a paused rebase for this task's exact generation branch, require that rebase's recorded original head to equal d0ffcb1 and its recorded onto commit to equal the fetched origin/main tip; stop with needs-input on either mismatch. Only then resume it without repeating the local-HEAD ancestry check or starting another rebase. Otherwise record the remote SHA, verify it is an ancestor of local HEAD, and rebase onto the fetched base. If Context carries companion instructions, follow them exactly for every named gitlink; they override ordinary conflict handling. Preserve both sides' intent for every other conflict. Stop with needs-input on semantic conflicts. Force-with-lease is authorized only for this rebase. Immediately before pushing, re-read the PR's base ref and body plus every companion PR head/state named in Context. The base must still be main, and the declarations and submodule bindings must still match Context. If an open companion advanced, update its named gitlink to the new exact head and rerun relevant tests. If it merged, point the named gitlink at the companion repository's current default-branch tip after verifying that tip contains the merge, then rerun relevant tests. If it closed without merging, stop with needs-input and do not publish its abandoned head. If the base, declaration, binding or any other companion state changed ambiguously, stop with needs-input. Then push the rebased head with
git push --force-with-lease=refs/heads/kris/subscription-superseded:EXPECTED_HEAD_SHA origin HEAD:refs/heads/kris/subscription-superseded, substituting the recorded SHA. If the remote head changes, stop with needs-input; never overwrite intervening remote work. Do this before evaluating CI. Then inspect CI for the resulting current PR head, not old-head failures. Wait for relevant pending checks, diagnose remaining failures, fix them, run relevant tests, and push in THIS task. Do not create a separate CI-fix task. Stop with needs-input for judgment calls or an unavailable CI result; report exactly what was verified. No merge is authorized.Dispatch: task
pr-maint-92e4b54bf5b8178a01b68ecdd48dc2b0· queued by automation · ran by claude/sonnet/high · worker kzyp-xps-1Review-Coverage: authored=claude; ran=cursor-muse,gemini,codex; adjudicated=domain; declined=cursor-grok,cursor-composer,cursor-kimi; rounds=3; full=1 @ d49f235
Human-Review-Need: 3 (decisions: rawevents-superseded-default, mqtt-qos12-opt-in-superseded, document-core-quirks-as-contract, current-state-catchup-default) @ d49f235