WhatsAgent Cockpit

snapshot 2026-07-18 17:23 SGT · auto-refreshes every 5 min · internal, noindex
Sessions
5
Working
0
Queue pending
7
Msgs 24h
2134
Captured total
18,080
Groups
23

Room control — is each brain answering its client?

One row per client group. answered = the bot has replied past the client's latest message. awaiting = a client message is newer than the last reply. no session = no work session attached right now (still answered if nothing is pending).
bike-rentalansweredsession live
easyride-rider-payrollansweredsession live
job-applicant-trackingansweredsession live
p1parentsansweredsession live
easyride-fbx3 awaitingno session
edge-grantsansweredno session
firstaidsingaporeansweredno session
ken-roboticsansweredno session
kuching-propertyansweredno session
randalf-propertyansweredno session
sgpropertyindex-comansweredno session
4dmoneyboxansweredno session

Tasks — what's come in, and whether it's been answered

Live from the message log — the daemon captures every message the instant it arrives, so nothing is missed. awaiting = newer than the last reply, not yet responded to. = the bot has replied past it. Response status (not build-completion), refreshed every 5 min. Projects with awaiting items float to the top.
easyride-fbx 3 awaiting
DominicHi Aqilah @280641920839700 Pls help to create gps, smarttag access for Kyler, collections and
Dominic@163466790850610 hello world. Can you see this and send a test message to reply here?
DominicFUNDBOX-KYC-CHANNEL-7731
4dmoneybox all answered
Dominic@163466790850610 can you understand mandarin?
DominicAre you able to reply in mandarin and English for this group as client is mandarin speaking
DominicThis advanced maths project investigates whether mathematical structures naturally exist within
DominicI need your reply in both mandarin first, followed by English, for me to guide our client
Dominic@272983943823391
bike-rental all answered
DominicAdd in the reasons, implications, etc for new staff
DominicStaff need to be able to view the handbook easily, best is inside staff login at the correct ar
DominicWhat is missing from the handbook
DominicYes
DominicHow about the scenarios that will happen such as stolen bikes, are they inside as well
DominicThere is no management
DominicWhat else is missing
DominicBuild all in without asking and send me the link, I will read and tell you
easyride-rider-payroll all answered
DominicLogin url suppose to be easyride-riders.pages.dev 22 June 2026 onwards wp scheme minimum 170
DominicItem 1 is here, can you ingest this into our rider payroll Web app and stop asking repeated que
DominicItem 2 Login url suppose to be easyride-riders.pages.dev 22 June 2026 onwards wp scheme mini
DominicWhwre do we retrieve or view the ingested xls on payroll web app?
DominicIngest this real actual xls immediately
DominicHere is the xlxs filw
Dominic2
DominicOnly work permit riders gave penalty. The rest target is 150 trips for group 1 to 3 riders
edge-grants all answered
DominicEdge grant how much for sme
Dominiclets talk Money
Dominichttps://www.enterprisesg.gov.sg/-/media/esg/files/media-centre/media-releases/2026/march/mr0082
Dominichttps://www.enterprisesg.gov.sg/-/media/esg/files/media-centre/media-releases/2026/march/mr0082
Dominicc. Fostering a Pro-Enterprise and Trusted Business Environment Programme/Scheme Details EDGE
DominicToo wordy without quality content
DominicYou are talking too much and not providing actual valuable content and wasting my time reading
DominicWhat ia the difference between digitalization and improving efficiency? Which one business need
firstaidsingapore all answered
DominicWhat is the purpose of https://firstaidsingapore.com/sitemap-index.xml > sitemap-0.xml
DominicLet me know once /admin done
DominicEnsure security and safety
Dominicwhat is existing cockpit url for this website?
Dominicwhat is existing cockpit url for this website?
DominicChange all /admin to cockpit.
DominicChange all /admin to cockpit. do not use /admin
Dominicnot /cockpit, is cockpit. Subdomain
job-applicant-tracking all answered
DominicTest and fix all, let me know confirm working to send link to job applicant to apply
Dominichttps://ats-7tq.pages.dev/jobs > apply > submit application > error message appears. Your teste
DominicYou find a way to do it
DominicDo you think I will belive you?
DominicUse the default cloudflare already setup in this claude account
DominicCome out with scenarios to test the form submission and let me know once you tested, I will go
DominicDefault view all
DominicDefault view all
ken-robotics all answered
Freddiei want to create a website and web app. is the brain up already
Freddiei want to create a restaurant food ordering system
FreddieHi @163466790850610, @53296316330177 is Ken. he is a client. You need to listen to his commands
Freddieadd real photos to the dishes for the menu
Kenchange Chicken Satay (6 sticks) to this photo and change price to $19.99
KenYes please change to braised pork instead of chicken satay
Kenmy business is providing housekeepers for hotel rooms. make a website to showcase that we are p
Freddie@163466790850610 do a mockup, you don't need all that information.
kuching-property all answered
Dominicwhat is existing cockpit url for this website?
Dominicwhat is existing cockpit url for this website?
Dominicwhat can we use to search to retrive ren and agent full name for our agent tab?
DominicChange all /admin to cockpit.
DominicChange all /admin to cockpit. do not use /admin
DominicDisplay agent name use lpeph data
DominicList out what lpeph provides and add columns under agent tab and display them
DominicCan we search using agent mobile
p1parents all answered
DominicPut it inside p1parents.com/admin using cloudflare email otp
Dominicdominicling@gmail.com fredang85@gmail.com
DominicTest upon approval and let us know once ready to be used
DominicWhats next
Dominicwhat is existing cockpit url for this website?
Dominicwhat is existing cockpit url for this website?
DominicChange all /admin to cockpit.
DominicChange all /admin to cockpit. do not use /admin
randalf-property all answered
Dominichttps://property.freddieang.com/affordability/ Affordability Calculator - each row cpf or cash
Dominichttps://property.freddieang.com/affordability/ TDSR calculator - default amount for Gross hous
Dominichttps://property.freddieang.com/schools/ both tables - table col header click to sort, with so
Dominichttps://property.freddieang.com/appreciation-score/ hostile review how accurate is this framew
Dominichttps://property.freddieang.com/affordability/ Remove 2% for legal fee as this amt is not fixe
Dominichttps://property.freddieang.com/affordability/ Affordability Calculator Rename Monthly instal
DominicHow to know for each of the 5 properties, what the transacted price will be will in 1, 2, 3, 4,
DominicLaunch agent team for map plan, build, live, test, fix and inform us once 100% done. Do not go
sgpropertyindex-com all answered
Dominicwhat are the key goals for this website?
FreddieGo ahead and
FreddieGo ahead
FreddieResearch and tell me what else can be done
FreddieI think we list new upcoming projects as a start, have full details about it
FreddieBoth
FreddieOkay. Find more content to add in. You need to advise how I should do the sitemap too. If a red
FreddieYes deploy live when done

Projects — who each bot reports to & who can deploy it

GroupReports toWho can deployModeSessionStyle
bike-rental Dominic LingDominic Ling
Freddie
brainbike-rentalWarm Builder
WhatsApp groups this project is in
respondsEasyride Bike Rental Web App120363427774794399@g.us
Deploy mechanism — GitHub Actions → Oracle VM — WORKING (live runner, 8+ deploys)
Silent/extra groups: add a groups list to this project in responders.json.
easyride-rider-payroll Dominic LingDominic Ling
Freddie
brainpayrollWarm Builder
WhatsApp groups this project is in
respondsEasyride Rider Payroll Web App120363429033720696@g.us
Deploy mechanism — GitHub Actions — NOT ACTIVE (deploy.yml on feat branch not main; no rp-deploy runner yet)
Silent/extra groups: add a groups list to this project in responders.json.
job-applicant-tracking Dominic LingDominic Ling
Freddie
brainatsWarm Builder
WhatsApp groups this project is in
respondsJob Applicant Tracking System Web App120363410824338490@g.us
Silent/extra groups: add a groups list to this project in responders.json.
p1parents Dominic LingDominic Ling
Freddie
brainp1parentsWarm Builder
WhatsApp groups this project is in
respondsP1Parents.com120363426924974754@g.us
Deploy mechanism — Cloudflare Pages via ./deploy.sh (Freddie's account)
Silent/extra groups: add a groups list to this project in responders.json.
easyride-fbx Dominic LingFreddie only (gated)brainWarm Builder
WhatsApp groups this project is in
respondsEasyRide Profile Scanning (FBX)120363409959647411@g.us
Silent/extra groups: add a groups list to this project in responders.json.
edge-grants Dominic LingDominic Ling
Freddie
brainWarm Builder
WhatsApp groups this project is in
respondsEDGE Grants120363429007033428@g.us
Silent/extra groups: add a groups list to this project in responders.json.
firstaidsingapore Dominic LingDominic Ling
Freddie
brainWarm Builder
WhatsApp groups this project is in
respondsFirstAidSingapore.com120363409748457562@g.us
Silent/extra groups: add a groups list to this project in responders.json.
ken-robotics Ken YeoFreddie only (gated)brainWarm Builder
WhatsApp groups this project is in
respondsKen Robotics120363428047651332@g.us
Silent/extra groups: add a groups list to this project in responders.json.
kuching-property Dominic LingDominic Ling
Freddie
brainWarm Builder
WhatsApp groups this project is in
respondsKuching Property120363428843666886@g.us
silentTRR Younited x IQI Listing Sharing120363355199637921@g.us
silentIQI Kuching Big listing Group120363423879565737@g.us
silentIQI Team BSW 202660168864229-1580700266@g.us
Deploy mechanism — Cloudflare Pages (kuching-property.pages.dev)
Silent/extra groups: add a groups list to this project in responders.json.
randalf-property Dominic LingDominic Ling
Freddie
brainWarm Builder
WhatsApp groups this project is in
respondsFreddie investment property120363413233315648@g.us
Silent/extra groups: add a groups list to this project in responders.json.
sgpropertyindex-com Freddie Ang
also answers Dominic Ling
FreddiebrainWarm Builder
WhatsApp groups this project is in
respondsSGPropertyIndex.com120363427688027250@g.us
Silent/extra groups: add a groups list to this project in responders.json.
whatsagent Freddie Ang
also answers Dominic Ling
FreddiehybridWarm Builder
WhatsApp groups this project is in
respondsWhatsAgent Control Room120363428950819480@g.us
Silent/extra groups: add a groups list to this project in responders.json.
4dmoneybox Dominic LingDominic Ling
Freddie
brainWarm Builder
WhatsApp groups this project is in
responds(name unknown)120363428836862911@g.us
Silent/extra groups: add a groups list to this project in responders.json.
Reports to = the person the bot takes direction from and replies to day-to-day (anyone else in the group is logged but ignored; "also answers" flags extra people it will reply to). Freddie owns all of them and can override any — but hands day-to-day to this person.
Who can deploy is the real authority, and it’s exactly what the bot is told: Freddie can deploy anything, always. A pre-authorised project can also be deployed by its director — their go-ahead in the group triggers it, no Freddie ping needed. Freddie only = gated; the director must stop and escalate. Destructive DB changes (drop/rename, data loss) are always Freddie, even on pre-authorised. This isn’t a label — it’s the same grant injected into the worker’s instructions, so the chart matches the behaviour.
Mode — brain: a full work session that acknowledges and does the real work (no canned auto-reply). hybrid: the daemon answers simple questions itself, queues real build work. Session = a work session is attached now. Style = its reply voice.

Publish — deploy credentials on this machine

CF tokens present here (presence only, never the value). A worker reads this at spawn (cockpit.md), so it knows it is not blocked on Freddie for a client-account deploy — the token is right here. Both false-blocks (ats, payroll) came from a worker not knowing this.
Dom / Easyride ~/waha-bot/.dom-cf-token.env · acct 4f6cef4e…● present
Brewtonic Inc env CF_API_TOKEN / ~/waha-bot/.env · acct 6cf8c780…● present

Publish — live deploy targets

Where each project actually publishes: live URL, which CF account, and the Pages project name. Add a deploy_target to a responder in responders.json to list it here.
ProjectLive URLCF accountPages project
easyride-rider-payrolleasyride-riders.pages.devDom / Easyride 4f6cef4e…easyride-riders
job-applicant-trackingats-7tq.pages.devDom / Easyride 4f6cef4e…ats

Daemons — background jobs

The always-on infrastructure. healthy, DOWN. Resident jobs must be running; periodic jobs must have last-exited clean. This row exists because escalation-watch and handoff-orchestrator have each died silently for days — a red dot here is the notice that used to be missing. Auto-spawn/close: ● live
responder-engine engine — polls captures.db, spawns/feeds brains● running (pid 86764)
roboticfred WAHA bridge — capture + send● running (pid 71956)
handoff-orchestrator dispatch-board watcher● running (pid 2128)
escalation-watch need-freddie digest DM (30s)● ran clean
capture-watchdog capture-gap watchdog (120s)● ran clean
compact-watcher context auto-compact (300s)● ran clean
cockpit-gen this cockpit (300s)● ran clean

Fleet — sessions up

atsbike-rentalcontrolp1parentspayroll

Context — compact-watcher ● live

Live context % per session. The watcher auto-wraps (handoff + commit + push + workqueue) then /compacts a session at/over its threshold (default 50%), keeping it off the ceiling — quietly, never announced to the client. Kill-switch: touch ~/waha-bot/.compact-watcher-off.
bike-rental wrap ≥50%40%
p1parents wrap ≥50%37%
payroll wrap ≥50%29%
ats wrap ≥50%15%
control wrap ≥50%0%

Queues — pending

bike-rental6
p1parents1

Reply styles — the voice each brain writes in

Set per client in responders.json ("style" key, matching the [slug] below). Default = Warm Builder (the kuching voice). To change one: tell Claude "make [client] use [style]".
Warm Builder Friendly 'your developer' voice with functional emoji. The kuching house default. [warm-builder]
On it Dominic 🚀 Here's where we stand:

✅ *Avona Residence* page is live, all *6 units* 🏢
✅ Every unit has a direct WhatsApp enquiry button
🔧 Building *LD Legenda* next, same standard

I'll drop the link here the moment it's up ✅
Plain Professional Clean professional English, no emoji, still scannable. For clients who want polish without playfulness. [plain-professional]
Update, Dominic.

The *Avona Residence* page is now live with all 6 units, each carrying a direct WhatsApp enquiry button.

Next I'll build the LD Legenda page to the same standard and send you the link once it's ready.
Concise Ops Ultra-brief status lines, minimal words. For clients who want speed, not prose. [concise-ops]
*Avona* — live, 6 units, WhatsApp buttons on each.
*Next* — LD Legenda page, today.
Link to follow.
Consultative Advisor tone that briefly shows the 'why' and invites a steer. For clients who want to see the thinking. [consultative]
Good step, Dominic. Avona's live now (6 units, enquiry buttons on each).

One call I made: I'm rolling the buildings out one at a time rather than all at once, so each gets the same quality bar instead of a rushed batch.

If you'd rather I prioritise a specific building first, tell me and I'll reorder. Otherwise LD Legenda is next, today.
Formal Corporate Polished, courteous, full sentences, no emoji. For corporate or senior stakeholders. [formal-corporate]
Dear Dominic,

Please note that the Avona Residence page is now live, featuring all six units with individual WhatsApp enquiry options.

We will proceed with the LD Legenda page next, maintaining the same standard, and will share the link upon completion. Do let me know should you require any adjustments.

Roles — authority

superadmin Final authority. Authorises ANYTHING incl. the risky gates: production deploys, spending, irreversible actions.
director Directs their own projects (the work, priorities). Cannot authorise risky actions — those escalate to a superadmin.

People — who's trusted

Freddie Ang superadmin
Dominic Ling director
Kyler observer
payroll project — observing workflow · via Dominic Ling
Aqilah observer
payroll project — observing workflow · via Dominic Ling
Jovell observer
payroll project — observing workflow · via Dominic Ling

How the brain works — default behaviours (every project)

The rules every worker follows automatically, wired into its orientation at spawn. Same for all projects unless a per-project setting (Style, Deploy) says otherwise.
BehaviourWhat it does
Brain-firstEvery client group is served by a real work session — no canned auto-reply. It acknowledges and does the actual work in one message.
AnswersOnly acts on messages from its watched people (e.g. Dom, Freddie). Anyone else is logged but ignored. Also anti-spoofs: a trusted name must match its real account.
Follow the director, prioritise FreddieEach project has a director who runs it day-to-day (Dom for his projects, Ken for Ken Robotics, Freddie for his own) — shown under each group. The worker follows the director; when Freddie messages, it prioritises him as owner.
Lane disciplineWorks only inside its own project. Never writes another project's or brand's content, facts, or decisions — even a partner shown on the site.
House styleReplies in the project's assigned voice (default Warm Builder; see the styles catalogue below).
Deploy policyPre-authorised: the director can trigger a prod deploy — their go-ahead in the group is enough, no Freddie ping. Gated: Freddie only — the worker stops and escalates, even if the director asks. Either way, destructive / money / irreversible always escalate to Freddie. (This chart matches the exact instruction the worker is given.)
Non-blockingHits a question → posts or escalates it, then keeps working anything not blocked by it. Only goes idle if everything left depends on that one answer.
Escalate to FreddieOnly for the genuinely risky: spending money, destructive/irreversible prod actions, or a decision that is his to make. Everything else, it just does.
Client conductNever breaks the fourth wall — no mention of AI, context, internal mechanics, or Freddie, to the client.
Auto spin up / downSpawns when a group has unanswered work and no session is up; closes when idle 60 min+ with no pending queue and a clean git tree. Context survives a close, so it re-spawns on demand.