Record schema: serialise with a version, and the additions R1b/R2 need
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
Research direction
Start with the API section of the review report and the referenced RecordFileWriter.cs location, then trace RecordSchema, ToJsonSchema(), R1b, and the R2 partial-root resolution work. The issue bundles serialization, schema kinds, identity and path decisions, and an async adapter, so first clarify scope and design decisions with the maintainers. Done means these decisions and changes are implemented and documented; no specific tests are named.
Written by the indexing model from the issue text.
Description
From the review of PR sillsdev/SIL.TextEditing#147 (H:\work\gdr-design-20261102\reports\te-review-record-frame.md), API section. Do before or with R1b (SIL.TextEditing.Project).
- RecordSchema is data but not serialisable: move ToJson/FromJson into the library with a version field (Q54': savable beside an export). ToJsonSchema() is one-way and loses Paragraphs, the ws default and rich vs reference.
- Additive kinds: ordered vs unordered sequences (seq vs col); owned objects of several classes (class:); a read-only/computed: marker.
- Identity: partial roots are index-only and a #field partial cannot carry a GUID (RecordFileWriter.cs:74); allow a GUID in root or guid: in field partials; R2 resolves partial roots against base. Decide outline-number paths (senses/1.2) here too.
- INotationChecker is synchronous while ITextLanguageService is async: add an adapter that accepts only services that answer at once, documented.
- Dominant language
- C#
- Stars
- 1
- Forks
- 0
- Avg merge
- 3h 55m
- Merged PRs (30d)
- 36
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from sillsdev/motif
-
Difficulty 2/5 1-3 hours Newbie friendliness 87/100
Maintainers usually reply within 1 day
-
Playground selection bar: comes back after Apply or scrolling while focus is in the Markdown paneOpentextediting
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
Maintainers usually reply within 1 day
-
textediting
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
textediting
Difficulty 2/5 1-3 hours Newbie friendliness 69/100
Maintainers usually reply within 1 day
-
textediting
Difficulty 1/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
Similar issues
-
bug emitter:client:csharp
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
microsoft/typespec#12572 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
needs-area-label
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 2 days
-
AWS Lambda: KeyNotFoundException drops HTTP-triggered transactions when allowAllHeaders is disabledOpenbug
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
newrelic/newrelic-dotnet-agent#3949 · 1 comment ·
Maintainers usually reply within 1 day
-
area-networking
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
dotnet/aspnetcore#70545 · 1 comment ·
Maintainers usually reply within 1 day
-
priority:P2
Difficulty 2/5 1-3 hours Newbie friendliness 80/100