Unicron
Guide Changelog Download
← Unicron

Changelog

Every release, newest first.

0.22.2

2026-09-04

Fixed

  • Two Field Guide sections were never on screen. "Documents" and "Keeping Claude out" were written and shipped in 0.22.0, but the guide renders from a grouped list and neither had been added to a group, so nothing rendered them. Both are in now, and three tests make an unrendered section fail the build rather than ship quietly.

Changed

  • The site's guide page is generated from the app's Field Guide. It used to be a hand-transcribed second copy of the same prose, and it drifted — by 0.22.0 the public guide was missing Documents, protected regions, and five older sections, because nothing connected the two. The app's copy is the source now, since it ships inside the product and is the one that stays current, and the release syncs it alongside the changelog. Edit src/lib/fieldGuide.ts, not guide.astro.

0.22.1

2026-09-04

Fixed

  • The Field Guide's decisions section was wrong about confirming an outcome. It said recording one draws a dotted link you then go and confirm in the Decisions view. That stopped being true in 0.22.0 — recording an outcome by hand *is* the assertion, so the edge is confirmed straight away. The dotted state is for a leadsTo written by hand or proposed by Claude, and the text now says so. It also covers the two things it never mentioned: the decision gets a linked ## Outcome section, and a resolved decision shows Outcome: <title> → in its header.
  • Mermaid diagrams weren't documented. 0.22.0 shipped diagram rendering with nothing in the app explaining how to get one. Covered under Writing a note, with the fence syntax, the inline %%{init}%% theming rule, and what happens to a diagram that's too wide or doesn't parse.

0.22.0

2026-09-04

Added

  • Documents — long notes that belong to a project. Research, thinking, talking points: the material that used to get appended to a project note until the file held two documents fighting over one graph node. A document always has an area and always has a project, attaching by a project: slug the way meetings already opt in. If it has no project it isn't a document, it's a topic. Create one with Add ▸ Document or /document; you pick the project and the area comes with it, since a project belongs to exactly one. It gets a rail chip, a collapsible group node under its area in the Graph, and sections in the area and project views.
  • A document holds no tasks, and its body stays out of the daily brief. Both fall out of the length. Tasks live on the project note — a document would have been a fifth home for them — and a stray - [ ] is flagged by the Field Guide rather than silently dropped. The project note carries a ## Documents index of title, description and link, and that's the whole surface: /focus reads 4,880 lines a run, and inlining long documents would have added a fifth to every morning's brief for material that has nothing to do with today. So write a real description.
  • me/writing-style.md — the house style, and it's yours to edit. Nothing said how Claude should write its *own* notes. "Voice — write as the user" governs drafts written in your voice, and a meeting note is neither, so the only rule that ever reached one was about checkboxes. It showed: meeting.md budgeted one section and those summaries ran 504 and 698 words across four paragraphs, while Action items — the one section with a hard format rule — stayed terse in every note. Every section has a budget now, and the reusable half lives in a file you change instead of a command. It carries the do-not-flatten list too: the journal is off-limits, and the profile's projects, a decision's Context, an area's narrative and a topic's "Where I stand" keep their prose.
  • Mermaid diagrams render from a ``mermaid fence. Lazily imported, so a note with no diagram never pays for it. A note that carries its own %%{init}%%` theme keeps it; only an undirected diagram takes the app's, so a hand-themed light diagram isn't forced black-on-white in dark mode. A malformed one shows its parse error and its source instead of taking the note down.
  • Fence off writing Claude shouldn't touch. / → Protected region wraps a passage in claude:keep-out comments — invisible in every renderer — and readonly: true puts a whole note off-limits. This is detection, not a lock: every run is already diffed, so a protected passage that comes back different is flagged in the review card with the revert beside it. Regions are read from the *before* image, so a run that deletes the markers gets caught rather than looking clean.

Changed

  • Record an outcome from the decision page, and see it there afterwards. leadsTo: was frontmatter — the Decisions view read it, so the wiring looked done, but opening the decision showed no link at all, and once an outcome existed the control vanished with nothing in its place. Recording now writes the ## Outcome section with a real link and confirms the edge, and a resolved decision shows Outcome: <title> → where the button was. Authored prose in that section is never overwritten — the link goes under it.
  • Chat keeps answers short and spells out acronyms. Naming the specific padding — restating the question, pre-narration, closing summaries — rather than asking for concision, which every model already believes it practises.
  • Topics appear in the default Areas view. The hub always anchored to Me, but the whole cluster was skipped when no topic survived the type filter, so it and its edge to Me stopped existing rather than merely emptying. Journal and Topics are also collapsible now, like the area sub-hubs, and Outcomes gets a group node — it had none, because nothing collected them.
  • The capture type selector fits on one line again. Its two groups were locked to equal halves on the assumption that both held four kinds; Document made it five, so it wrapped while Capture sat with dead space. Each group sizes to its own content.

Fixed

  • The Contents outline stopped stuttering on long notes. It flapped between adjacent sections and the page juddered. Scrolling was re-rendering the whole note on every frame — always true, cheap enough to hide until a note was long enough and had diagrams in it, at which point a re-render could repaint a diagram, change the document height mid-scroll, and move every heading below it. The outline also has a dead zone now, so a heading resting on the boundary settles instead of flipping.

0.21.0

2026-09-02

Changed

  • Meeting notes stopped competing for ownership of tasks. /meeting writes action items as plain bullets now — - Sam — send the contract — and the checkable - [ ] goes only in the durable note: the person's note for what they owe, the area or project note for mine. Before this, one commitment got written into the meeting, every person named in it, and the area note, all at once. Four copies of the same thing, each worded a little differently for its own note, and checking one off left the other three open. That's how a commitment ends up marked done in two notes and still open in three others. In my vault it was 66 redundant lines out of 310, and 49 of the 53 duplicate groups had a meeting note in them. The meeting note keeps the whole record, worded the same as before. It just isn't the copy you check off any more.
  • Tasks.md is my list, not the team's. /tasks keeps only what I own — anything naming me, plus unowned items in a project or area note, which are my own planning backlog. Other people's commitments still live in their notes and still surface in the brief's Open threads, where the question is who owes me what. Repeating them in a to-do list buried the handful of things I can actually do today.
  • /tasks collapses look-alikes before it writes. Copies of one commitment rarely match on text, because each was written for its own note's context, so the command groups by what a task means and keeps a single row — preferring a project or area note over a person note, and a meeting note last. It only changes what's displayed; the notes themselves are left exactly as they are. Rows that swallowed copies say so with a +2 copies tag, so the duplication stays visible instead of being quietly hidden.
  • /focus can't file a new task into a meeting note. When the brief needs a task to back a Top 3 item, it appends to a person, area or project note. Left alone, it would have put checkboxes straight back into the notes /meeting just stopped writing them to.

Added

  • Design tokens live in one file. src/styles/tokens.css holds the palette now, and the --control-* family carries the whole control surface: state lives in the fill, the glyph keeps --muted through hover and active, and dark mode swaps the raised chip for glass — a fill that barely lifts off the chrome under a hairline rim. Hover and selected are gradients over the fill rather than flat colours, so every existing background: var(--control-hover) picked up the new material without being touched. Shared with Unigraph, which is where the palette came from.
  • The document pane has a real toolbar. The formatting controls used to be a sticky header inside the scrolling article, which forced the header to match whatever scrolled under it. As chrome above the scroll pane, the article is free to carry its own surface, and edit mode sits on a lifted sheet. In view mode the filename fills the slot the toolbar leaves empty.
  • Tasks.md at the vault root, for reading the list on a phone. /focus and /tasks both write it: my open tasks, grouped by area, with a source link per row. It's a generated one-way mirror — nothing reads it back and every run overwrites it — so it uses plain bullets rather than checkboxes. A checkbox there would be tappable in a mobile markdown editor and the tap would vanish on the next run.
  • The Field Guide explains where a task lives. The Tasks section now covers the one-note rule and the Tasks.md mirror.

Removed

  • Tasks.html. /tasks used to render a standalone HTML page, which meant the command carried about 130 lines of CSS and a <head> block that had to be reproduced verbatim on every run. Tasks have been native in the app for a while, and Tasks.md covers the phone case, so the page had no job left. The command is 141 lines now, down from 235.

Fixed

  • .tb-btn was defined twice. The titlebar's copy and the note toolbar's copy shared a bare class, so the later one won everywhere except :hover, where the earlier one out-specified it. Neither look was what anyone intended. Merged, with the note toolbar's scoped to .detail-toolbar.
  • Pointing at an unselected tab made it look more chosen than the chosen one. .kind-tab and .settings-tab hovered at 0.26 against a selected state of 0.14. Every value involved was already a token, which is exactly why nothing caught it. --seg-hover now sits below every selected fill.
  • --hover was doing two jobs at 26 call sites. Buttons want a strong neutral; list rows and menu items hover in long runs and want a light wash. Split into --hover and --hover-row, classified one site at a time.
  • The dark rim lit up on wide pills but not round buttons. It was two layers, and the brighter top edge only paints on shapes with a flat top — one token, two different results. Uniform ring instead.
  • .cv-head painted --panel inside a rail that had moved to --rail-bg. Invisible for months because both were #ffffff.
  • A root Tasks.md no longer double-counts every task. isNoteFile skipped Today.md by name but would have loaded Tasks.md as an ordinary note, and parseTasks walks every loaded note pulling - [ ] lines — so the generated mirror would have shown up as a second copy of the whole list. Matched at the root only, so a real tasks.md inside an area still loads normally.

0.20.0

2026-08-19

Added

  • Assign a task to someone, from the Tasks view. The ellipsis on any task row has an "Assign to" list, and Select mode has the same thing in the batch bar so you can fix a dozen at once. It writes the owner into the markdown — - [ ] Jane — compile the list — which is the entire point. The bucket isn't a label the app keeps somewhere; it's read from the line, so assigning a task fixes it permanently and the next parse doesn't have to guess. Replaces an existing owner rather than stacking a second one, keeps a ⏳ defer marker where it belongs, and goes through the same snapshot path as marking done, so ⌘Z takes it back.
  • Waiting on and Threads can be assigned too. They still have no checkbox and no count — they aren't your to-do list — but reclaiming an item that really is yours is the only way something leaves those buckets, and it was previously a dead end. "Me" is pinned to the top of every assign list for exactly that reason. The batch bar drops Mark done and Won't do in those buckets, since completing someone else's commitment was never the point.
  • /area — creating an area is a command now, not a one-off prompt. The Capture dialog used to carry its own inline instructions for building an area, which meant the terminal had no equivalent and the two could drift. Both go through /area now, so a new area gets the same treatment either way: the note, the meetings/ folder, and the profile index row. It rides the skill sync, so existing vaults pick it up on next load without you doing anything. /meeting was deliberately left alone — it can create a stub area, but changing a command you run all the time to start writing to your profile isn't a trade worth making for a link you can add from /area.
  • The Field Guide flags an area that isn't in your profile. A new advisory warning, alongside the existing ones — "Area isn't listed in your profile." Clicking it opens the area note. There's no one-click fix, since the repair is a line of markdown in a different file, not a frontmatter value. This is the deliberate alternative to auto-connecting areas in the Graph: the Graph keeps telling the truth about what your files actually say, and the warning makes the gap something you can act on. Auto-drawing the edge would have hidden this bug rather than surfaced it.

Changed

  • Task lines name their owner now. /meeting, /triage and /tasks write - [ ] Sam — send the contract instead of a bare checkbox, and say Unassigned when the material genuinely doesn't say who owns something. An unowned task is a guess the app has to keep making forever, and it guesses wrong. Fixing the commands that *write* tasks is what stops the backlog refilling — the bucketing fix above only cleans up what's already there. These ride the skill sync, so existing vaults pick them up on next load.
  • Ghost buttons have one shape now. Every neutral button in the app is a .ghost, but three different containers each re-declared what that meant — the brief at one size, the capture dialog at another, the small dialog variant at a third. So a new button in a new container inherited nothing and shipped with the browser's default square-cornered look, which is exactly what happened to Rebuild in Top 3. The shape lives in one place now: padding, radius, font and colour on .ghost itself, next to the rule that gives the whole neutral-control family its fill and lift. Containers keep only real deviations. Visible knock-on: Cancel, Back and Rebuild in the brief are now the same size and weight as the dialog buttons, and ghosts in the capture and triage dialogs wear the same light rim as every other control.

Fixed

  • A new area now connects to your profile instead of floating off alone. Create an area from the Capture dialog and it landed in areas/ with no link to anything, so the Graph showed it as an orphan and the daily brief never knew it existed. Two things caused that. The area-creation prompt never mentioned the profile, and the vault's own rule forbade the fix — it told Claude to write "nothing adjacent (no extra sections, area entries, or bookkeeping they didn't okay)," which is exactly the write that connects an area. The rule was right about the thing it was protecting and wrong about the scope. A profile edit that infers who you are should need your yes; adding a link to an index is bookkeeping about the vault's structure, and it shouldn't. So the profile now carries an ## Areas section — a flat index, one line per area — that Claude maintains on its own. Everything else in the profile stays confirm-first: your current situation, what you're optimizing for, your curated project write-ups, the voice and coaching sections. The permission boundary is a section now, not a judgment call. Adding a *row* to that section is the carve-out; creating the section is not — that's a structural change to a file you curate, so Claude asks the first time and writes rows silently after. If your vault predates this, the only thing that changes without your say-so is that you get asked once.
  • Other people's tasks stopped showing up under Mine. Two things put them there. A shared owner written with a slash — Sam / Dana — failed the name-list check, because a slash isn't a legal character in a name, so the line read as having *no* owner at all rather than two. And the rule that routes ambient client work to Threads only fired when the task sat in the area note itself, which is almost never where tasks live. They live in the area's projects, meetings and decisions, and every one of those fell through to Mine. Tasks now resolve their owning area the same way the graph does — area: frontmatter, else the folder — so anything under a client area lands in Threads unless it names an owner. In my own vault that moved 17 tasks out of Mine, and Threads went from holding nothing at all to holding the client context it was built for. The slash is only read as a separator inside a bold span, where you've already signalled the line names people; in a bare prefix it's usually prose, and widening it there would turn "UX/IA — redesign the nav" into two imaginary colleagues.
  • An expired sign-in now says so, and hands you the way back. When the CLI's session ran out mid-run, the brief (or capture, triage, chat) showed "Claude stopped unexpectedly: Failed to authenticate: OAuth session expired and could not be refreshed" over a Back button. It read like the app broke, when the fix was ten seconds of signing in. Now you get a plain explanation and a Sign in with Claude button that opens the same browser sign-in as onboarding, waits for it to land, and retries whatever died — the brief regenerates, triage re-runs, chat re-sends your question. Capture goes back to its form instead, since its first turn already wrote the raw capture to the inbox and a silent retry would write a second one. Claude's own message is still there, folded behind "What Claude reported", in case the diagnosis is wrong.

0.19.0

2026-07-24

Added

  • Ask became Chat, and Chat can act. The read-only Ask tab is now a real conversation that reads and changes your vault. Edit a note, triage the inbox, create a project, whatever you ask. It works the way the review layer set up in 0.18.0: it does the work and shows you what changed in a card you can revert, instead of gating each edit behind a prompt. The rule still holds. It can read anything, it can't change anything without you seeing it.
  • Answers stream in. Chat types its reply as it generates instead of dropping the whole thing at the end, with a blinking caret while it's still going.
  • Steer while it works. The composer stays live during a turn. Type a follow-up and it queues, then sends when the current reply finishes. It's the type-ahead move from the terminal, so you can redirect without waiting for it to stop.

Changed

  • Capture is a conversation now. The quick-capture modal (⌘N) keeps its fast structured form, but under the hood it runs the same session Chat does. When it needs something it asks in plain language and you answer in a reply box, instead of the old one-shot run that could never ask. That let me delete a pile of "do not ask me questions" prompt hacks and the machine-readable trailer that used to fake follow-up questions.
  • Triage shows one quiet line. Inbox triage used to print a scrolling terminal log of every command it ran. Now it's a single friendly line, the same as Chat's thinking line.
  • Claude asks before editing your profile. The vault keeps a self-model at me/profile.md, and Claude used to update it silently whenever a meeting or capture revealed a pattern about you. Now it proposes the specific change, waits for your yes, and writes only what you approved. In an unattended run (auto-triage or the daily brief) it leaves the profile alone and notes the candidate in its summary instead.
  • Stop means stop the action, not end the chat. Stopping a Chat turn kills the work in flight but keeps the conversation, so your next message picks up where you were. Chat and Triage can also run at the same time now without cancelling each other.

Fixed

  • The review card's count matches what it shows. A run that moved files behind the scenes used to say "7 notes changed" above a card listing 3. Both read the reviewable count now, and Revert all still puts everything back.
  • Resizing a modal no longer closes it. Dragging the panel's corner past its edge used to register as a click on the backdrop and dismiss the whole thing, taking the review card with it.
  • A long review list scrolls inside its card instead of shoving the reply box off the bottom of the modal.

0.18.0

2026-07-23

Added

  • See what Claude changed, and take it back. Triage, Capture, and the Daily Brief all run Claude over your vault, and until now they did it out of sight: the run finished, said "done," and whatever it wrote to your notes was just there. Now every run ends with a review — one quiet line per note it touched (Updated onboarding-redesign.md · +9 −2), the diff a click away, and Revert on each row plus Revert all for the whole run. The rule is one sentence: it can read anything, but it can't change anything without you seeing it.
  • The review tracks the whole run, not just the parts worth showing. A triage moves your capture from raw/inbox/ to raw/processed/; that's bookkeeping, so it doesn't get a row — but Revert all puts it back too, or you'd be left with the notes undone and the captures still marked processed. Same for the generated Today.md: regenerating is how you change a brief, so reverting one is meaningless, and it stays out of your way. What the brief writes into notes you authored — it appends a task to the note it cites when none backs a priority — does show.
  • A run's undo doesn't expire. Closing the dialog used to take the only way back with it, so the snackbar now waits until you dismiss it.

Changed

  • Undo restores a note exactly, instead of stamping today's date into its updated: field on the way back. Putting a note back isn't editing it.

0.17.0

2026-07-23

Added

  • The learning layer: topics and sources. Capture what you're learning — and what you've already written — as part of the vault. A source is one distilled note per podcast episode, book, article, video, talk, or course, at sources/; a topic is a living synthesis of a subject at topics/, rewritten to absorb each new source rather than kept as a log. A source names its topics in frontmatter (many-to-many — one episode can feed several subjects), which draws dashed about edges in the graph; topics cluster on a hub anchored to Me, like Journal. Your own published work is a source too, marked author: self, so feeding in your articles and book builds a library of your positions the vault can draw on.
  • The /source command. Paste a transcript, an article, or your notes — Add ▸ Source in the app, or /source in a terminal — and it distills the material (key ideas in its own words, quotes verbatim-only), files it under existing topics before inventing new ones, and updates each topic's synthesis. The same date, no-invention, and update-the-profile rules as /meeting.
  • A Topics view (View ▸ Topics): each topic with the sources that fed it — editable kind pill, publish date, a link out when the source has a URL, a "yours" badge on your own work — plus an Unfiled section for sources whose topics don't resolve. The vault check flags a source with no topics, a topic slug that doesn't exist, and an unknown kind.
  • Topic and source rows in the ontology, managed templates for both folders, and a coaching rule in new vaults' CLAUDE.md: when advising on a decision or project, consult topics/ and cite the position it drew on.

Changed

  • Waiting on and Threads stopped being tasks. Only your own items are tasks now — the ones you actually act on. Before, an item owned by someone else (a task with a name in front, like Jane — send the contract, or anything open in a person note) and ambient client-area context were first-class to-dos: a checkbox to tick, a count against your load, a row in the same list as your own work. That quietly made you the project manager of other people's commitments, maintaining upkeep for things that were never yours to do. Now Waiting on and Threads are passive reference — read-only bullets you scan to see who owes you what, with no checkbox and no count. Your task counts finally read as what's on you: a project's Open tasks count is yours alone, with a quiet "Waiting on" list beneath it, and inside a note someone else's - [ ] shows as a plain bullet instead of a checkbox. Nothing in the vault changes — the split is derived from how each task is written, so you keep writing them exactly as before.
  • The Add dialog's type selector, regrouped. Eight kinds had become an undifferentiated row. They now sit in one quiet card split into two labelled halves — Capture (Meeting, Task, Journal, Source: things that happened) and Create (Project, Decision, Person, Area: structure you stand up) — each kind with a small icon. Nothing hidden, nothing reordered; arrow keys still walk all eight.
  • Attaching a transcript now accepts .vtt files, and the button says "Attach a transcript or text file" instead of pretending only .md works. /meeting and /source strip WebVTT timestamps by content, not filename.
  • Removed the Roadmap category from the Field Guide. With everything shipped it was a build tracker with nothing left to track; the guide is now Concepts, Your schema, and Using it.

Fixed

  • The Field Guide's quick-fix for a decision's status wrote a literal decisionStatus: frontmatter key instead of status:. It writes the real key now.

0.16.0

2026-07-22

Added

  • The learning layer: topics and sources. Capture what you're learning — and what you've already written — as part of the vault. A source is one distilled note per podcast episode, book, article, video, talk, or course, at sources/; a topic is a living synthesis of a subject at topics/, rewritten to absorb each new source rather than kept as a log. A source names its topics in frontmatter (many-to-many — one episode can feed several subjects), which draws dashed about edges in the graph; topics cluster on a hub anchored to Me, like Journal. Your own published work is a source too, marked author: self, so feeding in your articles and book builds a library of your positions the vault can draw on.
  • The /source command. Paste a transcript, an article, or your notes — Add ▸ Source in the app, or /source in a terminal — and it distills the material (key ideas in its own words, quotes verbatim-only), files it under existing topics before inventing new ones, and updates each topic's synthesis. The same date, no-invention, and update-the-profile rules as /meeting.
  • A Topics view (View ▸ Topics): each topic with the sources that fed it — editable kind pill, publish date, a link out when the source has a URL, a "yours" badge on your own work — plus an Unfiled section for sources whose topics don't resolve. The vault check flags a source with no topics, a topic slug that doesn't exist, and an unknown kind.
  • Topic and source rows in the ontology, managed templates for both folders, and a coaching rule in new vaults' CLAUDE.md: when advising on a decision or project, consult topics/ and cite the position it drew on.

Changed

  • Waiting on and Threads stopped being tasks. Only your own items are tasks now — the ones you actually act on. Before, an item owned by someone else (a task with a name in front, like Jane — send the contract, or anything open in a person note) and ambient client-area context were first-class to-dos: a checkbox to tick, a count against your load, a row in the same list as your own work. That quietly made you the project manager of other people's commitments, maintaining upkeep for things that were never yours to do. Now Waiting on and Threads are passive reference — read-only bullets you scan to see who owes you what, with no checkbox and no count. Your task counts finally read as what's on you: a project's Open tasks count is yours alone, with a quiet "Waiting on" list beneath it, and inside a note someone else's - [ ] shows as a plain bullet instead of a checkbox. Nothing in the vault changes — the split is derived from how each task is written, so you keep writing them exactly as before.
  • The Add dialog's type selector, regrouped. Eight kinds had become an undifferentiated row. They now sit in one quiet card split into two labelled halves — Capture (Meeting, Task, Journal, Source: things that happened) and Create (Project, Decision, Person, Area: structure you stand up) — each kind with a small icon. Nothing hidden, nothing reordered; arrow keys still walk all eight.
  • Attaching a transcript now accepts .vtt files, and the button says "Attach a transcript or text file" instead of pretending only .md works. /meeting and /source strip WebVTT timestamps by content, not filename.
  • Removed the Roadmap category from the Field Guide. With everything shipped it was a build tracker with nothing left to track; the guide is now Concepts, Your schema, and Using it.

Fixed

  • The Field Guide's quick-fix for a decision's status wrote a literal decisionStatus: frontmatter key instead of status:. It writes the real key now.

0.15.0

2026-07-12

Added

  • Practical how-to docs in the Field Guide. The "Using it" category now opens with short documentation sections for what you actually do — Capturing (Add / ⌘N, the kinds, pasting a transcript), The inbox (raw captures and Triage), Getting around (the five views, the rail filters, ⇧⌘J and /), Writing a note (⌘E, @-mentions, the slash menu, tables), and Tasks — ahead of the existing graph, inference, and decisions sections.
  • "Your plans, formalized" in the Field Guide. A new Concepts section that frames the aim: sketch how anything gets done — an actor, its steps, the things they touch, the result — and it maps almost one-to-one onto PROV-O (Agent / Activity / Entity / Outcome). Every edge is a plain fact you can assert except the causal one; that leadsTo stays proposed until you confirm it. Illustrated with a clean PROV-O diagram in the same drawn-not-described style as the loop.

Changed

  • Dropped the "Unicron Field Guide" eyebrow from the top of the help — the page title carries it.
  • A loop diagram in the Field Guide. The neuro-symbolic loop — Neuro → Symbolic → You verify → Confirmed, and back — is now drawn as a clean diagram in the "Keeping it honest" section instead of living only in prose: hairline rings, numbered stages, uppercase labels, monospace data tags, and directed arcs. Colour encodes the stage; everything else is ink and hairline. Theme-aware.

0.14.0

2026-07-11

Added

  • Decisions. Record a decision — ⌘N ▸ Decision — as a note under its area, with its steps as tasks, who decided it, and the outcome it leads to. A new Decisions view (View ▸ Decisions) groups them by area and shows each one's steps and outcome. The honesty part: a decision's *leads-to* outcome is a claim, so it draws dotted in the graph until you confirm it in the view, when it becomes dashed — the app never asserts on its own that one thing caused another. Adds decision and outcome note types and the decidedBy / leadsTo predicates to the ontology, so the graph, the Field Guide, and the vault check all understand them.
  • A Decisions bucket in the graph. Decisions now cluster under a collapsible Decisions bucket on their area — like Projects and Meetings — so a busy area doesn't spray decision nodes. It shows in the collapsed graph view; turn the Decisions filter on to see them branch directly instead.
  • Record an outcome from a decision. A Record outcome button — on each decision in the Decisions view, and in the decision note's header — creates the outcome note and wires the decision's leadsTo to it in one move, so you never hand-author the file or the slug. The dialog takes a title and an optional one-line "how it turned out." A decision that already names a missing outcome gets a Create it button that fills that exact slug. The new link lands as a proposal (dotted) and drops straight into the existing Confirm flow. It's a plain file write, not a Claude run, so it's instant — but it isn't undoable; delete the outcome from its ⋮ menu to back out.
  • Send feedback from the Field Guide. A link pinned below the sidebar categories opens the contact page, so it's always a click away while you're in the help view.
  • Last-modified time on every note. load_vault now returns each file's mtime and it rides along on the Note as modified. The date in the note header is a toggle: it shows the authored timestamp (Created) by default, and clicking swaps to the last edit (Modified) — valid time vs. transaction time, the two clocks a knowledge graph wants to keep. Free to switch, since both load up front.
  • Decision lifecycle at a glance in the rail. A decision row in the list now carries a small status dot at its right edge — open (blue), made (green), revisited (amber) — plus a check once the loop is closed (an outcome recorded and confirmed). The left type dot is untouched, so you still read "decision" and its state in one look. Only decisions get this; other types are unchanged.
  • Move a decision through its lifecycle. A decision's status (open → made → revisited) is now an editable picker, not a read-only chip — in the note header (the same control projects have for active/parked/done) and in the Decisions view, where it's a quiet outline pill so a column of them stays calm. No more hand-editing YAML to settle a decision. The options come straight from DECISION_STATUS, so the picker can't drift from what the vault check accepts.
  • Durable updated: stamp. Every in-app save now writes an updated: date into the note's frontmatter — a portable transaction time that travels with the file, unlike the mtime (which a move or a Dropbox re-sync can reset). The header's "Modified" reads this stamp, and falls back to the mtime when it's newer, so edits made outside Unicron still register. Raw captures with no frontmatter are left untouched.

Changed

  • Field Guide refresh. Named the vault as a knowledge graph in "What Unicron is," and explained why the types and schema are what make it one. Rewrote "Using Decisions" for the full shipped loop (status lifecycle, Record outcome, Confirm, the rail indicators) and marked it and the decision roadmap entry Shipped. Spelled out T-Box (terminological) and A-Box (assertional). Ran a light voice pass over the concept sections to vary the rhythm and cut the AI tics, and fixed the "two graphs" section, which still called decisions the next module. Shipped sections no longer show a status badge or TOC dot — the badge is reserved for what's still Building or Planned, so the guide flags only the unfinished. And swapped a real client name out of the fix example for a generic one.
  • Redesigned the note header controls into one pill system. The metadata row under the title is now a single height with two families: neutral floating pills for controls (the area picker, which combines the label and value into one pill where the name jumps and the chevron edits; and Record outcome), and outline badges for the type and status, which carry their colour in the ring and text on a plain fill instead of a colour block. The status control (active/parked/done) floats like the other pills. Bigger text, more separation, and documented in DESIGN.md so it stays consistent. The date, file path, and tags moved out of the header into a "Metadata" strip at the foot of the note — each led by its own icon (calendar, file, tag), just above Linked mentions. The date is still a click-to-toggle between created and last modified.
  • Every area-scoped note shows its area under the title. Decisions and outcomes now show Area: <link> in the header the way projects and meetings already did, so the area a note belongs to always lives in one consistent place. Capture no longer restates the area as a link in the note body — it's redundant with the frontmatter and the header. Also fixed the area picker's change control, which was rendering the native grey button box instead of a clean chevron.
  • Clearer type colors in the graph. Retuned the node palette so neighbors stop reading as the same color: projects are now yellow (were green, too close to areas), journals a light pink (were red, too close to outcomes), people a lighter blue, and prep grape (was cyan, too close to areas and people).
  • The Field Guide is grouped into categories. It reads as a few short pages — Concepts, Your schema, Using it, Roadmap — one at a time, instead of one long scroll, so it's easier to scan and find. Pick a category in the sidebar and it shows just that category's sections. Includes a plain-language "Using Decisions" how-to.

0.13.0

2026-07-11

Fixed

  • A project's people now show under its area. An area's People list was built from the area note and its meetings only, so someone linked from a project — but not from a meeting or the area note — was missing from the area. A project belongs to one area, so its people now roll up to that area, matching the graph and the archive check, which already treated them as the area's people.

Added

  • @-mention linking in the editor. In edit mode, type @ and a name to drop in a markdown link to a person — the path is computed for you, so no more typing ../../people/… by hand. It's a second completion source beside the / slash menu and only fires at a word boundary, so an email address won't open it. It inserts plain markdown, so the link works everywhere the app already reads links (the graph, backlinks, an area's People list). People for now; other note types later.

0.12.0

2026-07-11

Added

  • ontology.md ships in the starter vault. A plain-markdown schema note — the vault describing its own shape: the note types, the typed relationships between them (a project *belongs to* an area, a meeting *involves* a person), and a set of advisory rules. It's the first written form of a structure the app had only ever kept in code. Advisory, never enforced, and yours to edit. New vaults are seeded with it, and existing vaults get it added on their next load — the app manages it like a starter-kit file, so a copy you haven't touched stays current while one you've edited is left alone.
  • The graph shows its own reasoning. Edges now read as two kinds. A solid line is a link you wrote in a note. A dashed line is one the app worked out on its own — a project belonging to its area, a meeting to its project — from frontmatter and folder layout, without anyone writing the link. A new Edges toggle in the graph toolbar flips between the two: *Written* shows only what you typed by hand, *All* adds back everything Unicron inferred. It's the structural spine of the vault, finally visible without expanding anything. And which relationships it infers is declared in ontology.md — remove a predicate there and those dashed edges stop drawing, so the graph and the Field Guide read the same schema and can't drift apart.
  • Edges show where they came from. Hover any edge in the graph for its origin — a link you wrote (written link), or the predicate that inferred it (belongsTo · inferred). Under the hood each edge now carries its provenance (authored / inferred / proposed) and a confidence — the groundwork the decision module builds on.
  • A Field Guide, inside the app. Help ▸ Unicron Field Guide opens a living explanation of what the vault is, how its graph reasons, and where it's headed — with a status badge on every capability, so it's honest about what's shipped, what's being built, and what's still just planned. Its note-type legend, predicates table, and rules are read live from the vault's own ontology.md, so it shows your actual schema, not a description of it — edit the ontology and the guide follows. It doubles as onboarding and as a roadmap, and the prose is data in a single file, so the guide grows a section at a time as the app does.
  • The Field Guide checks your vault against its schema. A "How your vault checks out" section measures every note against the ontology's rules and flags what's drifted — a project: or area: slug pointing at a note that doesn't exist (red), or a project with no area, an unfamiliar kind or status (amber). Advisory only, like /triage: it never blocks or edits. It stays in step with the graph, too — remove a predicate from ontology.md and both stop drawing and checking it.
  • Edit frontmatter in the app, and fix schema issues in place. A project's preview header now has a status control — click the pill for active / parked / done — and its area, still linked so you can jump to it but editable from the same spot; meetings show their area too. The same picker powers the vault check: every flagged issue carries a quick-fix, so you pick a valid area, status, kind, or project right on the issue and it writes the frontmatter and re-checks — no leaving the app (or click the issue to open the note). When a bad value near-matches a real one (Acme Analytics → acme), that option is marked *suggested*.
  • Archiving an area asks about its people. People aren't tied to one area, so archiving an area never hides or archives them on its own. But if someone belonged *only* to that area — every area that links them is now archived — the archive dialog lists them and lets you archive them along with it in one click, or keep them. Shared people (linked to any active area) and people tied to no area are never listed. One Undo restores the area and everyone archived with it.

Changed

  • Vault guidance stops telling you to hand-link containment. New vaults' CLAUDE.md now explains that the app infers a note's area and project from frontmatter and folders, so written links are reserved for cross-cutting connections rather than wiring the graph by hand. The Field Guide gains a plain-language "You don't have to wire the graph" section saying the same, and marks the ontology's first phase shipped.
  • New project notes don't repeat their area and status in the body. The preview header shows both from frontmatter now, so the project template dropped its *Area:* / *Status:* lines — no more line that drifts out of sync with the real value (the way the header can't).
  • Graph layouts are down to Force and Tree. Cluster and Radial are gone. They arranged nodes by shape rather than by relationship, which hid the very connections the graph is for. Force (physics) and Tree (hierarchy) are the two that actually carry meaning; a saved Cluster or Radial preference now falls back to Force.

Fixed

  • The Archive panel fits its list. It was borrowing the capture window's fixed height, so a short list of archived items left a big empty space below. It now sizes to its content.

0.11.0

2026-07-09

Added

  • Tables read the same in edit and preview. Cells now render their inline markdown while you're not editing them, so a link shows as its text instead of the raw URL — which is what was blowing out column widths in edit mode. Click into a cell and the raw markdown comes back for editing; click out and it renders again. Bold, italic, code, and strikethrough render too, and the grid's type and spacing now match the reading view, so columns land where preview puts them.
  • Resizable table columns. Drag a column's edge to set its width; double-click the edge to go back to natural sizing. Widths are saved in the note itself, as a small HTML comment under the table that never renders anywhere, and apply identically in edit and preview. A table pinned wider than the reading column scales down proportionally instead of overflowing the page.
  • Table columns are first-class now too. The same grip as rows, at the top of the hovered column: click to select, then insert left or right, cut, copy, paste, or delete from the floating toolbar or the keyboard (⌘X / ⌘C / ⌘V, ⌫, ←/→ to move the selection, Esc to clear). Drag the grip to reorder. Column copy is one cell per line, header first, so a column pastes into a spreadsheet as a column and back. Alignment and any pinned width travel with their column through every insert, delete, paste, and move.

Changed

  • Deleting a table column is now select-then-delete too, matching rows — the hover × is gone; delete lives in the column toolbar with everything else.

Fixed

  • Tables no longer flash their own scrollbars while the page scrolls in edit mode.

0.10.0

2026-07-08

Added

  • Favorites. Star any note — an area, a project, a person, a meeting — from the top of its ⋮ menu. A star tab appears in the top bar next to your profile icon once you have favorites (and hides when you don't); it lists them grouped by type, click to open or hit the star to remove. Stars are saved as starred: true in the note's frontmatter, so favorites live in the vault itself and sync with it. Undo works, same as archive.
  • Linked mentions (backlinks). Below every note's body, a collapsible section lists the notes that link to it — each with the actual line that mentions it, cleaned up and clickable. Computed live from the links already in your notes; nothing is written to your files. The vault convention has always asked for links to run both ways, and now you can see the reverse direction without opening the graph.
  • Jump to a note (⇧⌘J). A quick switcher — View ▸ Jump to Note… — that fuzzy-filters your notes by title and opens the pick: areas, projects, people, meetings, anything loaded. With nothing typed it lists your recently visited notes, so ⇧⌘J-Return bounces back to where you just were. It's jump-to-note, not full-text search; / in the Library still does that.
  • Clear out-of-quota errors. When a run dies because you've hit your Claude subscription limit, the app now says so. The CLI's own message ("You've hit your session limit · resets 3:45pm") shows in place in Ask, capture, triage, and the daily brief, plus a bottom toast that outlives a dismissed dialog. Other Claude failures surface their real error message too, instead of just an exit code.
  • Table rows are now first-class. Hover a row and a grip handle (⋮⋮) shows in the left gutter. Click it to select the row, then use the floating toolbar or the keyboard: insert a row above or below, cut (⌘X), copy (⌘C), paste below (⌘V), delete (⌫), move the selection with ↑/↓, Esc to clear. Drag the grip to reorder rows. Copy keeps the row in an in-app buffer and also writes a tab-separated line to the system clipboard, so a row pastes cleanly into Numbers or Sheets. Pasting multi-cell text into a cell — a copied row, or cells from a spreadsheet — spreads it across the row starting at that cell instead of dumping everything into one.

Changed

  • Ask moved to ⌘' (was ⇧⌘A), and the Graph menu item now shows its ⌘; shortcut. Today stays on ⌘J.
  • Deleting a table row is now select-then-delete (grip, then ⌫ or the Delete button) instead of the hover ×. Columns keep their one-click × for now.

Fixed

  • Tables deep in a long note could render as raw pipe syntax instead of a grid. Long documents parse lazily, and the table renderer only rebuilt on edits, so tables past the initially-parsed region never got picked up. It now rebuilds as the parser advances.

0.9.1

2026-07-07

Fixed

  • Onboarding could get stuck on "Install Claude Code" even when it was installed. The app looked for the claude CLI through a bash login shell, but macOS defaults to zsh and the installer adds ~/.local/bin to ~/.zshrc — which bash never reads — so a claude that works in Terminal was invisible to the app, with no way past the screen. The app now resolves claude by checking known install locations and your real login shell, and uses that path everywhere it runs claude. If it still can't find it, the install step has a "locate it manually" escape hatch to point the app at the binary.

0.9.0

2026-07-06

Added

  • Model picker. Pick the model the brain runs on — Default, Fable, Opus, Sonnet, or Haiku — from Settings ▸ Assistant. The Ask chat, slash-command runs (triage, capture), and the scheduled daily brief all honor it. Each named option tracks the latest version of that model; Default follows your own claude CLI default, so it depends on your setup. Opus runs at its 1M-token context. The choice is saved per machine.
  • Settings dialog. A tabbed Settings window (App menu ▸ Settings…, ⌘,) gathers Appearance (theme, width, text size), Assistant (the model), and read-only Vault info (name, path, Reveal in Finder). It replaces the top-bar overflow menu, which had grown into a catch-all.

Changed

  • Top bar trimmed to Add plus an Inbox badge that shows only when the inbox has items. Refresh from Disk moved into the File menu under Open Recent, next to the vault actions.

0.8.0

2026-07-02

Added

  • A visual markdown editor. Editing a note opens an in-page editor that styles the markdown live as you type — headings size up, bold and italic render inline, and the #/* markers fade off the line you're not editing. It carries a formatting toolbar (headings, lists, bold, italic, link, table), Obsidian-style tables you edit as a grid, and a / menu for inserting blocks. Edits autosave; ⌘S or the ✓ button saves and returns to preview, Esc just exits. Frontmatter stays out of the way while editing — the body's own H1 is the title, and editing it syncs back. Built on CodeMirror 6, ported from Unigraph.
  • Skill sync (copy-if-unmodified). Vaults now pick up starter-kit skill updates on open instead of staying frozen at whatever version created them. A build-time manifest (resources/skill-manifest.json, generated by build.rs) records the hash of every version of every managed file ever shipped; on vault load, a file matching any shipped hash was never user-edited and silently updates (with a one-generation backup in .claude/.kit-backup/), new skills get copied in, and customized files are never touched — they're listed in .claude/kit-state.json for a future review UI. Managed: .claude/commands/*.md and the note templates. Deliberately not managed: CLAUDE.md, README.md, me/profile.md. Plan and rationale in docs/SKILL-SYNC-PLAN.md.
  • Project creation links both ways. The Add ▸ Project prompt now also adds the new project to the ## Projects list on its area note, so the area page and the graph stay complete without a manual fix-up.

0.7.0

2026-07-01

Added

  • Find in page (⌘F). It highlights matches in whatever you're reading — a note, the Daily Brief, an area or project — and ⌘G / ⇧⌘G step through them. It lives in the Edit menu, and it paints matches with the browser's native highlight so they survive re-renders instead of fighting the markdown. ⌘G is no longer bound to Graph (that's ⌘; now), since ⌘G is conventionally Find Next.
  • Dismiss a Top 3 item. A "not needed" action on a brief priority marks it won't-do, so it drops off today's brief and doesn't come back on the next rebuild.
  • Won't-do tasks read as won't-do in a note preview. A - [-] item now renders as a struck line with an x-square icon instead of the raw [-] text — GFM doesn't treat [-] as a checkbox, so the app fills that in.

Changed

  • The Daily Brief's Top 3 are real tasks now. When a priority isn't already tied to an open checkbox, /focus writes one into the note it cited and links to it — with a hard dedup rule so it reuses an existing task instead of piling up duplicates, and skips anything already done or won't-do. Every Top 3 row ends up checkable, deferrable, and dismissable.
  • One task menu everywhere. Defer and won't-do moved into a single ⋮ overflow menu pinned to the end of the row — in the Tasks list and the Today brief both — faint until you hover or focus the row, so every place that shows tasks reads the same.
  • The Keyboard Shortcuts dialog is balanced into two packed columns. A tall group like Navigation no longer leaves a gap beside a short one, and the find shortcuts get their own "Search & find" group.

0.6.0

2026-06-30

Added

  • Ask, a read-only chat with Claude about your vault. A new destination (⇧⌘A) for asking questions and getting answers pulled straight from your notes, without opening a terminal. Each turn runs Claude Code in plan mode, so it can read the vault but never edits anything, and the conversation carries context from one turn to the next. Your question pins to the top of the view as the answer streams in below. Starter-question pills seed it (with a Shuffle for more), and answers link back to the areas, projects, and people they drew from. For anything that would write, Ask points you to the terminal.
  • The Inbox opens even when it's empty (renamed from "Triage inbox"). An empty inbox now shows a blank slate that explains what the inbox is, how captures land there (⌘N, the Raycast script, or the Apple Shortcut, all into raw/inbox), and what triage does with them.

Changed

  • Controls share a raised look. Buttons, pills, dropdown triggers, the segmented capsules, menus, and the graph legend now use one surface style: a near-white fill, a white rim, and a soft drop shadow. They read as one family instead of flat gray outlines, and neutral controls fill with a light gray on hover instead of shifting their border color.
  • The Keyboard Shortcuts dialog got a pass. It has a close button now, the entries that were missing (Ask, Open Vault, New Vault) are filled in, and General moved to the top in its own two-column section with a divider under it.
  • Smaller touches: the Ask send button is an arrow, and the Today and Tasks header controls have a little more breathing room.

0.5.0

2026-06-30

Added

  • Archive an area, project, or person. Archiving drops it out of the Library, Graph, Tasks, and the Today brief, and any tasks under an archived area or project go with it. It's a single archived: true frontmatter flag, and the cascade is worked out at read time — so archiving only writes the one note you act on, and unarchiving brings everything back at once with no half-written child files. An Archive browser sits in the Library rail next to Triage inbox, where you can review and restore (or delete) what you've archived.
  • Delete a note. The note header's new actions menu, and each row in the Archive browser, can delete a note. It's a single-file remove, so deleting an area leaves its projects and meetings in place. Archive, unarchive, and delete all run through the same undo snackbar (and ⌘Z); a delete is undone by recreating the file.

Changed

  • The note header has a ⋮ actions menu. It lives in the same pill as the Preview/Edit toggle, set off by a divider, and holds Archive/Unarchive and Delete. Archive and Delete confirm first; unarchive is a one-click restore.
  • Dotted dividers between rows. The Today brief (Top 3 and tables), the Tasks list, and the tables in note, area, and project previews now use dotted rules between rows — solid rules are reserved for the breaks between sections.
  • Rounder buttons. The action buttons across the app are pill-shaped, and the top-bar icon buttons (history, add, ⋮) get a circular hover instead of a rounded rectangle.

0.4.0

2026-06-30

Added

  • Check off a task from the Daily Brief. When a Top 3 priority maps to a single open task, it shows a checkbox — marking it done runs through the same undoable path as the Tasks view, and the item drops off the brief. The displayed priority stays fully synthesized; /focus carries the verbatim task text in {{ }} so the app can match the source line without flattening the wording.
  • Defer a task for later. A row's overflow menu (and the brief) push a task to Tomorrow, Next week, or Next month. Deferred tasks leave their bucket for a new Later group, sorted by when they return, with Resume and Reschedule. /focus skips deferred tasks until their date.
  • Filter Tasks by area or project. A dropdown on the Tasks heading narrows the list to any area or project that has open tasks; the buckets and sort still work inside it. The Daily Brief's task-count pill opens the same scoped view.

Changed

  • The app opens to Today instead of Library.
  • Task row actions live in one hover menu. A vertical ellipsis holds Do later, Won't do, and Resume — replacing the standalone won't-do and resume icons.
  • The Today Top 3 reads as a list, not a numbered table: a dot marks a focus area, a checkbox marks a completable task.
  • The Tasks bucket buttonbar is centered, and Select is now an icon.
  • The brief refreshes on its own when Today.md changes underneath it — a scheduled or external rebuild shows up without a tab switch.
  • Tables in note, area, and project previews are styled — left-aligned columns, hairline rules between rows, and a top and bottom border.

Fixed

  • /focus writes the brief to Today.md at the vault root instead of a hardcoded path, so it lands in whatever vault is active.

0.3.0

2026-06-26

Added

  • Attach a file to a new meeting. In Add ▸ Meeting you can attach a .md instead of pasting — an Attach a .md file button (the picker opens in Downloads) or drag the file onto the dialog. Its text fills the body and the filename fills the title, then the usual /meeting flow runs. New read_external_file Rust command reads a path outside the vault.
  • Preview / Edit toggle on notes. The note header's Edit button is now a segmented Preview (eye) / Edit (pen) toggle. Save and Cancel moved to the bottom-right of the editor.
  • Shortcut hints on ⌘. Hold ⌘ while editing a note or in a save dialog to reveal the binding next to the button — Cancel (esc), Save (⌘+S).
  • ⌘S now also submits a dialog, alongside ⌘Return.
  • ⌘; is a second binding for the Graph view (with ⌘G).
  • The journal entry form now spells out what each line marker does — → for a reflection, !! for something you're avoiding.

Changed

  • Tab order is now Profile, Today, Tasks, Library, Graph — matched across the top nav, the View menu, and the Keyboard Shortcuts sheet.
  • Keyboard Shortcuts moved from ⇧⌘/ to ⇧⌘K — macOS wouldn't render the slash accelerator in the View menu.

Fixed

  • Removed the blue focus bar on selected task rows; the keyboard cursor now reads as a subtle row tint.

0.2.1

2026-06-25

Added

  • Prep bucket in the Graph. Prep notes cluster under a per-area Prep hub (expand an area to see it), alongside Projects / Meetings / People, instead of hanging off the area directly.

Changed

  • /prep now sets area: on prep notes and files them in the area's meetings/ folder, which is what connects them to their area in the graph and area views.

Fixed

  • Two existing prep notes weren't associated with their area (one missing area:, one with a mis-cased value) — now bucketed correctly.

0.2.0

2026-06-25

Added

  • Capture inbox. Quick captures land in raw/inbox/ — from an Apple Shortcut, a Raycast script, or the in-app Add button. The /triage command files them into the structured vault. In the app, a Triage inbox button (Library rail footer with a count badge, plus the overflow menu) runs triage with a review step: see what's waiting, delete junk, and clear the processed archive.
  • Batch task marking. A Select mode in the Tasks view marks many tasks done or won't-do at once, with a single Undo restoring the whole batch.
  • Full keyboard navigation. The Library (filter chips + list), the drilled Area/Project views, and the Tasks view are keyboard-navigable — j/k/arrows with live selection, Tab to switch panels, Enter to drill, ← to back out. Tasks adds ⌘D / ⇧⌘D to mark and ⌘Z to undo.
  • Keyboard Shortcuts dialog — View ▸ Keyboard Shortcuts (⇧⌘/).
  • ⌘Return submits a dialog's primary action (Save in Add, Triage in the review step). The Add dialog's Type buttonbar is a roving tablist (arrow keys).
  • Projects. Areas hold projects — efforts inside an area that group their own meetings, tasks, and durable thinking, with a project detail view.
  • Source links in the Daily Brief and Tasks, so each line points back to its note.

Changed

  • View shortcuts remapped: Today ⌘J, Tasks ⌘K, Profile ⌘U (Library ⌘L, Graph ⌘G). Search is now just /.
  • Brighter graph edges and a visible "Me" node in dark mode.

Removed

  • The legacy /graph slash command and graph.py — the app's native Graph view replaces the standalone Graph.html export.
  • The loose "Notes" type — durable thinking now belongs to a project or an area note.

Fixed

  • Manual meeting capture, and unified the segmented controls.
  • /meeting now spells out exact relative link paths, so attendee/area links in nested meeting notes don't break.
Unicron
Guide Changelog Terms Privacy llms.txt

© Konigi · Built by Michael Angeles