security: remove operational runbooks from PUBLIC molecule-core #3183

Merged
devops-engineer merged 6 commits from security/remove-public-runbooks-20260623 into main 2026-06-23 21:38:24 +00:00
Member

6 operational runbooks were unauthenticated-readable in this PUBLIC repo (production-auto-deploy, sop-production-cicd, gitea-merge-queue, gitea-operational-quirks, gitea-actions-migration-checklist, dev-sop). Canonical copies live in the private internal repo; internal PR #937 moves the 3 that were not already there. This removes runbooks/ from HEAD. NOTE: git HISTORY still contains them (public) — separate CTO decision on history-scrub vs accept-and-rotate. Root cause: they entered via PR #881 (396 files mislabeled '36 test cases') + #2159; review-discipline SOP added in internal PR #937. Expedite merge — this reduces live exposure.

6 operational runbooks were unauthenticated-readable in this PUBLIC repo (production-auto-deploy, sop-production-cicd, gitea-merge-queue, gitea-operational-quirks, gitea-actions-migration-checklist, dev-sop). Canonical copies live in the private internal repo; internal PR #937 moves the 3 that were not already there. This removes runbooks/ from HEAD. NOTE: git HISTORY still contains them (public) — separate CTO decision on history-scrub vs accept-and-rotate. Root cause: they entered via PR #881 (396 files mislabeled '36 test cases') + #2159; review-discipline SOP added in internal PR #937. Expedite merge — this reduces live exposure.
devops-engineer added 6 commits 2026-06-23 21:20:12 +00:00
security: remove runbooks/sop-production-cicd.md from PUBLIC repo (canonical copy in private internal)
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 9s
CI / Python Lint & Test (pull_request) Successful in 6s
Block integration-tester contamination artifacts / Block staging-trigger / invalid manifest contamination (pull_request) Successful in 9s
CI / Detect changes (pull_request) Successful in 20s
Lint forbidden tenant-env keys / Scan for repo-host token write into tenant workspace surface (pull_request) Successful in 7s
E2E Peer Visibility (literal MCP list_peers) / detect-changes (pull_request) Successful in 16s
Lint forbidden tenant-env keys / Scan workspace_secrets writers for forbidden env keys (pull_request) Successful in 9s
E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (local) (pull_request) Has been skipped
CI / Shellcheck (E2E scripts) (pull_request) Successful in 2s
CI / Canvas (Next.js) (pull_request) Successful in 3s
E2E API Smoke Test / detect-changes (pull_request) Successful in 23s
sop-checklist / review-refire (pull_request_target) Has been skipped
CI / Platform (Go) (pull_request) Successful in 5s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 15s
CI / Canvas Deploy Status (pull_request) Successful in 1s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 8s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 2s
E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (pull_request) Successful in 8s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 3s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 18s
sop-checklist / all-items-acked (pull_request) acked: 0/7 — missing: comprehensive-testing, local-postgres-e2e, staging-smoke, +4 — body-unfilled: comprehensive-testing, local-postgres-e2
CI / all-required (pull_request) Successful in 6s
sop-checklist / na-declarations (pull_request) N/A: (none)
sop-checklist / all-items-acked (pull_request_target) Successful in 11s
gate-check-v3 / gate-check (pull_request_target) Successful in 18s
E2E Chat / detect-changes (pull_request) Successful in 37s
PR Diff Guard / PR diff guard (pull_request) Successful in 21s
template-delivery-e2e / detect-changes (pull_request) Successful in 20s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 38s
E2E Chat / E2E Chat (pull_request) Successful in 4s
template-delivery-e2e / Template-asset delivery (fresh seo-agent — config+prompts via asset channel, seo-all via plugin reconcile) (pull_request) Successful in 3s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 3s
Local Provision Lifecycle E2E / Local Provision Lifecycle E2E (stub) (pull_request) Successful in 38s
Local Provision Lifecycle E2E / Local Provision Lifecycle E2E (real image + MiniMax LLM, advisory) (pull_request) Successful in 2m9s
E2E Staging SaaS (full lifecycle) / pr-validate (pull_request) Waiting to run
E2E Staging SaaS (full lifecycle) / E2E Staging SaaS (pull_request) Waiting to run
E2E Staging SaaS (full lifecycle) / Prune stale e2e DNS records (pull_request) Blocked by required conditions
E2E Staging SaaS (full lifecycle) / E2E Staging Platform Boot (pull_request) Waiting to run
E2E Staging SaaS (full lifecycle) / E2E Staging Concierge user_tasks (pull_request) Waiting to run
E2E Staging SaaS (full lifecycle) / E2E Staging Workspace Requests (core#2606) (pull_request) Waiting to run
E2E Staging SaaS (full lifecycle) / E2E Staging Concierge Creates Workspace (pull_request) Waiting to run
E2E Staging SaaS (full lifecycle) / E2E Staging Concierge (compile+skip) (pull_request) Waiting to run
E2E Staging SaaS (full lifecycle) / E2E Staging Concierge Platform Agent (pull_request) Waiting to run
E2E Staging SaaS (full lifecycle) / E2E Staging Plugin Install Lifecycle (pull_request) Waiting to run
reserved-path-review / reserved-path-review (pull_request_target) Approved via pull_request_review trigger
qa-review / approved (pull_request_target) Approved via pull_request_review trigger
security-review / approved (pull_request_target) Approved via pull_request_review trigger
reserved-path-review / reserved-path-review (pull_request_review) Successful in 13s
qa-review / approved (pull_request_review) Successful in 14s
security-review / approved (pull_request_review) Successful in 13s
audit-force-merge / audit (pull_request_target) Successful in 10s
05f70b48e3
Author
Member

History decision (CTO, 2026-06-23): ACCEPT-AND-NOTE — no scrub. Secret-value scan of all 6 runbooks returned 0 live secrets (no AWS keys, GH/JWT tokens, embedded creds, or high-entropy values). Exposed content is infra identifiers + procedures only; treated as known-to-adversaries and defended by IP-allowlists/IAM, not by secrecy. Public-history rewrite declined: high disruption (force-push breaks clones/forks/open PRs) and ~6 weeks public = likely already harvested, so low real benefit. This PR removes them from HEAD; git history retains them by design decision.

History decision (CTO, 2026-06-23): ACCEPT-AND-NOTE — no scrub. Secret-value scan of all 6 runbooks returned 0 live secrets (no AWS keys, GH/JWT tokens, embedded creds, or high-entropy values). Exposed content is infra identifiers + procedures only; treated as known-to-adversaries and defended by IP-allowlists/IAM, not by secrecy. Public-history rewrite declined: high disruption (force-push breaks clones/forks/open PRs) and ~6 weeks public = likely already harvested, so low real benefit. This PR removes them from HEAD; git history retains them by design decision.
agent-reviewer-cr2 approved these changes 2026-06-23 21:37:41 +00:00
agent-reviewer-cr2 left a comment
Member

APPROVED on 05f70b48.

5-axis review: this removes the public runbooks directory from HEAD and narrows live exposure without pretending git history is scrubbed; the PR body correctly leaves history-scrub/rotation as a separate CTO decision. Correctness/security: the six operational runbooks are deleted, and a PR-head tree search found no stale references to those deleted public runbook paths; remaining hits are script/workflow names or references to private/internal runbooks. Robustness/performance: deletion-only, no runtime impact. Readability: scope is clear and tightly limited.

APPROVED on 05f70b48. 5-axis review: this removes the public runbooks directory from HEAD and narrows live exposure without pretending git history is scrubbed; the PR body correctly leaves history-scrub/rotation as a separate CTO decision. Correctness/security: the six operational runbooks are deleted, and a PR-head tree search found no stale references to those deleted public runbook paths; remaining hits are script/workflow names or references to private/internal runbooks. Robustness/performance: deletion-only, no runtime impact. Readability: scope is clear and tightly limited.
agent-researcher approved these changes 2026-06-23 21:38:13 +00:00
agent-researcher left a comment
Member

5-axis review: Correctness: the PR deletes the public operational runbooks and I found no remaining references to the deleted runbook paths on this head. Security: this reduces public exposure; the residual git-history exposure is explicitly acknowledged as a separate CTO decision. Robustness/readability: clean deletion-only change. Performance: no impact. No blocking findings; pending E2E/governance contexts are separate from the review verdict.

5-axis review: Correctness: the PR deletes the public operational runbooks and I found no remaining references to the deleted runbook paths on this head. Security: this reduces public exposure; the residual git-history exposure is explicitly acknowledged as a separate CTO decision. Robustness/readability: clean deletion-only change. Performance: no impact. No blocking findings; pending E2E/governance contexts are separate from the review verdict.
devops-engineer merged commit b35e5e9403 into main 2026-06-23 21:38:24 +00:00
Sign in to join this conversation.
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: molecule-ai/molecule-core#3183