AidedMind is a personal knowledge publication whose pages become a knowledge fabric. Prefer the quieter option while reading, the clearer option while navigating, and the more expressive option when showing connections.
v31 keeps connection setup visible in Capture & Sharing and uses the shared sheet for account creation, building on the coherent v30 editorial shell while preserving the v27 product foundation. Library / Explore / More and global Add remain intact; saved pieces retain Breakdown / Links / Notes. Capture, source handling, automatic and manual connections, rejection memory, data architecture, exports and stable map neighborhoods remain the foundation.
Newsreader variable serif is bundled locally at web/fonts/Newsreader.ttf (SIL OFL, included alongside it). Use it for publication titles, reading leads, headings, pull quotes and relationship titles. System UI sans serves navigation, metadata, controls and diagnostics. Reading sections target 72ch and generous line height.
Runtime tokens live in web/tokens.css, the canonical palette and spacing owner. Components in web/app.css and the shared shell in web/shell.css consume these variables directly; this document mirrors the accepted values (runtime-owned mapping). Warm paper and warm charcoal are the daylight/night editions of the same publication. Lavender signals action and relationships. Semantic aliases include paper, paper-secondary, surface-muted, ink, text-secondary, rule, display-serif and ui-sans. Use the spacing scale from space-1 through space-16.
Prefer fine rules and whitespace to cards. Reserve containment for capture, sheets, recovery and map context.
| Semantic role | Light | Dark | Consumers |
|---|---|---|---|
Paper / --bg |
#f7f4ef |
#262429 |
Page, navigation, map |
Reading surface / --surface |
#fdfbf7 |
#302d33 |
Writing, sheets, map list |
Muted surface / --surface-2 |
#efebe6 |
#38343d |
Search and secondary controls |
Ink / --text |
#302c33 |
#f4f0e8 |
Titles and reading |
Secondary / --text-2 |
#625c66 |
#cec7d1 |
Metadata and navigation |
Lavender / --accent |
#70538f |
#c5b3e3 |
Actions, focus, connections |
Fine rule / --line |
#dcd5cd |
#4b454f |
Separators |
web/shell.css exclusively owns fixed navigation, page measure, desktop rail, Explore toolbar/canvas and map list geometry. Do not append shell overrides in component CSS. At widths below 960px, exactly three links occupy the bottom bar. At 960px and above, those same links sit below a static publication imprint in the rail. Neither desktop nor header imprint is an actionable home link. Global Add is a labeled header action; the map toolbar does not duplicate it.
The header uses bounded grid columns, with no invisible title reserving space beside the imprint. Saved-piece titles center within remaining space. Reading content uses one --content-width per screen so desktop centering includes the rail correctly.
Explore uses three grid rows: editorial heading and controls, the canvas, then theme controls. Search fills the mobile control width; map actions use a second row below 600px. Labels and neighborhoods live entirely within the remaining canvas. The map list overlays only that canvas, retaining access to its close button and map controls. Changing shell geometry or theme hues never changes graph grouping, rejection memory, or physics.
Library offers a truthful count of extant note edges, including automatic links and backlinks. Reading UI stays quiet. Links uses cross-reference rules and equal treatment for automatic and manual origins. Explore expresses the fabric with stable neighborhoods. Source coloring never changes layout grouping.
The imprint refines the existing central-node and four-outer-node geometry. SVG, favicon, PNG PWA icons and Apple touch icon share the mark. In-app marks use the original SVG as a mask tinted by the accent token, so dark mode has the same readable lavender signature. Loading resolves once without an endless loop.
The active service worker serves HTML, CSS and JavaScript from its own named release cache. New HTML must not arrive ahead of the matching assets. Controller changes retain the existing safe reload/draft protection. Feedback sits below the header, and switching saved-piece tabs reveals the new panel’s beginning without moving keyboard focus.
System appearance is the default; local light/dark override is optional. Larger reading text and reduced motion are local display preferences, outside knowledge data and exports. OS reduced motion always applies. Touch controls target at least 44px. Sheets trap focus, inert background content, close with Escape and restore the trigger. Saved-piece tabs support arrows, Home and End. Notes announce Saving…, Saved and storage errors without discarding entered text. Map keeps its synchronized textual equivalent.
Worth Quoting displays only literal strings present in captured source text, with a source passage control; saved quote data remains untouched. Quotes with normalized punctuation may be omitted until exact verification is possible. Recovery explains what the reader can do and retains technical errors under Advanced diagnostics.
npm test runs worker, capture, graph, theme, connection and web tests. npm --prefix worker run check validates the deployment bundle.
The Editorial browser QA workflow runs Chromium and WebKit across 320px, 390px, tablet, 959px/960px rail boundaries and desktop, both schemes, larger text and reduced motion. It exercises captures with mocked API responses, links and rejection persistence, autosave failure/recovery, sheets, exports, maps and offline assets. It checks exactly three navigation destinations, 44px targets, clipping/occlusion, header overlap, reachable navigation and reserved map canvas space, including a 320×568 viewport. It runs axe WCAG checks and publishes full-page and viewport screenshots plus a JSON report. Screenshots must also be visually inspected before a release; a green functional run alone does not establish layout quality.
This automation does not replace physical iPhone Share Sheet, real publisher access, installed iOS PWA or VoiceOver testing.
Explore opens as a quiet topic index with counts and two title previews per topic. A topic opens its pieces; a piece opens a focused neighborhood with explicit expansion. The secondary toolbar contains the overview/expansion action and a truthful visible-piece count. These controls occupy reserved space above the canvas. The signature remains the lavender knowledge fabric inside a selected neighborhood; the overview uses the publication’s serif, fine rules and whitespace. Named topics have stable canonical IDs, retain singleton topics, and keep their display color and persisted spatial home independently of size. Shared concepts are canonicalized and subject to the same common-name guard as legacy clustering. Broad/detailed community detection remains only a fallback for unclassified legacy notes. Topic management uses the shared sheet, semantic grouped-row buttons, explicit merge confirmation, persistent aliases within note backups, and session Undo. Display layout is disposable local state, separate from saved knowledge. Runtime palette and typography tokens are unchanged.
Topic rename, split and merge extend the shared sheet and grouped rows. Split uses labeled native checkboxes within the bounded piece list; controls and selection counts retain the editorial type hierarchy. Connection review uses a quiet inline status and native progress bar, with the same status panel in its sheet. Existing palette, type and shell tokens remain the visual owners.
Organization review extends the shared sheet with a bounded scrolling body, persistent heading and close action, and ten-piece pages through Load more. Labeled native checkboxes select proposals across the reviewed collection; the selected count makes that scope explicit. Source evidence and proposed concepts live in native disclosures. Progress, failure/retry and pause use the existing review styles. Short-article checks use the same source-correction sheet family. Runtime tokens and shell geometry remain unchanged.
Explore can open as an area index after a grouping preview is accepted. Native disclosures reveal the existing topic grid; topic selection retains its stable neighborhood and focused-piece behavior. Area rows use the same serif, counts, fine rules and runtime tokens. web/shell.css remains the geometry owner. Grouping previews reuse the organization sheet, ten-group Load more, labeled checkboxes, source-piece disclosures and protected footer. Source review flags show evidence omissions and suspicious empty concept results without preselecting them. Palette, typography and shared shell dimensions are unchanged.
Saved concept-only previews remain valid across topic and area changes. The existing organization sheet explains recovered previews without a new request; rejected candidate names and reasons appear inside its native concept disclosure. Flagged previews stay unselected. Apply and Undo preserve current navigation metadata. The same sheet, focus behavior, footer, typography and runtime tokens remain canonical.
Organization preview identifies accepted topics and areas as kept, using the existing metadata text. It exposes curated failure reasons in the same piece rows, preserving native disclosures, ten-piece pagination, selection, focus and the bounded sheet body. Full-text import explains that accepted groups stay. Typography, palette, shell geometry and shared primitive ownership remain unchanged.
Saved and new organization previews list grounded concepts removed by a replacement, with original evidence inside the existing native disclosure. Any loss leaves the proposal unchecked until explicitly selected. The warning explains potential shared-map connection loss. Retry, Apply and Undo retain the established bounded sheet, native controls, focus behavior, metadata hierarchy and runtime tokens.
Manage concepts and Library health extend the existing More → Appearance → Map controls. Both reuse the bounded organization sheet, native row buttons, ten-item Load more, persistent Close, inline errors and the shared toast. Concept merges require an explicit equivalence decision and offer persistent Undo. Placement explanations use a collapsed native disclosure beside saved-piece navigation metadata. Topic grouping exposes paid batch scope and explicit Resume/Discard; no new palette, typography or shell geometry is introduced. Health counts describe processing coverage rather than a semantic quality score.
More retains the existing Advanced Diagnostics disclosure, group rows, shared type and tokens. Its monthly total explicitly covers all Claude tasks; breakdowns, connections/placement, organization previews and topic grouping have separate estimate rows. Older usage remains unclassified. Gemini and Supadata charges are excluded from the Claude estimate. No per-breakdown average is inferred from capture count. Organization Apply/Undo queues only meaningful changed connection inputs and direct automatic neighbors, preserving unrelated queue state and paused work. No-op proposals do not initiate paid checks. The existing explicit whole-library review remains available.
Keep the governing principle explicit: a simple front end with an in-depth back end. Inbox delivery saves the completed source first; relationship matching then uses the existing background queue. The reader keeps the same navigation and controls. A retried delivery must preserve the first saved piece and later personal writing. Spending copy refers to provider-reported usage, including failed responses, and Gemini backup requests rather than successful breakdown counts.
The existing connection and organization progress panels explain capacity/allowance waits. Queues remain pending, retain Pause/Resume and survive reload; a temporary wait must not look like a failed attempt. No additional menu, dashboard or model-selection controls are introduced. Explicit Retry requests fresh organization work while repeated delivery of the same attempt can reuse its result.
Restore uses the shared bounded sheet with a preview, one explicit Add missing pieces action, persistent validation/storage errors and the existing focus/Cancel/Close behavior. Existing records are kept; restored background work starts paused. The existing spending details add aggregate reuse/wait counts without new navigation or controls. Runtime tokens and shell geometry remain unchanged.