synrc/rpc
47.8
Weak · 2 October 2026
1.8k
lines of production code
Erlang
primary language
2
measurements over time
What this system is
This system is an Erlang-based RPC framework that generates serialization and validation code for multiple languages, including JavaScript, Swift, and Google Protobuf, from Erlang type specifications. It provides a core code generation engine alongside a BEAM protocol decoder and encoder library for Swift. The project also includes documentation and sample implementations to demonstrate the integration of these generated components.
Features
Added documentation pages for BERT encoder/decoder modules
New HTML documentation pages have been added for the bert\_google, bert\_javascript, bert\_swift, and bert\_validator modules, providing user-facing descriptions of their respective encoder/decoder capabilities for GRPC, JavaScript, Swift, and Erlang.
man · high confidence
Initial release of RPC code generator with CI and documentation
This change introduces the initial version of the RPC project, an Erlang-based SDK that generates encode/decode code for JavaScript, Swift, and Google Protobuf from Erlang HRL type specifications. The release includes the core generator modules (bert\_javascript, bert\_google, bert\_validator), a Travis CI configuration for Erlang 20-23, and a static website (index.html) with documentation and samples. It also sets up standard repository metadata including .gitignore, .gitattributes, LICENSE, and CNAME.
(repo-wide) · high confidence
Initial release of the Bert RPC framework with multi-language code generation
This change introduces the core Bert RPC application, providing a parse-transform-based system that automatically generates serialization, validation, and client-side model code for Erlang records. The framework now supports generating JavaScript encoders/decoders (bert\_javascript), Swift models and decoders (bert\_swift), and Google Protobuf definitions (bert\_google) from Erlang source. It also includes a bert\_validator module that generates compile-time validation logic for record fields, and a bert\_sample demonstrating the integration. The application is initialized via the bert supervisor and is versioned at 4.11.1.
src · high confidence
Introduce macbert BEAM protocol decoder and encoder
This change adds the \macbert\ library to the private section, providing Swift-based serialization and deserialization for the BEAM (Erlang) protocol. The implementation includes model classes for standard response types (\ok\, \error\, \io\), a \Decoder\ to parse incoming BEAM tuples into these models, and an \Encoder\ to serialize application objects (such as \Auth\, \Confirm\, and \Contact\) into BEAM format. The library also features a type specification system (\TypeSpec\) for handling various BEAM data types like atoms, binaries, and lists, along with corresponding test specifications to validate the parsing logic.
priv · high confidence
New include headers for RPC configuration and domain data models
Added \include/bert.hrl\ and \include/sample.hrl\ to the project. The \bert.hrl\ header defines the \DISDEF\ macro and configuration paths for JavaScript, Java, Swift, Google Protobuf, and Erlang assets via application environment variables. The \sample.hrl\ header introduces a comprehensive set of type definitions and record structures for the application's domain model, including records for Messages, Auth, Services, Members, Rooms, Contacts, Rosters, and Profiles, along with associated status and type enums.
include · high confidence
Removals
Removal of initial macbert source files
The initial implementation files for the macbert module have been removed, including Model.swift, Parser.swift, Spec.swift, and main.swift. This deletes the early data model definitions, the BEAM term parser logic, and the entry point that executed the initial test suite.
macbert · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 50 → 48 (-2.7)
- Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.
Lenses
- Code Health 100 → 100 (+0.0)
- Architecture 100 → 100 (+0.0)
- Maturity 56 → 56 (+0.0)
- Readiness 61 → 45 (-15.8)
- Security 65 → 74 (+8.8)
- Accessibility 35 → 35 (+0.0)
Resolved (2)
- Coverage not measured — no coverage collector is wired up
- Documentation: no architecture or design documentation (README.md)
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
synrc/rpc was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 2 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit b97221f038d3d55d3756f3871413df81c8d5b881 — the exact code this score is about.
- Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.