影
kaged
shadow ops for your [stack]
your agents, [caged]
every project gets a [shadow]
the operator's [daemon]
unfucked [by design]
[LIVE]
[CAGED]
[BOUND]
[PAUSED]
[IDLE]
v0.2 / What Changed 000
Brand grew teeth
The coming-soon page broke v0.1 on purpose. Rather than
pretend that didn't happen, v0.2 names which rules were
broken and re-codes them as sanctioned — while
protecting the surfaces (code, logs, terminal) where edge
becomes friction.
Magenta
danger only
personality + danger
Cyan
rare informational
live, telemetry, streaming
Surface taxonomy
implicit
five-tier system
Status badges
ad-hoc
10 formal bracket-locks
Code surfaces
implied clean
explicitly sacred — tier 5
CRT mode
—
opt-in toggle, ambient layer
Section 01 / Surface Taxonomy 001
Five tiers of edge
Different surfaces tolerate different amounts of
personality. Marketing can shout; code must whisper. Where
any surface lands on the ladder is decided once,
here, not improvised per-component.
TIER 01
Marketing
EDGE: FULL
Break the guide on purpose. Audience is opting in to
be entertained for a few seconds.
- coming-soon
- landing pages
- 404 / 500
- manifesto
TIER 02
Boot & Empty
EDGE: MEDIUM
Personality moments live here. Boot sequences land
brand. Empty states get to be funny.
- boot sequence
- empty states
- splash / loading
- achievement toasts
TIER 03
Chrome
EDGE: LIGHT
Brand-flavored frame around the work. Badges, hover
glows, kanji at small sizes.
- top bar
- nav rail
- breadcrumbs
- status indicators
TIER 04
Workbench
EDGE: MINIMAL
Where operators actually work. Brand colors carry
information; no decoration.
- project views
- agent lists
- settings
- forms
TIER 05
Code
EDGE: ZERO
Sacred. Syntax highlighting in brand palette is
allowed; everything else is forbidden.
- DSL editor
- logs / output
- terminal / PTY
- JSON / YAML
Section 02 / Palette 002
Three accents, one boss
Amber leads (70%+ of accent budget). Magenta and cyan are
sanctioned but never compete with amber for emphasis on the
same screen.
// AMBER — primary · brand · active
// MAGENTA — secondary · personality + sandbox + danger
// CYAN — tertiary · live · telemetry · streaming
// NEUTRALS — surfaces + text
Section 03 / Status Badges 003
The bracket-lock system
Every meaningful object state gets a formal badge. Don't
invent new types — extend this list with intent, then use.
[LIVE]
Active, running, the happy path.
[CAGED]
Sandboxed subagent — scoped FS & net.
[BOUND]
Streaming data, real-time bound.
[PAUSED]
Debug checkpoint, awaiting operator.
[IDLE]
Defined but not running.
[QUEUED]
Scheduled, not yet started.
[BLOCKED]
Waiting on dependency or permission.
[CRASHED]
Errored, needs operator attention.
[DRAFT]
Saved but not committed.
[STALE]
Out of date with source.
Section 04 / Same Component, Two Tiers
004
v0.1 strict → v0.2 sanctioned edge
Same agent list. Left is the v0.1 reading: brand colors are
constrained, statuses are text. Right is v0.2:
bracket-locked badges, sanctioned magenta for caged, cyan
for streaming, ambient pulse for live states.
v0.1 / STRICTtier 4 — pre-edge
primary.agent
claude-sonnet-4.6
active
42ms
scraper bandcamp+soundcloud
sandboxed
128ms
deployer k3s+helm
streaming
—
v0.2 / SANCTIONED EDGE[CURRENT]
primary.agent
claude-sonnet-4.6
[LIVE]
42ms
scraper bandcamp+soundcloud
[CAGED]
128ms
deployer k3s+helm
[BOUND]
—
writer blog-posts
[IDLE]
—
Section 05 / Code Surfaces Are Sacred
005
Tier 5 — the workbench rule
Where operators read code, the brand becomes invisible.
Syntax highlighting carries information; everything else
(animation, texture, decoration) is forbidden. Remove the
brand entirely and code surfaces should still be perfectly
usable.
project: music-site
primary:
model: claude-sonnet-4.6
system_prompt: ./prompts/primary.md
subagents:
- name: scraper
model: claude-haiku
cage:
fs: ro:/data
net: ["*.bandcamp.com", "*.soundcloud.com"]
timeout: 300
retry: true
- name: deployer
model: claude-sonnet-4.6
cage:
fs: rw:/projects/music-site
net: ["k3s.local:6443"]
dry_run: false
prev_run: null
interconnect:
scraper -> deployer: on_event(found_release)
// DO
Brand-palette syntax highlighting. Amber for
keywords, cyan for numbers, magenta for booleans,
primary text for strings, dim for comments.
// DO
Use
--bg-inset
as the code background. Code feels punched into the
surface, not raised.
// DON'T
Animate anything — not the gutter, not the line
numbers, not "currently-running" line highlights.
Static.
// DON'T
Apply scanlines, grids, noise, or any decorative
texture to code surfaces. Even faint ones break
monospace clarity.
Section 06 / Motion Ladder 006
Three rungs. Pick the lowest.
Hover the cards to see micro motion. Ambient runs always.
Theatrical is reserved for tier 1-2 surfaces and respects
prefers-reduced-motion.
RUNG 1
Micro
< 200ms · hover · focus
tiers 3 & 4 ·
default
RUNG 2
Ambient
2-3s loop · live signals
tiers 2-4 · one per
pane
RUNG 3
Theatrical
brief bursts · personality
tiers 1-2 only ·
opt-out aware
Section 07 / Personality Moments
007
Sanctioned places to be loud
Specific surfaces where the brand has license to break the
workbench rules. Enumerated so they don't sprawl.
// BOOT SEQUENCE
First-launch boot
≤1.5s, ASCII-styled, types in like a terminal. Lands
the brand before showing the dashboard.
>
影kaged daemon · v0.3.1
> loading dsl
runtime........... [OK]
> spawning primary
agents....... [OK]
> sandboxes
ready...............
[OK]
> system
nominal.
// ACHIEVEMENT TOAST
Milestone hit
Slide in from bottom-right. Magenta border, kanji
prefix. Use for genuine milestones — first DSL
deployed, first cage run, 100 sessions, etc.
影ACHIEVEMENT UNLOCKED
first cage deployed · scraper:bandcamp
// EMPTY STATE
Zero-state copy
Funny, on-brand, never apologetic. The kanji takes a
backseat (low opacity) to telegraph absence.
影
no agents running. the shadows rest.
// EASTER EGGS
Konami → CRT mode
Allowed but rare (2-3 max across the whole product).
Konami code triggers full CRT scanlines + noise
overlay. Logged in
docs/easter-eggs.md.
↑ ↑ ↓ ↓ ← → ← → B A
// FATAL PAGES
404 / 500
Full tier-1 treatment. Glitch, magenta,
broken-terminal aesthetic. The page is broken — it
should look broken.
404
// CRT TOGGLE
Settings → Appearance
Opt-in scanline + flicker overlay. Off by default.
Try the toggle in this page's topbar — it's wired to
the same behavior the product will ship.
CRT mode
[OFF]
Section 08 / Mobile Surfaces 008
First-class on glass
Badges scale. Status colors read at a glance. Code in
adjacent panes stays clean. The mobile chrome is tier 3; the
code pane (right) is tier 5.
Mobile · Project view (tier 3)
9:415G • 87%
影
music-site
[LIVE]
primary.agent
claude-sonnet-4.6
[LIVE]
scraper
bandcamp+soundcloud
[CAGED]
Mobile · DSL editor (tier 5)
9:415G • 87%
影
project.kaged.yml
[DRAFT]
project:
music-site
primary:
model:
claude-sonnet-4.6
subagents:
-
name:
scraper
timeout:
300
retry:
true