Repository navigation
Conversation
Require signed .lgx packages with a declared signer DID, immutable GitHub releases, a frozen evaluated rootHash, a release integrity manifest in solution PRs, canonical install instructions, account and Actions hygiene, and Tier 2 controls for prizes that handle keys or funds. - README: new Release integrity and security policy with security tiers - prizes/LP-0000.md: Security Tier line and references to the policy - solutions/LP-0000.md: Release Integrity section, install instructions, security checklist - validate-submission: non-blocking manifest checks and immutable-release lookup via the GitHub API - AGENTS.md: set the tier and avoid endorsement wording Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
❌ Validation failedFix before review:
Warnings (non-blocking):
Automated check. See solution template and TERMS. |
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.
Why
Installing a Basecamp module runs a stranger's native code with the user's full account privileges, and today nothing ties the build we evaluate to the build users install later. Releases, tags and catalog indexes are mutable and owned by the participant, updates from a different key (or unsigned) install with only a warning, and λPrize counts adoption before anyone has looked at the code. These changes ask submitters to close the part of that gap that is in their hands.
What changes for submitters
New README policy, Release integrity and security, referenced by tier from every prize:
lgx sign, signer DID intrustedSigners, and the DID declared up front in the solution PR.rootHash. Never replace assets, ship changes as new versions.rootHash, SHA-256, variants, signer DID.rootHash, never "search for X" or "disable warnings").--accept-flake-config, no extra substituters, no prompt injection aimed at review agents).rootHash.rootHashX on date Y against criteria Z", plus "Logos never DMs install links".Files
README.md: the policy above, and a pointer from "Submitting a Solution" and "Evaluation Policies".prizes/LP-0000.md:Security Tierline, plus Supportability, Adoption, Prize Structure, Submission Requirements and Evaluation Process references.solutions/LP-0000.md:## Release Integritysection (manifest table), install instructions, security checklist..github/scripts/validate-submission.sh+ workflow: non-blocking warnings for a missing section, commit SHA, DID,rootHashor catalog URL, and a read-only GitHub API lookup that reports whether each listed release isimmutable. All submitter-supplied strings are matched against strict patterns before reaching the API.GH_TOKENis now passed to the validation step for that lookup.AGENTS.md: set the tier and avoid "approved/verified/safe" wording.Existing prize files (LP-0001, 0018, 0021, 0022, 0023, 0026) are not touched.
Testing
Ran
validate-submission.shlocally against a filled-in and an empty solution: the immutable lookup reportscli/cli@v2.104.0as immutable, unreadable releases warn, and placeholders trigger every manifest warning.bash -nandgit diff --checkpass.Decisions needed before merging
Post-award obligationsfield and says a prize may hold back part of its amount. The percentage (proposal: 15 to 25%) and the period need a team and legal decision, andTERMS.mdprobably needs a matching clause. I did not editTERMS.md.indexrelease vs. immutability.logos-modules-release-action'srebuild-indexreplacesindex.jsonin place on theindexrelease. Per GitHub, immutability applies only to releases published after it is enabled, so creating theindexrelease first should keep it working. This needs a quick end-to-end test on a fork, and ideally native support in the action.logos-modules-release-basepins@v1/@v4. Submitters are asked to SHA-pin them. Fixing the base template upstream (R&D item) would remove that friction.🤖 Generated with Claude Code