Repository navigation
quest: audit the tree and record the 2026-10-25 decisions #6798
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
12 commits
Select commit
Hold shift + click to select a range
9017e78
quest: audit the tree and record the 2026-10-25 decisions
kixelated b0b50c5
quest: plan lite-05/06 timestamp pass-through; any frame start in the…
kixelated 3194d62
Merge remote-tracking branch 'origin/main' into claude/quest-audit-pl…
kixelated a47be0c
Merge remote-tracking branch 'origin/main' into claude/quest-audit-pl…
kixelated 9f37913
Merge remote-tracking branch 'origin/main' into claude/quest-audit-pl…
kixelated 029ac51
Merge remote-tracking branch 'origin/main' into claude/quest-audit-pl…
kixelated 0985354
Merge remote-tracking branch 'origin/main' into claude/quest-audit-pl…
kixelated ee6f1a1
Merge remote-tracking branch 'origin/main' into claude/quest-audit-pl…
kixelated b96aef1
Merge remote-tracking branch 'origin/main' into claude/quest-audit-pl…
kixelated a0680f4
Merge remote-tracking branch 'origin/main' into claude/quest-audit-pl…
kixelated 696f6d6
Merge remote-tracking branch 'origin/main' into HEAD
kixelated fd0945b
quest: settle the review findings on the audit quests
kixelated File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| # [XS] The Python sdist builds | ||
|
|
||
| ## Goal | ||
|
|
||
| Nightly's Release Py FFI "Build sdist" job builds and installs the moq-ffi | ||
| sdist. | ||
|
|
||
| ## Plan | ||
|
|
||
| Nightly [40192013303](https://github.com/moq-dev/moq/actions/runs/40192013303) | ||
| fails in maturin's `cargo metadata`: the sdist lacks | ||
| `rs/moq-ice/Cargo.toml`, which `moq-tokio` depends on since moq-ice was split | ||
| out. `pyproject.toml` lists the extra sdist paths by hand. Fix it so a new | ||
| workspace dependency cannot drop out of the sdist again, and keep the sdist | ||
| build in a lane that runs before release. | ||
|
|
||
| Public API: none. Wire: none. |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| # [S] moq-net compiles in Fuzz and send-depth | ||
|
|
||
| ## Goal | ||
|
|
||
| Nightly's six Fuzz jobs and Tests (rs send-depth) compile `moq-net` again. | ||
|
|
||
| ## Plan | ||
|
|
||
| Nightly [40192013303](https://github.com/moq-dev/moq/actions/runs/40192013303) | ||
| (2026-10-25, at 66af72315b) fails both with "overflow evaluating the | ||
| requirement ... Send" on the async block at | ||
| `rs/moq-net/src/ietf/publisher/tracks.rs:826` (`run_publish` into | ||
| `resume_publish`). The PR gate does not build these configurations, so the | ||
| nesting grew unnoticed. Reproduce with the send-depth recipe, then make the | ||
| future shallower at its source (box or split the nested publish future) | ||
| rather than raising the recursion limit. | ||
|
|
||
| Public API: none. Wire: none. |
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
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
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,47 @@ | ||
| # [M] Demand is wanted, everywhere | ||
|
|
||
| ## Goal | ||
|
|
||
| Every demand signal reads as `wanted`: a snapshot `wanted()` plus an async | ||
| `wanted_changed()` (and its poll), where "not wanted" is `false` or `None`. | ||
| No `used`/`unused`/`is_used` methods remain in kio, moq-net, `@moq/net`, | ||
| moq-ffi, moq-c, or the wrappers, and methods without a consumer are deleted | ||
| instead of renamed. | ||
|
|
||
| ## Plan | ||
|
|
||
| Decided 2026-10-25 (maintainer), extending | ||
| [moq-net names](/quest/m1/api-audit/net-names.md)'s "Demand says `wanted`": | ||
|
|
||
| - Yes/no demand returns `bool`; `track::Demand::wanted() -> Option<u64>` | ||
| keeps its meaning. | ||
| - Broadcast demand is deleted: Rust's `broadcast::Demand` went in | ||
| [#6744](https://github.com/moq-dev/moq/pull/6744), and the `@internal` JS | ||
| `Broadcast.Demand` (read only by tests and a bench) goes too. The origin | ||
| closes a superseded producer explicitly instead of a publisher watching | ||
| demand. | ||
| - `group::Demand` has no production consumer in Rust; delete it rather than | ||
| convert it, unless net-names lands the conversion first. The JS group | ||
| demand stays internal. | ||
| - `bandwidth::Producer` gets a `demand()` handle with `wanted() -> bool` and | ||
| `wanted_changed()`, like track. | ||
| - `track::Fill` merges `is_used()` and `next()` into | ||
| `wanted() -> Option<u64>` (the next group owed), with `wanted_changed()` | ||
| replacing `unused()`. Check that it returns `None` once no reader is left. | ||
| - kio `Producer`/`ProducerWeak` rename too: `wanted() -> bool` and | ||
| `wanted_changed()`; delete the test-only async variants. | ||
| - The Announce consumer count from | ||
| [lifecycle](/quest/m1/api-audit/lifecycle.md) is a `wanted`-shaped signal, | ||
| not a new `unused()`. | ||
| - moq-c's `MOQ_DEMAND_USED/UNUSED` become `WANTED/UNWANTED`; moq-c takes the | ||
| break with every binding. | ||
|
|
||
| Fix the stale `is_used()` advice in `rs/moq-json/MIGRATE.md`, | ||
| `rs/moq-flate/MIGRATE.md`, and the Go wrapper README. | ||
|
|
||
| Public API: breaking renames and deletions in every language. Wire: none. | ||
|
|
||
| ## Required | ||
|
|
||
| - [moq-net names say one thing](/quest/m1/api-audit/net-names.md) - lands group demand's first `wanted` shape | ||
| - [One lifecycle vocabulary](/quest/m1/api-audit/lifecycle.md) - settles close and demand semantics this renames |
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
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
State the quest outcome in
Goal.These lines describe the current work-in-flight list. Move that status to
Planand makeGoalstate the outcome established by the quest.Based on learnings: quest
Goalsections state outcomes, whilePlansections record current status.Source: Learnings