marigold-dev / marigold-dev/deku

Stop using [@deriving yojson] in exposed types

Open
#37 0 comments 0 reactions 0 assignees View on GitHub
backlog
Dominant language
OCaml
Stars
82
Forks
17
PR merge metrics
No merged PRs in 30d

Description

While deriving is helpful it is common for it to ignore invariants defined otherwise in the modules. As this is particularly tricky we will be removing it for now.

Deriving can still be used but the full ritual needs to happen by defining a type only for serialization and converting from it.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating exposed types that use [@deriving yojson] and inspect how their module invariants are defined. Replace those uses with serialization-only types and explicit conversions, as described in the issue; done means exposed types no longer rely on deriving while serialization remains available.

Written by the indexing model from the issue text.

Assessment

Tech stack
ocaml
Domain
backend
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.