Skip to content

Prepare DebateOwl for a public, source-available repo - #276

Merged
Programcode merged 6 commits into
mainfrom
chore/public-readiness
Oct 29, 2026
Merged

Programcode merged 6 commits into
mainfrom
chore/public-readiness

Conversation

@Programcode

@Programcode Programcode commented Oct 29, 2026 •

Copy link
Copy Markdown
Owner

Gets DebateOwl ready to become a public, source-available repository. Visibility stays private; this PR doesn't change it.

What changes

  • LICENSE. PolyForm Strict License 1.0.0, copied verbatim, plus Additional Limitations: personal non-commercial use by an individual only, no hosting or service for others, no sale, no redistribution, no changes or rebranding. The DebateOwl name, logo and mascot are reserved. Copyright holder is Ádám Gáborjáni.
  • package.json. name: debateowl, private: true, license: "SEE LICENSE IN LICENSE", plus description, homepage, repository and author. The lockfile's root name follows. @debatelab/core is unchanged because imports depend on it.
  • README.md rewritten for a public audience: what DebateOwl is, screenshots of debateowl.com, tech stack, how to run it locally for personal use, the license in plain words, and the reserved name and logo.
  • SECURITY.md with private reporting through GitHub advisories or email, scope, and testing rules.
  • Workflows. Jobs that use secrets or reach staging or production (agentic, live, model matrix, prod canary) now run only in Programcode/DebateOwl, so forks that enable Actions get skipped runs instead of failing runs against production. Staging E2E was already gated on a repository variable that forks don't have. PR-triggered workflows were already safe: no pull_request_target, read-only token, no secrets.
  • Cleanup. Removed the unreferenced docs/screenshots/menu-layout/ (52 images, 21 MB, old branding) and model-context/Reader API.pdf (a copy of Jina's docs), plus stale plans and the October review report (details below). Updated every github.com/Programcode/DebateLab link and Programcode/DebateLab slug to DebateOwl.
  • Third-party notices. Added Apache-2.0 LICENSE and NOTICE next to the vendored e2e skill, the OFL licenses next to the Fredoka and Nunito fonts, and a CC BY-SA attribution for the Wikipedia test fixture.

Plans removed and kept

Removed (git history keeps them): the shipped plans (Current Debate foundation, AI quality modules, Voice Sparring and Crossfire, missing translation keys, design audit), the two on-hold Workspace plans, and the 2026-10-08 review report with its evidence files. That report said "nothing fixed yet" and had about 175 absolute VPS paths. Most of its high findings have since shipped to production, so in public it would read as a list of live holes that no longer exist.

Kept, for Adam to decide: the in-progress CI and preview, staging loop and security pre-ship plans, the Next 15 backlog, and the native iOS plan with its mocks. plans/README.md reflects the change.

Checks

  • npm run docs:check passes.

  • npx vitest run src/test/scripts/staging-sync.test.ts src/test/docs/check-docs.test.ts: 35 passed.

  • All workflow files parse as YAML.

  • I did not run the README's local-run steps end to end. They mirror what verify-debatelab up does (local Supabase, functions serve --env-file, VITE_LOCAL_PREVIEW), which runs regularly.

  • npm run verify at the final head: all 10 steps passed in 141 s (docs, jargon, typecheck, lint, unit, collaboration, build, smoke, sw-offline, edge). This is a local pass, not CI. The GitHub Quality run on bb538c2 failed every job in 2 to 3 seconds with no steps and no logs, which is the out-of-Actions-minutes pattern, so CI did not actually run.

Before making the repo public

These are repo settings, not code, and they're Adam's call:

  1. No key needs rotating: every non-Jina key in history returned 401 or "invalid key", and none matches what Supabase has configured today.
  2. Right after the flip: set fork PR workflows to require approval for all outside contributors (gh api -X PUT repos/Programcode/DebateOwl/actions/permissions/fork-pr-contributor-approval -f approval_policy=all_external_contributors; GitHub rejects this while the repo is private), and turn on private vulnerability reporting and secret scanning push protection.
  3. Add a ruleset on main that blocks force pushes and deletion.

🤖 Generated with Claude Code

Programcode and others added 6 commits October 29, 2026 20:21
PolyForm Strict 1.0.0 with additional limitations: personal non-commercial
use only, no hosting for others, no sale, redistribution, changes or
rebranding. The DebateOwl name, logo and mascot are reserved.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Forks that enable Actions skip the agentic, live, model-matrix and
production canary jobs instead of running them without secrets.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Git history keeps them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Caution

Review failed

The pull request is closed.

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Note

🎁 Summarized by CodeRabbit Free

Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Essentials by visiting https://app.coderabbit.ai/settings/billing.

Comment @coderabbitai help to get the list of available commands.

@Programcode
Programcode marked this pull request as ready for review October 29, 2026 20:46
Copilot AI balanced review requested due to automatic review settings October 29, 2026 20:46
@Programcode
Programcode merged commit 151842f into main Oct 29, 2026
1 of 7 checks passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants