Skip to content

fix: change contracts from json to yaml#56

Merged
andrewtavis merged 6 commits intoscribe-org:mainfrom
DeleMike:fix/change-json-to-yaml
Feb 15, 2026
Merged

fix: change contracts from json to yaml#56
andrewtavis merged 6 commits intoscribe-org:mainfrom
DeleMike:fix/change-json-to-yaml

Conversation

@DeleMike
Copy link
Collaborator

Contributor checklist

  • This pull request is on a separate branch and not the main branch
  • I have ran the ./pre-commit executable as well as make lint and have fixed all reported issues

Description

As discussed in the call, we are moving away from .JSON files for contracts to .yaml files. This PR adapts the Server to follow the new contract rules.

In this PR, I copied the yaml files from the Liveshare(Android Repo) into the Server directory.
Then I tested the process and the server outputs it well.

Example:

  1. GET http://localhost:8080/api/v1/contracts

Response:

contracts:
    de:
        conjugations:
            "1":
                sectionTitle: Präsens
                tenses:
                    "1":
                        tenseForms:
                            du: indicativePresentSecondPersonSingular
                            er/sie/es: indicativePresentThirdPersonSingular
                            ich: indicativePresentFirstPersonSingular
                            ihr: indicativePresentSecondPersonPlural
                            sie/Sie: indicativePresentThirdPersonPlural
                            wir: indicativePresentFirstPersonPlural
                        tenseTitle: Präsens
            "2":
                sectionTitle: Preterite
                tenses:
                    "1":
                        tenseForms:
                            du: indicativePreteriteFirstPersonPlural
                            er/sie/es: indicativePreteriteSecondPersonSingular
                            ich: indicativePreteriteFirstPersonSingular
                            ihr: indicativePreteriteThirdPersonSingular
                            sie/Sie: indicativePreteriteThirdPersonPlural
                            wir: indicativePreteriteSecondPersonPlural
                        tenseTitle: Preterite
            "3":
                sectionTitle: Perfekt
                tenses:
                    "1":
                        tenseForms:
                            du: '[indicativePresentSecondPersonSingular auxiliaryVerb] pastParticiple'
                            er/sie/es: '[indicativePresentThirdPersonSingular auxiliaryVerb] pastParticiple'
                            ich: '[indicativePresentFirstPersonSingular auxiliaryVerb] pastParticiple'
                            ihr: '[indicativePresentSecondPersonPlural auxiliaryVerb] pastParticiple'
                            sie/Sie: '[indicativePresentThirdPersonPlural auxiliaryVerb] pastParticiple'
                            wir: '[indicativePresentFirstPersonPlural auxiliaryVerb] pastParticiple'
                        tenseTitle: Perfekt
        genders:
            canonical:
                - gender
            commons: []
            feminines: []
            masculines: []
            neuters: []
        numbers:
            nominativeSingular: nominativePlural
    en:
        conjugations:
            "1":
                sectionTitle: Present
                tenses:
                    "1":
                        tenseForms:
                            I/you/plural: simplePresent
                            he/she/it: simplePresentThirdPersonSingular
                        tenseTitle: Pr. Simple
                    "2":
                        tenseForms:
                            I/you/plural: '[have] pastParticiple'
                            he/she/it: '[has] pastParticiple'
                        tenseTitle: Pr. Perfect
                    "3":
                        tenseForms:
                            I: '[am] presentParticiple'
                            he/she/it: '[is] presentParticiple'
                            you/plural: '[are] presentParticiple'
                        tenseTitle: Pr. Continuous
                    "4":
                        tenseForms:
                            I/you/plural: '[have been] presentParticiple'
                            he/she/it: '[has been] presentParticiple'
                        tenseTitle: Pr. Perf. Continuous
            "2":
                sectionTitle: Past
                tenses:
                    "1":
                        tenseForms:
                            all: simplePast
                        tenseTitle: Past Simple
                    "2":
                        tenseForms:
                            all: '[had] pastParticiple'
                        tenseTitle: Past Perfect
                    "3":
                        tenseForms:
                            I/he/she/it: '[was] presentParticiple'
                            you/plural: '[were] presentParticiple'
                        tenseTitle: Past Continuous
                    "4":
                        tenseForms:
                            all: '[had been] presentParticiple'
                        tenseTitle: Past Perf. Continuous
            "3":
                sectionTitle: Future
                tenses:
                    "1":
                        tenseForms:
                            all: '[will] infinitive'
                        tenseTitle": Fut. Simple
                    "2":
                        tenseForms:
                            all: '[will have] pastParticiple'
                        tenseTitle: Fut. Perfect
                    "3":
                        tenseForms:
                            all: '[will be] presentParticiple'
                        tenseTitle: Fut. Continuous
                    "4":
                        tenseForms:
                            all: '[will have been] presentParticiple'
                        tenseTitle: Fut. Perf. Continuous
            "4":
                sectionTitle: Conditional
                tenses:
                    "1":
                        tenseForms:
                            all: '[would] infinitive'
                        tenseTitle: Cond. Simple
                    "2":
                        tenseForms:
                            all: '[would have] pastParticiple'
                        tenseTitle: Cond. Perfect
                    "3":
                        tenseForms:
                            all: '[would be] presentParticiple'
                        tenseTitle: Cond. Continuous
                    "4":
                        tenseForms:
                            all: '[would have been] presentParticiple'
                        tenseTitle: Cond. Perf. Continuous
        genders:
            canonical: []
            commons: []
            feminines: []
            masculines: []
            neuters: []
        numbers:
            singular: plural
    es:
        conjugations:
            "1":
                sectionTitle: Presente
                tenses:
                    "1":
                        tenseForms:
                            ellos/ellas/Uds.: indicativePresentThirdPersonPlural
                            nosotros: indicativePresentSecondPersonPlural
                            tú: indicativePresentFirstPersonPlural
                            vosotros: indicativePresentThirdPersonSingular
                            yo: indicativePresentFirstPersonSingular
                            él/ella/Ud.: indicativePresentSecondPersonSingular
                        tenseTitle: Presente
            "2":
                sectionTitle: Pretérito
                tenses:
                    "1":
                        tenseForms:
                            ellos/ellas/Uds.: preteriteThirdPersonPlural
                            nosotros: preteriteSecondPersonPlural
                            tú: preteriteFirstPersonPlural
                            vosotros: preteriteThirdPersonSingular
                            yo: preteriteFirstPersonSingular
                            él/ella/Ud.: preteriteSecondPersonSingular
                        tenseTitle: Pretérito
            "3":
                sectionTitle: Imperfecto
                tenses:
                    "1":
                        tenseForms:
                            ellos/ellas/Uds.: pastImperfectThirdPersonPlural
                            nosotros: pastImperfectSecondPersonPlural
                            tú: pastImperfectFirstPersonPlural
                            vosotros: pastImperfectThirdPersonSingular
                            yo: pastImperfectFirstPersonSingular
                            él/ella/Ud.: pastImperfectSecondPersonSingular
                        tenseTitle: Imperfecto
        genders:
            canonical: []
            commons: []
            feminines:
                - feminineSingular
            masculines:
                - masculineSingular
            neuters: []
        numbers:
            feminineSingular: femininePlural
            masculineSingular: masculinePlural
    fr:
        conjugations:
            "1":
                sectionTitle: Présent
                tenses:
                    "1":
                        tenseForms:
                            il/elle: indicativePresentSecondPersonSingular
                            ils/elles: indicativePresentThirdPersonPlural
                            je: indicativePresentFirstPersonSingular
                            nous: indicativePresentSecondPersonPlural
                            tu: indicativePresentFirstPersonPlural
                            vous: indicativePresentThirdPersonSingular
                        tenseTitle: Présent
            "2":
                sectionTitle: Passé simple
                tenses:
                    "1":
                        tenseForms:
                            il/elle: indicativePreteriteSecondPersonSingular
                            ils/elles: indicativePreteriteThirdPersonPlural
                            je: indicativePreteriteFirstPersonSingular
                            nous: indicativePreteriteSecondPersonPlural
                            tu: indicativePreteriteFirstPersonPlural
                            vous: indicativePreteriteThirdPersonSingular
                        tenseTitle: Passé simple
            "3":
                sectionTitle: Imparfait
                tenses:
                    "1":
                        tenseForms:
                            il/elle: indicativeImperfectSecondPersonSingular
                            ils/elles: indicativeImperfectThirdPersonPlural
                            je: indicativeImperfectFirstPersonSingular
                            nous: indicativeImperfectSecondPersonPlural
                            tu: indicativeImperfectFirstPersonPlural
                            vous: indicativeImperfectThirdPersonSingular
                        tenseTitle: Imparfait
            "4":
                sectionTitle: Futur
                tenses:
                    "1":
                        tenseForms:
                            il/elle: indicativeSimpleFutureSecondPersonSingular
                            ils/elles: indicativeSimpleFutureThirdPersonPlural
                            je: indicativeSimpleFutureFirstPersonSingular
                            nous: indicativeSimpleFutureSecondPersonPlural
                            tu: indicativeSimpleFutureFirstPersonPlural
                            vous: indicativeSimpleFutureThirdPersonSingular
                        tenseTitle: Futur
        genders:
            canonical:
                - gender
            commons: []
            feminines: []
            masculines: []
            neuters: []
        numbers:
            singular: plural
    it:
        conjugations:
            "1":
                sectionTitle: Presente
                tenses:
                    "1":
                        tenseForms:
                            io: presentIndicativeFirstPersonSingular
                            lei/lui: presentIndicativeSecondPersonSingular
                            loro: presentIndicativeThirdPersonPlural
                            noi: presentIndicativeSecondPersonPlural
                            tu: presentIndicativeFirstPersonPlural
                            voi: presentIndicativeThirdPersonSingular
                        tenseTitle: Presente
            "2":
                sectionTitle: Preterito
                tenses:
                    "1":
                        tenseForms:
                            io: preteriteFirstPersonSingular
                            lei/lui: preteriteSecondPersonSingular
                            loro: preteriteThirdPersonPlural
                            noi: preteriteSecondPersonPlural
                            tu: preteriteFirstPersonPlural
                            voi: preteriteThirdPersonSingular
                        tenseTitle: Preterito
            "3":
                sectionTitle: Imperfetto
                tenses:
                    "1":
                        tenseForms:
                            io: pastImperfectFirstPersonSingular
                            lei/lui: pastImperfectSecondPersonSingular
                            loro: pastImperfectThirdPersonPlural
                            noi: pastImperfectSecondPersonPlural
                            tu: pastImperfectFirstPersonPlural
                            voi: pastImperfectThirdPersonSingular
                        tenseTitle: Imperfetto
        genders:
            canonical:
                - gender
            commons: []
            feminines: []
            masculines: []
            neuters: []
        numbers:
            singular: plural
    pt:
        conjugations:
            "1":
                sectionTitle: Presente
                tenses:
                    "1":
                        tenseForms:
                            ele/ela/você: indicativePresentSecondPersonSingular
                            eles/elas/vocês: indicativePresentThirdPersonPlural
                            eu: indicativePresentFirstPersonSingular
                            nós: indicativePresentSecondPersonPlural
                            tu: indicativePresentFirstPersonPlural
                            vós: indicativePresentThirdPersonSingular
                        tenseTitle: Presente
            "2":
                sectionTitle: Pretérito Perfeito
                tenses:
                    "1":
                        tenseForms:
                            ele/ela/você: indicativePastPerfectSecondPersonSingular
                            eles/elas/vocês: indicativePastPerfectThirdPersonPlural
                            eu: indicativePastPerfectFirstPersonSingular
                            nós: indicativePastPerfectSecondPersonPlural
                            tu: indicativePastPerfectFirstPersonPlural
                            vós: indicativePastPerfectThirdPersonSingular
                        tenseTitle: Pretérito Perfeito
            "3":
                sectionTitle: Pretérito Imperfeito
                tenses:
                    "1":
                        tenseForms:
                            ele/ela/você: indicativePastImperfectSecondPersonSingular
                            eles/elas/vocês: indicativePastImperfectThirdPersonPlural
                            eu: indicativePastImperfectFirstPersonSingular
                            nós: indicativePastImperfectSecondPersonPlural
                            tu: indicativePastImperfectFirstPersonPlural
                            vós: indicativePastImperfectThirdPersonSingular
                        tenseTitle: Pretérito Imperfeito
            "4":
                sectionTitle: Futuro Simples
                tenses:
                    "1":
                        tenseForms:
                            ele/ela/você: indicativePluperfectSecondPersonSingular
                            eles/elas/vocês: indicativePluperfectThirdPersonPlural
                            eu: indicativePluperfectFirstPersonSingular
                            nós: indicativePluperfectSecondPersonPlural
                            tu: indicativePluperfectFirstPersonPlural
                            vós: indicativePluperfectThirdPersonSingular
                        tenseTitle: Futuro Simples
        genders:
            canonical:
                - gender
            commons: []
            feminines: []
            masculines: []
            neuters: []
        numbers:
            singular: plural
    ru:
        conjugations:
            "1":
                sectionTitle: Настоящее
                tenses:
                    "1":
                        tenseForms:
                            вы: indicativePresentSecondPersonPlural
                            мы: indicativePresentFirstPersonPlural
                            он/она/оно: indicativePresentThirdPersonSingular
                            они: indicativePresentThirdPersonPlural
                            ты: indicativePresentSecondPersonSingular
                            я: indicativePresentFirstPersonSingular
                        tenseTitle: Indicative Present
            "2":
                sectionTitle: Прошедшее
                tenses:
                    "1":
                        tenseForms:
                            мы/вы/они: indicativePastPlural
                            оно: neuterIndicativePast
                            я/ты/он: masculineIndicativePast
                            я/ты/она: feminineIndicativePast
                        tenseTitle: Indicative Past
        genders:
            canonical:
                - gender
            commons: []
            feminines: []
            masculines: []
            neuters: []
        numbers:
            nominativeSingular: nominativePlural
    sv:
        conjugations:
            "1":
                sectionTitle: Aktiv
                tenses:
                    "1":
                        tenseForms:
                            infinitiv: activeInfinitive
                            presens: activePresent
                            preteritum: activePreterite
                            supinum: activeSupine
                        tenseTitle: Aktiv
            "2":
                sectionTitle: Passiv
                tenses:
                    "1":
                        tenseForms:
                            infinitiv: passiveInfinitive
                            presens: passivePresent
                            preteritum: passivePreterite
                            supinum: passiveSupine
                        tenseTitle: Passiv
        genders:
            canonical:
                - gender
            commons: []
            feminines: []
            masculines: []
            neuters: []
        numbers:
            nominativeDefiniteSingular: nominativeDefinitePlural
            nominativeIndefiniteSingular: nominativeIndefinitePlural
  1. GET http://localhost:8080/api/v1/contracts?lang=en
    Response:
contracts:
    en:
        conjugations:
            "1":
                sectionTitle: Present
                tenses:
                    "1":
                        tenseForms:
                            I/you/plural: simplePresent
                            he/she/it: simplePresentThirdPersonSingular
                        tenseTitle: Pr. Simple
                    "2":
                        tenseForms:
                            I/you/plural: '[have] pastParticiple'
                            he/she/it: '[has] pastParticiple'
                        tenseTitle: Pr. Perfect
                    "3":
                        tenseForms:
                            I: '[am] presentParticiple'
                            he/she/it: '[is] presentParticiple'
                            you/plural: '[are] presentParticiple'
                        tenseTitle: Pr. Continuous
                    "4":
                        tenseForms:
                            I/you/plural: '[have been] presentParticiple'
                            he/she/it: '[has been] presentParticiple'
                        tenseTitle: Pr. Perf. Continuous
            "2":
                sectionTitle: Past
                tenses:
                    "1":
                        tenseForms:
                            all: simplePast
                        tenseTitle: Past Simple
                    "2":
                        tenseForms:
                            all: '[had] pastParticiple'
                        tenseTitle: Past Perfect
                    "3":
                        tenseForms:
                            I/he/she/it: '[was] presentParticiple'
                            you/plural: '[were] presentParticiple'
                        tenseTitle: Past Continuous
                    "4":
                        tenseForms:
                            all: '[had been] presentParticiple'
                        tenseTitle: Past Perf. Continuous
            "3":
                sectionTitle: Future
                tenses:
                    "1":
                        tenseForms:
                            all: '[will] infinitive'
                        tenseTitle": Fut. Simple
                    "2":
                        tenseForms:
                            all: '[will have] pastParticiple'
                        tenseTitle: Fut. Perfect
                    "3":
                        tenseForms:
                            all: '[will be] presentParticiple'
                        tenseTitle: Fut. Continuous
                    "4":
                        tenseForms:
                            all: '[will have been] presentParticiple'
                        tenseTitle: Fut. Perf. Continuous
            "4":
                sectionTitle: Conditional
                tenses:
                    "1":
                        tenseForms:
                            all: '[would] infinitive'
                        tenseTitle: Cond. Simple
                    "2":
                        tenseForms:
                            all: '[would have] pastParticiple'
                        tenseTitle: Cond. Perfect
                    "3":
                        tenseForms:
                            all: '[would be] presentParticiple'
                        tenseTitle: Cond. Continuous
                    "4":
                        tenseForms:
                            all: '[would have been] presentParticiple'
                        tenseTitle: Cond. Perf. Continuous
        genders:
            canonical: []
            commons: []
            feminines: []
            masculines: []
            neuters: []
        numbers:
            singular: plural

Related issue

  • #ISSUE_NUMBER

@DeleMike DeleMike requested a review from andrewtavis February 15, 2026 13:46
@github-actions
Copy link

Thank you for the pull request! 💙

The Scribe-Server team will do our best to address your contribution as soon as we can. If you're not already a member of our public Matrix community, please consider joining! We'd suggest that you use the Element client as well as Element X for a mobile app, and definitely join the General and Data rooms once you're in. Also consider attending our bi-weekly Saturday dev syncs. It'd be great to meet you 😊

Note

Scribe uses Conventional Comments in reviews to make sure that communication is as clear as possible.

@github-actions
Copy link

github-actions bot commented Feb 15, 2026

Maintainer Checklist

The following is a checklist for maintainers to make sure this process goes as well as possible. Feel free to address the points below yourself in further commits if you realize that actions are needed :)

  • Tests for changes have been written and the continuous integration (CI) workflows within the PR checks do not indicate new errors in the files changed

  • The CHANGELOG has been updated with a description of the changes for the upcoming release and the corresponding issue (if necessary)

@DeleMike
Copy link
Collaborator Author

Hi @andrewtavis, this is a PR to adapt Scribe-Server to new contracts change

Copy link
Member

@andrewtavis andrewtavis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

praise: Thanks so much for the quick work here, @DeleMike! So great to be able to move on to the new contracts so quickly! 🚀

@andrewtavis
Copy link
Member

note: I added a .gitkeep for the contracts directory for #57 :)

@andrewtavis andrewtavis merged commit c9b99b5 into scribe-org:main Feb 15, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants