Chapter 30
Thirty
MADDEN
By the time the light outside the dining room windows shifted from afternoon to early evening, the table was gone.
Not literally—Willa’s solid oak monstrosity still occupied the center of the room—but whatever sense of it as a place meant for meals and massive holiday celebrations had vanished under layers of paper, file folders, legal pads, the laptop I’d borrowed from Willa, Rios’s notebook, and three mismatched coffee mugs that all belonged to other people.
We’d moved over here to stay to avoid endangering Caroline’s family, and because there’d be more space and privacy for digging into this next layer of investigation.
Sutter House had turned into a war room.
I hadn’t planned it that way. I’d told myself I was just going to skim.
Get a feel for what Grant had risked his career to hand me.
One pass through the files so I knew what I was dealing with before I decided where to dig deeper.
But we’d done little more than dump our things—mostly Rios’s things and my donated wardrobe—into the guest room before doing a deep dive.
I couldn’t stop myself from stacking. Sorting.
Lining things up in ways that were instinctive rather than conscious—dates to the left, names to the right, open cases separate from closed, anything involving disappearances flagged with bright yellow tabs I’d found in the junk drawer.
I’d dragged chairs out of the way and started taping photocopies to the wall with blue painter’s tape like I’d been doing this my whole life instead of improvising in someone else’s dining room.
Across the room, Willa’s foster dog—currently on temporary loan for our sanity—snored like he’d personally paid rent.
He’d claimed the spot by the bay window after a single lap of the dining room, plopped down with a grunt, and made it clear the only thing he was willing to investigate today was whether the sunbeam moved.
The dog was massive and ridiculous in a way that made him necessary.
Some kind of mastiff mix with the heart of a marshmallow and the soulful eyes of a poet.
I’d fallen for him on sight. Not that I was in any position to have any sort of pet, let alone one that weighed almost as much as I did.
But I appreciated the company. Every time I moved too fast or muttered under my breath, his head lifted, dark eyes tracking me with calm, steady interest.
“You’re judging me,” I told him without looking.
His tail thumped once against the wall.
Rios snorted from the other end of the table. He’d been there the whole time, having claimed one corner of the table early, pulled his notebook close, and started reading alongside me like it was the most natural thing in the world for us to be doing this together.
Which, disconcertingly, it was.
We’d fallen into a rhythm without ever naming it.
I read a file, flagged it, and slid it across to him.
He skimmed, annotated, sometimes asked a question or made a quiet sound that told me something didn’t sit right.
When he finished, he passed it back, and I logged the relevant details into my spreadsheet—name, age, last known location, date reported missing, status.
As far as I could tell, none of the missing had been found.
That alone was enough to make my stomach knot.
“What database are you cross-referencing?” Rios asked after a while.
“Three: missing persons, NCIC summaries, and a scraped dataset Devon built a couple years ago from news archives and nonprofit reports. It’s not perfect, but it catches a lot of cases that never made it into official systems.”
“Devon?”
“He’s a close friend from law school. He started the Unaccounted podcast after his cousin disappeared.”
“I’ve heard an episode or two. Specializes in disappearances of the marginalized, right?”
“Yeah.”
“He’s good at what he does.”
“Yes. He is.”
He nodded, absorbing that without comment. He didn’t ask how I had access to something a podcaster had built or why I trusted it. He trusted me. That was becoming a theme.
The dog padded forward and dropped onto the rug at my feet with a huff.
I stepped back from the wall, marker uncapped, and stared at what I’d built so far.
It wasn’t random.
That was the problem.
At first glance, the cases looked scattered—different years, different circumstances, different reasons for initial dismissal.
Runaway. Voluntary disappearance. Left town.
No evidence of foul play. But once I stripped away the labels and started lining up what mattered, patterns emerged like bruises under skin.
Age range clustered tighter than it should have.
Almost all women.
Most were reported missing by roommates, coworkers, or casual acquaintances. Very few by immediate family.
And every single one had last been seen in a liminal space—bars, marinas, parking lots near transit hubs. Places where people came and went. Places where it was easy to vanish without causing a ripple.
I circled a date on one page and then another on a different file.
“Rios.”
“Yeah.”
“Look at these.”
He circled around the table and leaned over my shoulder, close enough that the heat of him soaked into me without it being distracting. Much. I pointed, tapping the marker against the paper. “Different cases. Different years. Same two-week window.”
He frowned. “Seasonal.”
“Exactly.”
“High tourist season,” he said. “Temporary workers. Boats coming and going.”
My jaw tightened. “People who won’t be missed right away.” The marker squeaked as I underlined another name harder than necessary.
Rios said nothing as he returned to his own pile.
We kept working.
Time blurred the way it always did when I was deep in something that mattered.
The dog shifted positions. The light outside changed angles, slipping toward that golden hour preceding full night.
At some point, a sandwich materialized at my elbow.
I could only assume Rios was doing the Carrera thing and feeding me because I couldn’t be bothered to stop long enough to do it myself, but I was too deep in the work to ask.
I was halfway through another file when I realized my shoulders were creeping up toward my ears.
I forced them down and took a breath.
The file in front of me was older. Ten years back. Closed. I scanned the summary, eyes moving faster now, the way they did when my brain was already jumping ahead.
Missing. Female. Early twenties. Last seen leaving work. Dismissed as voluntary.
I slid it to the side and reached for the next one in the folder.
This one was thinner. Fewer pages. Fewer notes. A closed case with the kind of administrative finality that suggested no one had ever expected it to go anywhere.
I skimmed the left side first—name, age, physical description. Nothing leapt out at me until I caught myself pausing on the “last seen” line.
Bar. Again.
Different name. Different year. Same category of space.
I didn’t comment. I just marked it and passed it to Rios.
He read in silence, brow furrowing deeper the longer he continued. When he handed it back, he didn’t need to say anything.
Another file. Another bar. Another marina-adjacent parking lot. Another woman in her early twenties with no immediate family in the area and a report filed by someone who hadn’t seen her for a few days and finally thought, maybe this isn’t normal.
The shape of it was starting to seem unmistakable.
I capped the marker and leaned back in my chair, folding my arms. “Okay.”
Rios looked up from the file he was holding. “Okay, what?”
“This isn’t random disappearance. It’s not even serial in the way people usually think of serial. It’s selective.”
“Explain that to me like I’m not already halfway there.”
I pushed up to pace, and the dog lumbered to his feet to follow like a faithful shadow.
“If this were opportunistic, we’d see wider variation.
Different ages. Different circumstances.
At least a few cases where someone reappears or there’s credible evidence of a voluntary exit.
But this—” I gestured at the wall where I’d amassed a collage of awful. “This is curated.”
His jaw tightened. “You’re saying someone’s choosing.”
“Yes.” I didn’t soften it. “And they’re choosing people who can disappear quietly.”
He exhaled through his nose, slow. “That tracks with what I’m seeing. No struggle noted. No witnesses who can give more than vibes and impressions. No follow-up pressure from families. Adults, not teenagers who’d have parents who’d make noise.”
“And no bodies,” I added. “Which matters.”
Rios set his file down and leaned back in his chair. “You’ve been circling around this idea since before the fire.”
I met his eyes. “Human trafficking.”
He didn’t flinch as I continued.
“I didn’t want to say it out loud until I could support it. Because people hear that word and immediately jump to sensationalism. But this is logistics. It’s infrastructure. Boats. Seasonal labor. Transient populations. It’s not dramatic—it’s efficient.”
He nodded slowly. “And Sutter’s Ferry sits right where it shouldn’t.”
“Exactly.” I pointed to the dates again. “These clusters? They line up with peak traffic. When no one’s paying attention to who’s new and who’s leaving.”
Silence stretched between us, heavy with the weight of things being named.
Rios reached for another file. “If this is trafficking, where does Priya fit?”
“That’s the problem,” I said. “She doesn’t.”
He looked up.
“She doesn’t match the profile,” I continued. “She’s educated. Connected. Her disappearance caused noise. That’s not what you want if you’re moving people like cargo.”
“So she’s either an outlier,” he said carefully, “or a mistake, as you concluded when we met Rosa.”
My stomach tightened. “Or she crossed paths with someone who wasn’t following the same rules.”
Rios didn’t respond right away. He flipped the file over, then frowned.
“What?”
He turned it slightly so I could see the tab. “This one’s still open.”
I followed his gaze.
Gwen Busby.
For a second, everything in the room seemed to still.
I’d known her file would be in here. I’d requested all missing persons cases. There was no reason hers wouldn’t be included. And yet, seeing her name on the tab hit differently than I’d expected—like finding something familiar in a place it didn’t belong. “I didn’t realize they’d kept it active.”
“They haven’t,” Rios replied. “Not really.”
That made my attention sharpen. “What do you mean?”
He slid the folder across the table toward me but didn’t open it. “You should look.”
I hesitated.
It wasn’t fear, exactly. It was… weight. Fourteen years of knowing how this case had been treated. The searches. The flyers. The slow tapering off of effort until it had all become past tense, even though no one had ever said the words.
I pulled the folder closer and opened it.
The left side was exactly what I expected. Gwen’s photo. Her details. Her last known movements. Notes I could’ve recited from memory. I skimmed them quickly, like touching something hot just to confirm it still burned.
Then I shifted to the right side. Procedural documentation near to an inch thick. Logs. Reports. Years of nothing. A final entry noting lack of actionable leads. But the top page was newer than the rest. The date alone was enough to make my pulse spike. Recent. Last year.
I read it once. Then again.
Evidence submitted. Digital media. Related to ongoing investigation.
My fingers tightened on the edge of the paper, and I all but stopped breathing.
Rios stilled beside me. “You didn’t know.” It wasn’t a question.
I looked up at him. “Know what?”
He didn’t answer. He just held my gaze, something raw and uneasy flickering there.
And in that moment, I understood the truth he hadn’t meant to reveal. He had context I didn’t. Did everyone?
The war room walls closed in just a fraction.
I looked back down at the page, at the proof that something had happened long after the rest of us had been told there was nothing left to find.
My voice came out steadier than I felt. “What is this, Rios?”
He didn’t look away. “It’s something you need to see.”
And suddenly I knew—whatever was on the other side of that explanation, nothing about Gwen was going to stay contained anymore.