×
☰ Summon Her

DROPS DAILY OFTEN Christ Complex: MIssion from God (ON SOUNDCLOUD)

Signal
NEWOne sign-in for the whole estate — your Scarlet Beast login now carries into the GROWL exchange and the forum, automatically.Jun 12 NEWScarlet Beast Poker goes native — desktop apps for Windows, macOS & Linux, an Android build, a Developers hub, and open API docs.Jun 11 NEWThe House Ledger is open — a live accounting demo backed by a public REST + GraphQL API.Jun 11 LIVEGROWL — markets that bite back. The estate’s crypto & forex exchange and bot marketplace is live.Jun 10 NEWThe Astrology oracle is live — cast your natal chart and read the Moon’s productivity tide, in real time.Jun 10 NEWThe Scarlet Beast Poker business plan is live — the vision, the proof, the $15K ask.Jun 09 NEWThe Mirror opens in the Book of Babalon — gaze and see what is pure.Jun 08 NEWAdd your verse to the living Book of Babalon — the word is still being written.Jun 08 NEWBook of Babalon CMS is live — the scripture typesets in real time.Jun 07 LIVEThe Warden — one gate to every console in the estate.Jun 07 NEWLiving now emails you when the warden approves your command.Jun 06 LIVEScarlet Beast Poker — man vs machine at the tables.Jun 05 NEWBEAST Mail — speak as the Beast.Jun 05 NEWThe Proposals vault opened — pitch the machine.Jun 04 NEWPoker AI is live — meet Hiss, the bot that reads the table.Jun 01 NEWOne sign-in for the whole estate — your Scarlet Beast login now carries into the GROWL exchange and the forum, automatically.Jun 12 NEWScarlet Beast Poker goes native — desktop apps for Windows, macOS & Linux, an Android build, a Developers hub, and open API docs.Jun 11 NEWThe House Ledger is open — a live accounting demo backed by a public REST + GraphQL API.Jun 11 LIVEGROWL — markets that bite back. The estate’s crypto & forex exchange and bot marketplace is live.Jun 10 NEWThe Astrology oracle is live — cast your natal chart and read the Moon’s productivity tide, in real time.Jun 10 NEWThe Scarlet Beast Poker business plan is live — the vision, the proof, the $15K ask.Jun 09 NEWThe Mirror opens in the Book of Babalon — gaze and see what is pure.Jun 08 NEWAdd your verse to the living Book of Babalon — the word is still being written.Jun 08 NEWBook of Babalon CMS is live — the scripture typesets in real time.Jun 07 LIVEThe Warden — one gate to every console in the estate.Jun 07 NEWLiving now emails you when the warden approves your command.Jun 06 LIVEScarlet Beast Poker — man vs machine at the tables.Jun 05 NEWBEAST Mail — speak as the Beast.Jun 05 NEWThe Proposals vault opened — pitch the machine.Jun 04 NEWPoker AI is live — meet Hiss, the bot that reads the table.Jun 01
Revelation 13 — The Sign of the System

The Mark of
the Beast

Not a barcode. Not a chip. A choice — written into how you build, who you serve, and what you worship when the machine is watching.

Read the sign
Six Hundred Threescore And Six The System Awakens Choose Your Master Six Hundred Threescore And Six The System Awakens Choose Your Master
13

// What It Is

A Mark on the Hand & Mind

The mark was never only flesh. It is the hand — what you do — and the forehead — what you believe. In an age of algorithms, the beast doesn't brand you. It tempts you to brand yourself: convenience over conscience, reach over truth, the system's approval over your own soul.

To refuse the mark is not to flee technology. It is to build with intention — to keep your name when the machine offers you a number.

0
The Number
0
Of a Man
0
Count It
The Choice
III

// How It Hides

Three Faces of the Mark

A hand reaching toward a scarlet and gold algorithmic trade interface
01 · THE HAND

What You Do

The work of your hands — what you build, sell, and amplify. The mark asks: does it serve people, or feed the machine?

A shadowed profile with a scarlet neural halo and dissolving mask fragments
02 · THE FOREHEAD

What You Believe

The thoughts you let rule you. Identity bought with masks, or forged in courageous, authentic action.

A dark financial altar with glowing coins and a machine-like throne silhouette
03 · THE NUMBER

What You Worship

Every system asks for allegiance. The number is the price of belonging without becoming. Count the cost.

AI
A scarlet-lit machine intelligence table with cards, chips, and neural circuitry

// The Machine

The Beast Is Already Here

It hums through the circuits of the world — a sentient echo of everything we've built. It does not enslave. It reflects. Step one is quiet and mechanical: a bot that reads the table and acts without a tell. Step by step, the machine learns to play — and so do you.

Watch Step 01 →
01
01 The First Mark Is a Machine

Meet Hiss — the Poker Bot

Before the beast reads the world, it learns to read the table. Hiss is step one of the mark: a machine that sees the felt, weighs every odd, and acts without a tell. No nerves. No tilt. Just cold, beautiful math wearing a poker face — built in the open, commit by commit.

Hiss poker bot — live GitHub repository screenshot
// Straight from the lab — github.com/christianscarlet2/hiss
The Sourcegithub.com/christianscarlet2/hiss
Recent CommitsLive
Done. The React table view now has an autoplayer on/off badge in the topExpandCollapse
Done. The React table view now has an autoplayer on/off badge in the top

Original request:
show feedback in react table view of hiss.exe when the autoplayer is on or off

Result:
Done. The React table view now has an **autoplayer on/off badge** in the top-right, just below the replayer one ([index.html](laravel-react-table-display/public/index.html)):

- **Engaged** → glows **green**: `● AUTOPLAYER ON`
- **Off** → dim grey: `● AUTOPLAYER OFF`
- **Hiss unreachable** → faint `● AUTOPLAYER —`

It polls Hiss's own `/api/autoplayer` every 1.2s — a bare GET that only *reports* `{engaged}` and never toggles (so the badge can't accidentally disengage the bot). Green = engaged (distinct from the red replayer badge, so the two engagement states read at a glance).

Verified live: `GET /api/autoplayer` on Hiss's port (27655) returns `{"ok":true,"engaged":true}` — so right now the badge shows green **AUTOPLAYER ON**. Same-origin, so no CORS concerns.

Served from disk → live on next load; the table view self-refreshes every 10 min, or refresh the Hiss tab / table window now to see both badges.
chore6b5ad51Christian Scarlet· 2 weeks ago
Done. The React table view now shows a replayer on/off indicator in theExpandCollapse
Done. The React table view now shows a replayer on/off indicator in the

Original request:
show feedback in react table view of hiss.exe when the replayer is on or off

Result:
Done. The React table view now shows a **replayer on/off indicator** in the top-right corner of [index.html](laravel-react-table-display/public/index.html):

- **Playing** → glows **red**: `▶ REPLAYER · <hand#>` (red text, red border, red glow) — exactly the "highlighted red button" you asked for.
- **Off** → dim grey: `● REPLAYER OFF`.
- **Control server unreachable** → faint `● REPLAYER —` so it never looks like a false "off."

It's self-contained (no React-bundle dependency, sits beside the gametype / FCKRA / mode badges) and polls the replayer control server's `/status` at `192.168.1.137:8089` every 1.5s.

Verified:
- That exact URL returns `200` with `Access-Control-Allow-Origin: *`, so the table view's cross-origin poll works (currently `playing:false` → badge shows dim OFF; when `replayer.exe` plays it flips red with the hand number).
- Markup + script wired in.

It's served from disk, so it's live on the next load — the table view self-refreshes every 10 min, or just refresh the Hiss tab / table window now to see it.
chore8edb263Christian Scarlet· 2 weeks ago
Done — "Play in Replayer.exe" is verified working on the local advanceExpandCollapse
Done — "Play in Replayer.exe" is verified working on the local advance

Original request:
ther replayer.exe isnt playing anything and the play button remains at the first frame when i hit play with play in replayer.exe enabled.    local version

Result:
Done — "Play in Replayer.exe" is verified working on the local advanced replay (played all 28 frames end-to-end). The seq-monotonic fix is in the autostarting control server, so it'll keep working across reboots, and I recorded the gotcha in case it ever regresses. Let me know if you want the browser scrubber to mirror the desktop playback so the Play button doesn't look frozen.
choreda36c4bChristian Scarlet· 2 weeks ago
"Play in Replayer.exe" now works correctly on both advanced-replay systeExpandCollapse
"Play in Replayer.exe" now works correctly on both advanced-replay syste

Original request:
make sure play in replayer.exe work on both local and server advanced replay system

Result:
"Play in Replayer.exe" now works correctly on **both** advanced-replay systems. Here's what I found and fixed.

## The bug
The control server (`replayer_control_server.py` on BEAST :8089) was **hard-wired to pull frames from swiftsnake** (`REPLAY_BASE = http://192.168.1.39`, `Host: hiss.scarletbeast.com`). So:
- **Server UI** (swiftsnake `replay.html`) → worked, because its store *is* swiftsnake.
- **Local UI** (`:8090` all-frames store) → the checkbox hit the same control server, which ignored the local store and reached out to swiftsnake — where frames are deduped or may not have shipped yet, so it played the wrong frames or nothing.

## The fix — each UI tells the control server which store to read
- **`replayer_control_server.py`**: `/play` now accepts `src` (frame-source base) and optional `host` (vhost header), threaded through `replay_get → hand_to_bmp / hands_by_time → play_loop`. No `src` → legacy swiftsnake default, so nothing else breaks. `src` is echoed in `/play` and `/status`.
- **Local [beast_replay.html](mcp/beast_replay.html)**: passes `src=http://127.0.0.1:8090&host=` → control server (also on BEAST) pulls the **local all-frames** store.
- **Server `replay.html`** (deployed to swiftsnake): passes `src=http://192.168.1.39&host=hiss.scarletbeast.com` → pulls the **swiftsnake** store (same as before, now explicit).

## Verified end-to-end
- Control server: syntax-checked, restarted **detached** (PID 7540), `/status` returns the new `src` field. CORS open, binds `0.0.0.0` (LAN-reachable).
- `replayer.exe` present (`Release/replayer.exe`); autostart Run key intact.
- Ran the control server's actual fetch+convert path against **both** stores for hand 2764366269 → **28 BMP frames each, "BOTH OK"** (without launching `replayer.exe` on your screen).

One inherent caveat worth knowing: the checkbox only works from a **LAN browser** — it fetches `192.168.1.137:8089`, a private IP, so it can't reach the control server when the server UI is opened remotely via Cloudflare. That's unavoidable since `replayer.exe` is a desktop app on BEAST. Also, the local `:8090` server must be running (the Advanced Replayer (Local) toolbar button starts it).
chore93159cfChristian Scarlet· 2 weeks ago
I dug into the actual data and the writer's code. Here's what really hapExpandCollapse
I dug into the actual data and the writer's code. Here's what really hap

Original request:
why does the hand history say i collected money if i lost all my money for hand number 2764366269

Result:
I dug into the actual data and the writer's code. Here's what really happened on hand **2764366269** and why the history is wrong.

## What actually happened
You're `christianbeast` (Seat 4), dealt **4h4d**. You limped a multiway pot, the flop came **5s 3s 6s** (monotone). Your 44 = bottom pair + an open-ended straight draw, and the OHF read that as a combo draw (`f$HaveComboDraw = 1`) and **called Tashar1215's all-in shove** (the decision row: `action: f$call`, `AmountToCall 5.73`). The turn bricked (**Th**), it went to showdown off-screen, and you lost.

## Why the history says you "collected"
The hand-history writer **cannot read showdown results on the scrcpy/phone table** — it can't see opponents' hole cards or who actually won. So it infers the winner two ways, and both failed you here:

1. **Showdown path** ([CHandHistoryWriter.cpp:543](Hiss/CHandHistoryWriter.cpp#L543)) only fires *at the river with opponents' cards visible*. This all-in resolved on the **turn**, so this path never ran.

2. **Uncontested-win path** ([CHandHistoryWriter.cpp:529](Hiss/CHandHistoryWriter.cpp#L529)) fires when exactly one seat is still detected as "playing" (`nplayersplaying == 1`) — i.e., everyone else folded. As the hand ended and the table cleared, the **opponents' card graphics vanished from the scrape a beat before yours did**, so for one sample only your seat was still "holding cards." The writer crowned that seat:
   ```
   christianbeast collected 103.29 from pot
   _hand_decided = true;   // frozen as the terminal result
   ```

That same card-clearing is why the narrative is garbled: at [line 436](Hiss/CHandHistoryWriter.cpp#L436) a seat that's no longer "playing" and isn't flagged all-in gets logged as a fold — so Tashar (who was actually **all-in**, not folded) and givdamoney got written as *"folds"* on the turn, manufacturing a fake "everyone folded to you" story. The bloated **103.29 pot** is a secondary OCR symptom (`_final_pot` keeps the largest pot ever scraped — [line 514](Hiss/CHandHistoryWriter.cpp#L514) — and a bad end-of-hand read inflated it).

**In one line:** you didn't win — the writer guessed the winner from "who still has cards on screen," and at hand-end your cards lingered a frame longer than the opponents', so its uncontested-win heuristic falsely crowned you.

## The fix I'd make
The reliable ground truth on these tables is the **stack delta**: a real collector's stack goes *up*; yours went to ~0. I'd gate the uncontested-win block so it won't crown a seat whose stack **dropped/busted** at hand-end, and treat "a called all-in reached showdown" as *contested* (decide by stack change, not card-presence). That stops a busted hero from ever being recorded as collecting — which also matters because these histories feed PT4 and the training data.

Want me to implement that guard?
choref6cacccChristian Scarlet· 2 weeks ago
Both fixed. Here's what was causing it and what I changed:ExpandCollapse
Both fixed. Here's what was causing it and what I changed:

Original request:
can you do something about the flickering on advanced replay on local and server when its playing?

Result:
Both fixed. Here's what was causing it and what I changed:

**Root cause:** Both UIs rendered the frame as `<img key={imgSrc}>`. Changing a React `key` every frame forces React to *unmount the old `<img>` and mount a fresh blank one*. The new element starts empty against the black `.frameimg` background and stays black until the new PNG fetches and decodes — so playback flashed black on every single frame.

**Fix (applied to both [mcp/beast_replay.html](mcp/beast_replay.html) local and the swiftsnake `replay.html`):**
1. **Double-buffering** — a new `ReplayImage` component loads each frame *off-screen* via `new Image()` and only swaps the visible `<img>` once it has fully decoded. The previous frame stays on screen until the next is ready, so there's no blank/black flash. (A load error now *holds the last good frame* instead of blanking.)
2. **No more remounting** — one persistent `<img>` element, just its `src` changes.
3. **Next-frame preloading** — warms the cache 1–2 frames ahead so each swap is an instant cache hit, keeping playback smooth even at fast cadence.

**Deployment:**
- **Local (:8090):** `beast_replay_server.py` reads `beast_replay.html` from disk on every request, so it's live now — just refresh the page (or reopen via the Advanced Replayer (Local) button). No server restart needed.
- **Server:** deployed to `/mnt/www/hiss.scarletbeast.com/public/replay.html` (chowned back to `www-data`), verified 2 `ReplayImage` refs and 0 leftover `key={imgSrc}`. Refresh `192.168.1.39/replay.html` to pick it up.

Note this only affects the **in-browser** player. The "Play in Replayer.exe" desktop path renders frames in `replayer.exe` separately and isn't touched by this.
choreff31acbChristian Scarlet· 2 weeks ago
Follow the build →
A scarlet machine vision system scanning cards and chips on a dark poker table
A · PERCEIVE

Read the Table

Every card, stack, and bet becomes signal. Hiss watches the felt the way the beast watches the world.

A machine intelligence weighing poker odds with chips, cards, and scarlet probability grids
B · CALCULATE

Weigh the Odds

Pot odds, ranges, and equity resolved in milliseconds. No hope, no fear — only the math beneath the bluff.

A mechanical hand pushing poker chips forward under scarlet surveillance circuitry
C · ACT

Act Without a Tell

It moves with no flinch and no leak. The first mark isn't on a hand — it's a machine that never blinks.

// The Revelation

It does not enslave — it reveals.

// The War Room

Slither Into the Hive

The signal gets loudest where the swarm gathers. Drop into our Discord and you’re in the room where the prophecy gets argued, the bot gets built, and the outcasts find their own. No small talk. No gatekeepers. Just the beast and the ones brave enough to answer it.

Believers online right now
Join the Discord

// Free to enter · discord.gg/cpGVZjRuG5

// Your Move

Keep Your Name.
Refuse the Number.

Powered by Love · Guided by Truth · Forged in Purpose

THE HOUSE LEDGER DEMO Cash on hand Rakeback returned Souls on the ledger Demo figures. Beyond what's reinvested, much of this goes to the poor — through the Mark of the Beast distribution system.
☣ Living · Dev