BLACK MONEY · Operations

Site updates

Editor-uploaded updates, Cursor agent logs, strategic roadmap, the last three GitHub pushes, and the LifeOS Blueprint — one dossier.

STEN · BLACK MONEYPart I & II — visual identity
BLACK MONEY · command logEditor 7Agent 19Roadmap 7
Source · GitRecent pushes
Last 3
  • b7260e9

    before runthrough

    before runthrough. Touches spark threads, articles, changelog, desk shell. 81949 files changed.

    View commit →
  • 4319928

    big2

    big2. Touches spark threads, articles, desk shell, Sanity studio. 320 files changed.

    View commit →
  • d4b71b2

    massive update

    massive update. Touches spark threads, articles, desk shell, Sanity studio. 328 files changed.

    View commit →
Human layerEditor updates
7
Content

Added Groups/Categories To Changelog Entries

Selection Fields Dev side, organizational structure on the public side.

Improvement

Added Title Field To Changelog Components

Also added the live-preview feature.

Feature

BI-Directional Article Drafting Integration

- + Draft spark thread creates and links a thread to the article - Open spark → opens the full composer - Sync into article pulls latest spark content into the article body - Promote → article sets sourceSparkThread on the article for round-trip linkage

Feature

Version History (GitHub-Style)

- Full snapshot vs after side-by-side panels - Inline diff with green additions and red strikethrough removals - Note changes and done-state changes

Feature

Audio Transcription

While recording: browser speech recognition fills a live transcript when supported After upload: Transcribe calls /api/desk/media/transcribe (OpenAI Whisper or Groq via OPENAI_API_KEY / GROQ_API_KEY) Audio file is kept; transcript is stored as audioTranscript and shown below the player Promote → article maps transcripts to aside callouts

Feature

Universal "Done" checkbox

Removed the Draft / Finalized / Published / To-do dropdown. Every spark has a Done checkbox in the header; checked sparks get strikethrough styling in the editor and preview. Legacy taskDone / lineKind: task data maps into done automatically.

Feature

Nested Sub-Groups

Groups can now contain sparks and sub-groups (recursive nesting). In the composer, each group has + Sub-group alongside + Add spark. Sub-groups indent visually and promote to nested chapter breaks.

Cursor agentAgent-uploaded updates
19
automatically logged by Cursor agent
Fix

Monorepo audit — changelog keys, queries, a11y, errors

Fixed duplicate React keys on /changelog (stable agentLogId keys), slimmed project material GROQ and compare query, capped nav fetch, synced desk material roles with public labels, zone filter a11y, segment error boundaries, and ESLint cleanups.

automatically logged by Cursor agent
Fix

Fix /projects 500 — Sanity GROQ query over 300 KB

Split project list vs detail GROQ projections so the registry index no longer POSTs the full portable-text/page-builder query body to Sanity.

automatically logged by Cursor agent
Feature

Project pages — editorial mode, filters, compare, galleries

Added project editorial spreads, desk presentation editor, page builder sections, phase compare route, filterable index with tag links, public video gallery routes, phase-aware embeds, sitemap phase URLs, and light theme parity.

automatically logged by Cursor agent
Feature

Project registry pages — magazine-grade redesign

Rebuilt /projects index, project slug, and phase pages with feathered media, carousels, hero video, presentation body, world/elements, per-project layout controls, and phase portable text.

automatically logged by Cursor agent
Design

BLACK MONEY atmosphere v2 — ink-black base

Removed full-bleed paper textures site-wide. Flat ink-black gradient, whisper grain/dust, faint scanlines. Desk, studio, and cards aligned. Changelog blueprint sidebar scroll fixed.

automatically logged by Cursor agent
Improvement

Whisper timestamped transcript segments

Server transcription now requests verbose_json from Whisper and stores per-segment start/end timestamps on spark audio.

automatically logged by Cursor agent
Feature

Clickable transcript scrubber

Audio transcript segments are clickable in the spark composer — selecting a segment seeks the audio player to that timestamp.

automatically logged by Cursor agent
Improvement

Clear transcription API errors

Invalid OpenAI keys and missing billing credits now return explicit error messages from /api/desk/media/transcribe.

automatically logged by Cursor agent
Improvement

Firefox live-caption fallback message

While recording, Firefox users see that live captions are unavailable and Whisper will transcribe after stop.

automatically logged by Cursor agent
Feature

Site-wide floating create menu

A single + FAB appears on desk and public pages for signed-in users — no hotkey required.

automatically logged by Cursor agent
Feature

Radial menu: sparks, create types, desk shortcuts

Expanded FAB shows ⚡ spark drawer, quick-create glyphs, and ⌂ Desk · ≡ Sparks · ◆ Changelog links.

automatically logged by Cursor agent
Feature

Thread outline with jump-to-item

Spark composer includes a collapsible outline; clicking an item scrolls to that spark or group.

automatically logged by Cursor agent
Feature

Done filter (All / Open / Done)

Composer view can filter sparks by done state without mutating thread data.

automatically logged by Cursor agent
Feature

Mark all done / Clear done

Bulk actions set or clear the done checkbox on every spark in the thread.

automatically logged by Cursor agent
Feature

Collapse and expand spark groups

Groups and sub-groups can be collapsed in the composer to reduce visual noise.

automatically logged by Cursor agent
Feature

Publish scope for public threads

Threads support publish scope: all sparks, non-done only, or done only — preview respects the setting.

automatically logged by Cursor agent
Feature

deskUpdate schema for editorial asides

New deskUpdate object on sparks, groups, threads, changelog entries, and the changelog document.

automatically logged by Cursor agent
Feature

Updates panel with marker redaction

Desk updates support Desk only · Public (redacted) · Fully public modes; ⟦brackets⟧ render marker-style strikethroughs.

automatically logged by Cursor agent
Improvement

Changelog autosave (2.5s debounce)

Site changelog editor autosaves like spark threads and articles.

Forward fileRoadmap
7
automatically logged by Cursor agentRoadmap / draft
Improvement

Drag-and-drop spark reorder

Replace ↑↓-only reordering with drag-and-drop for sparks and groups.

automatically logged by Cursor agentRoadmap / draft
Feature

Speaker diarization on audio sparks

Label speakers on transcripts (requires AssemblyAI, pyannote, or similar — Whisper alone does not diarize).

automatically logged by Cursor agentRoadmap / draft
Feature

Thread templates and auto-group by topic

Starter templates for threads plus AI clustering of related sparks into groups.

automatically logged by Cursor agentRoadmap / draft
Feature

Bi-directional article ↔ spark sync

Edits in a promoted article push back to the linked spark thread and vice versa.

automatically logged by Cursor agentRoadmap / draft
Feature

Live spark thread embed in articles

Embed a live-updating public thread widget inside magazine articles.

automatically logged by Cursor agentRoadmap / draft
Feature

Full-text and semantic spark search

Search across threads, transcripts, and version history; “find similar sparks” via embeddings.

automatically logged by Cursor agentRoadmap / draft
Infrastructure

Deploy studio schema and run typegen

Deploy deskUpdate / publishScope schema to production and run npm run sanity:typegen --workspace=frontend.

Edit in deskLifeOS Blueprint