-
-
Notifications
You must be signed in to change notification settings - Fork 0
docs: add Signed commits section to CONTRIBUTING #35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||
|---|---|---|---|---|---|---|---|---|
|
|
@@ -50,3 +50,20 @@ protection requires review and passing checks. | |||||||
| packaging policy, secrets, licence consistency and workflow security. | ||||||||
| . Security issues: follow `+SECURITY.md+` — report privately, never in a | ||||||||
| public issue. | ||||||||
|
|
||||||||
| == Signed commits | ||||||||
|
|
||||||||
| Every commit that reaches the default branch must be signed; a ruleset refuses | ||||||||
| unsigned pushes. Estate policy: | ||||||||
| https://github.com/hyperpolymath/standards/blob/main/docs/SIGNING-POLICY.adoc[SIGNING-POLICY]. | ||||||||
|
|
||||||||
| * **People and interactive agents** sign with an SSH key registered on GitHub | ||||||||
| as a *signing* key (`gpg.format=ssh`, `user.signingkey=<key>.pub`, | ||||||||
| `commit.gpgsign=true`). The committer email must be verified on that account. | ||||||||
| * **Apps, bots and workflows** never `git push` local commits. They write | ||||||||
| through the API (`createCommitOnBranch` or the estate `signed-push` action) | ||||||||
| so that GitHub signs each commit. | ||||||||
| * Merge PRs with **squash**. The ruleset checks every commit on the PR branch, | ||||||||
| not just the result, so one unsigned commit blocks the merge. Re-create such a | ||||||||
| branch with signed commits (`git cherry-pick -S`) and open a new PR. | ||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win 🔎 Supported by static analysis🏁 Script executed: nl -ba CONTRIBUTING.adoc | sed -n '45,75p'
git diff --no-ext-diff --unified=25 349cd45d59ddb3b548e71f7a26fa2594fe60eb6c af7c81363294fe2485aeb978f7a38ac65ab8015f -- CONTRIBUTING.adoc
rg -n -i 'force.?push|new PR|new pull request|signed commit|cherry-pick|rebase|squash|protected branch|ruleset' --glob '!vendor/**' .Repository: hyperpolymath/tentacles-agentic-syllabus Length of output: 4819 🌐 Web query:
💡 Result: 🏁 Script executed: #!/bin/bash
set -eu
printf '%s\n' '--- relevant tracked files ---'
git ls-files | rg '(^|/)(CONTRIBUTING|contributing|SECURITY|\.github/|standards|SIGNING-POLICY)' || true
printf '%s\n' '--- docs/contributing.adoc ---'
nl -ba docs/contributing.adoc | sed -n '45,85p'
printf '%s\n' '--- repository policy references ---'
rg -n -i 'force.?push|force push|new PR|new pull request|protected branch|branch protection|ruleset|unsigned|signed commit|cherry-pick|rebase|squash' --glob '!vendor/**' --glob '!LICENSES/**' --glob '!CONTRIBUTING.adoc' .
printf '%s\n' '--- local GitHub metadata ---'
find .github -maxdepth 3 -type f -print 2>/dev/null | sort | head -80Repository: hyperpolymath/tentacles-agentic-syllabus Length of output: 3030 🤖 get_repo_knowledge executed:
Length of output: 7979 Update the existing PR when force-pushes are allowed. The repository does not require a new PR after recreating signed commits. GitHub can update the existing PR when its branch permits force-pushes. Keep a new PR as the fallback when force-pushes are blocked. Suggested wording- branch with signed commits (`git cherry-pick -S`) and open a new PR.
+ branch with signed commits (`git cherry-pick -S`) and force-push it to update
+ the existing PR when the branch permits force-pushes; otherwise open a new PR.📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win 🔎 Supported by static analysis🏁 Script executed: #!/bin/bash
set -eu
printf '%s\n' '--- changed guidance ---'
git diff --no-ext-diff --unified=20 349cd45d59ddb3b548e71f7a26fa2594fe60eb6c af7c81363294fe2485aeb978f7a38ac65ab8015f -- CONTRIBUTING.adoc
printf '%s\n' '--- current relevant lines ---'
cat -n CONTRIBUTING.adoc | sed -n '45,78p'
printf '%s\n' '--- existing guidance ---'
cat -n docs/contributing.adoc | sed -n '1,80p'
printf '%s\n' '--- Git version and command help ---'
git --version
git cherry-pick -h 2>&1 | sed -n '1,100p'
git commit -h 2>&1 | rg -n -C 3 -- '-S|sign|gpg'
printf '%s\n' '--- checked-in signing configuration references ---'
rg -n -i --glob '!CONTRIBUTING.adoc' --glob '!docs/contributing.adoc' 'gpg\.format|user\.signingkey|commit\.gpgsign|ssh signing|ssh-sign|cherry-pick -S|GPG|signed commit' . || trueRepository: hyperpolymath/tentacles-agentic-syllabus Length of output: 10081 🌐 Web query:
💡 Result: Configure SSH signing before the recovery step.
Add explicit setup commands before recommending the recovery command: Suggested fix * **People and interactive agents** sign with an SSH key registered on GitHub
as a *signing* key (`gpg.format=ssh`, `user.signingkey=<key>.pub`,
`commit.gpgsign=true`). The committer email must be verified on that account.
+ Set these values before using `git cherry-pick -S`:
++
+[source,bash]
+----
+git config --local gpg.format ssh
+git config --local user.signingkey <key>.pub
+git config --local commit.gpgsign true
+----
* **Apps, bots and workflows** never `git push` local commits. They write🤖 Prompt for AI Agents |
||||||||
| Rebase-merge replays commits unsigned and is disabled. | ||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Align the contributor guides on commit signing.
CONTRIBUTING.adoc:58-62directs people and interactive agents to use GitHub-registered SSH signing keys. However,docs/contributing.adoc:17-19still tells contributors to configure a GPG signing key, anddocs/contributing.adoc:52-53requires GPG-signed commits. These current instructions give contributors different signing policies. Update the GPG references to match the SSH policy.Suggested fix
🤖 Prompt for AI Agents