Skip to content

feat: add Open Lab research-community prototype - #162

Draft
lksbrssr wants to merge 80 commits into
mainfrom
feat/open-lab
Draft

feat: add Open Lab research-community prototype#162
lksbrssr wants to merge 80 commits into
mainfrom
feat/open-lab

Conversation

@lksbrssr

@lksbrssr lksbrssr commented Sep 11, 2026

Copy link
Copy Markdown
Collaborator

Open Lab v3 — a compact research workshop

Draft review preview, not a launch. Make a build, offer a bounded test, return evidence—including an uncertain or negative result—and revise the idea. This revision addresses navigation density, daily catch-up, external science apps, portable work handoffs, and a much broader science tech tree.

What changed

  • Compact shell and catch-up: clearer dividers and tinted work surfaces, a usable expanding search on small phones, and instructions behind disclosures. Open a source, mark the reviewed revision caught up, and see it return unread when new exact-source evidence arrives. Following/filter scope and unrelated acknowledgement history are preserved; “not caught up” is not presented as “new today.”
  • Catalog-first Find tools: source-linked app listings with illustrated previews, documentation, license/code links, local saves/reviews, and local add/edit flows. The old demo-discussion prelude no longer precedes the catalog. Use an app on its own site; no embedded app execution or iframe.
  • GitHub / your-agent handoff: prepare and copy/download an exact source-bound brief with the saved goal, proposed test, stop condition and evidence request. Return a result to the original task and reopen it on My bench. It does not open an issue, start an agent or submit evidence externally. Malformed HTTPS authorities fail before persistence or export; rejected stored originals remain intact.
  • Broad, deep science tech tree: locally bundled OpenAlex hierarchy—4 domains → 26 fields → 252 subfields → 4,516 topics—with PL R&D as an overlay, not the universe. Bounded Map/List navigation, drill-down, search across the whole corpus, source-linked topic drawers, reloadable URLs, breadcrumbs/back, and zoom/pan/reset. Phones default to List; map auto-fit keeps readable cards and permits panning rather than shrinking every label to fit.
  • Compact proposals and contribution drawers: collapsible proposal steps retain local edits across reopening/reload. Tool-detail contribution work sits behind a disclosure instead of duplicating its description and source link.

The underlying v2 local invention/media loop, public-source provenance, skippable identity entry, global Demo isolation and separate AT Protocol identity/consent boundaries remain. These browser-local workflows are not cross-user synchronization, native Bluesky follows, public uploads, real community participation, payments or Hypercert issuance.

Exact revision and verification

Head: a6498ae2cdd83530bdd08d9eea053cf7425cbc82.

  • Isolated pnpm 10 frozen install → full suite: 575 passed, 0 failed, 0 skipped → typecheck → production build, all at this head. The complete suite used actual native responsive-probe data. Existing remote-data/snapshot/cache warnings occurred during the successful build; this does not repair unrelated upstream data sources.
  • The production-built localhost server passed native brief download, exact-task uncertain/negative result return and reopen, reviewed-only catch-up, local app save/review/create/edit/reload, mobile drawer Escape/focus return, legacy route redirect, and proposal collapse/autosave/reload.
  • Native tech-tree deep-link/search/back/zoom/pan/reset and 20 route/viewport checks passed at 1440/1024/390/320 requested widths. These are actual requested-width checks, not merely scrollWidth === innerWidth.
  • Independent QA FINAL 2: PASS and security FINAL 2: PASS at this exact head. Candidate defects were reproduced and fixed: returned-result receipt invalidation, catalog route prelude, narrow graph auto-fit, and URL parsing/consumption mismatch. One optional polish item remains: the catch-up preamble repeats an activity count.
  • The source bundle was compared with the pinned OpenAlex CSV hierarchy, including IDs/names/parents/descriptions. It is a literature-classification atlas, not a measured scientific dependency graph, live research activity, or complete ontology of science.

Native evidence and limits · Science-map decision · Science source provenance · Apps/handoff boundaries.

Hosted preview

Open the branch review preview

Immutable deployment · Vercel deployment.

Deployment dpl_GqM5vACtQZqiqQUBfp131goeEpJa is READY on the existing protocol/plrd.org project prj_ZHINneYGpk2Kjr7NVq9MxuILij5N, non-production target, exact head above. The branch alias readback identifies that same deployment. Vercel and Preview Comments checks passed; both /lab/ URLs returned HTTP 200 with X-Robots-Tag: noindex.

The actual branch URL passed 10 read-only route checks (five routes at 1440px desktop and 320px touch-mobile emulation), plus a 390px app-drawer check. The hosted catalog has its five editorial apps and no demo prelude; the hosted tech tree exposes the 4,516-topic source. No account grant or public write was performed.

Canonical-origin capabilities: mode=ready, canSignIn=true, canConnect=true, canPublish=false, oauthVerified=false, schemaPublished=false. Public OAuth metadata returned 200 JSON without a redirect/login wall and with the exact branch-origin client ID/callback, authentication none, and DPoP binding. The unique deployment origin correctly reports unconfigured and returns metadata 404; no configuration change was made.

Held account and launch gates

  1. Keep draft; do not merge or launch. No production deployment, DNS/domain activation, native public follow, public post or infrastructure/environment change is included. openlab.plrd.org remains a plan only.

  2. No real-account OAuth roundtrip or public-account mutation. Configuration readiness is not provider consent, callback/refresh/logout proof, or an authenticated profile/follow/publication receipt. Custom publication remains off. The unique deployment origin intentionally fails closed for OAuth; use the canonical branch origin for a future separately consented account test.

  3. Not a released community: shared indexing/discovery, canonical schema publication, moderation/abuse operations and cross-user synchronization remain separate gates. Local reviews/listings are not public records or endorsements. No private Interventions material is included.

  4. External tool execution is not proven. A native marimo launch opened the exact external URL, but this container's browser allowlist blocked loading that domain; a separate cookieless HTTP check returned 200. No allowlist workaround, external agent execution or GitHub issue write was performed.

  5. Dependency/hosting follow-up remains: Next.js is still pinned to 15.5.9; GitHub's existing default-branch dependency findings are not cleared by this scoped preview review. Preview noindex response headers do not constitute dedicated-domain SEO or production security signoff.

  6. Narrow classic-scrollbar desktop caveat: the site's pre-existing body min-width:320px causes 15px horizontal overflow at a 320px desktop viewport with a reserved vertical scrollbar. This was reproduced in the hosted check and verified in the prior revision; 320px touch-mobile emulation fits without overflow. It is not being mislabeled as a clean classic-scrollbar desktop pass.

Actual screenshots — local synthetic evidence

These 9 images are native localhost dev-server captures at runtime 4584de13227bbb38f45002dd0beac5e1e4e10e41, not hosted screenshots or account receipts. Runtime/dependencies are unchanged at the final head; the later changes add evidence and align one legacy route-composition test. The production-built head was independently exercised afterward. Each image's GitHub blob was read back and matched against the local Git object. Historical-person activity and QA task/result content are explicitly synthetic.

Daily catch-up, desktop.
Open Lab daily catch-up desktop

Daily catch-up, 390×844; instructions collapsed and compact mobile controls.
Open Lab daily catch-up mobile

Broad science tech tree, bounded root Map.
Broad science tech tree

Find tools leads with the app catalog, not demo chatter.
Science app catalog

Source-linked topic, dark appearance, mobile app drawer, handoff and proposal evidence

Deep source-linked topic detail.
Science topic detail

Explicit dark Map appearance; geometry is a navigation layout, not measured relationships.
Dark science Map

Source-linked app drawer, 390×844.
Mobile app drawer

Portable agent brief; preparation, not an executed agent run.
Source-bound agent handoff

Compact bottleneck/proposal workbench.
Compact proposal workbench

Add six scoped routes, deterministic signal experiments and paired audit packets. Preserve brochure copy and centralize unavailable auth/record seams for parent integration. Cover draft recovery, public consent, filtering and keyboard accessibility with mounted interaction tests.
Open Lab no longer inherits OS-dark on a first visit. The before-paint
boot script and LabShell layout effect keep /lab light unless the visitor
explicitly chose appearance, restore marketing OS preference on exit, and
never persist the implicit default. Feed, detail, and composer colors use
shell tokens with separate primary/selected ink, and the compact workshop
heading now outranks the app-shell h1 without !important.
…oarding.

First-login and ongoing editors now offer the same DISCIPLINES list, enforce the writer's visible max of eight, keep saved custom and legacy values removable, and recommend populated bottleneck cases instead of invented field IDs.
Keep unfinished builds resumable by stable ID, persist local media with
captions, attach results to the originating source, and stop packet/result
CTAs from dropping or substituting task identity.
The Observatory map still painted hardcoded charcoal grid and connector
strokes in light mode. Geometry now follows the instrument line token,
with the selected question using the accent color.
People choose a branch of the tech tree instead of a field map. A saved
research proposal now celebrates a new beginning of infinity.
Unsigned people still get a persistent profile control. The observatory
drops leftover marketing chrome and sits in a shorter in-app canvas.
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.

1 participant