SPB Git

spb/autoscholar

Public
4.4 KB · 26 lines markdown
1# Implementation status — AutoScholar.ai23Last updated: 2026-10-30 (first build day). Phases follow the master build instructions §13. "Evidence" points to docs/TEST_REPORT.md.45| Phase | Status | Evidence / notes |6|---|---|---|7| 0 Discovery | **done** | docs/INFRA_DISCOVERY.md, docs/DECISIONS.md; health probes of M3U96b/M4M64c; SDK docs verified. |8| 1 Foundation | **done** | pnpm monorepo, Biome, Vitest, zod schemas, Drizzle schema (42 tables) + migration, storage/auth/observability/research-contract/maclustr-adapter packages, `.env.example`. `pnpm lint`, `pnpm typecheck`, unit tests green. |9| 2 Public experience | **done** | All public routes, design system, PDF viewer, citation exports, JSON-LD, sitemap/robots/RSS/Atom, staging-only sample flagged synthetic and excluded in production. 25/25 Playwright e2e incl. axe a11y and responsive screenshots. |10| 3 Auth + admin | **done** | One-time bootstrap `admin123` → forced rotation (verified in production on 2026-10-30; admin123 now rejected), Argon2id, sessions/CSRF/rate limits/lockout/audit, full admin console (overview, new research, projects, runs with live timeline, MacLustr, manuscripts, quality, publications, templates, settings). |11| 4 Persistent orchestration | **done** | Postgres queue with SKIP LOCKED, leases + fencing tokens, heartbeats, checkpoints, cancel/retry, event ledger with reconnect cursors (SSE), artifact ingestion with digests, simulated worker for tests. 12 integration tests (duplicate launch, fencing, crash/expiry/resume, cancel, runtime cap, synthetic never publishes, idempotent publication). |12| 5 Real MacLustr execution | **done** | Worker installed on M4M64c as `asworker` (LaunchDaemon, pf egress rules, Seatbelt sandbox); enrolled with the control plane on M3U96b over the LAN; self-test proves CLAUDE.md loading, in-workspace output, and enforcement denials (hook + sandbox). Milestone research run launched from the admin API (see Phase 6). |13| 6 End-to-end research production | **in progress** | Stages 0–8 implemented as checkpointed SDK sessions (preflight → framing → literature → design → execute → robustness → manuscript → independent review → revision/reproduction), scholarly connectors (OpenAlex/Crossref/arXiv/Semantic Scholar/PubMed) with platform-side verification and generated BibTeX, tectonic builds, page previews. First real run (empirical, Okun's law G7) and an intentionally invalid run (clinical brief) launched 2026-10-30; a second-mode run follows. Results recorded in TEST_REPORT.md when complete. |14| 7 Quality + publication | **done (code), pending live evidence** | 16 deterministic gates incl. hard blockers; server-side decision; transactional idempotent publication with `AS-WP-YYYY-NNNN` sequence, promotion allow-list, corrections/retractions/withdrawal; founder halts. Live auto-publication awaits the milestone run. |15| 8 Hardening + deployment | **mostly done** | Deployed via `mld` (M3U96b:8470, pm2 web + scheduler + nightly backup), tunnel route `autoscholar.ai → M3U96b:8470` created on BHS64; restore test executed; security headers/CSP; docs/SECURITY.md. Public HTTPS verified on **https://www.autoscholar.ai** (A record added by the founder; canonical host switched to www; apex redirect configured, inactive until an apex A record exists). |16| 9 Launch readiness | **pending** | Founder guide + LAUNCH_REPORT after the milestone run and DNS fix; test papers to be removed from production before launch. |1718## Deviations from the build instructions (see DECISIONS.md)19- D-02 single Next.js app serves API + UI; D-07 filesystem artifact store (no S3 in the cluster); D-15 qa/publisher run inside the scheduler process; D-16 development happened on the laptop until first deployment, then `mld adopt` made `M3U96b:~/apps/autoscholar` the git source of truth (origin spbgit `autoscholar.git`); later changes were pushed through spbgit and pulled on the node (remote-first from launch on).2021## Known gaps22- `www.autoscholar.ai` has no DNS record (not created).23- No MFA yet (schema ready).24- Reproduction of analyses runs under a Seatbelt profile with network access (needed for package installs); no Linux container isolation available on the cluster.25- Opus 5 safety classifier can flag adversarial self-test prompts; the self-test uses Sonnet for the boundary session and the production policy prompt makes the research model decline boundary-crossing instructions on its own (enforcement still verified by hooks/sandbox).26
Files · bc25fcca6ef80397d231f256956ca5f0c907288f
Menu

Theme