Repository navigation
quest: plan fixes the Pullfrog learnings exposed #148
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
+76
−0
Merged
Changes from all commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
bd132c2
quest: plan fixes the Pullfrog learnings exposed
kixelated 8ae7ad1
quest: settle the review's findings on the Pullfrog plans
kixelated 0983cac
quest: pin-on-main unshallows CI's submodule before the ancestry test
kixelated 673ff3e
quest: bound the recipe lint's race with #146 and fetch moq only when…
kixelated 4a89fac
quest(m0): address CodeRabbit on #146's hold and the base gitlink fetch
kixelated d0faa24
quest(m0/doc-drift): Check runs when a draft is marked ready
kixelated bb03d37
Merge remote-tracking branch 'origin/main' into HEAD
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| # [S] Docs and test notes match the code | ||
|
|
||
| ## Goal | ||
|
|
||
| Ignored tests name a recipe that exists, and `just check` keeps it so, | ||
| `record.rs` describes how recording actually encodes, and `CONTRIBUTING.md`'s | ||
| PR rules fit the quest PRs agents open, so neither people nor agents follow | ||
| instructions that fail. | ||
|
|
||
| ## Plan | ||
|
|
||
| Decided 2026-11-12 (maintainer, /quest-plan), from studio's trimmed Pullfrog | ||
| learnings: | ||
|
|
||
| - `CONTRIBUTING.md:9` and `:15-21` require conventional-commit titles and | ||
| Problem/Approach/Impact sections on every PR, but quest PRs (#108, #110, | ||
| #112, #114, #115, #126, #141, #143) use the quest guide's sections and | ||
| `quest` type titles, such as `quest:` or `quest(m0/ux):`. Which changes? | ||
| - ✅ Exempt quest PRs: a PR that only adds or edits quests follows the quest | ||
| guide's format and a `quest` type title, with or without a scope | ||
| (rejected: make quest PRs carry the template too). | ||
| - 59 `#[ignore]` reasons say `just rs render-sw` (54 in | ||
| `rs/moq-scene/src/compositor.rs`, 5 in `rs/moq-studio/src/engine.rs`), but | ||
| the recipe is `just render-sw` in the root `justfile`. Fix every one main | ||
| holds, and add a `just check` step that fails when an `#[ignore]` reason | ||
| names a `just` recipe the root `justfile` does not define (`just | ||
| --summary` lists them). Open PR | ||
| [moq-dev/studio#146](https://github.com/moq-dev/studio/pull/146) adds | ||
| another with the wrong name and edits the recipe. Check skips drafts but | ||
| runs when one is marked ready, testing its merge with `main` as of that | ||
| run, so #146, a draft held until moq's timed catalog is pinned, runs the | ||
| lint once marked ready after this lands; if #146 lands first, this fixes | ||
| its reason too. `main`'s ruleset does not require an up-to-date branch, | ||
| so if #146 is ready with a passing Check when this lands, update its | ||
| branch (`gh pr update-branch 146`), or ask the session holding it to, and | ||
| hold it from merging until that Check passes. | ||
| - `rs/moq-studio/src/record.rs:4-6` says a recording of the program shares | ||
| the live encoders, but `rs/moq-studio/src/engine.rs:1811-1852` gives the | ||
| recording its own full-size encoder (`recorded_video`, `record: true`) in | ||
| a hidden broadcast. Rewrite only the program's half: the sources' half | ||
| (`record.rs:6-9`) is accurate, since local sources are read from the | ||
| studio's local broadcast (`engine.rs:932-935`). |
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,34 @@ | ||
| # [XS] The moq pin is checked to be on moq's main | ||
|
|
||
| ## Goal | ||
|
|
||
| A PR that points the `moq` submodule at a commit not on moq-dev/moq's `main` | ||
| fails a check, as `AGENTS.md:14` already requires in prose. | ||
|
|
||
| ## Plan | ||
|
|
||
| From studio's trimmed Pullfrog learnings (2026-11-12, maintainer, | ||
| /quest-plan). | ||
|
|
||
| `sh/check-moq-pin.sh` checks only that the checkout matches the gitlink, that | ||
| the submodule is clean, and that no moq git dependency appears beside it. | ||
| `sh/upgrade-moq.sh` fetches moq's `main` but checks out any revision given. | ||
|
|
||
| - Add a script that fetches moq's `main` into the submodule with its whole | ||
| commit history, since CI's submodule checkout is shallow (`--unshallow` | ||
| where it is, with `--filter=tree:0` to keep it small), and fails unless | ||
| `git merge-base --is-ancestor <gitlink> FETCH_HEAD` holds. | ||
| - Run it as its own step in `.github/workflows/check.yml`, not from | ||
| `just check`, so a local `just check` stays offline, and only on a pull | ||
| request whose `moq` gitlink differs from its base's | ||
| (`github.event.pull_request.base.sha`), so an unchanged pin fetches | ||
| nothing and never fails on a network error. The checkout is shallow | ||
| (depth 1, the merge commit only), so the step first runs | ||
| `git fetch --no-tags --depth=1 origin <base sha>` and compares | ||
| `git rev-parse <base sha>:moq` with `git rev-parse HEAD:moq`; that fetch | ||
| is one small commit and reads no submodule. | ||
| - `just upgrade-moq <rev>` runs the same ancestry test after its fetch and | ||
| refuses a revision off `main`. | ||
|
|
||
| [pin-main](/quest/m0/pin-main.md) catches the studio up to moq's `main` and | ||
| is unaffected: the current pin, `644d48996`, is on `main`. | ||
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.
Uh oh!
There was an error while loading. Please reload this page.