{"id":20060632,"url":"https://github.com/oasisprotocol/adrs","last_synced_at":"2025-06-21T22:06:34.665Z","repository":{"id":45286900,"uuid":"498244628","full_name":"oasisprotocol/adrs","owner":"oasisprotocol","description":"Architectural Decision Records","archived":false,"fork":false,"pushed_at":"2025-01-07T10:15:17.000Z","size":182,"stargazers_count":2,"open_issues_count":4,"forks_count":1,"subscribers_count":15,"default_branch":"main","last_synced_at":"2025-03-02T10:14:20.252Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oasisprotocol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"publiccode":null,"codemeta":null}},"created_at":"2022-05-31T08:11:09.000Z","updated_at":"2025-01-07T10:15:18.000Z","dependencies_parsed_at":"2024-01-04T13:44:55.312Z","dependency_job_id":"0b617809-4653-4dcc-87f7-7a61bb0e4c1a","html_url":"https://github.com/oasisprotocol/adrs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/oasisprotocol/adrs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oasisprotocol%2Fadrs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oasisprotocol%2Fadrs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oasisprotocol%2Fadrs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oasisprotocol%2Fadrs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oasisprotocol","download_url":"https://codeload.github.com/oasisprotocol/adrs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oasisprotocol%2Fadrs/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261200410,"owners_count":23123953,"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":[],"created_at":"2024-11-13T13:16:05.638Z","updated_at":"2025-06-21T22:06:29.653Z","avatar_url":"https://github.com/oasisprotocol.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Architectural Decision Records\n\nThis is a location to record all architecture decisions in the Oasis Core\nproject via [Architectural Decision Records] (ADRs).\n\n\u003c!-- markdownlint-disable line-length --\u003e\n[Architectural Decision Records]: https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions.html\n\u003c!-- markdownlint-enable line-length --\u003e\n\n## Format\n\nEach record has a unique number associated with it to make it easier to\ncross-reference them. The records are stored as Markdown files in this\ndirectory, named using the following convention:\n\n```\n\u003cadr-number\u003e-\u003cshort-title\u003e.md\n```\n\nWhere:\n\n* `\u003cadr-number\u003e` is the assigned zero-padded ADR number.\n* `\u003cshort-title\u003e` is the ADR's title in [Kebab case].\n\nThe content of each ADR should follow [the template]. In short, an ADR should\nprovide:\n\n* a changelog of all modifications so far,\n* context on the relevant goals and the current state,\n* proposed changes to achieve the goals,\n* summary of pros and cons,\n* references and\n* the decision that was made.\n\n[Kebab case]: https://en.wikipedia.org/wiki/Letter_case#Special_case_styles\n[the template]: template.md\n\n## Process for Creating New ADRs\n\nThere is a lightweight process for proposing, discussing and deciding on ADRs:\n\n* Create branch: If you have write permissions to the repository, you\n  can create user-id prefixed branches (e.g. user/feature/foobar) in the main\n  repository. Otherwise, fork the main repository and create your branches\n  there.\n  * Good habit: regularly rebase to the `HEAD` of `master` branch of the main\n    repository to make sure you prevent nasty conflicts:\n\n    ```bash\n    git rebase \u003cmain-repo\u003e/master\n    ```\n\n  * Push your branch to GitHub regularly so others can see what you are working\n    on:\n\n    ```bash\n    git push -u \u003cmain-repo-or-your-fork\u003e \u003cbranch-name\u003e\n    ```\n\n    _Note that you are allowed to force push into your development branches._\n\n* Use draft pull requests for work-in-progress:\n  * The draft state signals that the code is not ready for review, but still\n    gives a nice URL to track the ongoing work.\n\n* In your branch, create a new ADR file following the convention and template\n  specified above.\n* Update the index of current records below.\n* Create a pull request and mark it as ready for review. The commit message for\n  introducing an ADR should have the title of the ADR, following by a short\n  summary:\n\n  ```\n  ADR 0000: Architectural Decision Records\n\n  Introduce architectural decision records (ADRs) for keeping track of\n  architecture decisions in a transparent way.\n  ```\n\n* The ADR will be discussed by other members of the community and the project\n  committers. After a sufficient amount of discussion, acceptance or rejection\n  decision will be taken in accoordance with the governance process and the\n  pull request will be merged, introducing a new ADR.\n\nAfter the ADR is merged an implementation may be undertaken by following the\n[contribution process].\n\n\u003c!-- markdownlint-disable line-length --\u003e\n[contribution process]:\n  https://github.com/oasisprotocol/oasis-core/tree/master/CONTRIBUTING.md\n\u003c!-- markdownlint-enable line-length --\u003e\n\n## Current Records\n\nThe following records currently exist:\n\n\u003c!-- markdownlint-disable line-length --\u003e\n* [ADR 0000](0000-architectural-decision-records.md) - Architectural Decision Records\n* [ADR 0001](0001-tm-multi-root-apphash.md) - Multiple Roots Under the Tendermint Application Hash\n* [ADR 0002](0002-go-modules-compatible-git-tags.md) - Go Modules Compatible Git Tags\n* [ADR 0003](0003-consensus-runtime-token-transfer.md) - Consensus/Runtime Token Transfer\n* [ADR 0004](0004-runtime-governance.md) - Runtime Governance\n* [ADR 0005](0005-runtime-compute-slashing.md) - Runtime Compute Node Slashing\n* [ADR 0006](0006-consensus-governance.md) - Consensus Governance\n* [ADR 0007](0007-improved-random-beacon.md) - Improved Random Beacon\n* [ADR 0008](0008-standard-account-key-generation.md) - Standard Account Key Generation\n* [ADR 0009](0009-ed25519-semantics.md) - Ed25519 Signature Verification Semantics\n* [ADR 0010](0010-vrf-elections.md) - VRF-based Committee Elections\n* [ADR 0011](0011-incoming-runtime-messages.md) - Incoming Runtime Messages\n* [ADR 0012](0012-runtime-message-results.md) - Runtime Message Results\n* [ADR 0013](0013-runtime-upgrades.md) - Runtime Upgrade Improvements\n* [ADR 0014](0014-runtime-signing-tx-with-hardware-wallet.md) - Signing Runtime Transactions with Hardware Wallet\n* [ADR 0015](0015-vrf-per-block-entropy.md) - Randomized Paratime Proposer Selection\n* [ADR 0016](0016-consensus-parameters-change-proposal.md) - Consensus Parameters Change Proposal\n* [ADR 0020](0020-governance-delegator-votes.md) - Governance Support for Delegator Votes\n* [ADR 0021](0021-keymanager-ephemeral-secrets.md) - Forward-Secret Ephemeral Secrets\n* [ADR 0022](0022-keymanager-master-secrets.md) - Forward-Secret Master Secrets\n* [ADR 0024](0024-off-chain-runtime-logic.md) - Runtime Off-chain Logic (ROFL)\n\u003c!-- markdownlint-enable line-length --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foasisprotocol%2Fadrs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foasisprotocol%2Fadrs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foasisprotocol%2Fadrs/lists"}