Spaces:
Running
Running
Commit History
-
feat(library): settle the last two wording questions; CAMEL logo
Both decisions confirmed with the PI on 2026-09-07, so no construct in the library is left without a verification decision. IPIP keeps its leading "I". Worth recording why the question dissolved: the platform never added it. import_from_xlsx.py only strips whitespace, and the items arrived with the "I" already present in the commit that first created the library, from lib.xlsx. The IPIP source really does print bare stems ("Feel little concern for others") with the subject supplied by its instruction header, so the reviewer's observation was right about the state and wrong about the cause: this is a transcription convention in the lab's own spreadsheet. The five constructs are verified with that provenance recorded on each. K10 is retired rather than rewritten. Its items are fragments under a shared header, and CCR embeds item text directly, so "worthless?" is a poor stand-in for the construct. Archived, not deleted: constructs are append-only and any run that used it must still reso…726d852
-
feat: put invite links on hold; single brand header everywhere
Invite links are dormant behind CCR_INVITES_ENABLED (default off): creation 409s, existing tokens stop redeeming with a clear message, /admin hides the section. Pre-assigned roles remain the onboarding path; machinery and audit history stay intact for re-enabling. Header: the CCR logo (which already reads 'CCR') stands alone with the tagline 'Psychological Text Analysis with Contextualized Construct Representation' - app, guide, and product topbars now identical.6a6c7cf
-
Refactor admin page to include collapsible sections and enhance invite link management
- Added a collapsible Section component to improve layout and readability of the AdminPage. - Integrated invite link management, allowing admins to view, copy, and revoke invite links. - Updated tests to verify invite link functionality, including status checks and revocation behavior. - Enhanced UI elements for better user experience, including status indicators for invites and improved error handling.5ad96fc -
Four-tier access model: self-governing admin, pre-login access, audit trail
PI decisions 2026-07-22: - Roles: pi | maintainer | lab | external (legacy "member" reads as external). Lab members and above: unlimited saved runs. - PI role holds escalation rights in-app (grant/revoke staff, act on staff accounts, audit view); ADMIN_EMAILS is bootstrap + break-glass only. Maintainers get the operational surface. Nobody can change their own role. - Construct verification is maintainer-only (the RA's job); PI/admin keep a read-only queue. - Access before sign-in: email-bound pre-assigned roles (staff-capable, claimed on first password/Google sign-in) and signed 7-day invite links (lab/external only, ?invite= signup flow). - Append-only admin_audit table records every admin action; visible to PI/env admins. - Docs split: /guide = navigate-and-test; new /product page = access model + capability matrix + architecture (moved from guide).bfb6467
-
Admin: no password reset for Google accounts (UI + backend guard)
5a24540 -
Admin page v1: user roles (lab tier), password resets, failed-run requeue, verification queue
Synced from lab mainline. /admin gated by ADMIN_EMAILS env allowlist. Lab-role accounts get unlimited saved runs (replaces the global env hack). 72 tests passing.b633038