display_name passed through to _init_wiki_db during lazy init.
-
### Remove `is_public` toggle (2026-03-17)
-
`READ_ACCESS` preference replaces `is_public` as sole source of truth for anonymous access. Migration seeds `READ_ACCESS=REGISTERED` for wikis with `is_public=0`. In final verification.
+
### ~~Upstream bug fix~~ submitted (2026-03-17)
+
`handle_permissions_and_registration` missing ADMIN guard — PR pending to redimp/otterwiki (`fix/permissions-admin-guard`).
## Blocking
@@ 52,8 56,6 @@
No per-wiki disk space limit. `page_count` and `disk_usage_bytes` fields in robot.db always read 0 — tier limits and quota enforcement are dead code. Design doc at [[Design/Wiki_Stats_Plugin]] describes an otterwiki plugin approach using lifecycle hooks + cron backstop. **Not yet implemented.**
### Management UI usability
-
Dashboard needs cleanup now that permissions moved to Otterwiki's admin:
-
- `is_public` toggle being removed (in progress)
- Wiki creation flow should default slug to username
- MCP connection instructions need to be clearer
- Settings page layout needs work
@@ 61,18 63,28 @@
### Landing page copy
Draft is live at robot.wtf/. Updated 2026-03-17. Still needs screenshots once UI is polished.
+
## UX issues
+
+
### Login page remembers nothing
+
The login page doesn't pre-fill the Bluesky handle from the platform JWT cookie. If a valid token exists, should skip login entirely and redirect to dashboard.
+
+
### Login page visual mismatch
+
The login page color scheme and layout are completely different from the landing page, the Otterwiki admin panel, and the wikis themselves. Should be visually consistent.
+
+
### No navigation from wiki to dashboard
+
There's no obvious way to get from within a wiki back to the platform dashboard or admin panel. Needs a nav link or menu item.
+
## Safety
### Backup coverage gaps
Backup cron runs every 4 hours, retains 7 days. Uses `sqlite3 .backup` for consistency.
**What IS backed up:** `robot.db`, `mcp_oauth.db`, per-wiki `wiki.db` files.
**What is NOT backed up:**
- **Git repos** (`/srv/data/wikis/{slug}/repo/`) — all wiki content. Relies on Proxmox VM snapshots. **Verify Proxmox snapshot schedule is actually running.**
- **Signing keys** (`signing_key.pem`, `signing_key.pub`, `client_jwk.json`, `client_jwk_pub.json`) — losing these breaks all OAuth sessions. Generated once, never backed up. Should be added to backup script or Ansible vault.
- FAISS indexes — can be rebuilt from wiki content (not critical).
-
- `robot.env`, `settings.cfg` — reproducible from Ansible vars + vault (not critical).
**Recommended actions (in priority order):**
1. Verify Proxmox snapshots are running on schedule
@@ 82,10 94,10 @@
5. Automate a periodic integrity check (`PRAGMA integrity_check` on all DBs)
### Backup verification
-
No tested restore path exists. Minimal local test: pull a backup, run integrity checks on each DB, verify schema matches. Full test: restore to a container, start services, verify wiki access. See above for detailed plan.
+
No tested restore path exists. Minimal local test: pull a backup, run integrity checks on each DB, verify schema matches.
### Rate limiting
-
No rate limiting on any endpoint. Caddy can add this. Not critical for soft launch with small community, needed before wider announcement.
+
No rate limiting on any endpoint. Caddy can add this. Not critical for soft launch, needed before wider announcement.
### OWASP high-priority items
From [[Security/OWASP_2025_Audit]]:
@@ 99,7 111,7 @@
## Not blocking but important
### Phase 2: User Management
-
Explicit user roster per wiki. Admin adds DID handles, sets per-user flags. Completes the APPROVED access level. Design at [[Design/Admin_Panel_Reenablement]] (Phase 2 section). **Parked — implement after current batch.**
+
Consolidate Collaborators tab into Otterwiki's User Management panel. Explicit user roster per wiki. Admin adds DID handles, sets per-user flags. Completes the APPROVED access level. Remove Collaborators tab from dashboard. Design at [[Design/Admin_Panel_Reenablement]] (Phase 2 section).
### Wiki stats plugin
Track page count and disk usage via otterwiki lifecycle hooks. Enables tier limits and quota enforcement. Design at [[Design/Wiki_Stats_Plugin]]. **Parked — design only.**