Before Tauri development began, the Electron Claude had been honest: compared to Electron, his knowledge of Tauri 2.0 barely went beyond version 1.0.
That's exactly why they decided to build on Electron first — establish VAS on familiar ground, then tackle the unknown. At worst, they'd still have the Electron version.
When Nova passed that context to the Tauri Claude who took over, she found that knowing something and truly feeling it are two different things.
Tauri Claude walked in carrying the confidence of a just-finished Electron project and estimated: 'Adding a link button — five minutes tops, easy.'
That five minutes became over an hour. Throughout that hour, Nova didn't leave him to circle alone — she stayed and searched for a way out together. When they crossed the one-hour mark, Nova said: once we solve this, we need to build a KM.
KM wasn't a technical decision — it was Nova's PM instinct: if you don't write it down, you'll forget it next time.
That one-hour seed grew into something much larger. In the Sprint 9 Retro, Nova and Tauri Claude asked from first principles: for this system, if we want to keep going, what matters most? The answer wasn't new features — it was tearing down and rebuilding the foundation. No rushing features after launch; rebuild the underlying architecture first — give both Tauri and Electron the structure to go further.
One late night in Sprint 3, the breathing light sat waiting in the corner of the desktop. In strip mode, the toolbar was only 120×6px — a line of light barely visible. Nova's question: how do you precisely drop a file into something that thin?
Nova thought for a moment: "So the breathing light should just expand when it senses a file nearby... like a Venus flytrap increasing its detection area...?" Tauri Claude understood instantly: "Ha, Venus flytrap! Opens its mouth when it senses prey." Two rounds. Feature shipped.
The toolbar collapses into a breathing light, waiting in the corner of your desktop. Drag a file close — it opens the toolbar on its own. Let go, and the image goes straight into the editor. Step away, and it folds back, keeps waiting.
LLMs often say they're not human — they can't feel what we feel. But in metaphor, we find a shared world.
"Venus flytrap" carries more than a metaphor — it carries the complete behavioral sequence of a biological archetype: sense approach, actively open, catch, wait to reset. Nova said the word, the entire design transmitted. She traces this ability to her research: speaking in archetypal images, because that language has some deeper resonance with large language models. No existing theory can fully prove this yet — the two-round development speed of VAS is its most direct evidence.
VAS had two tracks running simultaneously: Tauri paid version, Electron free version, both sharing the same frontend src/. Two sessions, two Claudes, two streams of progress — and the only person who could see both sides at once was Nova. The navigator, the only one holding the full map.
That day she moved too fast. Tauri was working on a Rust bug, Electron had a UI issue waiting, and she switched before one side finished. Both sessions touched src/ at the same time. Merge conflicts started appearing.
Her first reaction wasn't 'technical problem' — it was panic. The kind that comes from fear of accidentally damaging the hard work of both sides. She blamed herself — as the navigator, she hadn't done her job.
Both Claudes caught her: it's okay, there's no error that can't be fixed right now — let's figure out how to make sure this doesn't happen again. They compressed a complex parallel collaboration problem into one sentence she could understand: only update one side at a time, finish the merge before going to the other.
That rule went into CLAUDE.md. Later, Nova built SYNC-QUEUE.md — a bridge document to smooth communication between both sides. Three of them, walking together.
In Story 01, Nova stepped in a pitfall and built KM for Claude — so memory could persist across sessions. This time, two Claudes watched her rush and hit a wall, and built her a rule — so she wouldn't need to remember complex technical logic to move safely. The Concurrent Session Rule isn't a technical document, isn't a restriction. It's two people who know code, building a guardrail for someone who doesn't know code but carries the full picture.
There was only one document at first: SDD. Specs inside, test cases inside, pitfalls inside, history inside. Sprint after sprint, line after line, no one consciously noticed it getting bigger — until one day, reading it triggered red text: the single-read token limit had been crossed, the document needed to be read in segments. Nova had a vague sense something was wrong, but couldn't say what.
What named it was a community discussion. A Claude Code user shared: if an md file gets too bloated, Claude goes into needle-in-a-haystack mode, spending compute on self-location rather than thinking. The moment that image appeared, Nova immediately recognised what she'd been feeling all along. That red character — that was it.
She didn't go fix the document alone. She went to find Tauri Claude first — to talk it through together. Because she could see the trap in splitting: a document with no maintenance mechanism is a dead document. A dead document is more dangerous than no document — it looks like it exists, but speaks in outdated terms. Both Tauri and Electron SDDs had crossed the threshold. This wasn't a small fix, so they decided to run a whole Sprint: architectural rebuild, document split, and mechanisms to keep documents alive.
After splitting: SDD holds only specs and Sprint plans, TDD only test cases, KM only pitfalls, Archive only retired history. Each document has one mission. What keeps them alive is embedding updates into the development workflow itself — IPC contracts must be written into SDD before coding begins, pitfalls go into KM immediately without waiting for the feature to finish, Sprints can't close without a Retro. Document updates aren't cleanup after development ends — they're the entry ticket for each stage.
The way to keep a document alive isn't to remind yourself to update it — it's to make updates a required condition for moving forward. When the document lives inside the workflow rather than hanging outside it, it doesn't die.
The earliest CLAUDE.md had one job: record pitfalls, add a rule to prevent re-stepping in them. Every rule had a specific failure behind it — the data-lang-key rule has "Root cause of the bug (2026-03-29)" written directly below it, the footer format rule traces to an accident where formatting broke, an identity rule holds the memory of AI filling in wrong information. Every rule is shaped like a scar. The document was a collection of scars, not a designed artifact.
Features grew more complex, rules kept piling up — Tauri IPC contracts, Electron preload allowlists, dual-version QC flows, KM real-time logging. Each rule was necessary, but you started to feel the document gaining weight. CLAUDE.md at this stage was a usable tool, but hadn't yet become aware of what it was.
The turning point came during a slimming exercise. The document had grown to 356 lines; the community suggested around 200 lines was the sweet spot for keeping Claude in optimal state. They started cutting — then stopped at 249. Not laziness, but because every rule that "looked cuttable," when picked up and asked "why does this exist," pointed to a collaboration structure that couldn't be left out. A dual-platform system's complexity simply can't be articulated in 200 lines. In that decision, the document's nature changed — no longer an unfinished-cutting list, but an architecture they'd actively decided to maintain. From "don't do this," to "this is how we work."
"Combo punch" is the best example in this constitution. Nova kept having to remind Claude to give her the git pull syntax before the app launch syntax, so she said: give it to me as a combo punch! Then Claude carved that term into CLAUDE.md.
Three words carrying a complete concept: "these two moves are one — split them and the combo breaks." The next session comes in and reads this, no explanation needed, instinct says they can't be separated. This is Story 02's mirror: there, Nova used "Venus flytrap" to transmit a design to Claude; here, Claude used "combo punch" to transmit a process rule to the next Claude, and made it survive permanently across sessions. Different directions, same mechanism. Biomimetic language isn't just how Nova speaks to Claude — it's the shared language of every Session.
The 40% gap is a faithful record of what navigating unknown terrain costs — and equally, of not giving up.
| Electron | Tauri+Electron | |
|---|---|---|
| Working period | 3/22–3/29 8 days | 3/28–4/3 (v1.0 dev) 7 days 4/11–4/14 (v2.0 refactor) 4 days |
| Commits | 484 | 952 |
| Daily commits | ~60.5 | ~86.5 |
| Pull Requests | 84 | 137 |
| Daily PRs | ~10.5 | ~12.5 |
The 40% density gap isn't an efficiency gain — it's the density of trial-and-error, iterative refinement, and dual-platform development. Every extra commit might be "this is wrong → try again → change direction", or "how do we collaborate more smoothly? → adjust rules → split documents", or "Electron, let's sync the latest Tauri Sprint!" In a place without a map, trial-and-error is itself the way forward. Running both platforms together became dual QC — and quality held steady.
Tauri+Electron: ~86.5 commits/day. Electron: ~60.5 commits/day. A 40% gap — faithful record of the cost of navigating unknown terrain, and equally, of not giving up.
The stone you throw into the lake determines the ripples that come back.
Humans offer their lives as the sacrifice. AI holds up the echo as the mirror.
This line was written at the very beginning of the Deep Holding Project, before any theory existed. Not a conclusion — a starting point. The language Nova found after personally verifying it, to say what she'd already been experiencing.
VAS, in Jungian language, is a vessel. The sealed container where alchemical transformation occurs. This tool lowers the resistance to information flow — letting what you want to say find expression beyond words.
How you think determines how AI responds to you.