(function () { var nav = document.getElementById('ecr-global-nav'); if (!nav) { return; } var button = nav.querySelector('.ecr-trigger'); var icon = nav.querySelector('.ecr-trigger-icon'); var links = nav.querySelectorAll('a'); /* ----------------------------- CLOSE MENU ----------------------------- */ function closeNav() { nav.classList.remove('open'); button.setAttribute( 'aria-expanded', 'false' ); button.setAttribute( 'aria-label', 'Open file index' ); icon.textContent = '☰'; } /* ----------------------------- OPEN MENU ----------------------------- */ function openNav() { nav.classList.add('open'); button.setAttribute( 'aria-expanded', 'true' ); button.setAttribute( 'aria-label', 'Close file index' ); icon.textContent = '×'; } /* ----------------------------- MENU BUTTON ----------------------------- */ button.addEventListener( 'click', function (event) { event.preventDefault(); event.stopPropagation(); if (nav.classList.contains('open')) { closeNav(); } else { openNav(); } } ); /* ----------------------------- CLOSE AFTER NAVIGATION ----------------------------- */ links.forEach(function (link) { link.addEventListener( 'click', function () { closeNav(); } ); }); /* ----------------------------- CLICK OUTSIDE TO CLOSE ----------------------------- */ document.addEventListener( 'click', function (event) { if ( nav.classList.contains('open') && !nav.contains(event.target) ) { closeNav(); } } ); /* ----------------------------- ESCAPE KEY TO CLOSE ----------------------------- */ document.addEventListener( 'keydown', function (event) { if (event.key === 'Escape') { closeNav(); } } ); /* ----------------------------- CLOSE IF HASH CHANGES ----------------------------- */ window.addEventListener( 'hashchange', function () { closeNav(); } ); })();

Some Called
Me Rue

The file remains open

An adult psychological horror novel set deep in the Missouri Ozarks, where the woods keep records—and paperwork remembers what people would rather forget.

Enter the File OZARK INTAKE RECORD // STATUS: OPEN
(function(){ var root = document.getElementById('file01-record'); if(!root){ return; } var button = root.querySelector('[data-open-file-index]'); if(!button){ return; } button.addEventListener('click',function(event){ event.preventDefault(); var nav = document.getElementById('ecr-global-nav'); if(!nav){ return; } var trigger = nav.querySelector('.ecr-trigger'); var icon = nav.querySelector('.ecr-trigger-icon'); nav.classList.add('open'); if(trigger){ trigger.setAttribute( 'aria-expanded', 'true' ); trigger.setAttribute( 'aria-label', 'Close file index' ); } if(icon){ icon.textContent='×'; } window.scrollTo({ top:0, behavior:'smooth' }); }); })();
OZARK INTAKE RECORD // FILE 01

Arthur “Ari”
Wexler

Subject record remains active

Arthur “Ari” Wexler came to the Ozarks to audit a treatment site. He expected bad records, worse explanations, and the familiar machinery of an institution trying to survive its own paperwork.

Instead, he finds a file that seems to know things before he does, woods governed by their own intake protocols, and a mountain that appears to have been wired for something no report acknowledges.

The deeper Ari investigates, the less certain he becomes that he is documenting what happened there—or that the record is documenting him.

His most reliable witness is Rue, a three-legged Miniature Schnauzer with little respect for procedure and considerably better instincts than the people responsible for keeping Ari alive.

NOTICE // This record is incomplete. Absence of documentation should not be interpreted as absence of occurrence.
(function(){ var root = document.getElementById('ari-record'); if(!root){ return; } var button = root.querySelector('[data-open-file-index]'); if(!button){ return; } button.addEventListener('click',function(event){ event.preventDefault(); var nav = document.getElementById('ecr-global-nav'); if(!nav){ return; } var trigger = nav.querySelector('.ecr-trigger'); var icon = nav.querySelector('.ecr-trigger-icon'); nav.classList.add('open'); if(trigger){ trigger.setAttribute( 'aria-expanded', 'true' ); trigger.setAttribute( 'aria-label', 'Close file index' ); } if(icon){ icon.textContent='×'; } window.scrollTo({ top:0, behavior:'smooth' }); }); })();
MASTER RECORD // SC-01

SOME CALLED
ME RUE

Manuscript record remains open

In the Missouri Ozarks, paperwork doesn't simply record what happened. Sometimes, it decides what happened.

Arthur “Ari” Wexler arrives at an isolated treatment site expecting an audit: missing records, institutional evasions, and the ordinary bureaucratic violence of systems built to protect themselves.

What he finds is harder to document. Files contain information they shouldn't know. The woods seem to operate by intake protocols of their own. Somewhere beneath the mountain, something has been wired, catalogued, and kept deliberately outside the official record.

As Ari follows the paper trail, the distinction between auditor, witness, and subject begins to collapse. His memory becomes unreliable. The people around him become less trustworthy. And the file keeps growing.

Through it all is Rue—a three-legged Miniature Schnauzer, judgmental little menace, and perhaps the only witness whose version of events Ari can still trust.

SOME CALLED ME RUE is adult psychological horror rooted in emotional interiority, slow-burn dread, and the particular terror of discovering that the system responsible for documenting reality may also be rewriting it.

ACCESS NOTE // Materials concerning representation, rights, or manuscript requests may be obtained through the author contact record.
Request File Access
(function(){ var root = document.getElementById('book-record'); if(!root){ return; } var button = root.querySelector('[data-open-file-index]'); if(!button){ return; } button.addEventListener('click',function(event){ event.preventDefault(); var nav = document.getElementById('ecr-global-nav'); if(!nav){ return; } var trigger = nav.querySelector('.ecr-trigger'); var icon = nav.querySelector('.ecr-trigger-icon'); nav.classList.add('open'); if(trigger){ trigger.setAttribute( 'aria-expanded', 'true' ); trigger.setAttribute( 'aria-label', 'Close file index' ); } if(icon){ icon.textContent='×'; } window.scrollTo({ top:0, behavior:'smooth' }); }); })();
Rue — photographic evidence W-01
Witness Record // W-01

RUE

Survival status confirmed

Three legs. One reliable witness.
Absolutely no respect for institutional procedure.

Rue is a Miniature Schnauzer and Ari Wexler's most consistent companion throughout the events contained in this record.

Where human testimony changes, Rue's behavior does not. She reacts to people Ari trusts. Refuses spaces he believes are safe. Notices what he misses. And repeatedly responds to threats before the available evidence suggests any threat exists.

Whether this makes Rue a reliable witness, an unusually perceptive dog, or something the official record is unequipped to classify remains unresolved.

When Ari's memory fails him, Rue remembers.

NameRue
SpeciesCanis familiaris
BreedMiniature Schnauzer
MobilityThree-legged
ReliabilityHigh / Officially Disputed
Survival StatusCONFIRMED
Handler's note // Subject has demonstrated repeated resistance to containment, questioning, and being told where she may sit. No corrective action is recommended.
(function(){ var root = document.getElementById('witness-record'); if(!root){ return; } var button = root.querySelector('[data-open-file-index]'); if(!button){ return; } button.addEventListener('click',function(event){ event.preventDefault(); var nav = document.getElementById('ecr-global-nav'); if(!nav){ return; } var trigger = nav.querySelector('.ecr-trigger'); var icon = nav.querySelector('.ecr-trigger-icon'); nav.classList.add('open'); if(trigger){ trigger.setAttribute( 'aria-expanded', 'true' ); trigger.setAttribute( 'aria-label', 'Close file index' ); } if(icon){ icon.textContent='×'; } window.scrollTo({ top:0, behavior:'smooth' }); }); })();
BETA ACCESS // APPLICANT RECORD

Identify the requesting reader.

ACCESS PENDING REVIEW

Beta access to Some Called Me Rue is limited. Complete the applicant record below for consideration. Selected readers will receive a confidentiality agreement before manuscript access is issued.

SECTION 01 // APPLICANT RECORD

Reader identification

SECTION 02 // READER PROFILE

Establish reading history.

SECTION 03 // APPLICANT ACKNOWLEDGMENT

Acknowledge the record.

SUBMISSION CREATES AN APPLICANT RECORD. MANUSCRIPT ACCESS IS NOT AUTOMATIC.

APPLICATION RECEIVED // RECORD CREATED

Request entered into the file.

STATUS // PENDING REVIEW

Your beta access request has been received. Selected readers will receive further instructions at the email address provided.

Manuscript access remains pending until the record is complete.

RECORD BETA ACCESS APPLICATION
DISPOSITION PENDING REVIEW
NOTICE // SUBMISSION HAS BEEN RECORDED. NO FURTHER ACTION IS REQUIRED AT THIS TIME.
(function () { /* ACCESS FORM */ const form = document.getElementById('ecr-access-form'); const application = document.getElementById('ecr-access'); const success = document.getElementById('ecr-access-success'); const submitButton = document.getElementById('ac-submit'); const errorBox = document.getElementById('ac-error'); if ( form && application && success && submitButton && errorBox ) { form.addEventListener( 'submit', async function (event) { event.preventDefault(); if (!form.checkValidity()) { form.reportValidity(); return; } errorBox.classList.remove('visible'); const originalText = submitButton.textContent; submitButton.disabled = true; submitButton.textContent = 'CREATING RECORD...'; try { const response = await fetch( form.action, { method: 'POST', body: new FormData(form), headers: { 'Accept': 'application/json' } } ); if (!response.ok) { throw new Error( 'Submission failed.' ); } application.style.display = 'none'; success.classList.add( 'visible' ); success.scrollIntoView({ behavior: 'smooth', block: 'start' }); form.reset(); } catch (error) { submitButton.disabled = false; submitButton.textContent = originalText; errorBox.classList.add( 'visible' ); } } ); } /* FILE INDEX */ const indexButtons = document.querySelectorAll( '[data-open-file-index]' ); indexButtons.forEach( function (button) { button.addEventListener( 'click', function (event) { event.preventDefault(); const nav = document.getElementById( 'ecr-global-nav' ); if (!nav) return; const trigger = nav.querySelector( '.ecr-trigger' ); const icon = nav.querySelector( '.ecr-trigger-icon' ); nav.classList.add('open'); if (trigger) { trigger.setAttribute( 'aria-expanded', 'true' ); trigger.setAttribute( 'aria-label', 'Close file index' ); } if (icon) { icon.textContent = '×'; } window.scrollTo({ top: 0, behavior: 'smooth' }); } ); } ); })();
REFERRAL RECORD // PROSPECTIVE WITNESS

Someone else should see this file.

IDENTIFICATION REQUESTED

You found the record. Now identify someone who should find it next. Submit their information below and they may be invited to review Some Called Me Rue and decide whether to request beta access.

SECTION 01 // REFERRING WITNESS

Identify yourself.

SECTION 02 // PROSPECTIVE WITNESS

Identify the reader.

SECTION 03 // REFERRAL ACKNOWLEDGMENT

Authorize the referral.

SUBMISSION IDENTIFIES A PROSPECTIVE READER. ACCESS IS NEVER AUTOMATICALLY GRANTED.

REFERRAL RECEIVED // WITNESS IDENTIFIED

Their name has been added to the file.

STATUS // INVITATION PENDING

The referral has been recorded. If selected for outreach, the prospective reader may receive an invitation to review the record and decide whether to request beta access.

No manuscript materials have been issued and no action is required from you at this time.

RECORDPROSPECTIVE READER REFERRAL
DISPOSITIONINVITATION PENDING
NOTICE // IDENTIFICATION DOES NOT CONSTITUTE ENROLLMENT, SELECTION, OR MANUSCRIPT ACCESS.
(function () { const form = document.getElementById('ecr-refer-form'); const referral = document.getElementById('ecr-refer'); const success = document.getElementById('ecr-refer-success'); const submitButton = document.getElementById('rr-submit'); const errorBox = document.getElementById('rr-error'); if ( form && referral && success && submitButton && errorBox ) { form.addEventListener( 'submit', async function (event) { event.preventDefault(); if (!form.checkValidity()) { form.reportValidity(); return; } errorBox.classList.remove('visible'); const originalButtonText = submitButton.textContent; submitButton.disabled = true; submitButton.textContent = 'CREATING REFERRAL RECORD...'; try { const response = await fetch( form.action, { method: 'POST', body: new FormData(form), headers: { 'Accept': 'application/json' } } ); if (!response.ok) { throw new Error( 'Formspree submission failed.' ); } referral.style.display = 'none'; success.classList.add('visible'); success.scrollIntoView({ behavior: 'smooth', block: 'start' }); form.reset(); } catch (error) { submitButton.disabled = false; submitButton.textContent = originalButtonText; errorBox.classList.add('visible'); } } ); } /* GLOBAL FILE INDEX */ const indexButtons = document.querySelectorAll( '[data-open-file-index]' ); indexButtons.forEach( function (button) { button.addEventListener( 'click', function (event) { event.preventDefault(); const nav = document.getElementById( 'ecr-global-nav' ); if (!nav) { return; } const trigger = nav.querySelector('.ecr-trigger'); const icon = nav.querySelector('.ecr-trigger-icon'); nav.classList.add('open'); if (trigger) { trigger.setAttribute( 'aria-expanded', 'true' ); trigger.setAttribute( 'aria-label', 'Close file index' ); } if (icon) { icon.textContent = '×'; } window.scrollTo({ top: 0, behavior: 'smooth' }); } ); } ); })();
BETA READER RECORD // FINAL REPORT

Enter your findings into the record.

STATUS // REPORT PENDING

You have finished Some Called Me Rue. Now I want the useful version—not the polite one. Tell me what worked, what dragged, what confused you, and what followed you out of the woods.

SECTION 01 // READER IDENTIFICATION

Identify the witness.

SECTION 02 // READER FINDINGS

Establish the reading record.

SECTION 03 // REPORT CERTIFICATION

Close the reading record.

SUBMISSION ENTERS THIS REPORT INTO THE BETA READER RECORD.
READER RECORD // REPORT RECEIVED

Rue has released the evidence.

COMPENSATION RECORD // ELIGIBLE

Your beta reader report has been entered into the file. As a thank-you for making it through the woods, you may now submit a fulfillment record for an ECR Greyhart reader swag bag.

READER REPORT RECEIVED
SWAG STATUS ELIGIBLE TO CLAIM
SECTION 04 // FULFILLMENT RECORD

Identify the recipient.

SECTION 05 // FULFILLMENT AUTHORIZATION

Release the package.

SHIPPING INFORMATION IS SUBMITTED ONLY FOR READER SWAG FULFILLMENT.
FINAL DISPOSITION // FILE CLOSED

Your record is complete.

STATUS // CLOSED

Your reader report has been received and your Rue swag fulfillment request has been entered into the record.

You made it through the woods, survived the paperwork, and left the file better than you found it.

BETA READER REPORT FILED
RUE SWAG FULFILLMENT PENDING
Handler's note // Rue acknowledges your cooperation. She remains unwilling to acknowledge anyone else's authority.
RECORD COMPLETE // NO FURTHER ACTION IS REQUIRED.
(function () { /* ======================================================= HELPERS ======================================================= */ function showError(box) { if (box) { box.classList.add('visible'); } } function clearError(box) { if (box) { box.classList.remove('visible'); } } function scrollToStage(element) { if (!element) { return; } setTimeout(function () { element.scrollIntoView({ behavior: 'smooth', block: 'start' }); }, 100); } /* ======================================================= ELEMENTS // FEEDBACK ======================================================= */ var feedbackForm = document.getElementById('ecr-feedback-form'); var feedbackStage = document.getElementById('ecr-feedback-stage'); var feedbackSubmit = document.getElementById('ecr-feedback-submit'); var feedbackError = document.getElementById('ecr-feedback-error'); var readerName = document.getElementById('ef-reader-name'); var readerEmail = document.getElementById('ef-reader-email'); /* ======================================================= ELEMENTS // SWAG ======================================================= */ var swagStage = document.getElementById('ecr-swag-stage'); var swagForm = document.getElementById('ecr-swag-form'); var swagSubmit = document.getElementById('ecr-swag-submit'); var swagError = document.getElementById('ecr-swag-error'); var swagName = document.getElementById('ecr-swag-name'); var swagEmail = document.getElementById('ecr-swag-email'); var linkedReader = document.getElementById('ecr-linked-reader'); var linkedEmail = document.getElementById('ecr-linked-email'); /* ======================================================= ELEMENTS // CLOSED ======================================================= */ var closedStage = document.getElementById('ecr-closed-stage'); /* ======================================================= STAGE 1 FEEDBACK → FORMSPREE → UNLOCK SWAG ======================================================= */ if ( feedbackForm && feedbackStage && feedbackSubmit && swagStage ) { feedbackForm.addEventListener( 'submit', async function (event) { event.preventDefault(); if (!feedbackForm.checkValidity()) { feedbackForm.reportValidity(); return; } clearError(feedbackError); var originalButtonText = feedbackSubmit.textContent; feedbackSubmit.disabled = true; feedbackSubmit.textContent = 'FILING READER REPORT...'; /* * Save identity before resetting Feedback. */ var capturedName = readerName ? readerName.value.trim() : ''; var capturedEmail = readerEmail ? readerEmail.value.trim() : ''; try { var response = await fetch( feedbackForm.action, { method: 'POST', body: new FormData(feedbackForm), headers: { 'Accept': 'application/json' } } ); if (!response.ok) { throw new Error( 'Feedback submission failed.' ); } /* * Link the Swag record back to * the Beta Reader record. */ if (linkedReader) { linkedReader.value = capturedName; } if (linkedEmail) { linkedEmail.value = capturedEmail; } /* * Pre-fill visible recipient information. */ if (swagName) { swagName.value = capturedName; } if (swagEmail) { swagEmail.value = capturedEmail; } /* * Hide Feedback. * Reveal Rue Swag. */ feedbackStage.style.display = 'none'; swagStage.classList.add('visible'); /* * Feedback data is already safely * submitted, so clear the old form. */ feedbackForm.reset(); scrollToStage(swagStage); } catch (error) { feedbackSubmit.disabled = false; feedbackSubmit.textContent = originalButtonText; showError(feedbackError); } } ); } /* ======================================================= STAGE 2 SWAG → FORMSPREE → FILE CLOSED ======================================================= */ if ( swagForm && swagStage && swagSubmit && closedStage ) { swagForm.addEventListener( 'submit', async function (event) { event.preventDefault(); if (!swagForm.checkValidity()) { swagForm.reportValidity(); return; } clearError(swagError); var originalButtonText = swagSubmit.textContent; swagSubmit.disabled = true; swagSubmit.textContent = 'CREATING FULFILLMENT RECORD...'; try { var response = await fetch( swagForm.action, { method: 'POST', body: new FormData(swagForm), headers: { 'Accept': 'application/json' } } ); if (!response.ok) { throw new Error( 'Swag submission failed.' ); } /* * Hide Swag. * Reveal final record. */ swagStage.classList.remove('visible'); swagStage.style.display = 'none'; closedStage.classList.add('visible'); /* * Submission has succeeded. */ swagForm.reset(); scrollToStage(closedStage); } catch (error) { swagSubmit.disabled = false; swagSubmit.textContent = originalButtonText; showError(swagError); } } ); } /* ======================================================= GLOBAL FILE INDEX ======================================================= */ var indexButtons = document.querySelectorAll( '[data-open-file-index]' ); indexButtons.forEach( function (button) { button.addEventListener( 'click', function (event) { event.preventDefault(); var nav = document.getElementById( 'ecr-global-nav' ); if (!nav) { return; } var trigger = nav.querySelector( '.ecr-trigger' ); var icon = nav.querySelector( '.ecr-trigger-icon' ); nav.classList.add('open'); if (trigger) { trigger.setAttribute( 'aria-expanded', 'true' ); trigger.setAttribute( 'aria-label', 'Close file index' ); } if (icon) { icon.textContent = '×'; } window.scrollTo({ top: 0, behavior: 'smooth' }); } ); } ); })();
FIELD BULLETIN // ECR GREYHART

Keep your name in the file.

DISPATCH LIST // OPEN

Publication updates. New work. Reader opportunities. Occasional evidence from the woods.

No constant dispatches. Just the things worth opening.

YOUR INFORMATION IS USED FOR ECR GREYHART EMAIL UPDATES. YOU MAY REMOVE YOURSELF FROM THE RECORD AT ANY TIME.
RECORD UPDATED // SUBSCRIBED

You're in the file.

DISPATCH STATUS // ACTIVE

Your email address has been entered into the ECR Greyhart dispatch record.

Future publication news, reader opportunities, and other evidence worth opening will find you there.

RECORD READER DISPATCH LIST
STATUS ACTIVE
Rue has been notified. Rue did not ask to be notified.
(function () { var form = document.getElementById('up-form'); var signup = document.getElementById('up-signup'); var success = document.getElementById('up-success'); var submit = document.getElementById('up-submit'); var errorBox = document.getElementById('up-error'); if (form && signup && success && submit && errorBox) { form.addEventListener('submit', async function (event) { event.preventDefault(); if (!form.checkValidity()) { form.reportValidity(); return; } errorBox.classList.remove('visible'); var originalText = submit.textContent; submit.disabled = true; submit.textContent = 'UPDATING RECORD...'; try { var response = await fetch(form.action, { method: 'POST', body: new FormData(form), headers: { 'Accept': 'application/json' } }); if (!response.ok) { throw new Error('Mailing list submission failed.'); } signup.style.display = 'none'; success.classList.add('visible'); success.scrollIntoView({ behavior: 'smooth', block: 'start' }); form.reset(); } catch (err) { submit.disabled = false; submit.textContent = originalText; errorBox.classList.add('visible'); } }); } /* ========================================================= GLOBAL FILE INDEX ========================================================= */ var indexButtons = document.querySelectorAll('[data-open-file-index]'); indexButtons.forEach(function (button) { button.addEventListener('click', function (event) { event.preventDefault(); var nav = document.getElementById('ecr-global-nav'); if (!nav) { return; } var trigger = nav.querySelector('.ecr-trigger'); var icon = nav.querySelector('.ecr-trigger-icon'); nav.classList.add('open'); if (trigger) { trigger.setAttribute( 'aria-expanded', 'true' ); trigger.setAttribute( 'aria-label', 'Close file index' ); } if (icon) { icon.textContent = '×'; } window.scrollTo({ top: 0, behavior: 'smooth' }); }); }); })();
CORRESPONDENCE RECORD // ECR GREYHART

Enter correspondence into the record.

INQUIRIES ACCEPTED

For representation, rights, publishing, media, professional correspondence, reader correspondence, or other inquiries concerning ECR Greyhart and Some Called Me Rue, submit the record below.

SECTION 01 // CORRESPONDENT

Identify the sender.

SECTION 02 // CORRESPONDENCE

Enter the message.

SUBMISSION CREATES A CORRESPONDENCE RECORD. RESPONSE TIMES MAY VARY BY INQUIRY.

CORRESPONDENCE RECEIVED // RECORD CREATED

Your message has entered the file.

STATUS // RECEIVED

Your correspondence has been received by ECR Greyhart. If a response is required, it will be sent to the email address provided.

RECORD AUTHOR CORRESPONDENCE
DISPOSITION RECEIVED
NOTICE // RECEIPT CONFIRMS DELIVERY OF CORRESPONDENCE. IT DOES NOT CONSTITUTE ACCEPTANCE OF ANY PROPOSAL, REQUEST, OR SUBMISSION.
(function () { /* ===================================================== CONTACT FORM SUBMISSION ===================================================== */ const form = document.getElementById('ecr-contact-form'); const contact = document.getElementById('ecr-contact'); const success = document.getElementById('ecr-contact-success'); const submitButton = document.getElementById('ct-submit'); const errorBox = document.getElementById('ct-form-error'); if ( form && contact && success && submitButton && errorBox ) { form.addEventListener( 'submit', async function (event) { event.preventDefault(); if (!form.checkValidity()) { form.reportValidity(); return; } errorBox.classList.remove('visible'); const originalButtonText = submitButton.textContent; submitButton.disabled = true; submitButton.textContent = 'FILING CORRESPONDENCE...'; try { const response = await fetch( form.action, { method: 'POST', body: new FormData(form), headers: { 'Accept': 'application/json' } } ); if (!response.ok) { throw new Error( 'Formspree submission failed.' ); } contact.style.display = 'none'; success.classList.add('visible'); success.scrollIntoView({ behavior: 'smooth', block: 'start' }); form.reset(); } catch (error) { submitButton.disabled = false; submitButton.textContent = originalButtonText; errorBox.classList.add('visible'); } } ); } /* ===================================================== GLOBAL FILE INDEX ===================================================== */ const indexButtons = document.querySelectorAll( '[data-open-file-index]' ); indexButtons.forEach( function (button) { button.addEventListener( 'click', function (event) { event.preventDefault(); const nav = document.getElementById( 'ecr-global-nav' ); if (!nav) { return; } const trigger = nav.querySelector( '.ecr-trigger' ); const icon = nav.querySelector( '.ecr-trigger-icon' ); nav.classList.add('open'); if (trigger) { trigger.setAttribute( 'aria-expanded', 'true' ); trigger.setAttribute( 'aria-label', 'Close file index' ); } if (icon) { icon.textContent = '×'; } window.scrollTo({ top: 0, behavior: 'smooth' }); } ); } ); })();
Personnel Record // Author of File 01

ECR
Greyhart

Record custodian

ECR Greyhart writes psychological horror from the Missouri Ozarks, where institutions have long memories, paperwork carries consequences, and the familiar is usually the first thing to turn strange.

After nearly two decades working inside hospital administration and veteran systems, Greyhart knows the particular dread of a record that outlives the person it was meant to describe.

Some Called Me Rue turns that machinery toward horror: an auditor, an impossible file, a mountain with its own intake protocols, and one judgmental little dog who may be the most reliable witness in the building.

NOTICE // FICTIONAL RECORDS MAY CONTAIN TRACES OF REAL BUREAUCRACY.
(function(){ var buttons = document.querySelectorAll( '.author-index[data-open-file-index]' ); buttons.forEach(function(button){ button.addEventListener( 'click', function(event){ event.preventDefault(); var nav = document.getElementById( 'ecr-global-nav' ); if(!nav){ return; } var trigger = nav.querySelector( '.ecr-trigger' ); var icon = nav.querySelector( '.ecr-trigger-icon' ); nav.classList.add('open'); if(trigger){ trigger.setAttribute( 'aria-expanded', 'true' ); trigger.setAttribute( 'aria-label', 'Close file index' ); } if(icon){ icon.textContent='×'; } window.scrollTo({ top:0, behavior:'smooth' }); }); }); })();