You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Security fix: run the publishing session without GitHub write authority #673
The staged-text work (#626, #646) already checks public text before thirdshift creates any issue. What's left is the session's own authority.
What to change
On a public repository, the Security fix publishing session (security-fix-publishing, Purpose::Security) runs without GitHub write authority, through every Harness adapter's security_session. thirdshift puts what the session needs to read, including the private record, into its prompt or worktree. The session then runs with GitHub credentials removed from its environment (for example, no GH_TOKEN/GITHUB_TOKEN and an empty gh config directory), not with a read-only token the user would have to create.
thirdshift remains the only writer of public content. It writes only from staged text that check_public_fix_text has accepted, on both the single-fix and staged-Spec paths.
The post-session issues_created_since / fail_on_side_effects sweep stays as a second check.
Acceptance criteria
On a public repository, any attempt by a publishing session to create an issue, comment or pull request, or to edit one, fails, for every supported Harness.
A test shows that such an attempt leaves no new or changed public content in the repository state.
A session that stages valid text still publishes a single fix, and a Spec with its sub-issue and blocking links, as it does now.
The publishing session still has the private record and the repository to work from.
The private-repository bigger-fix path behaves as it does now.
Out of scope
The private-repository path, where the session reuses and extends the finding's own issue.
Making check_public_fix_text catch paraphrased text.
Activity