spec: merge spec repo into tendermint repo#7804
Conversation
Fix model section
Co-Authored-By: Anca Zamfir <ancazamfir@users.noreply.github.com>
…DR-050 (#68) * Add spec doc about unconditional_peer_ids, persistent_peers_max_dial_period of ADR-050 * Add indefinitely dialing condition
* sr25519 amino * Update spec/blockchain/encoding.md Co-Authored-By: Marko <marbar3778@yahoo.com>
…ent_algo # Conflicts: # spec/consensus/light-client.md
Move light specs to their own dir, add readme and diagram
Update specification of light client algorithm to align with the code
lite->light
./light -> ./light-client
docs/rfc/README.md
Outdated
| - [RFC-008: Don't Panic](./rfc-008-don't-panic.md) | ||
| - [RFC-009: Consensus Parameter Upgrades](./rfc-009-consensus-parameter-upgrades.md) | ||
| - [RFC-010: P2P Light Client](./rfc-010-p2p-light-client.rst) | ||
| - [RFC-011: Block Retention](./rfc-011-block-retention.md) |
There was a problem hiding this comment.
Do we want these to be RFCs? It seems like spec RFCs are used more like what we call ADRs in the core.
There was a problem hiding this comment.
Good question. I don't think all the RFC's in the spec can be mapped to ADR's in Core (I think the ABCI++ RFC for example was more RFCy than others) but I think there are a few where you're right. I thought, however, it might be easier for people to find if we kept them in the RFC section of Tendermint.
There was a problem hiding this comment.
Yeah—I was mainly reacting to the format of the RFC docs we're importing, which uses the same (or very similar) structure with "decision" and "pro/con/neutral" sections.
I suppose we could also keep them in spec/rfc if we aren't sure.
There was a problem hiding this comment.
I don't like the idea of having two rfc directories. I will move them across as ADR's with the exception of ABCI++ and Semantic Versioning which I think serve better as artefacts of conversations around certain problems
creachadair
left a comment
There was a problem hiding this comment.
This seems overall fairly safe. The main thing I'm a little concerned about is the merging of toplevel config files, scripts, etc., like Makefile and GitHub workflows. I pointed out a few things that stuck out to me, but we should be prepared for other gotchas in the build.
That said: I don't have any objection if we have to clean up some stuff after the fact.
|
With the aim of trying to get the bulk of this merge swiftly through, I've marked this as ready to review. I've just done a course grain sweep of things trying to clean up existing references to the spec, merging the RFC's and documentation around the two. The generated proto files have intentionally been left untouched as there is currently a discrepancy between the spec protos due to the ABCI++ work. The generation scripts also needs to be adjusted but I'm going to push that to a separate PR. Remaining work resides in porting across the backports and doing all the github migration stuff like bringing across the issues and signalling the migration in the tendermint/spec repo |
|
The proto-lint failures appear to be real (seems like path mismatch). |
Both the spec and tendermint-go kept their protos under |
|
It appears we may still be missing some proto files: |
I think that what's actually happening is that the paths changed in some places as a result of this and the generator doesn't know how to find the types anymore. |
|
I'm noticing a lot of references to the spec repo still in place, should we fix these up before the merge? |
|
A lot of these reference pull requests or issues in the spec repo which I've left there. There are others which reference a commit in the spec repo which could be updated but I think it's also fine to leave it as. There's no doubt more work to be done in cleaning up the spec, I just want to get the change in quickly so as to not block people |
Hmm I'm not sure what I changed for this to happen. |
I have run into something like this before—there are some subtleties about the order of processing for the various filters in the buf config. I'm fine with merging around it, we will just have to sort it out at some point. |
thanethomson
left a comment
There was a problem hiding this comment.
I opened #7835 to add some minor changes to links that were referring to https://github.com/tendermint/spec/blob/master. In some cases it makes more sense to just have relative links - assuming everyone's okay with relative links?
It seems as though there a quite a few dead links and some extensive cleanup's needed.
What are we going to do with all the links to docs in the rust-spec directory?
The only caution about relative links is that the docs site uses a different root than the main repo. So you can either have relative links that work with the docs site or with the markdown lint checker, but not both. See for context #7675 |
1a99c0b to
e81b0e2
Compare
This PR cherry-picks a number of commits present in the `master` branch of this repository. Some of the commits are from the old `tendermint/spec` repository, namely: - tendermint/spec#369 - tendermint/spec#373 - tendermint/spec#375 - tendermint/spec#398 - tendermint/spec#399 This content has then been migrated to the `tendermint/tendermint` repository, from which follow PRs were considered: - tendermint/tendermint#7804 (**not cherry-picked**) - tendermint/tendermint#8018 - tendermint/tendermint#8096 Most of the conflicts and the fixes needed refer to links to content, that have been updated or referred to old repositories. The MD files that are currently under `spec/consensus/proposer-based-timestamp` were moved to the `v1` subdir. Files with similar names, but the `-002` suffix were added with the new solution, replacing the old ones. The differences from the original content, on `master` and the content of this PR are minimal, as one can check by running ` git diff master spec/consensus/proposer-based-timestamp/` Finally, the entry point of the added content can be found [here](https://github.com/cometbft/cometbft/blob/cason/pbts-spec/spec/consensus/proposer-based-timestamp/README.md). --------- Co-authored-by: Daniel <daniel.cason@usi.ch> Co-authored-by: Josef Widder <44643235+josef-widder@users.noreply.github.com> Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com> Co-authored-by: Kukovec <jure.kukovec@gmail.com> Co-authored-by: Daniel Cason <cason@gandria> Co-authored-by: M. J. Fromberger <fromberger@interchain.io> Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>
This PR cherry-picks a number of commits present in the `master` branch of this repository. Some of the commits are from the old `tendermint/spec` repository, namely: - tendermint/spec#369 - tendermint/spec#373 - tendermint/spec#375 - tendermint/spec#398 - tendermint/spec#399 This content has then been migrated to the `tendermint/tendermint` repository, from which follow PRs were considered: - tendermint/tendermint#7804 (**not cherry-picked**) - tendermint/tendermint#8018 - tendermint/tendermint#8096 Most of the conflicts and the fixes needed refer to links to content, that have been updated or referred to old repositories. The MD files that are currently under `spec/consensus/proposer-based-timestamp` were moved to the `v1` subdir. Files with similar names, but the `-002` suffix were added with the new solution, replacing the old ones. The differences from the original content, on `master` and the content of this PR are minimal, as one can check by running ` git diff master spec/consensus/proposer-based-timestamp/` Finally, the entry point of the added content can be found [here](https://github.com/cometbft/cometbft/blob/cason/pbts-spec/spec/consensus/proposer-based-timestamp/README.md). --------- Co-authored-by: Daniel <daniel.cason@usi.ch> Co-authored-by: Josef Widder <44643235+josef-widder@users.noreply.github.com> Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com> Co-authored-by: Kukovec <jure.kukovec@gmail.com> Co-authored-by: Daniel Cason <cason@gandria> Co-authored-by: M. J. Fromberger <fromberger@interchain.io> Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> (cherry picked from commit 84339ef)
This PR looks to implement ADR 076 through the following steps:
git pull spec master --allow-unrelated-historiesto combine commit history in parallel. Then sift through and resolve merge conflicts.rust-specproto/specalongsideproto/tendermintivy-proofswithin the spec repov0.35.xandv0.34.xoff the correct spec commitsTo be decided:
specbe in thedocsdirectory or the root directory?DO NOT SQUASH MERGE PLS