chore: OSS hardening — community files, gitignore, scratch cleanup#151
Conversation
Done in tandem with repo-level setting changes applied via `gh`:
- branch protection on main (required status checks: test 3.12 / 3.13
/ drift-check; linear history; no force-push; no branch deletions)
- Dependabot security updates + vulnerability alerts enabled
- private vulnerability reporting enabled
- wiki disabled, Discussions enabled
This commit adds the on-repo side:
Community files (lifts GitHub community-profile score 42% → 100%):
- SECURITY.md — disclosure policy, supported versions, scope, in-tree
security measures.
- CODE_OF_CONDUCT.md — points at Contributor Covenant v2.1 by
canonical URL with project-specific reporting channel.
- CONTRIBUTING.md — dev setup, conventions, PR checklist; mirrors
CLAUDE.md.
- .github/ISSUE_TEMPLATE/{bug_report,feature_request,config}.yml —
structured forms; config.yml redirects security to Private
Vulnerability Reporting and questions to Discussions.
- .github/PULL_REQUEST_TEMPLATE.md — standard PR scaffold.
Cleanup:
- Deleted .planning/ (6 audit reports from the v2.0 hardening wave;
preserved in git history, no longer needed in main).
- Deleted scripts/audit_demo_feasibility.py (one-off v0.10–v0.13
endpoint feasibility probe; not part of the supported tooling).
- Purged 92 .DS_Store files from the working tree.
.gitignore additions: **/.DS_Store, .planning/, .claude/worktrees/,
.venv.stale*. Keeps the patterns above out of future commits.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Code Review — PR #151: OSS Hardening (Community Files + Cleanup)OverviewThis is a pure docs/infrastructure PR. No changes to What this PR addsCommunity files — well-structured throughout:
Cleanup:
IssuesMedium — SECURITY.md claims spec-sync has
|
Per bot review on PR #151: - CODE_OF_CONDUCT.md: drop the suggestion to route CoC reports through GitHub's Private Vulnerability Reporting. PVR is wired into the security-advisory tooling (CVSS, advisory drafts, security alerts) and conflating CoC + vuln channels confuses both reporters and maintainers. Point at direct GitHub-profile contact instead; reserve PVR for actual vulnerabilities per SECURITY.md. - CONTRIBUTING.md: `uv sync --dev` → `uv sync` to match CLAUDE.md (uv installs dev-group deps by default; --dev is at best a no-op). Verified the SECURITY.md claim about spec-sync permissions is accurate: `.github/workflows/spec-sync.yml` permissions block reads `contents: read + issues: write`, locked in by PR #109 (Wave 1). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Three items addressed:
|
Code Review — PR #151: OSS Hardening (Community Files + Cleanup)Overall: Solid housekeeping PR. No OverviewThis PR adds GitHub community-profile files ( Issues🔴
|
Per second bot review on PR #151: - release.yml: SHA-pin all third-party actions (actions/checkout@v4.2.2, astral-sh/setup-uv@v6.3.1, actions/upload-artifact@v4.6.2, actions/download-artifact@v4.3.0, pypa/gh-action-pypi-publish@v1.14.0, softprops/action-gh-release@v2.2.1). This matches what SECURITY.md already claims about release-path workflows being SHA-pinned. The bot was right — claim was overstated for release.yml (claude.yml, claude-code-review.yml, spec-sync.yml were already pinned). - CONTRIBUTING.md: soften claude-review wording. It's advisory, not a required check, and fails by design on Dependabot / workflow-self- modifying PRs. New wording reflects that. - PR template: wrap bare `Closes #` placeholder in an HTML comment so GitHub's issue-link parser doesn't see a malformed reference, and add a note that the section can be deleted if no issue is referenced. Verified pip-audit.yml exists (third claim from bot was correct to spot-check). All three SECURITY.md claims now match reality. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Addressed all four items from this round:
|
Code Review — PR #151: OSS Hardening (Community Files, Gitignore, Scratch Cleanup)OverviewA clean, no-code-change PR. The additions are community/governance infrastructure; the deletions are internal planning artifacts and a one-off audit script. No Release Workflow SHA-Pinning ✅This is the best part of the PR. All six third-party actions in Also noticed Community FilesSECURITY.md — Content is solid. Scope table, reporting channel, response timeline, and in-scope/out-of-scope lists are all appropriate. Two items to double-check:
CODE_OF_CONDUCT.md — Correct and concise. The clarification that Private Vulnerability Reporting is not the CoC channel (and why) is a nice touch that prevents a real operational confusion. CONTRIBUTING.md — Well-written. Mirrors Issue Templates
PR TemplateOne rendering bug in Closes #<!-- N -->The Closes #N(plain text that authors replace), or: <!--
Use `Closes #N` to auto-close on merge, or `Refs #N` for partial work.
Delete this section if the PR doesn't reference an issue.
Closes #N
-->Deletions
|
Summary
Companion PR to the GitHub repo-settings hardening already applied via the
ghCLI. Adds the on-repo side and clears scratch.What changed at the repo-settings level (already applied)
main— required status checks (test (3.12),test (3.13),drift-check), linear history (enforces squash-merge), no force-push, no branch deletions, conversation-resolution required.claude-reviewdeliberately not required since it fails by design on workflow-self-modifying PRs and Dependabot PRs.What this PR adds
Community files (lifts GitHub community-profile score 42% → 100%)
SECURITY.md— disclosure policy, supported versions table (2.x ✅ / 1.x ❌), scope, response timeline, in-tree security measures inventory.CODE_OF_CONDUCT.md— references Contributor Covenant v2.1 by canonical URL with project-specific reporting channel (private vuln reporting).CONTRIBUTING.md— dev setup, conventions (mirrorsCLAUDE.md), PR checklist..github/ISSUE_TEMPLATE/bug_report.yml— structured bug form with SDK/Python version, env (demo/prod), reproducer, traceback, pre-flight checks..github/ISSUE_TEMPLATE/feature_request.yml— problem-first feature template..github/ISSUE_TEMPLATE/config.yml— disables blank issues; redirects security to Private Vulnerability Reporting, questions to Discussions, Kalshi-API questions to Kalshi support..github/PULL_REQUEST_TEMPLATE.md— standard scaffold matching the workflow used across the v2.0 PRs.Cleanup
.planning/— 6 audit reports from the v2.0 hardening wave. Preserved in git history (commit3ab4617); no longer needed on main.scripts/audit_demo_feasibility.py— one-off v0.10–v0.13 endpoint feasibility probe; not part of supported tooling. Otherscripts/*.py(real release/spec-sync tooling + WS diagnostic helpers) retained..DS_Storefiles from the working tree..gitignoreadditions**/.DS_Store,.planning/,.claude/worktrees/,.venv.stale*— keeps the patterns above out of future commits.Test plan
kalshi/; existing CI will be trivially green.github/ISSUE_TEMPLATE/*.ymlvalidated by GitHub on parsetest (3.12) / test (3.13) / drift-check) all pass on docs-only diffs