Skip to content

JEP-0011: Protobuf Introspection and Interface Generation#565

Merged
kirkbrauer merged 10 commits into
mainfrom
jep-0011-proposal
May 11, 2026
Merged

JEP-0011: Protobuf Introspection and Interface Generation#565
kirkbrauer merged 10 commits into
mainfrom
jep-0011-proposal

Conversation

@kirkbrauer

@kirkbrauer kirkbrauer commented Apr 16, 2026

Copy link
Copy Markdown
Member

Propose adding protobuf introspection to allow non-Python clients to discover driver APIs. Introduces FileDescriptorProto as the schema format and enables bidirectional CLI tooling (jmp proto export, jmp proto generate, jmp proto check).

For a full reference implementation, please see: https://github.com/jumpstarter-dev/jumpstarter/tree/jep-11-protobuf-introspection

@kirkbrauer kirkbrauer added the enhancement New feature or request label Apr 16, 2026
@coderabbitai

coderabbitai Bot commented Apr 16, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack
No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 26aeedcf-7538-4fad-9c62-3a7ff7976001

📥 Commits

Reviewing files that changed from the base of the PR and between 89a49f4 and ed66028.

📒 Files selected for processing (2)
  • python/docs/source/internal/jeps/JEP-0011-protobuf-introspection-interface-generation.md
  • python/docs/source/internal/jeps/README.md
✅ Files skipped from review due to trivial changes (1)
  • python/docs/source/internal/jeps/README.md

📝 Walkthrough

Walkthrough

The JEP index README is updated: the Standards Track table is reformatted and a new row for JEP 0011 ("Protobuf Introspection and Interface Generation", status "Accepted", author "@kirkbrauer") is added; the hidden toctree is extended to include the JEP-0011 doc file.

Changes

JEP Documentation Index

Layer / File(s) Summary
Index table
python/docs/source/internal/jeps/README.md
Table column widths expanded; new Standards Track row added for JEP 0011 with status "Accepted" and author @kirkbrauer.
Hidden toctree
python/docs/source/internal/jeps/README.md
Hidden {toctree} updated to include JEP-0011-protobuf-introspection-interface-generation.md so the new JEP appears in generated docs navigation.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

Suggested labels

documentation

Suggested reviewers

  • mangelajo
  • raballew

Poem

🐰 I hopped through docs with gentle cheer,
A JEP arrived — now everyone can hear.
Columns stretched and a row made bright,
Hidden map reveals it in the site,
Protobuf notes tucked snug and light.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely identifies the main subject of this PR: JEP-0011 on Protobuf Introspection and Interface Generation, which matches the documentation update adding this JEP to the index.
Description check ✅ Passed The description is directly related to the changeset, explaining the purpose of the JEP being added (protobuf introspection for non-Python clients) and linking to the reference implementation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch jep-0011-proposal

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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

Comment @coderabbitai help to get the list of available commands and usage tips.

@kirkbrauer

Copy link
Copy Markdown
Member Author

@ambient-code Please update the TOCTREE and main index file for the JEPs to include this proposal.

@ambient-code

ambient-code Bot commented Apr 16, 2026

Copy link
Copy Markdown
Contributor

Done — added a JEPs index page at python/docs/source/internal/jeps/index.md listing JEP-0011, and wired it into the contributing section toctree so proposals are discoverable from the main docs navigation.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
python/docs/source/internal/jeps/index.md (1)

3-6: Consider linking the JEP process doc here.

To reduce ambiguity for first-time proposal authors, add a direct link to the JEP process document in this intro section.

Suggested doc tweak
 JEPs are the primary mechanism for proposing significant changes to
 Jumpstarter. Each JEP is submitted as a pull request containing a Markdown
 document that describes the motivation, design, and implementation plan for
 the proposed change.
+For process details, see
+[`JEP-0000: JEP Process`](../../../jeps/JEP-0000-jep-process.md).
Based on learnings, the project’s process document is located at `jeps/JEP-0000-jep-process.md`.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@python/docs/source/internal/jeps/index.md` around lines 3 - 6, Add a direct
link to the JEP process document in the intro paragraph of the JEP index so
first-time authors can find the process easily; edit the text that begins "JEPs
are the primary mechanism..." in the jeps index and append or replace a sentence
with a clear relative link to the process doc (jeps/JEP-0000-jep-process.md) and
a short phrase like "see the JEP process document" so readers can jump directly
to the guidelines.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@python/docs/source/internal/jeps/index.md`:
- Around line 3-6: Add a direct link to the JEP process document in the intro
paragraph of the JEP index so first-time authors can find the process easily;
edit the text that begins "JEPs are the primary mechanism..." in the jeps index
and append or replace a sentence with a clear relative link to the process doc
(jeps/JEP-0000-jep-process.md) and a short phrase like "see the JEP process
document" so readers can jump directly to the guidelines.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: a9f28d7f-141f-4ae5-b20b-88468446d8a2

📥 Commits

Reviewing files that changed from the base of the PR and between fcbbfbf and 841f8ce.

📒 Files selected for processing (3)
  • python/docs/source/contributing.md
  • python/docs/source/internal/jeps/JEP-0011-protobuf-introspection-interface-generation.md
  • python/docs/source/internal/jeps/index.md

@kirkbrauer

Copy link
Copy Markdown
Member Author

@raballew @mangelajo I have updated the JEP proposal with a more refined scope focusing on just the Protobuf generation at build-time which is much simpler, deferring the interface generation for now, and addressing additional comments.

@mangelajo mangelajo left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thank you !, very substantial work, and positive (of course with some risks of making things a little bit more complicated) but my opinion after fully reading it is that it's worth it.

My main question at this point is if we should really commit to deprecate the DriverCall or just keep it around forever to make development and out of tree drivers easier. I'd prefer to defer that decision until we are more familiar with this new path :)

kirkbrauer and others added 5 commits May 9, 2026 14:45
Propose adding protobuf introspection to allow non-Python clients to
discover driver APIs. Introduces FileDescriptorProto as the schema
format and enables bidirectional CLI tooling (jmp proto export,
jmp proto generate, jmp proto check).
…on-interface-generation.md

Co-authored-by: Miguel Angel Ajo Pelayo <miguelangel@ajo.es>
…on-interface-generation.md

Co-authored-by: Miguel Angel Ajo Pelayo <miguelangel@ajo.es>
@kirkbrauer kirkbrauer force-pushed the jep-0011-proposal branch from 079acd9 to 5fe576b Compare May 9, 2026 18:45
@kirkbrauer

Copy link
Copy Markdown
Member Author

@mangelajo I've added the final refinements based on the comments, LGTM

@kirkbrauer kirkbrauer requested a review from mangelajo May 9, 2026 21:36

@raballew raballew left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

lgtm

@kirkbrauer kirkbrauer merged commit 509db8d into main May 11, 2026
32 checks passed
@raballew raballew deleted the jep-0011-proposal branch June 5, 2026 11:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants