Skip to content

Complete protobuf schemas for ingestion - #1375

Draft
jwils wants to merge 1 commit into
mainfrom
joshuaw/proto-schema-completeness
Draft

Complete protobuf schemas for ingestion#1375
jwils wants to merge 1 commit into
mainfrom
joshuaw/proto-schema-completeness

Conversation

@jwils

@jwils jwils commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator

Why

The protobuf generator rejects nested lists and omits source-only types used by multi-source indexing. Its proto3 scalar fields also lose the distinction between omitted values and explicit defaults.

What

Generate wrapper messages for nested lists, include source-only types and their dependencies, and emit optional singular fields in both protobuf syntaxes.

How

Each inner list gets a message with a repeated values field. Source-only types come from the existing sourced_from update targets. Compiler tests exercise both syntaxes and verify field presence and nested values through binary round trips.

Risk

Generated proto3 schemas now require protoc 3.15 or newer. Publishers must regenerate code to preserve explicit zero, false, and empty string values. Repeated fields still cannot represent null lists or null elements.

Testing

No manual testing.

Bigger picture

This completes schema generation needed for native protobuf ingestion. It is independent of the ingestion adapter stack; runtime decoding and indexing will follow separately.

Preserve singular field presence in proto2 and proto3, represent nested
lists with wrapper messages, and include types used only as indexing
sources. Compile both syntaxes and verify their binary round trips.
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