The 2026-05-30 sync commit (fa659eb) only covered the vault-tab management surfaces revamp. It missed three earlier merges that landed 2026-05-02..05-03 and have been on main since: - Phase 2B polish foundation + form layout (5da1e52, 2026-05-02) - v0.5.1 Stream A — 3-column vault layout + bottom sheet + toast + GLYPH_VAULT_TAB + emoji sweep (c16adc4, 2026-05-03) - v0.5.1 Stream B — left-nav settings (Autofill / Display / Security / Generator / Retention / Backup / Import) (bd6a301, 2026-05-03) - v0.5.1 Stream C — Recovery QR end-to-end (core + WASM + CLI + settings-security.ts + setup wizard banner) + setup wizard Style C redesign (934dfe0, 2026-05-03) Also missing: 1C-γ (attachments + Document type + device registration + trash + history), Plan B multi-stream refactor (Cycles 1+2), and the in-flight doc-structure redesign Tasks 1-4 (commits 36a59cd..bae3f7c since spec3209bfb). STATUS now lists each train with merge SHA, spec/plan pointers, and per-feature bullets. ROADMAP's "Up next" / "Medium-term" / "Long-term" sections retrimmed: the only genuinely outstanding work is doc-structure Task 5 verification, the lock-screen logo, the v0.5.x tag, and the three 2026-05-04 architecture-review specs (CLI restructure, extension restructure, security polish — none have plans yet). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
8.8 KiB
Relicario — Project Status
Update this file at the end of every dev iteration. It is the single source of truth for what is done, in progress, and next.
Version
Last release tagged: v0.2.0 — the v0.5.x train (crate + extension versions bumped to 0.5.0 in cf66bd9, 2026-05-04) is on main but untagged. The train has accumulated well past the original v0.5.0 scope; tag when the doc-structure redesign closes.
Active track: doc-structure redesign final verification + roadmap planning
What landed on main since the v0.5.0 version bump
Phase 2B — polish foundation + form layout (merged 2026-05-02, 5da1e52)
Spec: docs/superpowers/specs/2026-05-02-phase-2b-form-layout-design.md
Plan: docs/superpowers/plans/2026-05-02-phase-2b-polish-and-form-layout.md
- Patina gold palette tokens (
--gold-base#a88a4a,--gold-mid,--gold-shadow, etc.) replacing the bright amber#d2ab43 .surface-backdrop(radial top-glow + 18px grid texture) on popup body, setup body, vault body.glasscard class withbackdrop-filter: blur(8px)for unlock card, setup steps, form columns.btn-primary/.btn-secondarybutton hierarchy alongside existing.btnGLYPH_NEXT = '▸'(U+25B8) replacing ASCII→in next/continue buttons- Unlock view restructure: logo-lockup (logo + brand + tagline) + glass card + primary "unlock vault" button + secondary open-vault/settings demoted
- Setup wizard: backdrop + glass step cards + glass mode-picker cards + ▸ on next buttons
- Two-column login form (
surface: 'popup' | 'fullscreen'flag onrenderForm) - Sticky save bar in fullscreen forms with
externalActionsflag - Form header with title + dirty-state subtitle + platform-aware save hint (⌘+S / Ctrl+S)
v0.5.1 Stream A — fullscreen + popup layout polish (merged 2026-05-03, c16adc4)
- 3-column vault tab: sidebar (200px) + list (flex) + detail drawer (440px)
- Sidebar type-category nav replacing flat item list (All items + per-type counts)
- Bottom sheet for "new item" type picker (pane-only scrim, sidebar stays interactive)
- Shared toast system at
extension/src/shared/toast.ts(showToast(message, type, durationMs)) GLYPH_VAULT_TAB = '⧉'(U+29C9) replacing⤴pop-out button in popup- Per-type glyph icons in popup item rows
- Empty-state treatments (popup list empty, popup search-empty, vault list section-empty)
- Emoji sweep — all remaining UI emoji replaced with monochrome glyph constants
v0.5.1 Stream B — settings UX redesign (merged 2026-05-03, bd6a301)
- Unified left-nav settings page (Device / Vault grouping)
- Sections: Autofill (Device), Display (Device — password coloring), Security (Vault — Recovery QR + trusted devices), Generator (Vault), Retention (Vault), Backup (Vault), Import (Vault)
devicesstandalone sidebar entry subsumed into Security section
v0.5.1 Stream C — Recovery QR (merged 2026-05-03, 934dfe0)
Spec: docs/superpowers/specs/2026-05-01-recovery-qr-design.md
Plan: docs/superpowers/plans/2026-05-01-recovery-qr-and-entropy-floor.md
- Rust core:
relicario-core/src/recovery_qr.rs—generate_recovery_qr/unwrap_recovery_qr/recovery_qr_to_svg(109-byte binary payload, never written to disk) - WASM bindings:
generate_recovery_qr/unwrap_recovery_qr+ session storesimage_secretfor regeneration - CLI:
relicario recovery-qr generate/recovery-qr unwrapsubcommands (TTY render) - Extension: three-state Security settings card; setup wizard "generate before you go" banner
- Setup wizard Style C redesign — centered hero card + colored progress track + glyph mode icons (replacing the prior glass-card vertical wizard)
1C-γ — attachments + Document type + device registration + trash + history
Specs: docs/superpowers/specs/2026-04-24-relicario-extension-1c-gamma1-design.md, docs/superpowers/specs/2026-04-26-relicario-extension-1c-gamma2-design.md
Plans: docs/superpowers/plans/2026-04-24-relicario-extension-1c-gamma1.md, docs/superpowers/plans/2026-04-26-relicario-extension-1c-gamma2.md
- Core:
relicario-core/src/item_types/document.rs(DocumentCore — signature + signed-on date) - Extension: Document type form + signature-block detail (
extension/src/popup/components/types/document.ts) - Attachments wired into 6 type forms via shared disclosure; 📎 indicator in item list
- Attachment cap setting (per-vault bytes cap) in vault settings; CLI enforces cap on attach
- Service worker: trash operations (listTrashed, restoreItem, purgeItem, purgeAllTrash); batched purge
- Device registration from the popup (no setup-wizard detour)
- Field history end-to-end (WASM
get_field_history, popup viewer) - Attachment IDs expanded to 128 bits with
is_validcheck (audit I2) - Per-vault attachment bytes cap enforced (audit I3)
- IDs validated on backup restore (audit B4)
Plan B multi-stream refactor (2026-05-09 → 2026-05-25)
Cycle 1:
- Stream A: security audit fixes + docs polish (
89090a8) - Stream B:
main.rssplit intocommands/modules +git_runhelper (b9bd152)
Cycle 2:
- Stream A:
prompt_or_flag<T>+ builder compression — compressedbuild_*_itemhelpers (3dd1e1b) - Stream B:
Vault::after_manifest_changewrapper, single canonicalParamsFilein session (3759f6a) - Stream C: core/WASM seam —
base32_decode_lenient,parse_month_year,guess_mimeexported from WASM; CLI parsers migrated torelicario-core::parse(e69b347)
Misc:
- CLI:
genalias forgenerate,-l/-wshort flags, batched purge base32module extracted from core, two duplicate RFC-4648 impls deduplicated- License switched to GPL-3.0-or-later
Vault-tab management surfaces revamp (2026-05-24 → 2026-05-30)
Spec: docs/superpowers/specs/2026-05-23-vault-tab-management-surfaces-revamp-design.md
Plan: docs/superpowers/plans/2026-05-24-vault-tab-management-surfaces-revamp.md
- Shared utilities:
relative-time.tsconsolidating 5 duplicate inline copies (9da45dd,a587965), webcryptossh-fingerprint.ts(1edfa67), shared section-header / glyph-btn / kv-row / fingerprint CSS (367adce), history/revoke/restore glyph constants (c943a06) - Settings pane revamp — synced/local split + session timeout UI (
299e7db) - Devices pane revamp — SHA256 fingerprint + added-by display + glyph revoke with inline two-step confirm (
047df6e) - Trash pane revamp — per-item purge countdown via
daysUntilPurge+ glyph restore + bottom-right empty-trash (ed6e218) - Field-history pane visual polish — section headers + glyph reveal/copy buttons (
32e674e) - Item-history-index pane — top-level "items with history" list (
32e1632) - Sidebar slot wiring +
#history/<id>route with#field-history/<id>legacy normalization (88d7228)
Doc-structure redesign (2026-05-30, in progress)
Spec: docs/superpowers/specs/2026-05-30-doc-structure-redesign-design.md
Plan: docs/superpowers/plans/2026-05-30-doc-structure-redesign.md
- Task 1: Renamed
ARCHITECTURE.md→DESIGN.md,docs/ARCHITECTURE.md→docs/CRYPTO.md,FORMATS.md→docs/FORMATS.md(36a59cd) - Task 2: Added scope headers + "Next:" footers to all tour docs (
5e7023f) - Task 3: Fixed incoming links to renamed paths (
01377e7) - Task 4: Updated CLAUDE.md living-docs table + added three discipline rules (
bae3f7c) - Task 5: Final verification gate — not yet run
In progress (uncommitted on main)
- Vault lock-screen logo — 1-line
<img class="brand-logo">insertion inextension/src/vault/vault.tslock-screen render (verified viagit diff) .claude/settings.json— harness config tweaks- Two superseded doc-plan/spec files showing modifications —
2026-04-22-relicario-extension-1c-beta1.mdand2026-04-11-relicario-design.md
Up next
- Doc-structure redesign Task 5 — final verification gate (grep for old paths in renamed files, confirm no broken links remain). The four implementation tasks shipped without checking off the plan's checkboxes; the verification task may be redundant or may catch something.
- Cut a tag for the v0.5.x train — version bumped to 0.5.0 on 2026-05-04 but never tagged; scope now includes Phase 2B + v0.5.1 Streams A/B/C + 1C-γ + Plan B refactor + management-surfaces revamp + doc-structure redesign. Given the breadth,
v0.6.0may fit better thanv0.5.1; user decides. - CLI restructure (spec
2026-05-04-cli-restructure-design.md, no plan yet) — subcommand reorganization + interactive TUI mode. - Extension restructure (spec
2026-05-04-extension-restructure-design.md, no plan yet) — bundle / message-routing cleanup. - Security polish (spec
2026-05-04-security-polish-design.md, no plan yet) — follow-up security hardening from the architecture review.
See ROADMAP.md for the longer arc and CHANGELOG.md for tagged-release history (current head: v0.5.0 entry, dated 2026-05-02 — predates the v0.5.1 train work and will be revised when the next tag cuts).