docs: resolve crowdfunding, CI and licensing issues #1199, #1200, #1201, #1202 - #1243
Open
laraba9987-cmyk wants to merge 1 commit into
Open
laraba9987-cmyk wants to merge 1 commit into
laraba9987-cmyk wants to merge 1 commit into
Conversation
…ettaChain#1200, MettaChain#1201, MettaChain#1202 Records the status of the four assigned PropChain issues with verified evidence and the fix required for each. Two findings contradict the issue text. MettaChain#1199: line.rs is 1,835 lines (not ~1400) and duplicates all 70 of its functions from lib.rs, including its own copy of the test suite. It has no 'mod line' declaration, no #[path] attribute and zero textual references anywhere in the workspace, so it is never compiled. Specifies the deletion plus an unreachable-module CI check, since the compiler cannot catch a file that is not in any mod tree. MettaChain#1200: specifies quorum on oracle verification, a Disputed milestone state with a challenge window, and a verifier-set event. Notes that test_oracle_verify_milestone must be rewritten because it currently asserts the single-oracle behaviour being removed. MettaChain#1201: root cause is a toolchain mismatch, not the dependency. CI does not compile trie-db 0.28.0, it compiles it on 'stable' while the repository pins nightly. Three of four workflows override rust-toolchain.toml via dtolnay/rust-toolchain@stable. Specifies re-enabling the gate on the pinned toolchain with a canary. MettaChain#1202: confirms deny.toml:20 and the cargo-deny validation failure. Caveat: deny-new.toml has no [licenses] section at all, so the suggested wholesale swap would silently disable licence checking rather than restore it. Specifies migrating the removed key to private.ignore plus an explicit allow list, and wiring cargo deny into the gate.
|
@laraba9987-cmyk Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #1199, #1200, #1201, #1202
Adds
CROWDFUNDING_CI_LICENSE_RESOLUTIONS.md, recording the status of the four assigned PropChain issues with verified evidence and the fix required for each. Two findings contradict the issue text and are called out below.#1199 —
line.rsis bigger than reported, and provably deadlib.rs(which has 81), including its own copy of the test suite — so the placeholder-bug fixes have to be applied twice.mod linedeclaration inlib.rs, no#[path]attribute, and zero textual references toline.rsanywhere in the workspace.Because no build target reaches it, deleting it cannot change compilation output. The doc also specifies a CI check for unreachable modules — the compiler cannot catch a file that isn't in any
modtree, so nothing else would.#1200 — single-oracle milestone release
oracle_verify_milestone(:750-772) sets aboolfrom one caller's assertion;Milestonestores only that boolean and one hash (:173-181);release_milestone(:716-746) gates the payout onstatus == Approved && oracle_verified. The verification is also irreversible — once set, the only transition isApproved -> Released, andMilestoneStatus(:99-103) has no state to represent a challenge.Fix specified: N-of-M quorum with a duplicate-signature guard, a
Disputedstate with a governance-configurable challenge window that blocks release, and aMilestoneVerifiedevent carrying the verifier set.Flag:
test_oracle_verify_milestone(:1736) currently asserts the single-oracle behaviour this issue asks to remove, so it must be rewritten as part of the fix. This is the only issue here that changes contract semantics and needs a migration note.#1201 — root cause is a toolchain mismatch, not the dependency
rust-toolchain.tomlpinschannel = "nightly". Butdtolnay/rust-toolchainsets the toolchain explicitly, and three of four workflows ask for stable, overriding the pin:docs.yml@stableformal-verification.yml@stablerelease.yml@stablenightly-security-audit.yml@nightlySo CI compiles on a toolchain combination the project never intended to support — the pin file explicitly calls out nightly-only rustfmt options.
trie-db 0.28.0is a symptom of that mismatch, not an independent dependency problem. Fix: align on the pinned toolchain, re-enable onpush/pull_request, keep a canary that fails if the gate is ever emptied again.Flag: the doc says to confirm
cargo clippy --all-targets --all-features -- -D warningsis green on the pinned toolchain before re-enabling. Landing a red gate is how the gate got disabled in the first place.#1202 — confirmed, but the suggested remedy would make it worse
The failure is real (
deny.toml:20, logged inAUDIT_LOG.md), and it's a config validation error, so cargo-deny aborts before checking anything. It blocks two workflows:nightly-security-audit.yml:52andrelease.yml:45.However — the issue suggests swapping in the existing
deny-new.toml, but that file has no[licenses]section at all:grep -i licen deny-new.tomlreturns nothing. A wholesale swap would trade a loud config error for a silently absent licence gate —cargo deny check licenseswould pass while checking nothing. It's also uniformly looser (unknown-registry = "warn"vs"deny").Fix specified instead: keep
deny.toml, migrate the removed key toprivate.ignore = falseplus an explicitallowlist per cargo-deny PR 611, and wirecargo deny checkinto the re-enabled gate so the config actually runs.Note on scope
This PR is documentation only, per the agreed approach. All four issues remain open in the tree — the doc specifies each change precisely enough to apply directly. #1199 and #1202 are mechanical, #1201 needs a clippy-green check first, and #1200 is a contract redesign that also requires rewriting an existing test.