You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
conformance: add check-decode --format pb-text so the cross-port text gate runs Python #37
The cross-port text gate (scripts/cross_text_check.sh in protowire) lists python in NOT_YET. Python has no check-decode --format pb-text, so nobody checks the PXF that pxf.marshal writes against protowire-go's goldens in testdata/text/cases/. This issue is #35's twin: #35 covers the write gate, this one the text gate.
Python's marshaller is protowire-cpp's. cpp is held to the gate already, including the Annotated cases since cpp#129 (protowire c48fcc0). So once the pin is on v2.0.0 (#31), a pb-text mode should pass with little or no bridge work. That is inferred, not measured.
check_decode.py reads a .binpb descriptor set next to --proto, because Python cannot compile a .proto. Only testdata/adversarial ships one. The text and write gates pass --proto testdata/text/text.proto, which has no .binpb. The harness needs to build one, for example with protoc --include_imports when the file is missing. Or the spec repo ships one. (In this session's probe, protoc -I . -I proto --include_imports built working sets for nulls/ and keyed/.)
Done when
check_decode.py --format pb-text reads PB with the stock runtime and writes pxf.marshal's text on stdout.
cross_text_check.sh runs Python with no new exclusions, or each exclusion has an issue.
A protowire PR moves python out of NOT_YET and into the text workflow's REQUIRE_PORTS.
Harness half: #49 (check_decode --format pxf-pb / pb-text). Gate half: trendvidia/protowire#590 (draft until #49 merges) runs Python in the write, text and security gates and adds it to each workflow's REQUIRE_PORTS. Measured locally: write 87/87 and text 60/60 for Python with no exclusions, security 136/136. This closes when #590 merges.
Activity
bfrancojr commentedon Nov 7, 2026
Harness half: #49 (
check_decode --format pxf-pb/pb-text). Gate half: trendvidia/protowire#590 (draft until #49 merges) runs Python in the write, text and security gates and adds it to each workflow'sREQUIRE_PORTS. Measured locally: write 87/87 and text 60/60 for Python with no exclusions, security 136/136. This closes when #590 merges.