Skip to content

chore(quest): finish the narrowed stand-in quest - #698

Merged
kixelated merged 4 commits into
mainfrom
quest/m1/ffi-export/refusals/narrow-standin
Nov 10, 2026
Merged

kixelated merged 4 commits into
mainfrom
quest/m1/ffi-export/refusals/narrow-standin

Conversation

@kixelated

@kixelated kixelated commented Nov 10, 2026 •

Copy link
Copy Markdown
Collaborator

Problem

The stand-in's narrowing, which this quest claimed, landed on main as moq-dev/rust2#683. The quest file and the links to it were still on main, so the quest read as open work it no longer is.

Approach

Verified each Goal item on main: the stand-in exports the session side (Client, Server, Connection, Transport, Log, tls, panic, the errors, and the listed config, server, listener, and helper types); pub use ::moq_tokio::* is gone; ffi/moq/ffi.toml has 128 excludes, all naming items inside the stand-in. Then:

No code changed. The decisions the quest recorded are below.

Impact

No public API change. The export's C names and the stand-in's exports are as #683 left them.

Census

just ffi census at this head, and at 30faf4fb (main before #683) with the same moq source, since moq_rev is unchanged between the two. Refused items per crate, counted by the crate each item is defined in:

Crate Before After
hang 4 4
kio 16 16
moq-mux 50 50
moq-net 20 19
moq-quic 15 0
moq-sock 4 0
moq-tokio 73 41
Total 182 130

Refused types stay at 6 in both. By construct: functions 18 to 11, methods and fields 146 to 109, constants 1 to 0, other items 11 to 4.

The epic README's earlier figures (1111 items, 84 in moq-tokio, 321 types) come from a tree before #668 and #671, which changed the exporter. They cannot be reproduced on the current exporter, so this table uses 30faf4fb as the before.

Decisions

From the quest, decided with the maintainer:

  • 2026-11-07, from moq-dev/rust2#655: the stand-in re-exports only the session side moq-ffi ships from moq-tokio. Rejected: all of moq-tokio, whose QUIC driver, CLI helpers, worker groups, and listeners no binding calls; bindings drive the sans-IO driver of session-quic instead.
  • 2026-11-09, in the quest audit: no landing order between the siblings. Each leaves the moq-tokio items outside the session side alone, and whichever lands later measures the census again. Rejected: landing narrowing first, which no Required link held.
  • 2026-11-09, in the iterate of moq-dev/rust2#683: the closure over the session side adds the types the session items and the fixtures name, and keeps the CLI helpers and listener internals out, so Client::new and Server::new export again. Rejected: rewriting the seven fixtures to the narrow list.
  • 2026-11-09, in the same iterate: no rename of the three Configs. Rust keeps connect::Config, listen::Config, and quic::Config, and C keeps moq_tokio_connect_Config_*. Go, which clashes, keeps its module segment, so the names are tokio.ConnectConfig, tokio.ListenConfig, and tokio.QuicConfig. Rejected: renaming in the stand-in, and re-exporting whole modules.
  • Dropped by narrowing: moq-tokio's rustls, notify, congestion, cli::usage_rs, quic::web's http and proto re-exports, and quic::driver's Side refusals. Every item the stand-in names exists at moq ffcb7cd9.

Choices made in this PR, without asking:

  • The children's construct counts stay at the pin. The epic says each child measures again when it lands, and the quest's "update the counts in the epic and its children" was done for the epic only. Each child's counts already note that narrowing drops moq-tokio items.
  • The before in the census table is 30faf4fb, as above, not the 1111 figure the epic recorded.

Follow-ups

None to plan. The epic's children still carry their construct counts at the pin, and each re-measures when it lands, as the epic says.

Models

Size: XS
Implementer: Claude, claude-haiku-5-5, high effort

(Written by Haiku 5.5 with high effort)

🤖 Generated with Claude Code

Review

Rewritten by quest review after each round.

  • Reviewer: Codex, gpt-6.1-sol, low effort
  • Session: 01a1c64d-78d8-7950-a286-a094943b4cf0, round 3
  • Head: a49615b
  • Base: origin/main at 37ab619
  • Score: 10/10, The branch’s own changes retire the completed quest and replace its remaining references with the implementing PR; no actionable defects were found.
  • Findings: none

@pullfrog

pullfrog Bot commented Nov 10, 2026

Copy link
Copy Markdown

Pullfrog  | Review this ➔

The stand-in narrowing landed in #683. Delete its quest and
the links to it, and keep its decisions in the PR body.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
@kixelated kixelated changed the title The stand-in exports only moq-tokio's session side chore(quest): finish the narrowed stand-in quest Nov 10, 2026
@kixelated
kixelated marked this pull request as ready for review November 10, 2026 20:22
@coderabbitai

coderabbitai Bot commented Nov 10, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 31 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: a0c9f4e4-b671-431d-9ac7-2bda37c27bef
Commits

Reviewing files that changed from the base of the PR and between 37ab619 and a49615b.

Files selected for processing: 5

  • quest/m1/ffi-export/refusals/README.md
  • quest/m1/ffi-export/refusals/generics.md
  • quest/m1/ffi-export/refusals/moq-pin.md
  • quest/m1/ffi-export/refusals/narrow-standin.md
  • quest/m1/ffi-export/refusals/std-types.md
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@kixelated
kixelated marked this pull request as draft November 10, 2026 20:23
kixelated and others added 2 commits November 10, 2026 12:23
…efusals/narrow-standin

# Conflicts:
#	quest/m1/ffi-export/refusals/README.md
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
@kixelated
kixelated marked this pull request as ready for review November 10, 2026 20:31
@kixelated
kixelated added this pull request to the merge queue Nov 10, 2026
Merged via the queue into main with commit da6e42f Nov 10, 2026
4 checks passed
@kixelated
kixelated deleted the quest/m1/ffi-export/refusals/narrow-standin branch November 10, 2026 20:33
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