The first thing I noticed about the afterlife was the font.
Not the floating blue rectangle. Not the fact that I was lying face-down in what smelled like a combination of wet earth and something that had recently died. Not even the distant sound of something large moving through undergrowth.
No. My brain, in its infinite wisdom, decided that the most pressing matter was typography.
Comic Sans.
Or close enough. The letters were slightly rounded, cheerfully sans-serif, hovering in a translucent blue panel approximately eighteen inches from my face. Like a system notification designed by someone who'd peaked creatively during the MySpace era.
I blinked. The panel remained.
WELCOME, TRAVELER.
SYSTEM INITIALIZATION IN PROGRESS...
SCANNING ENTITY... ERROR.
CLASSIFICATION FAILED: origin_not_recognized
FALLBACK: Human_Standard (v3.2.1)
ASSIGNING DEFAULT PARAMETERS...
Okay. That was less funny.
I sat up — too fast, based on how the world tilted sideways — and the panel tracked my movement, maintaining that precise eighteen-inch distance. Persistent little bastard.
The forest around me was wrong in the way that dreams are wrong. The trees were too tall, their bark a shade of gray-blue that didn't exist in any temperate zone I'd studied. The light filtering through the canopy had a faintly green tint, like someone had adjusted the white balance on reality. And the air tasted like ozone after a thunderstorm, except there wasn't a cloud in sight through the gaps in the leaves.
I looked back at the panel. The error message had cleared, replaced by something new:
ETHAN VOSS — LEVEL 1
Class: Unassigned
HP: 100/100
MP: 45/45
STR: 8 AGI: 9 VIT: 8
INT: 14 PER: 12 WIL: 11
[DEBUG] Observer_Mode: ACTIVE (L1)
[DEBUG] Permission: UNAUTHORIZED — flagged for review
[DEBUG] Note: debug_access should have been removed
before deployment. See ticket #0001.
That last line.
Debug access should have been removed before deployment.
I'd spent six years in cybersecurity. Penetration testing, vulnerability research, red team operations. Six years of breaking into systems other people thought were secure. And in all that time, I'd developed a near-religious conviction about one thing: if debug mode is still on in production, someone fucked up.
Someone had fucked up spectacularly.
I reached out and touched the panel. It was warm — not physically, more like the sensation went straight to my fingertips without bothering with the air in between. The text didn't respond to touch, but when I focused on a specific line, the panel expanded.
I focused on
STR: 8.
The standard text stayed put, but underneath it, a second layer flickered into view. Gray text. Smaller. The kind of thing you'd see in a log file that wasn't meant for end users.
[DEBUG] strength {
base_value: 8,
racial_mod: 1.0 (human_standard),
equip_bonus: 0,
buff_stack: [],
soft_cap: 50 (at_level: 1),
hard_cap: 999,
overflow: 0.00,
last_modified: cycle_3102_tick_9918274
}
I stared at it for a long time.
This wasn't a stat screen. This wasn't some game interface or divine blessing. This was a data structure. With named fields, typed values, and a modification timestamp. Someone — something — had written this. Designed it. Deployed it.
And left the debug console open.
My heart was doing something complicated. Part of it was terror — the reasonable, adult terror of being alone in an alien forest with no memory of how I got here and a floating UI that shouldn't exist. But another part, the part that had gotten me into cybersecurity in the first place, the part my ex-girlfriend had called "your fucking death wish dressed up as curiosity" — that part was electric.
A system I didn't build. Running on rules I didn't write. With debug access I wasn't supposed to have.
I was going to take it apart.
But first, I needed to not die in this forest.
The growl came from my left.
Low. Resonant. The kind of sound that bypassed higher cognition and spoke directly to whatever part of the human brain still remembered being prey.
Stolen novel; please report.
A blue notification slid into view at the top of my panel, the way a phone notification slides down from the top of your screen. Except this one was about a wolf.
HOSTILE ENTITY DETECTED
Gray Wolf — Level 7
HP: 340/340
Status: AGGRESSIVE
Distance: 31m
Level 7. I was Level 1. I didn't know exactly what the math looked like yet, but I didn't need to. Seven-to-one ratios are bad in any system.
The debug layer flickered beneath the standard display.
[DEBUG] entity: gray_wolf_0x7A2F {
ai_behavior: patrol_v2,
state: HUNT_TRIGGERED,
aggro_source: entity_ethan_voss,
pathing: navmesh_standard,
known_bugs: [
#2091: pathing_fails_near_water (radius: 15m)
— status: WONTFIX (reviewed: cycle_2847)
],
pack_size: 3,
pack_call_cooldown: 45s
}
I read it twice. Then I read it a third time, because the implications were the kind of thing worth being very, very sure about.
Bug #2091. The wolf's navigation system — its pathing algorithm — broke within fifteen meters of water sources. And whoever maintained this system had looked at the bug, decided it wasn't worth fixing, and moved on.
"WONTFIX." The universal developer shorthand for "not my problem."
Normally, that kind of laziness would piss me off. Right now, it might save my life.
But there were three of them. Pack size three, with a forty-five-second cooldown on their pack call. Which meant the other two weren't here yet, but they would be soon.
I needed water. I needed it fast. And I needed it before that cooldown expired.
I turned in a slow circle, straining my ears. The forest was dense — visibility maybe twenty meters in any direction. The wolf growled again, closer now. I could see its outline through the undergrowth. Shoulder height about three feet. Gray-blue fur, like the trees. Yellow eyes locked on me with the patient focus of a predator that knew exactly how this ended.
It didn't charge. Not yet. The debug data said its state was
HUNT_TRIGGERED, not ATTACK. Behavioral state machine. It was still in the stalking phase, waiting for me to run.
I swallowed hard and started moving. Not running — walking, fast, in a direction I chose based on absolutely nothing except a vague downhill slope. Water flows downhill. Basic geography. Please still apply in magical fantasy worlds.
The wolf followed. Paralleling me, maintaining distance. Patient.
Distance: 24m
pack_call_cooldown: 31s
Thirty-one seconds.
The slope steepened. The undergrowth thinned. And then — there. A sound. Faint but unmistakable. The low babble of moving water.
I moved faster. Not running. I didn't want to trigger the attack state. But fast. Very fast.
The treeline opened up onto a narrow stream, maybe four meters wide, cutting through a rocky bed. The water was clear and shallow — ankle deep at most.
pack_call_cooldown: 12s
I splashed into the stream and waded to the center, water soaking through boots I didn't remember putting on. Then I turned around.
The wolf had followed me to the edge of the tree line. It was ten meters away, close enough that I could see the way its muscles coiled under that blue-gray fur, close enough to see the intelligence in those yellow eyes.
Then it stepped forward. Eight meters. Six.
Five meters from the water's edge, it stopped.
Not like it chose to stop. Like it couldn't go further. Its front paw lifted, moved forward, and then — glitched. There was no other word for it. The paw snapped back to its previous position like a rubber band. The wolf snarled, tried again, and the same thing happened.
Bug #2091, live and in person.
The pathing algorithm couldn't handle the water. The wolf's navigation mesh literally didn't extend to within fifteen meters of the stream. It could see me. It could smell me. But as far as its behavioral AI was concerned, I didn't exist.
pack_call_cooldown: 0s
Two more howls rose from the forest behind the wolf. The pack was coming.
I didn't move. I stood in ankle-deep water, heart hammering, and watched as three apex predators — three Level 7 killing machines that could have torn me apart in seconds — circled the edge of the stream and couldn't reach me.
They paced. They snarled. One of them tried to approach from downstream and hit the same invisible wall. The navmesh bug wasn't specific to one direction. It was a radius. Fifteen meters from any water source, and their entire movement system broke down.
After about ten minutes, they lost interest. The
HUNT_TRIGGERED state decayed back to PATROL, and they loped off into the forest, following whatever predetermined route their AI dictated.
I sat down in the stream. The water was cold. I didn't care.
[SYSTEM] Quest Generated: Survive your first encounter.
Status: COMPLETE
Reward: 50 XP
Fifty XP. For nearly getting eaten by wolves. I'd have to check the math later, but that felt stingy.
The debug layer, as always, had more to say:
[DEBUG] xp_reward_calculation {
base: 25,
modifier: survival_no_combat (2.0x),
total: 50,
note: non_standard_resolution — logging for analysis
}
Non-standard resolution. The system had noticed. It wasn't supposed to be solved this way.
I looked at the debug note and felt something cold settle in my stomach alongside the adrenaline crash. The system was paying attention. Maybe not actively — the note said "logging for analysis," not "deploying kill squad" — but it had flagged me.
I'd used one bug. One single, minor navigation exploit. And the system had already made a note.
I stared at the water flowing around my ankles and thought about what would happen when I used a second one. A third. A tenth.
Then I thought about ticket #0001 — the one about removing debug access before deployment. Open for 3,102 cycles. Whatever a cycle was, that ticket had been sitting unresolved for a very long time.
Someone had built this system. Someone had left debug mode on. And in 3,102 cycles, no one had come to fix it.
Either the developer was astonishingly negligent, or they couldn't come back.
Neither option was comforting.
I stood up, wrung out what I could from my soaked boots, and started walking downstream. The wolves wouldn't come near the water. The stream had to lead somewhere.
Behind me, a new notification pulsed softly in the corner of my panel:
[DEBUG] Observer_Mode activity logged.
Review scheduled: pending.
Reviewer: NONE ASSIGNED.
No reviewer assigned. An open ticket with no one to close it.
I was alone in a system that nobody was maintaining.
And I was the only one who could read the error logs.

