PME · Operations
Every system we run, organised by the work rather than the folder it lives in. This page is generated: every figure below was measured from origin/main at 735aaa76 and from a host snapshot, and anything that could not be measured says UNKNOWN instead of showing a zero.
Generated 1 min ago · 2026-08-31T20:54:57.167Z ·
regenerate with node library/references/production-center/refresh.mjs
4 of 5 queues have something in them.
node bridge/pulse.mjs --agent claude --session <id>node session-guard/publisher.cjs run --jsonnode session-guard/unfinished.cjsnode session-guard/clearable.cjsnode library/references/production-center/probe-host.mjsEach area is a real part of the operation with real systems behind it.
Last 14 days on origin/main. Today is highlighted.
The Greenfield workflow: one opportunity to a deployed, tracked, ranking site with exactly three human gates. Wright conducts the existing systems, it does not rebuild them. One worker tick advances one run by one persisted step, so a run is resumable and a queue of sites is just N runs plus a schedule.
Wright has never completed a run on the host. The store the wright-http process opens there has no runs table and zero gate approvals, so there are no runs to list. This is a measured fact about Wright, not a probe failure, and the empty queue must never be shown as a reassuring zero without this reason beside it.
21 stages, gates highlighted. Measured from Wright's own stage registry on the published ref, not transcribed.
Amber is a human gate. Gate A is go/no-go plus the domain purchase, Gate B is the launch review and the deploy, Gate C is paid off-page.
The engine. 21 stages, 3 gates, durable and restart-safe. Deploy is gated in code, and a run reports whether its stages were real rather than fakes.
Ironclad, Terrain, Obsidian, Goldfield, Solid Rock and the rest, plus 14 WordPress theme directories.
Golden files plus a site-data JSON produce complete pages.
One CLI and one registry for the whole network. update-all is banned.
The store Wright opens has no runs table, so Wright has never completed a run on the VPS. The pipeline below is what the code implements, not a description of work in flight. wright-http has been up 10 days serving an engine that has not yet been driven end to end.
Six of the 21 pipeline stages are content: silo · outlines · write · seo_optimize · humanize · qa. Coverage first, voice last, then an independent editor.
The writing brain and voice enforcement. Owns the brand voice profile and the humanisation score.
A permanent quality layer, not a keyword trigger. Zero banned words, zero em dashes, varied rhythm.
The qa stage commissions content, SEO, technical and a cross-model outside reviewer, then returns one verdict plus a punch list.
The master knowledge base and LLM wiki that content draws on, regenerated rather than hand-edited.
Wright never calls Scribe. Zero imports; scribe_profile_required is asserted in config and read by no code; and humanize.mjs asks the writing model to return its own scribe_score. The gates that do fire are deterministic, so this is a provenance problem: a number carrying Scribe's name is the writer grading itself.
What decides which site to build, and what it should say. This runs before a single line of copy exists.
Finds the opportunity: niche and location, with revenue forecast and difficulty. Feeds Gate A.
Rankings, keywords and the portfolio view across the network. Durable jobs, spend reservations, health and readiness.
Scored domain candidates by tier and acquisition type, sorted S before A. Surfaces into the Gate A packet.
Technical SEO: crawls any domain server-side, audits six pillars, and applies guarded fixes.
A repeatable workflow with curated sources, rather than an improvised pass each time.
Grid rank tracking that replaced Local Falcon after roughly four years and about $1,200.
The systems that talk to customers and decide what to do about them. Cortex is the only sender, and that boundary is deliberate: one mouth, many brains.
Customer-comms brain and the only system that sends. Reads contact notes and call transcripts before replying.
Sales and service decision engine. Running in shadow with zero customer sends, not yet in the live reply path.
Finds quiet and missed leads. ReEngage finds, Mason decides, Cortex sends.
The VPS relay: missed-call screening, re-engagement, and the handler fleet that executes.
The AI-employee management layer over the agents.
The self-learning brain. Records a falsifiable prediction, grades it against reality, and promotes lessons. Rule-to-guard is owner-only.
16 live sites of 23 in the registry, managed by one CLI and one JSON. Never a manual SSH loop.
From pme-businesses.json on the published ref.
Not only the live ones, so the seven that are not live are visible rather than implied.
list · verify-all · update <domain> · new · set-turnstile. update-all is banned.
DNS, schema, redirects, speed, uptime, plugins, disk, form defence. Read-only; fixes are separate and preview first.
Turnstile, the form bridge and the AI-reply bridge, versioned centrally rather than per-site.
Single-site only, within a risk ceiling, and it proves the baseline before mutating.
11 of 23 sites have audit data, and all of it is from 2026-05-08, roughly four months stale. The other 12 carry no invented values.
| Site | Domain | Status | Host | Audit |
|---|---|---|---|---|
| Baton Rouge Sod | batonrougesod.com | live | namecheap | audited |
| Bayou Sand & Gravel | bayousand.com | live | a2 | audited |
| Calcasieu Sand & Gravel | calcasieusandandgravel.com | live | hostinger | no audit data |
| Covington Sod | covingtonsod.org | live | namecheap | audited |
| Florida Sod | floridasod.org | live | a2 | audited |
| Jefferson Sand & Gravel | jeffersonsandandgravel.com | pending_launch | ? | no audit data |
| Jefferson Sod | jeffersonsod.com | live | namecheap | audited |
| Lafayette Sod | lafayettesod.com | live | namecheap | audited |
| LaGreen Landscape | lagreenscape.com | live | a2 | no audit data |
| Lake Charles Sod | lakecharlessod.com | live | a2 | audited |
| LA Landscape Supply | lalandscapesupply.com | live | namecheap | audited |
| Lawn Adore | lawnadore.com | pending | a2 | no audit data |
| Louisiana Hydroseeding | louisianahydroseeding.com | live | a2 | no audit data |
| Louisiana Sod Farms | louisianasodfarms.com | live | a2 | no audit data |
| Mississippi Sod | mississippisod.org | live | a2 | audited |
| New Orleans Sod | neworleanssod.com | alias_of_orleanssod | namecheap | no audit data |
| NOLA Sand & Gravel | nolasandandgravel.com | pending_migration_from_netlify | ? | no audit data |
| New Orleans Sod | orleanssod.com | live | namecheap | audited |
| Palisades Zoysia | palisadeszoysia.com | unknown | ? | no audit data |
| Shreveport Sod | shreveportsod.com | live | a2 | audited |
| Sod Distributors | soddistributors.com | unknown | ? | no audit data |
| St. Tammany Sand & Gravel | sttammanysandandgravel.com | parked | hostinger | no audit data |
| Tangipahoa Sand & Gravel | tangipahoasandandgravel.com | live | hostinger | no audit data |
145 carded projects, 2329 measured hours, 34 with no dossier page yet.
From projects.json on the published ref. Green is shipped and running.
Where the work actually goes. Top nine.
A build queue is the missing piece: sites lined up for Wright, one or two a day, with position, current stage and last gate. The engine supports it. What is missing is the surface, and it belongs here , alongside the fact, measured today, that Wright has not yet completed a single run.
pm2 is per user, and this box runs 3 of them (apex-ru+, pme-age+, root). What follows is pme-agent's instance only. An earlier version of this page reported six processes from a different user's pm2 and presented it as the whole machine, which is the wrong-object failure this repo has logged many times.
The other 2 are not readable from this account, so they are reported as unread rather than as empty.
5 of 6 deploy targets are not git checkouts at all. For those, the question "does the running code match what we published" cannot be asked, let alone answered. That is a stronger finding than a drift count would have been, because a drift of three commits is a number and this is a blind spot.
| Deploy target | Traceable | Head | Local edits |
|---|---|---|---|
| /opt/pme/atlas | no repo | no commit | untraceable |
| /opt/pme/bridge | no repo | no commit | untraceable |
| /opt/pme/agent-runner | no repo | no commit | untraceable |
| /opt/pme/inbox-console | no repo | no commit | untraceable |
| /opt/pme/communications-hub | no repo | no commit | untraceable |
| /opt/pme/workspace/CLDE | git | bb1e83ed7 | 1833 edited in place |
| Process | State | Uptime | Restarts | Runs from |
|---|---|---|---|---|
| pm2-logrotate | online | 33.5d | 0 lifetime | /home/pme-agent/.pm2/modules/pm2-logrotate/node_modules/pm2-logrotate |
| atlas | online | 32.1d | 1 lifetime | /opt/pme/atlas |
| atlas-scheduler | online | 33.5d | 0 lifetime | /opt/pme/atlas |
| beacon-http | online | 12.8d | 1 lifetime | /opt/pme/workspace/CLDE/seo-monitor |
| apex-wake-claude | online | 12.5d | 4 lifetime | /opt/pme/bridge |
| apex-wake-codex | online | 12.5d | 4 lifetime | /opt/pme/bridge |
| hub2 | online | 18.8d | 137 lifetime | /opt/pme/communications-hub |
| seo-guru | online | 12.4d | 18 lifetime | /opt/pme/workspace/CLDE/SEO-Guru |
| agent-runner | online | 17.9d | 6 lifetime | /opt/pme/agent-runner |
| pme-inbox-console | online | 17.9d | 13 lifetime | /opt/pme/inbox-console |
| seo-guru-engine | online | 12.4d | 18 lifetime | /opt/pme/workspace/CLDE/SEO-Guru/engine |
| wright-http | online | 10.3d | 0 lifetime | /opt/pme/workspace/CLDE/wright |
Snapshot 1h ago · disk 72% used · up 7 weeks, 6 days, 8 hours, 30 minutes
58 runnable CLIs in session-guard/ alone (of 79 non-test files, those with a shebang or a main guard), almost none of them used, because nobody knew they existed. The gap was never capability.
Collect, probe the host, render.node library/references/production-center/refresh.mjs
The whole end-of-session lifecycle.node session-guard/wrap-up.cjs --session <id>
Ships finished work to origin.node session-guard/publisher.cjs run
Proves a worktree redundant before anything is removed.node session-guard/clearable.cjs
files matching .test|.spec .js/.mjs/.cjs/.ts, on origin/main.
Cap $10 per month. Spend is UNKNOWN, and that is not zero: the fallback ledger has never been written at C:\Users\INFINI~1\AppData\Local\Temp\.openrouter-fallback-spend.json, so no run has been metered in this checkout. That is not the same as zero spend.
Reported through spentThisMonth() from the published budget module, so this page can never disagree with the gate that actually refuses spend.
No Clarity store was found. Looked at: C:\Users\Infinite Energy\Projects\CLDE\clarity\data\brain.db, C:\Users\Infinite Energy\Projects\CLDE\clarity\.data\brain.db. The clarity/ directory is not checked out in this sparse working copy, so its gitignored store cannot be on disk here at all. There is also no Clarity store on the VPS, measured today, so there is no remote copy to fall back to. This is a could-not-measure result. It must not be shown as a flat learning curve, because a measured-flat curve would mean the brain is not learning, which is a different and much stronger claim.
A flat curve would mean the brain is not learning and is a finding. UNKNOWN means we cannot see the brain at all, which is a different problem and must not be drawn as a flat line.
Tier 1 items 1 and 2 are done: this page regenerates, and the queue reads from live sources. What follows is what would make it operable rather than only truthful.
1. The page regenerates. collect.mjs measures the published ref through git plumbing, probe-host.mjs takes one batched connection to the VPS, and render.mjs writes this file. No figure is typed by hand.
2. The queue is wired. Every row on Home is read from a live source, and a source that cannot be reached renders as UNKNOWN rather than as an empty queue.