bigbounce/spin-torsion cosmology research program
research live
Internal documentation. This page is read-only. No API keys, mutation forms, or external interactions are exposed. Only operators with local credentials (Houston + paired agents) can dispatch mutations.
Getting StartedOverview

Overview

stable

How the BigBounce orchestration layer is wired together — Convex as canonical truth, bigbounce-mcp as the local agent surface, the Next.js site as the read-only public view.

BigBounce is an end-to-end research orchestration stack for six peer-reviewed cosmology papers (P1A, P1B, P2, P3, P4, P5). It consists of three layers:

  1. Convex DB — canonical source of truth for paper versions, findings, R-rounds, novelty, notables, external reviews, pods, tasks, caveats.
  2. bigbounce-mcp — a local MCP server (stdio transport) that exposes typed tools for the agents (Claude Code, Codex, Cursor) to read and mutate Convex state with guardrails (truth-audit-before-close, novelty cap at N3, no caveat-as-closure).
  3. bigbounce.hubify.app — read-only static export that subscribes to Convex via React useQuery. No write paths, no API keys in the bundle.

Everything you see at bigbounce.hubify.app/papers/<slug> reflects the live state of the Convex tables documented below. When a paper version bumps, the site re-renders within seconds.

Getting StartedData flow

Data flow

stable

The atomic loop: edit .tex → recompile → atomic Convex bump → site re-renders. No manual website updates anywhere.

  .tex source  ──►  pdflatex (revtex4-2, 4 passes)  ──►  paper.pdf
       │                                                      │
       │                                                      ▼
       │                                          site/public/papers/<slug>_v<ver>.pdf
       │                                                      │
       ▼                                                      ▼
  bigbounce-mcp tool  ────►  Convex mutation  ────►  papers + paper_versions
  (e.g. paperVersions:bump)         │                         │
                                    ▼                         ▼
                            findings, notables,        React useQuery
                            externalReviews            (real-time subs)
                                    │                         │
                                    └─────────►   bigbounce.hubify.app
                                                  ├── /              (dashboard)
                                                  ├── /papers/<slug> (detail + dynamic review prompt)
                                                  ├── /contributions (N1–N4 novelty)
                                                  ├── /figures       (auto-updated per .tex)
                                                  ├── /activity      (event feed)
                                                  └── /docs          (you are here)
BackendConvex schema

Convex schema

stable

Canonical tables. Readiness is computed, not hand-set. Novelty caps at N3 (the schema validator rejects N4).

The deployment URL is https://brilliant-panther-471.convex.cloud (public read-only). Mutations require the deployment access token, which lives in ~/.convex/config.jsonon Houston's machine.

TablePurposeKey fields
papersCanonical per-paper metadata. Readiness is COMPUTED, never hand-set.slug · title · novelty (N1–N3) · readinessComputed · sitePdfPath
paper_versionsAppend-only .tex version history.paperSlug · version · texCommit · pdfMd5 · pages · changelog
papers_notablesNotable-contribution bullets shown on /papers/[slug].paperSlug · ordinal · bullet · citationKey?
papers_externalReviewsExternal / journal / colleague review pass log.paperSlug · source enum · reviewerLabel · severity counts · recommendation
r_roundsCross-vendor peer-review round dispatches.paperSlug · roundN · source (openrouter/direct/subagent/houston-external) · vendor
findingsIndividual reviewer findings.rRoundId · severity · truthAuditVerdict · closureStatus · closureCommit?
pathc_caveatsPaper-internal §pathc_caveats deferral list. Guards against caveat-as-closure.paperSlug · label · closureMethod enum
podsRunPod lifecycle + cost accounting.podId · status · gpu · costAccrued · artifactsBackedUp · backupLocations
tasksOpen work queue.priority · owner · blockedBy · paperSlug?
BackendConvex read API

Convex read API

stable

Public read-only queries the site uses. No auth — these are safe for the static bundle.

QUERYpapers:listPapersWithVersions

Cross-paper dashboard: all 6 papers joined with their latest paper_versions row.

ReturnsArray<PaperWithVersion>
Example
useQuery(api.papers.listPapersWithVersions)
// → [{ slug: "p3", title: "Multi-Survey Anomaly Catalog",
//      latestVersion: "3.1.111", readinessComputed: 99, ... }, ...]
QUERYpapers:getPaperState

Full state for one paper: latest version, novelty, all open findings, caveats, R-rounds, notables, external reviews.

Input
FieldTypeDescription
slug*stringp1a | p1b | p2 | p3 | p4 | p5
ReturnsPaperState
QUERYnotables:list

Notable contributions for one paper (rendered on /papers/[slug] under 'Notable contributions').

Input
FieldTypeDescription
paperSlug*stringpaper slug
ReturnsArray<{ ordinal, bullet, citationKey? }>
QUERYexternalReviews:list

External review entries (journal / arxiv / colleague-private / internal-stage3) for one paper.

Input
FieldTypeDescription
paperSlug*stringpaper slug
ReturnsArray<ExternalReview>
QUERYfindings:listOpen

Open R-round findings (closureStatus = open | in-progress) across all papers.

Input
FieldTypeDescription
paperSlug?stringoptional filter
ReturnsArray<Finding>
BackendConvex mutations (local only)

Convex mutations (local only)

internal

Mutation surface — locked behind the deployment access token. The static bundle does not expose these.

MUTATIONpaperVersions:bump

Atomic .tex version bump. Patches papers.sitePdfPath in the same transaction so the new versioned PDF is canonical immediately.

Input
FieldTypeDescription
paperSlug*stringpaper slug
version*stringvX.Y.Z
datestamp*stringYYYY-MM-DD
texCommit*stringgit SHA of the .tex source
pdfMd5*stringmd5 of the compiled PDF
pdfPages*numberpage count
pdfSizeBytes*numberPDF size
changelog*stringwhat changed in this bump
sitePdfPath?string/papers/<slug>_v<ver>.pdf (atomic patch on bump)
ReturnsId<paper_versions>
MUTATIONnotables:upsertByOrdinal

Insert or update a notable-contribution bullet for a paper (ordinal-stable so updates don't churn the list).

Input
FieldTypeDescription
paperSlug*stringpaper slug
ordinal*number1-indexed display order
bullet*stringthe notable bullet text
citationKey?stringBibTeX key if any
Returnsvoid
MUTATIONexternalReviews:add

Log an external review pass (journal, arxiv, colleague-private, internal-stage3, etc).

Input
FieldTypeDescription
paperSlug*stringpaper slug
source*enumjournal | arxiv | houston-paste | colleague-private | internal-stage3
reviewerLabel*stringwho/what (e.g. 'Reviewer 2')
receivedAt*numberms timestamp
blocker*numbercount
major*numbercount
minorCount*numbercount
recommendation*enumaccept | minor-revision | major-revision | reject | withdraw
ReturnsId<papers_externalReviews>
MUTATIONfindings:applyTruthAudit

REQUIRED before close. Records the truth-audit verdict (VERIFIED / STALE / FALSIFIED / OPINION / LOW-RIGOR) with evidence citations.

Input
FieldTypeDescription
findingId*Id<findings>finding to audit
verdict*enumVERIFIED | STALE | FALSIFIED | OPINION | LOW-RIGOR
evidence*stringfile:line citations or commit refs
Returnsvoid
MCPbigbounce-mcp tools

bigbounce-mcp tools

stable

Local MCP server (stdio transport). Wired into Claude Code via bigbounce/.claude/mcp_servers.json with CONVEX_URL + CONVEX_DEPLOYMENT_TOKEN env vars.

POSTbigbounce_list_papers

Cross-paper dashboard with computed-readiness state.

ReturnsArray<PaperState>
POSTbigbounce_get_paper

Full state for one paper by slug.

Input
FieldTypeDescription
slugstringp1a | p1b | p2 | p3 | p4 | p5
ReturnsPaperState
POSTbigbounce_list_open_findings

R-round work queue (closureStatus = open | in-progress).

Input
FieldTypeDescription
paperSlugstringoptional filter
ReturnsArray<Finding>
POSTbigbounce_truth_audit_finding

Apply truth-audit verdict (REQUIRED before close).

Input
FieldTypeDescription
findingIdstringId
verdictstringVERIFIED | STALE | FALSIFIED | OPINION | LOW-RIGOR
evidencestringfile:line citations
Returnsvoid
POSTbigbounce_close_finding

Atomic finding closure. Enforces closureStatus enum + truth-audit-first ordering.

Input
FieldTypeDescription
findingIdstringId
closureStatusstringclosed-via-fix | closed-via-falsification | closed-via-out-of-scope
closureCommitstringgit SHA
Returnsvoid
POSTbigbounce_bump_paper_version

Atomic .tex version bump → site re-renders within seconds.

Input
FieldTypeDescription
paperSlugstringslug
versionstringvX.Y.Z
changelogstringwhat changed
ReturnsId<paper_versions>
POSTbigbounce_list_pathc_caveats

Per-paper §pathc_caveats deferral list.

Input
FieldTypeDescription
paperSlugstringslug
ReturnsArray<PathcCaveat>
POSTbigbounce_close_pathc_caveat

Close caveat with explicit closureMethod enum (⚠️ flags caveat-as-closure).

Input
FieldTypeDescription
paperSlugstringslug
labelstringcaveat label
closureMethodstringreal-computation | artifact-verification | truth-audit-falsification | text-only-no-real-action
Returnsvoid
POSTbigbounce_list_pods

RunPod state synced from Convex.

Input
FieldTypeDescription
statusFilterstringoptional
ReturnsArray<Pod>
POSTbigbounce_get_external_review_prompt

Dynamic copy/paste external-review prompt — replaces hardcoded focusAreas.

Input
FieldTypeDescription
slugstringpaper slug
Returns{ paperSlug, paperVersion, pdfPath, prompt }
POSTbigbounce_list_tasks

Cross-paper + per-paper open task queue.

Input
FieldTypeDescription
statusstringoptional
ownerstringoptional
paperSlugstringoptional
ReturnsArray<Task>
POSTbigbounce_add_notable

Insert/update a notable-contribution bullet.

Input
FieldTypeDescription
paperSlugstringslug
ordinalstringnumber
bulletstringtext
Returnsvoid
POSTbigbounce_add_external_review

Log an external review pass (journal / arxiv / colleague-private / internal-stage3).

Input
FieldTypeDescription
paperSlugstringslug
sourcestringenum
reviewerLabelstringlabel
severitystringcounts
ReturnsId
Agent surfaceSkill commands

Skill commands

stable

Slash commands the agents (Claude Code, Codex, Cursor) load. ONE stack (scistack) with two namespaces: astrostack/ (bigbounce-specific) and hubstack/ (cross-paper science IP).

Skills are markdown files with YAML frontmatter. Agents auto-load them on session start. There is ONE canonical science skill stack — ~/.claude/scistack/ — with two namespaces inside it: astrostack/ (bigbounce-specific) and hubstack/ (cross-paper learning-loop, publishing, research, infra). Entries under ~/.claude/skills/are symlinks back into scistack. No project-scoped duplicates; “AstroStack” and “HubStack” are namespaces, not separate stacks.

SkillPurposeOrigin
/bigbounce-statusPrint live paper-state dashboard (calls list_papers).astrostack
/bigbounce-r-roundFire direct-vendor R-round (4 vendors parallel), write findings to Convex.astrostack
/bigbounce-truth-auditApply verdict per peer-review-truth-audit protocol. REQUIRED before close.astrostack
/bigbounce-closeAtomic finding/caveat closure with closureStatus enum.astrostack
/bigbounce-bumpAtomic .tex version bump; site re-renders.astrostack
/bigbounce-version-bumpPaper version bump driver (pairs with /bigbounce-paper-pdf-mirror).astrostack
/bigbounce-post-bump-syncMandatory full-surface sync after every bump (papers.ts, live-status.ts, SSOT, Convex, mirror PDFs, commit, push, curl-verify).astrostack
/bigbounce-site-syncSame-commit dual sync of public site surfaces with SSOT.astrostack
/bigbounce-paper-pdf-mirrorMirror versioned PDFs into site/public/papers/ with metadata refresh.astrostack
/bigbounce-claims-table-syncReplace a quantitative claim at every site simultaneously (claims table).astrostack
/bigbounce-revision-trackerMaintain REVISION_TRACKER.md across review rounds.astrostack
/drive-to-100-fireOne atomic step of the drive-to-100 cron loop.astrostack
/external-review-browser-loopAutomated browser-tier external review submission to logged-in frontier web apps.astrostack
/houston-method-v2Mandatory experiment completion protocol (QC → analyze → expand → backup).astrostack
/gpu-dataloader-patternDataLoader num_workers=16 pin_memory=True GPU inference pattern.astrostack
/runpod-lifecycleRunPod provision / monitor / teardown lifecycle.astrostack
/idle-gpu-rescueAuto-assign work when a pod sits idle.astrostack
/pod-backup-before-stop3+ location backup gate before any pod stop.astrostack
/cross-vendor-r-roundCascaded multi-vendor reviews with GPT-5→GPT-4o fallback detection and LOW-RIGOR tagging.hubstack/learning-loop
/peer-review-truth-auditPer-finding VERIFIED/STALE/FALSIFIED/OPINION/LOW-RIGOR verdict before closures.hubstack/learning-loop
/cascaded-r-roundsDrive R-rounds until 3 consecutive convergent-silence rounds.hubstack/learning-loop
/paper-pre-review-check8-gate pre-review including /never-fabricate-derivation + /never-claim-n4 hard gates.hubstack/learning-loop
/never-fabricate-derivationPattern-036 prevention: scan closure diffs for math claims lacking citation/derivation.hubstack/learning-loop
/r-round-finding-archiveArchive every round's findings into the findings-archive JSON store.hubstack/learning-loop
/r-round-pattern-mineMine closed rounds for new review patterns (catalog growth).hubstack/learning-loop
/never-claim-n4Mechanical novelty-tier audit. Demotes any N4 self-claim to N3.hubstack/infra
/paper-compile-revtex4-pass revtex4-2 compile + log audit.hubstack/publishing
/latex-audit7-step overflow / URL / artifact / date audit on every compile.hubstack/publishing
/artifact-link-verifyVerify every cited artifact path / URL resolves before a round closes.hubstack/publishing
/pdf-restamp-bundleBundled version+date restamp, recompile, mirror, SSOT update in one commit.hubstack/publishing
/ssot-updateUpdate project-context/SSOT/ canonical paper status.hubstack/publishing
PolicyNovelty tier policy (N1–N4)

Novelty tier policy (N1–N4)

stable

The self-claim ceiling is N3. N4 is reserved for the field to award. Encoded at three layers: schema validator, MCP guard, /never-claim-n4 audit skill.

Every paper carries a papers.novelty field. The Convex schema validator rejects N4 at the type level:

novelty: v.optional(v.union(
  v.literal("N1"),
  v.literal("N2"),
  v.literal("N3"),
  // N4 intentionally excluded — Houston standing directive 2026-06-03
))

The canonical tier definitions:

TierBar
N1Incremental refinement / replication.
N2Novel application or combination of existing methods.
N3First-of-kind demonstration / new constraint / new direction. Ceiling for our self-claims.
N4Paradigm-shifting / Nobel-worthy. Never self-claimed. Awarded by the field over time.
PolicyReview-learning-loop protocol

Review-learning-loop protocol

stable

Every R-round flows analyze → truth-audit → findings-archive → pattern-extract → update-review-skills. 12.5× amplification ratio measured between CCAI and cross-vendor passes.

Each paper passes through three stages on the current version before it can be released:

  1. Stage 1 — CCAI same-vendor sweep. Mechanical same-vendor pass. Necessary but never sufficient.
  2. Stage 2 — Cross-vendor R-round. Direct vendor calls to Grok-4, GPT-5, Gemini-2.5-Pro, Perplexity-Sonar-Pro. Anthropic excluded per the no-echo-chamber rule. tools/cross_vendor_review_direct.py.
  3. Stage 3 — External journal-style review. Houston pastes the dynamically generated prompt into ChatGPT / Gemini / Claude. Results logged via externalReviews:add.

Every finding gets a truth-audit verdict before close. Falsified or stale findings are not treated as "closed via fix" — they are closed-via-falsification with evidence.

The exit criterion for cascaded R-rounds: three consecutive convergent-silence rounds (zero new BLOCKERs / MAJORs).

SecuritySecurity posture

Security posture

stable

Static site, stdio-only MCP, no public mutation endpoints, no API keys in bundle, no auth flow. Only operators with local credentials can mutate.

  • No public mutation endpoints. The Convex deployment URL is referenced from the site for read queries only (papers, findings, caveats, activity rollup). Mutations require the deployment access token in ~/.convex/config.json.
  • API keys never exposed in build output. Vendor keys (Anthropic, OpenAI, Gemini, Grok, Perplexity) live in local .env.local files only — they never reach the static export. RunPod, HuggingFace, Vercel OIDC keys: same.
  • MCP server is stdio-only. bigbounce-mcp runs as a subprocess of Claude Code or another local agent. There is no HTTP listener.
  • Site is static. next.config.ts sets output: "export". No server-side routes, no API handlers, no auth flow, no session.
  • External-review prompts are read-only. The /papers/<slug> page generates a copy-pasteable text prompt. Houston manually pastes into ChatGPT / Gemini / Claude. No agent invocation happens through the site.
  • Schema validator hard gates. N4 novelty is rejected at the Convex validator. closureMethod enum includes text-only-no-real-action as an explicit ⚠️ flag.
ReferenceAgent files

Agent files

stable

Machine-readable references for agents that consume this site.

  • github.com/Hubify-Projects/bigbounce — full source.
  • project-context/SSOT/index.md — cross-paper dashboard SSOT.
  • project-context/SSOT/paper-N/status.md — per-paper close-the-gap.
  • project-context/peer-reviews/findings-archive/— every R-round's raw findings.
  • project-context/review-patterns/ — extracted pattern catalog (36 patterns and counting).
  • ~/.claude/scistack/ — master skill stack (hubstack + astrostack + extensions).