Skip to content

docs(quest): groom m0 into release blockers and m1 into merge gates - #3628

Merged
kixelated merged 2 commits into
devfrom
claude/m0-m1-grooming
Sep 12, 2026
Merged

kixelated merged 2 commits into
devfrom
claude/m0-m1-grooming

Conversation

@kixelated

Copy link
Copy Markdown
Collaborator

Summary

A grooming pass over m0 and m1 ahead of the dev merge, on dev's quest tree (main was merged into dev first, b22ddbf). Every decision below was put to the maintainer interactively.

m0 is now the release-blocker list and a merge gate. It keeps three quests: WebKit gate, Connect auth race (plan rewritten for moq-tokio; the moq-ffi setters split off), and a new test-only Anonymous handoff quest, since the parking mechanism behind #3588 does not exist on dev and nothing pinned that.

Done or superseded, deleted: FETCH_OK (#3562 on main), Resume info (#3521 on main), IETF error codes (#3531), uring all-features (#3502), jitter flush span (#3513), Auto latency (replaced by the audio-jitter-target line in #3576), the hop-0 ban (#3623; PR #3583 closed), and #3087 (folded into auth-api by #3619). TS restart stall (#3533) folds into Monotonic timeline, whose plan deletes the fence that causes it; the quest gains the importer re-anchor item and the regression test.

Moved to m2 with corrected plans: the audio-jitter-target line (#3517 is closed; its branch is prior art, latency_max became max_age), Jitter clock (absorbs #3579's never-decreases invariant; PR closed), Capture denial, Publisher audio unlock (Audio.Capture), the two moq play quests, Failure artifacts, the listening kind field revert (decision resolved: nothing reads it), Impaired path, Tooling (line counts fixed), plus two new quests: IETF leftovers (0x21 priority, TRACK_STATUS, the two FETCH codes the merge maps to DOES_NOT_EXIST) and FFI WebSocket fallback.

m1 applies its own rule (breaking or gating, else m2): the archive line splits into Archive catalog and Archive store as m1 gates, with writer, reader, browser, HLS, DVR, and proof in m2; Wildcard Advertise is the m1 gate, Resolve and Demand move to m2; #2152, Route cold cost, and js/publish discontinuity move to m2. A/V clock now owns the SyncInput reshape (its Required named the closed #3517). LAN app id's justification is corrected (moq-tokio is published).

merge-dev requires m0, Archive catalog, Archive store, #3190, JS announce, Monotonic timeline, and Advertise, and its plan carries the merge-trap checklist from the main-into-dev merge.

Stale branches deleted: quest/m0/qa-failure-artifacts (e79e5bd, the abandoned debug-bundle scope) and quest/m0/3492-ietf-track-status (fd75a8f, closed PR #3519). PRs closed: #3626, #3583, #2765, #3579.

Open PRs that delete a moved quest file (#3612, #3613) will see a trivial rename conflict on their quest deletion.

Public API

None. Quest documents and two path comments (test/drill/README.md, test/smoke/clients/js/src/fixture.ts).

Wire

None.

Validation

quest check: 305 documents ok. just fix and just check pass.

🤖 Generated with Claude Code

m0 keeps the three release blockers and gates the merge; every other m0
quest is done, folded, or moved to m2 with its plan corrected against the
merged tree. m1 keeps only breaking or gating work: the archive line splits
into its two m1 gates (catalog, store) and an m2 questline, wildcard into
Advertise (m1) and Resolve plus Demand (m2), and the additive m1 quests move
to m2. merge-dev names the gates and carries the merge-trap checklist.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 12, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-12T03:03:29.600559Z e3a65e9 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 16469e305d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread quest/m1/plan-av-clock.md
Comment thread quest/m0/3588-anonymous-handoff.md Outdated
… the session harness

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e3a65e93af

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread quest/m1/merge-dev.md
Comment on lines +21 to +23
- main's joining FETCH keeps its saved object prefix (#3562) and answers with
FETCH_OK; dev's registry maps its two refusal codes to DOES_NOT_EXIST until
[IETF leftovers](/quest/m2/ietf-leftovers.md) adds them.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Restore FETCH refusal codes before merging dev

This plan explicitly allows dev to merge while joining FETCH failures map to DOES_NOT_EXIST, even though main already shipped the correct INVALID_JOINING_REQUEST_ID and INVALID_RANGE codes in #3562. Because IETF leftovers is an unordered m2 quest scheduled after the merge, executing this plan regresses released wire behavior; split the FETCH restoration from the independent priority and TRACK_STATUS work and make it a merge blocker. quest/CLAUDE.mdL97-L101

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left as decided by the maintainer for now: the merge lands with DOES_NOT_EXIST and IETF leftovers restores INVALID_JOINING_REQUEST_ID and INVALID_RANGE; whether that becomes an m0 blocker instead is being put to them.

🤖 Addressed by Claude Code

Comment thread quest/m1/merge-dev.md
- [#2155](https://github.com/moq-dev/moq/issues/2155) - js/net: subscriptions take a `Subscription` options object with `startGroup`, `endGroup`, and `update()` (#2716); ordering became a handle (#3099)
- [#3493](https://github.com/moq-dev/moq/issues/3493) - the timeline is a `moq_json::window` with a bounded checkpoint, so a 24/7 importer no longer retains every record (#3240)

## Related

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Restore #3493 to the merge quest's closing list

The previous merge quest tracked #3493 because the bounded moq_json::window fix exists only on dev, and this rewrite still identifies that fix and its long-running HLS proof as part of the merge. Ending Closes before #3493 means the eventual merge PR will omit its closing keyword and leave the fixed issue open, so retain that issue in this list. quest/CLAUDE.mdL127-L130

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not changed: #3493 is still in the list (line 66); the Closes section carries all 29 issues the previous merge quest tracked.

🤖 Addressed by Claude Code

Comment on lines +63 to +65
## Closes

- [#2812](https://github.com/moq-dev/moq/issues/2812) - the iOS stutter report the same estimator fixes

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Restore #3477 to the jitter questline's closing list

The moved questline retains all of #3477's work, including starting from its branch and replaying its recorded traces, but its new Closes section carries only #2812 whereas the prior questline also closed #3477. When the final child completes, the prescribed PR closing-keyword process will therefore leave #3477 open despite completing its fix; preserve #3477 in this section. quest/CLAUDE.mdL127-L130

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not changed: issue #3477 was closed on 2026-09-10, so a closing keyword would be a no-op. #2812 stays as the open report this line fixes.

🤖 Addressed by Claude Code

@kixelated
kixelated merged commit def599e into dev Sep 12, 2026
3 of 4 checks passed
@kixelated
kixelated deleted the claude/m0-m1-grooming branch September 12, 2026 03:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant