chore(oss): close the OSS-readiness audit — green CI, security docs, no personal data - #98
Merged
Merged
Conversation
Audit (2026-07-04) found the repo functionally sound but not yet publishable. This closes the top-10 list: - CI: drop the phantom frontend job (nonexistent directory hard-failed the workflow); add blocking orc-mcp (pytest) and messaging-gateway (vitest) jobs — both pre-flighted green. Workflow re-enabled on GitHub. - Tests: fix the two chronic host-agent drain tests (fakes predated the connect-time pty_reconcile handshake) and the two test_delivery isolation leaks (TELEGRAM_FORUM_CHAT_ID fallback) — both suites now fully green: backend 542, host-agent 262. - Privacy: launchd plists become .plist.template with @ORC_REPO@ / @ORC_LOGS@ placeholders; install.sh renders them — no personal paths remain in tracked files. - Docs: README status/diagram/how-it-works and CHANGELOG rewritten to the shipped write+stream reality (PRs #90-#97 linked; Matrix contradiction resolved); docs/security/threat-model.md and security-checklist.md created (were dead links); SECURITY.md gains an explicit trusted-host trust model for the bypassPermissions default; orc-stack.env.example documents all three ORC_HEADLESS_ENGINE modes and recommends interactive; repo-level CLAUDE.md added. Suites: backend 542 passed, host-agent 262 passed, orc-mcp 34 passed, messaging-gateway 44 passed. Ruff clean.
…stall guard, stale claims - SECURITY.md + threat-model: the messaging-gateway surface is gated by the sidecar bearer token, NOT the Telegram allowlist — documented as an explicit open review item with operator guidance (treat the token as root-equivalent, keep gateway platforms off unless needed). - install.sh: fail with copy-the-example guidance when orc-stack.env is missing instead of crashing on a fresh checkout. - orc-stack README: engine default is interactive, sdk adds the per-tool gate (was stale). - README: drop the removed runtime-registry claim; Django 5.1→5.2; headscale marked optional deploy path, vault/ntfy/whisper marked planned not shipped. - CONTRIBUTING: point contributors at drive engines + chat surfaces (not the removed adapters); CI claims match reality (vitest only).
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.
Goal
Close every gap from the 2026-07-04 OSS-readiness audit so the repo can go public. Built per operator routing: kimi-k2.7 (CI jobs, env docs, doc corrections ×2 waves), glm-5.2 (repo CLAUDE.md draft), Sonnet (test fixes, plist templating, README/CHANGELOG, security-doc drafts), lead (SECURITY.md trust model, gateway trust-boundary wording, reviews), Codex 5.5 (independent review — 6 findings, all addressed).
Changes
CI — phantom
frontendjob removed (nonexistent directory); blockingorc-mcp(pytest) andmessaging-gateway(vitest) jobs added, both pre-flighted green (34 + 44). Workflow re-enabled on GitHub (wasdisabled_manuallysince May).Tests — suites fully green for the first time: the 2 chronic host-agent drain failures fixed (stale fakes vs the
pty_reconcilehandshake) and 2test_deliveryisolation leaks fixed (TELEGRAM_FORUM_CHAT_IDfallback). backend 542, host-agent 262, orc-mcp 34, gateway 44 — 0 failures.Privacy — launchd plists →
.plist.templatewith@ORC_REPO@/@ORC_LOGS@;install.shrenders them and now fails helpfully on a fresh checkout withoutorc-stack.env. No personal paths remain in tracked files.Security docs — SECURITY.md gains an explicit trusted-host trust model for the
bypassPermissionsdefault;docs/security/threat-model.md+security-checklist.mdcreated (were dead links, grounded in the actual enrollment/allowlist code); the messaging-gateway surface documented as bearer-token-gated (not allowlist-gated) with an open review item.Docs — README status/diagram/how-it-works rewritten to the shipped write+stream reality (PRs #90–#97 linked); CHANGELOG updated + Matrix contradiction resolved;
orc-stack.env.exampledocuments all threeORC_HEADLESS_ENGINEmodes and recommendsinteractive; repo-level CLAUDE.md added.Secrets audit (separate pass, lead-only)
gitleaks over all 163 commits: no leaks; targeted history greps: only a
1234567890:AAAA…docs placeholder..env/orc-stack.envnever tracked.Review
Codex 5.5 reviewed the full diff: 6 findings (gateway trust boundary, fresh-install crash, 4 stale-claim clusters) — all fixed in the second commit.
After merge
Repo is publishable. Remaining judgment call is yours: flip visibility when ready. Optional follow-ups tracked in the vault: gateway-surface security review, stale
OBSERVED/OPENCLAW/HERMESenum values, engine idle-timeout.