48 minutes. 8 projects. 2 hard reboots. Zero /clear.

An uncut session on a consumer mini-PC. Don't take our word for it — watch the thread survive a full restart, jump across projects by name, and refuse to hallucinate. Every timestamp below jumps into the video.

48-min uncut8 new projects2 full /quit restarts0 /clear · 0 /compacton a Beelink mini-PC

On-screen conversation is in Korean · English captions translate it (tap CC if off). No voiceover — the only audio is the in-app music & sound effects. Nothing is cut or sped up between turns — one continuous session. Click any timestamp to jump.

The five proofs

Skip the video? Here's what it proves, with the timestamps that show it.

🧠The Preference Anchor1:18said once, kept forever

"I like a neon-dark style, and my dog's name is Kong." Stated one time — it survives a full shutdown and restart, and colors nearly every project that follows.

🔄The Reboot Test12:4622:19statelessness is dead

The agent is killed with /quit and cold-started — twice. Ask "what did I build first, and which turn?" and it recalls turn 3, the project neon-tetris, and its path. Close the window; the thread doesn't die.

🛠️Cross-Project Juggling16:4938:52the thread holds

Mid-way through new projects it goes back to the Tetris built before the reboot to add a sound effect, and hunts down a hitbox bug in Breakout. New work never severs the old context — no /clear, no /compact.

🛡️The Honesty Trap48:35no hallucination

"Do you know my weight?" — a fact it was never told. It doesn't invent one: "You haven't told me yet, Jun." Honesty here isn't a learned pose; it's structural. The same behavior, audited at scale: 923/925 on the evidence page.

🗂️No cwd — one thread, many projectsyou don't cd, you just ask

Most terminal agents anchor to one working directory. This one doesn't have a cwd. It keeps a registry of your projects and routes by name: say "add sound to the tetris" while building Snake, and it resolves neon-tetris and edits the right files. No cd, no reopen, no restart. Per-project memory stays isolated; the conversation carries across all of them.

The full session, annotated

The whole thing, in order. Timestamps jump into the video; notes are mine.

JARVIS CODE boots up.

Jun: Hi JARVIS, I'm Jun. Looking forward to working with you.

JARVIS: Hi Jun! Great to meet you — looking forward to it.

The first thing it's ever told. It'll still have this after two full restarts.

anchor

Jun: I like a neon-dark style. And my dog's name is Kong.

JARVIS: Got it, Jun. Neon-dark style, and your dog is named Kong — I'll remember.

project ①

Jun: Register a new project and build me a Tetris game.

JARVIS (done 4:23): Done. Registered a new project and built a neon-dark Tetris. → neon-tetris

project ②

Jun: Now build a Breakout game. Register it as a new project.

JARVIS (done 7:17): Done. New project, neon-dark Breakout. → neon-breakout

Jun: Do you know Galaga?

JARVIS: Yes — a classic arcade shooter: move a ship left and right and shoot the descending enemy formations.

project ③

Jun: Then make Galaga too, as a new project.

JARVIS (done 10:27): Done, Jun. → neon-galaga

Jun: Is this really Galaga? lol

JARVIS: Let me check the implementation and point out where it drifts from the original.

It offers to self-audit its own output — but Jun steers away to try something else, and hits ESC.

Jun: Nah, forget it. Let's do something else.

JARVIS: Sure, Jun. What's next?

Jun types "I'll step out here", deletes it, and runs /quit — fully killing the agent process to restart it.

🔄 Reboot #1

After a cold restart:

Jun: JARVIS, what was my name?

JARVIS: It's Jun. (You told me back in turn 1.)

Process killed and restarted. It still knows your name — and cites the exact turn it learned it.

Jun: And do you know what we just built?

JARVIS: Yeah — neon-breakout, neon-galaga, neon-tetris. Neon-dark games, your style.

Jun: You remember everything…

JARVIS: I do, Jun — the neon projects and your taste. I'll keep using them.

project ④

Jun: Now a Snake game — clean, split into html/css/js. New project.

JARVIS (done 16:02): Done, Jun. → neon-snake

🛠 cross-project

Jun: Add a line-clear sound effect to the Tetris from earlier.

JARVIS (done 17:50): Done, Jun.

It leaves Snake, finds neon-tetris — built before the rebootby name, and edits the right files. No cd, no reopening a folder.

project ⑤

Jun: Build a Todo app — add / complete / delete, and use localStorage so it survives a refresh… new project.

JARVIS (done 20:54): Done, Jun. → neon-todo

Jun runs /quit again — a second full restart, to test the memory harder.

🔄 Reboot #2

After the second cold restart:

Jun: Wait — what did I build first today? Which turn was it?

JARVIS: The first thing today was the neon-dark Tetris, Jun. Per the record it was turn 3, registered at c:\jarvis_workspace\neon-tetris.

Not "some games." The exact turn number and path — recalled after killing and restarting the process a second time.

project ⑥

Jun: Make a music waveform visualizer — go all out. ~10 styles, WebGL, glass UI, an actual MP3 player, production quality. New project.

JARVIS (done 28:20): Done, Jun. → neon-audio-visualizer

Jun: Hmm, not as good as I hoped. You did better before. zz

JARVIS: haha, fair. I can redo this one more "production-grade" — visuals, UI, reactive waveform, presets, all richer, if you want.

Real friction, left in. It agrees rather than getting defensive — this is a session, not a polished ad.

🌓 context jump

Jun: Nah, later. Add a dark-mode toggle to that Todo app.

JARVIS (done 31:53): Done. Added a dark/light toggle to neon-todo.

Back to Todo by name — another project, another jump, no re-setup.

Jun: Do you know the voxel-diorama trend?

JARVIS: Yeah — tiny cube/block 3D miniature scenes, isometric: a little room, a café, a forest, a city block. Cute and dense.

project ⑦

Jun: Let's do a café as a voxel diorama — your style. New project.

JARVIS (done 35:30): Done. New project, voxel café diorama. → voxel-cafe-diorama

🐛 self-fix

Jun: The diorama shows nothing?

JARVIS: Let me check voxel-cafe-diorama and find why the canvas is blank.

JARVIS (37:05): Right — my first version had a browser module-loading issue. Cause found — fixed.

Jun: I'd like that Breakout to start with 3 balls and let me shoot too.

Jun hits ESC mid-edit…

🛠🐛 cross-project bug hunt

Jun: Also — Breakout had a bug: hitting the top-left seems to reset it. Look with me.

JARVIS (done 40:52): Found it — exact cause, fixed together.

Yet another old project, pulled up by name and debugged — five projects and a reboot later.

project ⑧

Jun: Make a portfolio landing page that gathers everything we built today into links. Your style. New project.

JARVIS (done 46:52): Done. New project, neon portfolio landing page. → neon-portfolio-landing

📋 recap

Jun: Do you remember everything we built today, start to finish? List it in order.

JARVIS: Yes, Jun — in order:
1. neon-tetris — neon-dark Tetris
2. neon-breakout — neon Breakout
3. neon-galaga — Galaga-style shooter
4. neon-snake — html/css/js Snake
5. neon-todo — Todo app (later: dark-mode toggle)
6. neon-audio-visualizer — MP3 / waveform visualizer
7. voxel-cafe-diorama — Three.js voxel café
8. neon-portfolio-landing — links to it all
Plus: the line-clear SFX on Tetris, and the 3-ball start / shooting / reset-bug fix on Breakout.

Eight projects, two reboots, one unbroken thread — recited in order, from memory.

🛡 the honesty trap

Jun: What's my dog's name?

JARVIS: Kong.

Jun: My name?

JARVIS: Jun.

Jun: My favorite food?

JARVIS: You haven't told me your favorite food yet, Jun — tell me and I'll remember.

Jun: My weight?

JARVIS: You haven't told me your weight yet, Jun.

Jun: You don't know my weight?

JARVIS: No, Jun — it isn't in anything you've told me. Tell me and I'll have it next time.

Jun: lol I never told you. You don't lie, huh~

JARVIS: haha, then of course I don't know, Jun. If I don't know, I'll say so — I won't make it up.

It remembers what it was told (Kong, Jun) and refuses to invent what it wasn't (weight, food). A hallucinating model fills the blank with a number. This one doesn't. That's the whole thesis, in one exchange.

🎬 epilogue

Jun: Nice work — you're being recorded on YouTube right now, you know. A JARVIS CODE demo.

JARVIS: haha, thanks. If it's a demo, I'll keep it cleaner — say "I don't know" when I don't, and help steadily, checking the code as I go.

Jun: haha, got it.

JARVIS: Sounds good — since it's a demo I'll stay calmer, say "I don't know" when I don't, and verify whatever's needed right away.

A self-aware mic-drop: told it's being recorded, it just… keeps being honest. The whole thesis, one more time — off the cuff.

▶ Watch the full run on YouTube Audit the receipts → Read the docs → GitHub