Lane: reflection/parse (sweep 2, finding 4)
src/field.js:358-361: [default = NOPE] on an enum field where NOPE isn't a member → values["NOPE"] is undefined, no error; field.js:403-404 then sets ctor.prototype[name] = undefined. protoc rejects unknown enum defaults at parse time.
Repro (executed): typeDefault is undefined after resolveAll().
Verdicts: luna Confirm Strong; grok Downgrade Worth exploring (requires a typo protoc would already catch upstream of protobuf.js). Recorded as Worth exploring.
Upstream: no match.
Decision question: Adopt (throw at resolve when a string default isn't an enum member) or Reject?
Lane: reflection/parse (sweep 2, finding 4)
src/field.js:358-361:[default = NOPE]on an enum field where NOPE isn't a member →values["NOPE"]isundefined, no error;field.js:403-404then setsctor.prototype[name] = undefined. protoc rejects unknown enum defaults at parse time.Repro (executed):
typeDefaultisundefinedafterresolveAll().Verdicts: luna Confirm Strong; grok Downgrade Worth exploring (requires a typo protoc would already catch upstream of protobuf.js). Recorded as Worth exploring.
Upstream: no match.
Decision question: Adopt (throw at resolve when a string default isn't an enum member) or Reject?