{"id":19741319,"url":"https://github.com/vegaprotocol/specs","last_synced_at":"2025-04-30T06:30:30.508Z","repository":{"id":45722687,"uuid":"250547889","full_name":"vegaprotocol/specs","owner":"vegaprotocol","description":"Specs, designs and requirements 🦔","archived":false,"fork":false,"pushed_at":"2024-10-28T13:57:36.000Z","size":19259,"stargazers_count":7,"open_issues_count":144,"forks_count":2,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-10-28T16:56:58.880Z","etag":null,"topics":["documentation","specification"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vegaprotocol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-03-27T13:55:45.000Z","updated_at":"2024-08-19T11:39:24.000Z","dependencies_parsed_at":"2024-01-08T11:28:31.363Z","dependency_job_id":"c4898d7f-0f79-47e2-91eb-06af52616b11","html_url":"https://github.com/vegaprotocol/specs","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vegaprotocol%2Fspecs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vegaprotocol%2Fspecs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vegaprotocol%2Fspecs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vegaprotocol%2Fspecs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vegaprotocol","download_url":"https://codeload.github.com/vegaprotocol/specs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224200587,"owners_count":17272467,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["documentation","specification"],"created_at":"2024-11-12T01:25:47.134Z","updated_at":"2024-11-12T01:25:48.042Z","avatar_url":"https://github.com/vegaprotocol.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vega specs\n\nThis repository contains specifications and RFCs for future changes to the system. The process for writing, reviewing and merging specs is in [WORKFLOW.md](./WORKFLOW.md).\n\n## Specification branches\n\nIn order to ensure that there is a clear view on the specification of the protocol, both at the version in mainnet and the version being developed in testnet, the following branching is used:\n\n- `master` branch details the specification of the protocol in mainnet (from Alpha Mainnet onwards)\n- `cosmicelevator` branch is the milestone grouping of features being developed AFTER Alpha Mainnet. As features are deployed to mainnet by the validators the relevant spec changes will be merged into the `master` branch.\n- Further milestone branches will be created as development progresses and will be updated in this `README.md`\n  \nTo find out more see the [The specification lifecycle](WORKFLOW.md#the-specification-lifecycle)\n\n## [Protocol](./protocol/)\n\nThis folder contains the protocol specifications. The goal of this folder is to specify how anyone could write an\nimplementation of Vega that is compatible with [vegaprotocol/vega](https://github.com/vegaprotocol/vega).\n\n### Protocol spec IDs\n\nrepository are assigned a numerical ID based on merge order, and then a 4 letter code, which results in a unique identifier\nfor each specification (e.g. the first merged spec is [0001-MKTF](./protocol/0001-MKTF-market_framework.md). These codes\nare then used to assign a unique Acceptance Criteria ID to each Acceptance Criteria, which can be used to cross reference\ndetailed requirements to test implementations.\n\n## [Non-protocol specs](./non-protocol-specs)\n\nFor peripheral things that need to be hashed out through pull requests, we have `non-protocol-specs`. An example of\nwhere this could be useful is the design process for the Liquidity Bots, or the short-lived 'training wheels' for a\nlimited mainnet.\n\n## [Glossaries](./glossaries/)\n\nThese are quick reference points for general terminology we use. Some of the specs are really dense with trading terms\nor blockchain specifics. If something comes up that you don't understand and have to look up, it's likely it will happen\nto someone else - add it to the glossary so we have a shared reference point. The advantage of adding it here rather than\nletting people go off and search on their own is that we can point out if a specific feature/term is applied differently\ndue to Vega's design.\n\n## Test codes \u0026 coverage\n\nSpecifications should contain _Acceptance Criteria_ - testable scenarios that can be used to demonstrate that the feature is implemented as designed.\nThe criteria are then labelled with a code in the form `0000-CODE-000`, where the first two segments are the [unique identifier for the specification](#protocol-spec-ids) and the last segment is an integer for the criteria. Using [vegaprotocol/approbation](https://github.com/vegaprotocol/approbation) we produce a coverage matrix.\n\n## Disclaimer\n\nThroughout the `specs` repo we are using terms which in other contexts will have other meanings for example implying certain legal rights. Remember this is a blockchain project; entirely code based. Just as mathematics borrows terms from the real world (like \"open\" / \"closed\" when discussing topological properties of sets) in mathematics a set can be both open and closed at the same time which will not happen to a door in the meat-space. So: things in the `specs` repo mean what their assigned meaning within the spec repo is. Nothing more.\n\nIn particular we introduce a term `equity-like share`: please remember: this is a blockchain and is entirely code-based; there are no dividends and no legally enforceable rights; don't expect a pretty share certificate coming in the post.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvegaprotocol%2Fspecs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvegaprotocol%2Fspecs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvegaprotocol%2Fspecs/lists"}