feat: close the R-006/R-007 spikes from the authoritative real-client runs (D-026) - #10
Merged
Merged
Conversation
… runs (D-026) The real browser application ran against offbook per demo-app.md §9: go on the broker's defaults unchanged — MQTT 3.1.1 (level 4) over ws, no auth, QoS 0/1 only, keepalive 30 with a persistent session (clean: false), first-offered subprotocol echo sufficed, and the private ws path needed no accommodation (the listener never routes on path). The provisional listener config is final as-is. The R-007 capture lands sanitized at fixtures/connect/real-client.json: deployment-specific values (wsUrl, path, clientIdPattern) are null and listed under `redacted`; unrecorded fields are null under `notCaptured`. src/broker/connect-profile.test.ts pins both sides — fixture consistency and the broker's live acceptance of the measured profile (non-root path, SUBACK, retained receipt, persistent session at keepalive 30, QoS 0/1 round-trips, fingerprint view). D-026 records the closure, the sanitization rules, the narrowed R-007 port-default artifact (public default stays 9001), the owner-affirmed retained receipt, and what stays open: the D-006 DUP clause (no redelivering persistence was in the loop) and the now-unblocked aedes 1.x bump (D-021 obligation (1)). v1 is complete: all 40 requirements are tested.
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.
Closes the last two open v1 requirements, R-006 (WS-fidelity) and R-007 (capture the browser application's
connect()), from the authoritative runs of the real browser application against offbook. Recorded as D-026. v1 lands at 40 of 40tested.The result
Go, on the broker's defaults, unchanged: MQTT 3.1.1 (protocol level 4) over ws, no auth, QoS 0/1 only (no QoS 2), keepalive 30 with a persistent session (
clean: false), first-offered subprotocol echo sufficed. The ws listener config that build-plan §5 held provisional (subprotocol/path/auth) is final as-is — zero listener changes came back from the spike.Sanitization
The deployment's ws URL, path, and clientId pattern are private and stay unpublished. This costs nothing technically: the listener never routes on path (it upgrades every request and records
pathnamepurely as a fingerprint fact), so the real path needs no repo accommodation. The capture atfixtures/connect/real-client.json(demo-app.md §6 shape, §9 step-4 destination) nulls those fields and lists them underredacted; fields not recorded during the runs are nulled undernotCaptured— a null never poses as a measurement. R-007's "broker ws port default" artifact is deliberately narrowed: the public default stays9001, the real target being a localbrokerWsPortoverride.The pin
src/broker/connect-profile.test.ts(tagged to both requirements) derives its client options from the fixture at runtime and holds both sides: the fixture's internal consistency (redacted/not-captured stay null, no auth, no QoS 2) and the broker's live acceptance of the measured profile — connect at level 4 with no auth on a non-root stand-in path, a persistent session at keepalive 30, SUBACK, retained receipt, QoS 0/1 round-trips both ways, and the fingerprint's server-side view matching.Honest bookkeeping
Gates
check-docs(40 requirements, 26 decisions),lint,typecheck,demo-app:buildand fullbun testall exit 0.