Goal
Envelope + serializer re-baseline + RBS scaffolding. Speak v1.0 wire (draft-02 §5.1) before any message class is touched.
Scope
- Reduce
Arcp::Envelope from 19 fields to the §5.1 set (lib/arcp/envelope.rb)
- Flip
Arcp::PROTOCOL_VERSION from '1.0' to '1' (lib/arcp/version.rb)
- Rename
Arcp::Json → Arcp::Serializer; add backend= setter for opt-in oj
- Reject unknown
arcp values; ignore unknown top-level keys per §5.1
- W3C 32-hex
trace_id validation
- Ruby floor:
>= 3.3.0 (arcp.gemspec); TargetRubyVersion: 3.3 (.rubocop.yml)
- Drop
json_schemer from gemspec
- Add
bigdecimal ~> 3.1, opentelemetry-api ~> 1.5 to gemspec runtime deps
- Add
async-rspec ~> 1.17, rbs ~> 3.6, steep ~> 1.9, mutant to dev group
- Enable
SimpleCov.enable_coverage :branch + 87% line+branch floor
- Create
sig/ directory; write RBS for Arcp::Envelope, Arcp::Serializer, Arcp::Trace
- Add
Steepfile with public-surface allowlist
- Regenerate envelope fixtures from spec §13
EnvelopeSpec updated to assert §5.1 shape
Spec §
§5.1, §11, §13
Gate
bundle exec rake (rspec + rubocop) green; bundle exec steep check green on the new sig files; coverage ≥ 87% on the touched files. No v1.1 features touched yet.
Goal
Envelope + serializer re-baseline + RBS scaffolding. Speak v1.0 wire (draft-02 §5.1) before any message class is touched.
Scope
Arcp::Envelopefrom 19 fields to the §5.1 set (lib/arcp/envelope.rb)Arcp::PROTOCOL_VERSIONfrom'1.0'to'1'(lib/arcp/version.rb)Arcp::Json→Arcp::Serializer; addbackend=setter for opt-inojarcpvalues; ignore unknown top-level keys per §5.1trace_idvalidation>= 3.3.0(arcp.gemspec);TargetRubyVersion: 3.3(.rubocop.yml)json_schemerfrom gemspecbigdecimal ~> 3.1,opentelemetry-api ~> 1.5to gemspec runtime depsasync-rspec ~> 1.17,rbs ~> 3.6,steep ~> 1.9,mutantto dev groupSimpleCov.enable_coverage :branch+ 87% line+branch floorsig/directory; write RBS forArcp::Envelope,Arcp::Serializer,Arcp::TraceSteepfilewith public-surface allowlistEnvelopeSpecupdated to assert §5.1 shapeSpec §
§5.1, §11, §13
Gate
bundle exec rake(rspec + rubocop) green;bundle exec steep checkgreen on the new sig files; coverage ≥ 87% on the touched files. No v1.1 features touched yet.