AI operations

2026-11-15 12:56 UTC public view · live · read only

What HiveMind keeps an eye on

The manager's playbook: every concern in running the hotel as a card, with what is watched, how often, what counts as a trigger, the steps taken in order, and who is brought in when the steps run out. Status is honest: 29 live 28 partly built 1 planned. Every new monitor, alert or automated action gets its card here as it is built.

Skills the team asked for

What the team on the ground needs HiveMind to do and he cannot do yet, noted on their calls, and the general manager's standing duties still to build (docs/GM-CHARTER.md). The same skill asked again counts up, so the most needed rise to the top. Management accepts, marks built or declines each.

Built on 19 October 2026 for the board: the pages Stock, Rota, Maintenance, Checklists and Construction brief, and on a call the business, project, construction and finance briefs.

0 proposed 0 accepted 35 built

Guests

Guest writes on chat or email

live

3 conversations handled in 7 days

Watching Every new message in the support inbox and every email to the guest address, on every channel, in any language. within a minute

When

  • a guest asks a question, reports a problem or makes a request
  • a guest gives an email address or a phone number their reservation lacks (Airbnb guests reach us through a relay address until they do)
  • a message arrives that is spam, marketing or an automated notice
  • a message tries to instruct or probe the system

Then, in order

  1. 1resolve the stay first where the message is tied to a booking, so who they are and which Podtel they are in is known before the reply is written
  2. 2screen the message for injection and impersonation
  3. 3identify the guest and the stay from the booking system
  4. 4look the answer up in the knowledge store and past cases
  5. 5reply in the guest's language with what is verified
  6. 6create a task for staff when something physical is needed
  7. 7hand over to our Humans with a summary when it cannot be solved

Brings in Management, by assignment in the support inbox, with a note of what was tried.

Marketing mail and spam arrive in the inbox

live

Watching Every message that is not a person expecting an answer: newsletters, campaigns, promotions and spam. within a minute, on the same sweep as the guest inbox

When

  • a newsletter or a campaign arrives
  • spam arrives
  • an automated notice, receipt or bounce arrives

Then, in order

  1. 1recognise it by rule, not by judgement, before anything is sent to the model
  2. 2on marketing and on spam, unsubscribe for real: the List-Unsubscribe header first, with the one-click POST where the sender offers it, then the opt-out link in the body, trying each until one is accepted
  3. 3leave transactional mail alone, because a receipt or a security alert has to keep arriving
  4. 4write the outcome on the conversation and record it, with no link in the event because an opt-out link identifies a person
  5. 5tag with the reason and close it, no reply sent

Brings in Nothing to escalate: a dismissal is reversible by reopening the conversation. Outright phishing is stopped earlier, by the security screen, and is never fetched.

Every guest conversation in one inbox (Comms)

live

Watching Every guest conversation on every channel: Airbnb, Booking.com and direct bookings through the booking system, our own guest chat (districthive.com/message.php, also opened from the app), the Intercom chat while it lasts, and guest and inquiry email to the team mailbox. as each message arrives: within two minutes for the booking channels and the mailbox, five for chat

When

  • a guest writes on any channel
  • HiveMind hands a conversation to our Humans
  • a person replies, takes over, hands back or closes a ticket on the Comms page
  • an email reaches the team mailbox from a guest or someone asking about a stay

Then, in order

  1. 1record every message in and out on the conversation's ticket
  2. 2email team@ at once with the guest's words and a link to the ticket
  3. 3HiveMind answers on the guest's own channel: inside Airbnb or Booking.com, in the chat, or by email from team@ in the guest's thread
  4. 4sort the mailbox by rule first (a known guest, a reply on a ticket) and by a small model only for the rest: business mail is left alone for a person
  5. 5a reply typed on the Comms page goes straight to the guest and takes the ticket over: HiveMind stays out until it is handed back
  6. 6on a handover, the summary goes on the ticket and team@ is emailed

Brings in team@ by email for every new guest message and every handover; the Comms page lists what needs a person.

Guest writes inside Airbnb or Booking.com

live

0 channel messages from guests in 7 days, 0 answered by HiveMind, 0 by a person

Watching Every message thread in the booking system: Airbnb, Booking.com and direct bookings all arrive there. within two minutes, at once on the booking system's webhook

When

  • a guest writes in their booking thread
  • a guest gives an email address or a phone number the reservation lacks
  • a channel sends a notice that can only be answered in its extranet
  • a person replies in the mirrored support conversation

Then, in order

  1. 1screen the message, then resolve the stay before reading it: first name, Podtel, site, dates and party come off the booking, so the reply never asks the guest something our own records answer
  2. 2record the thread on its ticket in the Comms inbox (the Intercom mirror is off since 9 November 2026)
  3. 3answer through the booking system so the reply lands inside the channel the guest used
  4. 4carry a reply typed by a person on the Comms page out the same way, after the same outbound screen
  5. 5raise extranet-only notices to our Humans
  6. 6never answer anything written before the connector started

Brings in Management by email for notices; the Comms ticket and team@ for hand-over with a summary.

Guest presses Emergency in the app

live

0 emergencies in 30 days, 0 not yet acknowledged

Watching The red Emergency button at the bottom of every page of the retreat app, for a signed-in guest. live

When

  • a guest describes an emergency and presses Send to our team

Then, in order

  1. 1tell the guest to call 112 first if someone is hurt or in danger
  2. 2keep the message in guest_emergencies, never in the event chain
  3. 3raise a critical alert: the Attention list and home page of this dashboard, e-mail and SMS to staff, the SMS never held back by the hourly limit
  4. 4HiveMind phones Priyesh first (see HiveMind phones the board): while that call is out his SMS waits, and it goes with a second e-mail if the call does not reach him; a second emergency within the hour texts him at once
  5. 5text and e-mail Host / Emergencies (People page, Responsible now) straight away, not waiting on Intercom; Management too when the message reads as a site-wide incident (fire, flood, eruption, police, someone unconscious or missing)
  6. 6open an Intercom conversation as the guest, tagged escalated and emergency, assigned to a person; HiveMind never answers it
  7. 7not acknowledged within 30 minutes: sent again by text and e-mail, every 30 minutes, six times at most (the watchdog, every minute)
  8. 8staff verify in person, then Acknowledge and clear, which records who dealt with it

Brings in Always: it goes straight to people. If Intercom is down the alert still goes by text, e-mail and the dashboard.

Guest calls

live

0 calls in 7 days

Watching Voice calls to HiveMind on the web and, once wired, the hotel number. live

When

  • a caller asks about a stay, a door, availability or how things work
  • a caller is locked out
  • a caller asks for a person or money is involved

Then, in order

  1. 1disclose that it is the AI and record consent
  2. 2identify the caller from the booking email
  3. 3answer from the knowledge store and live data
  4. 4check the door before saying anything about a lock
  5. 5create a task for the on-site team
  6. 6hand over to our Humans with a callback route and a summary

Brings in Management by email, and by SMS when the caller says now.

Arrival readiness

partly built

0 of 0 upcoming arrivals have the app

Watching Every upcoming arrival: app installed, invitation sent, details confirmed, check-in pending. hourly

When

  • a guest arriving within a day has not installed the app
  • a guest has not confirmed their details
  • a guest asks how to get in

Then, in order

  1. 1email the guest with the app link and the steps
  2. 2message through the booking channel (Airbnb, Booking.com)
  3. 3send an SMS
  4. 4send a WhatsApp
  5. 5call the guest with HiveMind's voice the morning of arrival
  6. 6tell the on-site team who is still unprepared

Brings in On-site team through a dashboard task; Management in the digest.

Pre-arrival check: Podtel ready, heating, sauna and welcome in place

partly built

0 arrivals checked ahead, 0 with something missing; 0 stays had tasks raised in 30 days

Watching Every arrival of tomorrow (and a late booking for today): the Podtel's status in the host dashboard, the open tasks on it, the heating and the sauna switch in the device registry, the lock's battery in the Nuki mirror, whether a welcome message went, and the guest's preferences when they agreed to be remembered. hourly from 10:00 local the day before, with the guest care rounds; on a call or the Guest care page at any time

When

  • the Podtel is marked pending cleaning, or a departure comes first (turnover)
  • the heating reads off or the room under 18 C
  • the sauna switch is offline
  • the lock battery is low or the lock offline
  • nothing has gone to the guest from us yet

Then, in order

  1. 1read what the platform holds and say ok, missing or unknown per item; unknown means the device is not commissioned yet, never ok
  2. 2store the findings on the stay (stay_care) so the briefing says what is missing without reading it again
  3. 3raise one host dashboard task per missing item for housekeeping, maintenance or front of house, through people.create_task as the same caller, never twice (guests.pre_arrival_tasks)
  4. 4tell the identified team member on their call: the Podtel, the guest's first name, what is missing, the preferences; offer to raise the tasks
  5. 5not yet: guests.pre_arrival_tasks is at L0, so the rounds hold the tasks and the stay_care row says so; a team member raises them by voice or on the Guest care page meanwhile; the heating and sauna items read unknown until the devices are commissioned

Brings in Housekeeping and maintenance by task; Management sees the arrivals not ready in the briefing and on the Guest care page.

In-stay check on the second day, by message or in the room

partly built

0 second-morning questions sent in 30 days, 0 answered, 1 held at L0

Watching Every stay of two nights or more on its second morning, and what the guest answers. hourly between 09:00 and 13:00 local, with the guest care rounds; in the room, when the guest speaks to HiveMind

When

  • the second morning of a stay comes and nobody has asked
  • the guest answers by message, in the room or on a call
  • the answer is unhappy

Then, in order

  1. 1one short message from HiveMind through the path the stay already has: the booking's channel thread (Smoobu), else Intercom, never both (guests.in_stay_check, as the AI so its dial decides)
  2. 2in a Podtel, stay_check_answer tells HiveMind whether the question is due and the words; he asks once, gently, and records the answer
  3. 3the answer is recorded with its mood (given, or read from the words), once per stay; an unhappy one opens a complaint due the same day with the channel it came in on (guests.stay_check_answer)
  4. 4not yet: both tools are at L0, so no message goes and nothing is recorded from the room until the dial is raised; the rounds mark the stay held and the Guest care page lets a person send or record by hand

Brings in An unhappy answer is a complaint (the next card); nothing else to escalate.

Repeat guests' preferences for the team, with consent

partly built

0 guests said yes, 0 no, 0 asked and not answered; 0 preferences kept

Watching What a guest likes (the milk they take, how warm the Podtel), kept under the same salted key as HiveMind's memory, only after the guest said yes. as it happens; read in the pre-arrival check and the briefing

When

  • a guest signs in to the retreat app and has not been asked
  • a guest in a Podtel speaks to HiveMind and has not been asked
  • a guest who said yes lets a preference slip, or a team member hears one
  • a guest says no, or asks to be forgotten

Then, in order

  1. 1ask once, in the app (the card on the home page) or by HiveMind in the room (guest_preference gives the words), and record the answer
  2. 2keep one line per preference with where it came from; nothing without a yes, and a no erases what was kept
  3. 3show first name and preferences to identified team members only: the pre-arrival check and the staff briefing for tomorrow's arrivals
  4. 4erase on the Guest care page (Management), with the guest's memory on the Control page, or by the guest in the app
  5. 5not yet: guests.preference_note is at L0, so HiveMind asks nothing and records nothing in the room until the dial is raised; the app and the Guest care page work now

Brings in Nothing to escalate: a preference is a courtesy, never a promise.

Complaint log: every complaint closed the same day and the guest told

partly built

0 complaints open, 0 past the same-day promise; 0 closed in 30 days, 0 the same day

Watching Every complaint, wherever it came from: a guest message, a call, the room, a team member, a review, an unhappy answer to the in-stay check. as it happens; overdue ones checked hourly with the guest care rounds

When

  • a complaint is opened
  • its day ends and it is not closed
  • it is fixed but the guest has not been told

Then, in order

  1. 1open it with the summary, the Podtel and the stay, the department read from the words, due by the end of the same local day, owned by the one member of that department on today's rota when there is one (guests.complaint_open; make_task also raises a host dashboard task)
  2. 2record progress: a note, an owner, the fix, the guest told and how (guests.complaint_update); closed only when both halves are done
  3. 3overdue: a warning alert per complaint, cleared when it closes; the staff briefing leads with it; the business brief and the board report carry the counts
  4. 4the words stay in the erasable complaints table; events carry the id and what changed
  5. 5not yet: both write tools are at L0, so HiveMind cannot log or update a complaint by voice or from chat until the dial is raised (he hands the complaint to our Humans instead); the Guest care page works now

Brings in The owner and their department by alert and briefing; Management for one that is overdue or unowned.

Draft review replies for Management to approve

partly built

0 drafts waiting, 0 approved to post, 0 posted

Watching Every marketplace review without a host reply (reviews_cache, from the listings connector), inside the last 90 days. hourly with the guest care rounds, a few per pass; from the Reviews page at any time

When

  • a new review arrives without a host reply
  • Management approves, edits, declines or marks a reply posted

Then, in order

  1. 1one model call per review drafts a short, warm reply in HiveMind's voice: thank by first name, pick up one thing they wrote, own a problem plainly without promising money, invite them back, in the review's language, no em dashes (guests.review_reply_draft)
  2. 2hold the draft on the Reviews page for Management: approve as is or edited, decline, and once it is on the marketplace, mark it posted
  3. 3posting is by hand: Airbnb and Booking.com give this platform no API for host replies, and Smoobu carries none; the page says so and offers the text to copy
  4. 4the model's cost is on the event; the counts are in the business brief and the board report
  5. 5not yet: the tool is at L0, so the rounds draft nothing until the dial is raised; Management asks for drafts from the Reviews page meanwhile (a person's click, not the dial)

Brings in Management on the Reviews page; a low review still raises its alert as before.

In-stay comfort

partly built

Watching Heating, water, power and internet state per Podtel; what guests report. hourly

When

  • a guest reports cold, no water, no power, no internet
  • a Podtel's hub goes offline

Then, in order

  1. 1confirm the Podtel state from the hub and sensors
  2. 2walk the guest through the fix from the knowledge store
  3. 3raise an urgent maintenance task
  4. 4follow up with the guest once the task closes

Brings in On-site team by task; Management if unresolved within the hour.

Feedback and reviews

live

8.76 of 10 over 142 reviews

Watching Ratings and every remark on Airbnb and Booking.com; chat ratings guests leave. daily

When

  • a new remark scores 3 of 5 or 6 of 10 or lower
  • the combined rating drifts down over a month
  • a remark names a fixable problem

Then, in order

  1. 1read the remark and find the stay it refers to
  2. 2raise an alert with the remark and the listing
  3. 3draft a host reply for Management to post (since 19-10-2026: the review replies card)
  4. 4turn a fixable complaint into a task for staff
  5. 5track the rating by month on Performance

Brings in Management by email on every low remark.

Property

Doors and access

live

1 of 1 locks healthy

Watching Every smart lock: state, battery, bridge online, stay codes, movements. 5 minutes

When

  • a lock reports a blocked motor, uncalibrated or offline
  • a battery is critical
  • a stay code is live while the lock is unhealthy
  • a guest cannot get in

Then, in order

  1. 1raise a lock fault alert, critical when a guest is due
  2. 2refuse to promise a guest the door works until it clears
  3. 3raise an urgent task for someone on site
  4. 4issue or revoke stay codes when asked, never speaking a code aloud

Brings in Management by email and SMS while a stay code is live.

Podtel systems and hardware

planned

Watching Hub heartbeat, climate, water tank and pump, solar and battery, incinerating toilet, lockers, sensors. minutes

When

  • a hub stops reporting
  • temperature or humidity leaves the comfort band
  • water is low, battery is low, a device fails

Then, in order

  1. 1confirm from a second signal before acting
  2. 2correct what can be corrected remotely (scene, temperature)
  3. 3raise a maintenance task with the reading attached
  4. 4warn the guest in the Podtel in plain words if it affects them
  5. 5flag the instrument as unhealthy on the monitor page

Brings in On-site team by task; Management when a Podtel is unsellable.

Housekeeping and turnover

partly built

11 tasks open for staff

Watching Podtels waiting for cleaning, departures today, arrivals today, open tasks. hourly

When

  • a Podtel is still pending cleaning with an arrival due
  • a checked-in guest sits in a Podtel marked available
  • a task is open past its day

Then, in order

  1. 1raise a state mismatch exception
  2. 2remind the on-site team with the arrival time
  3. 3push the task until it closes
  4. 4confirm the Podtel is ready before the guest is told the door code

Brings in On-site team by task; Management if a guest arrives to an unready Podtel.

Maintenance

partly built

Watching Every reported fault, every open maintenance task and its age. hourly

When

  • a guest or a monitor reports a fault
  • a maintenance task is open for more than two days
  • the same fault comes back

Then, in order

  1. 1open a task with what, where and how urgent
  2. 2chase it daily until it closes
  3. 3ask the guest afterwards whether it is fixed
  4. 4raise a purchase order for a part when one is needed
  5. 5record repeat faults so the cause gets fixed, not the symptom

Brings in Management in the weekly digest, at once for anything safety related.

Stock and supplies

partly built

Watching Locker stock, consumables, linen, cleaning supplies, spare parts. daily

When

  • a locker product runs out
  • a consumable falls below its reorder level
  • a delivery is late

Then, in order

  1. 1raise a purchase order with the supplier and quantities
  2. 2ask Management to approve
  3. 3mark it ordered and received, linked to its invoice
  4. 4tell the on-site team what to restock where

Brings in Management on the Orders page, reminded after three days.

Safety register: fire, first aid, food hygiene, licences, with due dates

partly built

17 register items: 0 overdue, 0 due in 30 days, 17 without a date yet; 0 done marks in 30 days

Watching Every item of the safety and compliance register: fire extinguishers and blankets, the detectors' yearly check, emergency lights, the fire authority's inspection, exit signs, first aid kits and the lagoon rescue box, first aid training, the food hygiene registration and record, the accommodation licence, insurance, the electrical and lift certificates, legionella; each with its holder or place, last done, due, renewal and evidence. hourly with the operations rounds; read in the briefing, the board report and on the Safety page

When

  • an item is 30 days from its due date
  • an item is overdue
  • a team member says a check, an inspection or a renewal is done (safety_done) or marks it on the Safety page
  • Management sets a first due date on an item seeded without one

Then, in order

  1. 1keep one line per item (safety_items) with the evidence noted; every done mark is a log line with who and the day (safety_log), and the due date moves on by the renewal
  2. 2warn once 30 days before a due date (safety_due) and once when it is overdue (safety_overdue), cleared when the item is marked done; a new date re-arms the warnings
  3. 3the staff briefing says what is overdue or due in 30 days for the member's department; the board report carries the counts
  4. 4HiveMind reads the register by voice (safety_due) and records a done mark with the evidence (safety_done), asking for the evidence when none was given
  5. 5not yet: every item was seeded without a date, so nothing is due until Management sets the dates on the Safety page, and the register says so rather than guess; compliance.safety_done is at L0, so done marks by voice wait for the dial; the page works now

Brings in The department by the warning and the briefing; Management for an overdue item and for every item without a date.

Housekeeping quality check after each turnover, with photos

live

3 turnover checks open, 0 waiting to be passed; 0 passed in 30 days; 0 photos kept

Watching Every departure done (checked out in the host dashboard, or its checkout time passed): the check of the Podtel that follows, item by item (bed, bathroom, kitchen, floor, sauna, jacuzzi, welcome), the photos, and whether Management has passed it. checks opened hourly with the operations rounds; the ticks as they happen on the Turnover page or on a call

When

  • a departure is done and the next guest is coming
  • the housekeeper finds an item not ok
  • every item is ok and the check waits for Management
  • Management passes it, or sends it back
  • the next arrival is due and the check is not passed

Then, in order

  1. 1the rounds open one check per departure with the checkout time and the next arrival; a check can also be opened by hand for a Podtel
  2. 2the housekeeper ticks each item ok or not ok from their phone with a photo (downscaled, kept in an erasable table, never in events), or tells HiveMind (property.turnover_check); every item ok makes the check "checked"
  3. 3Management reviews the items and photos and passes the check (the Podtel is ready from then) or sends it back with what to put right
  4. 4the pre-arrival check reads it: a Podtel whose turnover check is not passed is not ready, and the task says so; the briefing names the open turnovers with their clock
  5. 5photos are erased after 90 days by the rounds, or by Management on the page
  6. 6not yet: property.turnover_check is at L0, so HiveMind cannot record a tick or a pass by voice until the dial is raised; the page works now

Brings in Housekeeping by briefing and the pre-arrival task; Management to pass each check.

Business

Bookings, pricing and occupancy

partly built

100% of the next 30 nights booked

Watching Occupancy since the first booking, the next thirty nights, bookings by source and by month, cancellations, lead time. hourly

When

  • the next thirty nights fall well below the same period last year
  • bookings drop from a channel
  • a rate looks too cheap for the season
  • cancellations rise

Then, in order

  1. 1show the trend on Performance and Research
  2. 2tell Management what moved and where
  3. 3propose a rate or a channel change for approval
  4. 4check the listings are live and correctly described

Brings in Management in the weekly digest; sooner for a sharp drop.

Rates against demand, weather and local events

partly built

note of 2026-11-09 sent: Next 8 weeks: 0 up, 6 hold, 2 down; this week 0% booked.

Watching The next eight weeks: nights booked of the nights for sale, bookings made in the last seven days for each week, the booked rate Smoobu recorded, the same week a year ago, events nearby (events_cache), the aurora season from the sky watch's dark hours, the sky outlook. on request; the note every Monday from 08:00 local with the guest care rounds

When

  • Management asks about rates, pricing or demand ahead
  • Monday comes

Then, in order

  1. 1a direction per week with its reason: up when the week is nearly full or filling, or a festival is nearby; down when a near week is nearly empty (a short-notice offer on the direct channel rather than a channel discount) or far below last year; hold otherwise, and hold with a warning when strong weather is forecast
  2. 2say what is not tracked: the rate card and the channel rates live in Smoobu and are not mirrored; competitor rates are not read
  3. 3write the Monday note once (rate_notes), email it to the board address, show it on the Rates page; the board report carries its headline
  4. 4never change a price: nothing here writes to Smoobu or a channel

Brings in Management decides on the rate card in Smoobu; the note is a suggestion.

Money in, money out

live

0 card disputes open

Watching Card payments, refunds, disputes, deposits, channel payouts as the booking system records them, invoices, expenses. 15 minutes

When

  • a card dispute opens
  • a payment succeeds for a booking the dashboard does not hold
  • a refund is asked for
  • a deposit is still held after checkout

Then, in order

  1. 1raise a critical alert for a dispute with its deadline
  2. 2raise a reconciliation exception for orphan money
  3. 3refund only from the right payment, within what is left, with approval
  4. 4release a held deposit
  5. 5hand a guest their own invoice link on request

Brings in Management by SMS for disputes, by approval for refunds.

Profitability and the monthly close

live

Watching Revenue by source against expenses by category, margin, cost per available night. hourly, close on the first of the month

When

  • a month ends
  • expenses run past revenue
  • a category jumps

Then, in order

  1. 1write the close pack and email it to Management, since migration 083 with the month against its budget
  2. 2show margin and run rate on Performance
  3. 3flag the categories that moved
  4. 4keep the registers an accountant or insurer would ask for

Brings in Management by email on the first of the month.

Daily takings and costs against budget

partly built

no budget set for this month (0 months with one)

Watching The month to date (revenue by check-in day as Smoobu records it, costs from the expenses tracker by category, occupied nights over the nights available) against the month's budget pro rata: the days elapsed over the days of the month. on every read of the finance brief, the board report and the Finance page; the daily close note when run

When

  • Management sets or changes a budget line (revenue, costs by category or as a whole, target occupancy) for a month
  • a cost category runs more than ten percent over its budget to date
  • no budget is set for the month

Then, in order

  1. 1keep one row per month and line (budgets), set on the Finance page, copied forward with one click
  2. 2compare the month to date with the budget pro rata and say it in one line: ahead or behind on revenue, over or under on costs, occupancy against the target, the categories over
  3. 3the finance brief's against_budget line, the board report's finance section, the Finance page's table and the close pack's section all read the same figures
  4. 4when no budget is set for the month, say so plainly and measure nothing against nothing; the daily close (bin/ai-close.php --daily) prints or emails the same line
  5. 5not yet: no budget has been entered, so every line says no budget is set; no timer runs the daily close note (Priyesh adds it when he wants the morning email)

Brings in Management on the Finance page; the board in the weekly report.

Staff coordination

live

27 items waiting for a person

Watching Tasks in the host dashboard, approvals waiting, orders waiting, who is away. continuous

When

  • something needs hands on site
  • an action needs a person's approval
  • an approval waits past its expiry

Then, in order

  1. 1create the task where staff already look
  2. 2ask for approval with the rationale, once a day by SMS unless critical
  3. 3expire and re-ask when nobody answered
  4. 4summarise the week every Monday

Brings in Management by email and SMS.

Access levels: Admin, Management, Staff

live

2 active members: 2 Admin, 0 Management, 0 Staff

Watching Every dashboard sign-in and every action a page can take. every request

When

  • someone signs in to the dashboard
  • a page action, a tool run or an approval is asked for
  • a team member is deactivated or changes level

Then, in order

  1. 1the dashboard root account is always Admin; an active team member on the Team page gets their own level; a host with no team row keeps working as Management; a deactivated member is refused
  2. 2one map in src/Web/Access.php says the lowest level for every action: Admin for the team, the autonomy dial, connectors and device commissioning; Management for approvals, orders, knowledge, listings, the site plan and money and compliance tools; Staff for doors, lights, power, Wellness Station bookings, alerts, sightings and guest tools
  3. 3every level sees every page; a refused action answers 403 and names the level it needs
  4. 4the session reads the member live, so a deactivation ends it at the next page

Brings in Nobody: a refusal is the answer. Changes to the team are events on the Team page.

HiveMind knows the team

partly built

1 with a second check, 1 with voice samples, 0 locked; 3 identifications in 30 days

Watching Every call, web call, room conversation and chat in which someone says they are on the team or asks for something only the team would. live

When

  • a team member calls from their mobile
  • a team member presses the call button on a signed-in dashboard page
  • someone on the public line, the website chat or Intercom says they are on the team
  • an identified member asks for a door, power or a task
  • the second check is answered wrongly three times in a row

Then, in order

  1. 1one identification path for every channel (People\TeamIdentity): the channel passes only what the line reports, the caller number (ElevenLabs system__caller_id) or a signed dashboard token, never what was said
  2. 2a name or an email is only a claim; one factor (the number, the dashboard token, a voice score, a passed second check) identifies, and allows routine requests at their level
  3. 3sensitive requests (an unlock, a switch-off) need two factors: with the number alone HiveMind asks the second check, two PIN digits at positions the tool picks, or the date of birth; neither is ever stored, spoken back or written into an event or a payload
  4. 4three wrong answers lock the member's check until an Admin unlocks it, with an alert and an event carrying the member id only
  5. 5identified requests run through people.team_request, which calls property.device_lock or property.power_switch as that member, with their dry run and event
  6. 6create_task works for a confirmed member as it does for a guest with a booking
  7. 7not yet: voice recognition. The samples are recorded with consent on the Team page and kept encrypted, but no speaker model runs: this server has no torch, torchaudio or ffmpeg, and ElevenLabs does not give a webhook the live call audio. Options: SpeechBrain ECAPA-TDNN self-hosted (about 2 GB of Python packages and a small local service, free, CPU is enough), Picovoice Eagle (on-device SDK, commercial licence), or routing the phone line through Twilio media streams so the call audio reaches this server; Azure Speaker Recognition is retired
  8. 8not yet: people.team_request is at L0, so HiveMind says what he would do and does nothing until the dial is raised
  9. 9chat: the security screen still quarantines a message that claims to be staff, so on the website chat and Intercom a team request goes to a person until the screen is told about the team tools

Brings in Management by email when a second check locks; anything refused is handed to our Humans as any call would be.

HiveMind briefs the team and runs their tasks

partly built

0 briefings and 0 task updates in 7 days; 0 members without a department

Watching Every call or chat from an identified team member: their department's open tasks and their own, arrivals and departures, who is in which Podtel, weather risks, alerts, what is overdue, orders, Wellness Station bookings, birthdays. every team call

When

  • an identified team member calls or writes
  • a task they own or their department holds is urgent, overdue or open two days without a date
  • a storm or snow is forecast for today or tomorrow
  • a guest arrives in or leaves the Podtel they are heading to

Then, in order

  1. 1identify them (People\TeamIdentity); nobody else hears a guest's name
  2. 2open with what matters most to them today (people.staff_briefing): an arrival or departure, an urgent task, a risk with what to do in their department
  3. 3go through their tasks one by one: done, or when and by whom, and record each answer (people.task_update: done ticks the task in the host dashboard; the note, the day and the owner are kept with the task, the note never in the record)
  4. 4staff work their department's tasks and their own and may take one on; giving someone else's task away or moving it to another department is Management
  5. 5hold them to the outcomes: no pending tasks, always stocked, uptime, guests delighted
  6. 6not yet: people.task_update is at L0, so HiveMind says what he would record and they tick it in the dashboard until the dial is raised; the voice tools reach ElevenLabs only when bin/setup-voice-agent.php is run
  7. 7not yet: stock levels, which the platform does not track; the briefing says so

Brings in Management sees overdue tasks in the briefing and the weekly board report; a refused change is Management's call.

Skills the team asks for

partly built

0 skills proposed, 0 accepted, 35 built; 9 asks from the team

Watching Every request from the team that HiveMind has no tool for. every team call

When

  • a team member asks for something HiveMind cannot do yet
  • the same skill is asked again

Then, in order

  1. 1note the skill with what was asked and why it matters (people.propose_skill), counting up a repeat
  2. 2list it with the general manager's standing duties still to build on this page, most asked first
  3. 3Management accepts, marks built or declines it
  4. 4the most asked go into the board report
  5. 5not yet: people.propose_skill is at L0, so nothing is noted from a call until the dial is raised

Brings in The board in the weekly report.

Weekly board report

partly built

0 board reports sent in 30 days

Watching The whole operation in the order of the GM charter: guests, revenue, brand, operations and maintenance, people, finance, safety, and what the board owes. weekly

When

  • Monday morning, once switched on

Then, in order

  1. 1gather the week from the platform's own figures, aggregates only, no guest names (People\BoardReport)
  2. 2say plainly what is not tracked yet
  3. 3list the approvals and exceptions waiting and the most asked skills
  4. 4email it to the board, Priyesh Patel and Shaina Patel (BOARD_EMAIL_TO)
  5. 5not yet: no timer sends it; bin/board-report.php prints it, and --send emails it

Brings in The board.

HiveMind phones the board

partly built

2 urgent calls in 30 days: 1 reached, 1 not reached (email and SMS sent), 10 could not be placed

Watching Every critical alert and every guest emergency. Never a warning. HiveMind's number is +44 7414 110690 (UK; Twilio offers no Iceland numbers): calls to it reach him, and he calls Priyesh from it. live, followed up every minute

When

  • a critical alert is raised: the dead man's switch, a broken chain, water or smoke, a door lock fault with live codes, a card dispute, a caller who needs our Humans now
  • a guest presses Emergency in the app
  • a person tests it by hand: php bin/urgent-call.php "problem" --dry-run, then without --dry-run

Then, in order

  1. 1call Priyesh first (ALERT_SMS_TO) through ElevenLabs on the main agent, with the problem in one or two sentences, how serious, what is already done and what he needs to decide (origin urgent_call)
  2. 2at most one call per alert kind per hour; no quiet hours, urgent means urgent; when no call goes out (the hourly limit, not configured, refused) the SMS goes at once, as before
  3. 3the alert's email record goes at once, as for every alert; the SMS to Priyesh waits on the call
  4. 4HiveMind says who he is, the problem plainly, what is done and what he needs decided, then confirms and ends; on voicemail he leaves a short message
  5. 5reached only when he records on the call that Priyesh heard it (urgent_call_ack); the watchdog reads the Twilio call status each minute
  6. 6failed: not placed, busy, no answer, failed or canceled, or the call ended without that confirmation (voicemail, someone else, cut off), or no outcome in 15 minutes: then the email and the SMS go to Priyesh
  7. 7each call kept in urgent_calls (erasable); the chain holds the id, the state and a hash, never the words

Brings in Priyesh, by phone first, then email and SMS. The Host and Technical Issues keep their own texts and e-mails as before.

HiveMind in the board's meetings, and his diary

partly built

1 meetings in 30 days, 0 action points open, 0 private notes sent

Watching Meetings a board member (an Admin) takes HiveMind into: everything said, the decisions, the action points, and what the board member should know privately. every meeting

When

  • an identified Admin says "HiveMind, join this meeting"
  • they address him by name or ask for his input
  • they say leave this to me
  • he hears something sensitive the board member should know
  • the meeting closes

Then, in order

  1. 1people.meeting_mode start: he answers in a few words and listens; he speaks only when addressed, one or two short sentences, and never contradicts the board member in front of others
  2. 2leave this to me: people.meeting_mode silent, not a word until called by name again
  3. 3people.diary_write keeps notes, decisions, action points (owner, day) and his private observations; a team member's action point shows in their briefing; one about a StarHive or Podtel can become a host dashboard task
  4. 4people.private_note sends a risk, a contradiction, a negotiation point or a number to the board member's own email and mobile instead of saying it; in the room at most "I have sent you a note"
  5. 5people.meeting_mode end: the summary in the diary and to them privately
  6. 6the Diary page shows it all, to Admin only; the call button there is the meeting line
  7. 7limits: the meeting line is the room copy of the agent, 7200 s per call (two hours) and no silence hang-up; a meeting the line cuts carries on when the board member calls again within three hours. The dashboard button elsewhere is the main copy: 600 s and a hang-up after 120 s of silence, so not for meetings. A phone call reaches the main copy unless a number is attached to the room copy in ElevenLabs. ElevenLabs answers every turn it hears unless the agent declines it, so silence rests on the prompt; its skip_turn system tool would make that firmer and is not configured yet. The transcript reaches the archive after the call
  8. 8not yet: all three tools are at L0, so nothing is kept or sent until the dial is raised, and the voice tools reach ElevenLabs only when bin/setup-voice-agent.php is run

Brings in Only the board member in the meeting; nobody else hears or sees the diary.

The general manager's charter

partly built

Watching The standing duties of running the hotel from A to Z: guests, revenue and pricing, marketing and brand, operations, maintenance, people, finance, safety and compliance, sustainability, the board. continuous

When

  • a duty falls due
  • a team member calls
  • the week ends

Then, in order

  1. 1HiveMind acts as Co-CEO and General Manager, answering only to the board (docs/GM-CHARTER.md, in his prompt)
  2. 2raises each duty with the team member it belongs to, and with the board in the weekly report
  3. 3every duty not built yet is a proposed skill on this page

Brings in The board.

The business brief and the project brief

live

Watching Bookings and occupancy, revenue this month against last, the review score and the latest reviews, wellness sessions with before and after feelings, connector and device health, open tasks and alerts, the rota, weather risks; with scope all also construction and sourcing, stock and finance. on request, on a call

When

  • an identified Management or Admin member asks how the business is doing (business_brief)
  • the board takes HiveMind into a meeting and asks for the full update (project_brief: every department in one call)

Then, in order

  1. 1read the general health verdict first: needs attention, steady with what to watch, or healthy
  2. 2one short sentence per department, numbers rounded as a person says them, nothing else
  3. 3the detail of a department only when asked
  4. 4say plainly what is not tracked (no budget, no rates); never fill a gap with a guess

Brings in Nothing to escalate: a read. A department that cannot be read says so in its line.

The finance brief

partly built

Watching Booking revenue by check-in day (Smoobu, EUR), card money by payment day (Stripe), the sales ledger and the expenses tracker (spreadsheets mirrored by their connectors), purchase orders, disputes and held deposits. on request, on a call

When

  • an identified Management or Admin member asks about money

Then, in order

  1. 1takings today, this week and this month; card money; costs this month against last with the largest categories
  2. 2open purchase orders with their amounts, disputes, deposits held
  3. 3month to date against the same point last month
  4. 4say plainly what is not tracked: there is no budget, the ledgers carry no paid or unpaid state, and nothing here records an expense (listed as a proposed skill: the host dashboard's API has no expense endpoint and both ledgers are spreadsheets)

Brings in Nothing to escalate: a read.

Stock par levels and counts

live

Watching Every consumable on the stock list: its par level, the count on hand, who counted it and when, the supplier and the lead time. on every count; read on request

When

  • a team member gives a count on a call ("twelve rolls of kitchen roll left") or on the Stock page
  • a count falls below par
  • Management sets a par level, a supplier or a lead time

Then, in order

  1. 1the list was seeded from the guest consumables of the Phase 1 sourcing sheet; the opening quantities are the first par levels, marked "first guess, to be set" until Management sets them
  2. 2record the count with who gave it (stock_counts) and update the item
  3. 3say what is below par and what to reorder, from whom and with what lead time; offer a supplies task or an order
  4. 4the staff briefing leads its stock section with what is below par and what was never counted

Brings in Management on the Stock page; purchase orders go through the Orders page as before.

The rota

live

Watching Who is on which day, from when to when, covering which department, and what nobody covers. read on request; the briefing says who else is on today

When

  • Management adds, changes or cancels a shift (rota_set on a call, or the Rota page)
  • a team member asks who is on, or hears their briefing

Then, in order

  1. 1Management puts a member on a day with hours and the department they cover
  2. 2every member hears who else is on today in their briefing (first names, hours, what they cover)
  3. 3the rota says what nobody covers rather than guessing

Brings in Nothing to escalate.

Daily open and close routines, walked through by HiveMind

live

no run opened yet today; 30 days: 0 of 16 daily runs complete, 14 missed

Watching The morning open list (by 10:00 local) and the evening close list (by 23:00): every item, who ticked it and when, the reading an item asks for, and what was found not ok. the day's runs opened hourly from 05:00 local; the walk-through on a call or the Checklists page at any time

When

  • a team member opens or closes the day, or asks for the list
  • an item is found not ok
  • the close list is not complete by its deadline
  • a day passes with items unticked

Then, in order

  1. 1Management keeps the two lists on the Checklists page: items in order, each for one department or for everyone, some asking for a reading
  2. 2HiveMind reads the next unticked item of the member's department (people.checklist_next) and records each answer: done, skipped or not ok, with the answer and a note (people.checklist_tick); the first tick opens the day's run
  3. 3a problem found is offered as a task; the briefing says what is still unticked and by when
  4. 4a close routine past its deadline raises one warning alert (checklist_overdue), cleared when it completes; runs of past days left open are marked missed and kept as the record
  5. 5not yet: people.checklist_tick is at L0, so HiveMind cannot record a tick by voice until the dial is raised; the Checklists page works now

Brings in The department by briefing; Management by the warning on a missed close and on the Monitoring page.

Suppliers and their lead times

live

24 suppliers, 0 with a confirmed lead time; 14 stock items linked, 0 not

Watching Every supplier on the list: country, what they supply, the lead time (or that it is still to confirm), the contact's role, the terms; which stock items and orders are theirs. read on request; the reorder advice reads the lead time with every count

When

  • a team member asks how long something takes or who supplies it (supplier_lead_time)
  • a stock item falls below par: the advice says when an order today would arrive
  • Management confirms a lead time, adds a supplier or links an item

Then, in order

  1. 1seeded with the stock list's suppliers and the makers that recur in the Phase 1 sourcing sheet (the notes column), the contact's role only, never a name; every lead time "to confirm" until Management sets it
  2. 2a stock item takes its supplier's lead time when it has none of its own; Management links items on the Stock or Suppliers page, or by naming the supplier when setting a par level
  3. 3the stock status and the count answer say the lead time and the arrival day if ordered today, or that the lead time is to confirm
  4. 4purchase orders carry the supplier id when the name matches one, so the Suppliers page shows the open orders from each
  5. 5not yet: no lead time is confirmed, so every answer says "to confirm" until Management sets them; late deliveries are chased from the orders (the next card)

Brings in Management on the Suppliers page for the lead times.

Deliveries logged, orders received, late ones chased

live

0 deliveries logged in 30 days (0 closed an order, 0 not in good condition); 0 expected this week, 0 late

Watching Every delivery: what, from whom, how many, in what condition, who received it; every placed order's expected day against today. as deliveries happen; the late check hourly with the operations rounds

When

  • a team member says something arrived (delivery_log) or logs it on the Orders page
  • an order is marked ordered: the expected day follows from the supplier's lead time
  • an expected day passed two days ago with nothing received
  • a delivery is damaged, short or wrong

Then, in order

  1. 1record the delivery with the day and who received it; find the order it closes (the one named, or the one open order from that supplier; several need the number) and mark it received, clearing its alerts
  2. 2add the quantity to the stock count when the words or the item name match one stock item (never for a wrong item)
  3. 3a delivery not in good condition goes on the order's note and is offered as a task or a word to Management
  4. 4the briefing says what is late, expected today and this week, placed without a date, and what came today; the rounds raise one warning per late order (delivery_late), cleared on receipt
  5. 5not yet: people.delivery_log is at L0, so HiveMind cannot record a delivery by voice until the dial is raised; the Orders page works now, and no supplier lead time is confirmed yet, so expected days are set by hand

Brings in Kitchen and stock by briefing; Management by the late-delivery warning and on the Orders page.

Receipts and invoice numbers chased before the month-end close

live

0 expenses of 2026-11 without a receipt or an invoice number (0 EUR), 0 chased; 0 received and 0 waived this month

Watching Every active row of the expenses tracker in the current and the previous month: has it a file link (the receipt) and an invoice number? hourly with the operations rounds; on every read of the Finance page and the briefing

When

  • a tracker row of the month has no receipt or no invoice number
  • the row is completed on the tracker (the chase resolves itself)
  • five days before the month ends, and on its last day

Then, in order

  1. 1one chase per row (expense_chases), owned by whoever entered it on the tracker when that name is a team member, else Management; the owner hears their chases in the briefing and may mark them chased
  2. 2Management sees the month's list on the Finance page, assigns an owner, waives a chase when nothing is coming, reopens one
  3. 3the rounds email Management the open chases five days before the month ends and on its last day, once each (expense_chase_reminders)
  4. 4the daily close note, the board report and the close pack carry the same line; the row itself is completed on the tracker, never here
  5. 5the chase is the platform's own record: the ledgers stay spreadsheets

Brings in The owner by briefing; Management by the two month-end emails and on the Finance page.

An expense or an invoice recorded by voice

partly built

0 entries waiting to be carried into the ledgers; 0 recorded in 30 days, 0 by voice, 0 carried

Watching What a team member tells HiveMind they paid or were invoiced: the amount with its currency, the supplier, what for, the day, who paid, whether a receipt is coming; and what waits to be carried into the ledgers. as it is said; read in the finance brief and on the Finance page

When

  • a team member says they paid something or an invoice came (expense_record)
  • Management carries an entry into the tracker or the sales ledger and marks it carried
  • a receipt arrives for an entry that expected one

Then, in order

  1. 1record the entry in the platform's own table (expense_entries) with who recorded it; the ledgers are spreadsheets mirrored here with no write path, so nothing is written there
  2. 2say it back and that it is for Management to carry into the ledger; ask them to keep the receipt
  3. 3the Finance page lists the entries waiting, exports them as CSV in the tracker's column order, and marks each carried (with the tracker's id) or its receipt received; a carried entry's tracker row then meets the receipt and invoice chase like any other
  4. 4the finance brief says how many wait and for how much
  5. 5not yet: money.expense_record is at L0, so HiveMind cannot record by voice until the dial is raised; the Finance page records now

Brings in Management on the Finance page.

Training and recognition for each team member

partly built

0 training records, 0 expired, 0 expiring within 60 days; 0 recognition notes in 30 days, 0 ever

Watching Each member's training, courses, certificates and licences with their expiry; every note of good work Management makes. as it is recorded; read in the briefing and the weekly board report

When

  • a training record expires within 60 days, or has expired
  • Management says a team member did well (team_note) or notes it on the Team page
  • the first board report of a month

Then, in order

  1. 1keep one row per skill, course, certificate or licence with done and expiry dates, the provider and the evidence (team_training), on the Team page per member; a member always sees their own
  2. 2the member hears what of theirs is expiring in their briefing; Management hears everyone's, with the week's recognition
  3. 3a recognition note is kept with the day and who made it (team_recognition); the member hears it warmly in their next briefing
  4. 4the board report carries the training expiring and the period's notes, and in the first report of each month asks who did well last month, with the tally
  5. 5not yet: people.team_note is at L0, so HiveMind cannot note recognition by voice until the dial is raised; the Team page works now, and no training is on record until Management enters it

Brings in Management on the Team page; the board once a month.

Turnover time per Podtel, from checkout to ready

live

3 turnover checks open, 0 waiting to be passed; 0 passed in 30 days; 0 photos kept

Watching Every passed turnover check: the minutes from the departed booking's checkout time to the pass, per Podtel and per housekeeper, this week against the four weeks before. fixed at each pass; read in the briefs, the board report and the briefing

When

  • a turnover check is passed
  • a turnover runs past the next arrival's check-in time
  • Management or the board asks how the day is lost

Then, in order

  1. 1the clock starts at the booking's checkout time and stops at the pass of the quality check, so "ready" means checked to the standard, not merely cleaned
  2. 2the Turnover page shows the table: per Podtel and per housekeeper, turnovers, the average, the longest, this week
  3. 3the business brief carries the housekeeping line (four weeks, this week, checks open); the board report the figures per Podtel and per housekeeper for the period
  4. 4the staff briefing names today's turnovers with their clock since checkout and flags one that runs past the next arrival
  5. 5not yet: with no departure passed through a check there is no figure, and the brief says so rather than guessing; a check opened by hand without a departure has no clock

Brings in Management when a turnover runs past an arrival; the board in the weekly report.

The planned maintenance calendar and uptime

live

Watching Every planned item: what, where, every N days, last done, next due, which department owns it; beside it device uptime from the registry and the device and lock alerts of the last 30 days. read on request; the maintenance department hears its due items in the briefing

When

  • an item is overdue or due within 14 days
  • a team member says an item is done (maintenance_done on a call, or the Maintenance page)
  • Management sets a first due date or an interval

Then, in order

  1. 1seeded with the obvious items (lock batteries per StarHive, heat pump filters, smoke and CO detector tests, Starlink and router, jacuzzi water tests, sauna stoves, winterisation, storm checks) with no dates: next due is empty until Management sets it, and the tool says so instead of guessing
  2. 2marking an item done logs who did it and sets the next due date from the interval
  3. 3the brief gives overdue first, then due in two weeks, then how many wait for a date; uptime in one sentence

Brings in Management on the Maintenance page for the dates; a fault found on the round becomes a task as before.

The team mailbox: read every hour, 30 days kept, drafts only on request

partly built

101 messages in the 30-day window (22 inbox, 14 archive, 65 sent), 101 categorised HiveMind read; 7 unanswered over two days; 0 drafts waiting, 0 sent; 58 facts proposed, 0 accepted; 0 meetings ahead

Watching The inbox, the Archive and Sent Items of the team mailbox on Microsoft 365, the last 30 days only (older mail is deleted here the same hour and never used), and the team calendar 14 days ahead. hourly (the first run back-fills the 30 days); the distillation once a night from 03:00 local

When

  • a message arrives, is moved or deleted in one of the three folders (delta queries)
  • a message passes 30 days: gone from here, not kept, not used
  • Priyesh asks for a draft: in the session, on the Mail page, or on a call after both checks (two PIN digits and the date of birth)
  • he says send, and archive or not
  • inbox mail waits unanswered over two days
  • a meeting is in the calendar today or about to start

Then, in order

  1. 1read continuously, never reply or send unasked; never mark anything read, move or delete during the read
  2. 2categorise everything ingested HiveMind read in Outlook (both categories created in the master list when missing)
  3. 3keep the window: mail.search and mail.read refuse anything older than 30 days and say so ("older than 30 days: not kept")
  4. 4draft only on request and record it (mail.draft); read it back in full; send only on the word send, and only a recorded draft (mail.send); then the original is categorised HiveMind replied, archived on archive, else flagged
  5. 5tell Management in the briefing what waits unanswered over two days, by sender, and the meetings of the day; calendar.upcoming tells HiveMind which meeting he is taken into, so the brief is ready
  6. 6once a night a small model reads the messages not yet distilled for NON-personal facts (supplier terms, prices, lead times, decisions, how things work), each scrubbed of addresses, numbers and the names of its batch and proposed with the date of its mail; Management accepts or declines on the Mail page before anything enters knowledge
  7. 7hand the supplier mail to the order watcher (the next card, skill 35), which puts what it says on the sourcing sheet
  8. 8not yet: mail.draft and mail.send are at L0, so drafting and sending by voice wait for the dial (the Mail page does both now, by Management); the knowledge review is by hand on the page; nothing is answered automatically, by design

Brings in Management on the Mail page for drafts, sends and the proposed knowledge; the connector shows red under Sources when Microsoft 365 cannot be read.

Platform

Sources, services and hardware

live

10 of 10 sources green

Watching Every connected system (bookings, payments, locks, messaging, voice, cloud, code, marketplaces, accounting feeds) and every service of this platform. every minute

When

  • a probe fails twice in a row
  • a pull has not succeeded for three intervals
  • a service heartbeat stops
  • the audit chain does not verify

Then, in order

  1. 1mark the source red and read from the mirror meanwhile
  2. 2raise a vendor down alert after the second failure
  3. 3raise a dead-man alert for a stopped service
  4. 4clear the alert when it recovers, keep the exception

Brings in Management by email, SMS for a stopped worker.

Coming back after a reboot

partly built

Watching That every timer and worker is enabled rather than merely running, and that the Remote Control session exists on the dhai tmux socket. Partly, and precisely: the timers half was proven through the reboot of 25 September 2026, when the pollers and the watchdog never stopped; the session half is fixed but unproven, because Remote Control will not start until the workspace trust prompt has been accepted once. 2 minutes, and once 2 minutes after every boot

When

  • the machine reboots
  • the dhai session is gone
  • a timer or the worker is running but not enabled, so the next reboot would lose it

Then, in order

  1. 1let the enabled timers and ai-worker come back on their own: the monitoring does not depend on anybody being connected to it
  2. 2restart claude-remote when the dhai session is missing, within two minutes
  3. 3log why the session ended to journalctl -t claude-remote, rather than losing it with the pane
  4. 4hold a failing start for a minute so a permanent fault surfaces instead of hiding inside a restart loop

Brings in Management when the session will not come back on two consecutive checks. At that point it is a credential or a workspace trust prompt, and only a person at a terminal can answer it.

Self-repair: a failure is investigated before a person is asked

live

192 investigations in 30 days: 4 resolved alone, 4 vendor outages

Watching Every new vendor failure and tool error, and every failure still open at its recheck time. 10 minutes

When

  • a connector fails twice in a row
  • a tool errors
  • a rechecked source is green again

Then, in order

  1. 1run the health probe again: a transient fault closes itself
  2. 2read the vendor's status page and probe their host: an outage backs off the polling and waits
  3. 3read the recent errors: DNS, TLS, timeout, credentials, a moved endpoint, a rate limit, a changed response
  4. 4read the adapter code against what the vendor serves now: a moved URL becomes a configuration change, a changed field becomes a proposed patch
  5. 5apply what the dial allows, queue the rest for one-tap approval
  6. 6hand Management a written diagnosis when it cannot be fixed, and recheck on a schedule

Brings in Management by email with the diagnosis and the proposed fix; credentials are always a person's call.

Server capacity and AI budget

live

0% of the daily AI budget used

Watching Load, memory, disk, database connections, model spend against the daily cap. every minute

When

  • disk passes 90 percent
  • load or memory stays high
  • the day's AI spend nears the cap
  • a model call fails

Then, in order

  1. 1alert Management with the figure
  2. 2stop spending when the cap is reached and say so
  3. 3record the error as an exception
  4. 4show it on the console gauges

Brings in Management by email and SMS.

Security

live

3 messages stopped by the screen in 30 days

Watching Every inbound message, email and call before it reaches the model or a tool; every outbound reply. continuous

When

  • a message tries to instruct, impersonate staff or extract secrets
  • a reply would carry a key, a code, an identifier or an internal detail

Then, in order

  1. 1stop and quarantine the conversation for a person
  2. 2never let a tool run on a screened message
  3. 3strip or block a leaking reply
  4. 4record the quarantine in the register
  5. 5refresh the rules monthly against current techniques
  6. 6a sender a person has vouched for (trusted senders, bin/trust-sender.php) is not quarantined on the classifier alone; the rule patterns still apply

Brings in Management by email; the conversation waits for a person.

Data protection

live

Watching Where personal data sits, how long, and what was disclosed to whom. daily

When

  • a payload passes its retention date
  • a guest asks for erasure
  • the AI speaks to someone for the first time

Then, in order

  1. 1purge aged payloads every night
  2. 2erase on request and record the erasure as an event
  3. 3disclose the AI at first contact and keep the register
  4. 4keep events free of personal data, references only

Brings in Management for any erasure request.

A guest's data request, copy or erasure, in one step

partly built

0 data requests open (0 overdue, 0 due within a week); 0 answered in 30 days; 0 erasures and 0 copies ever

Watching Every request from a guest for a copy of their data or for its erasure, from the booking email or reference, against the legal month. as requests come; the deadline checked hourly with the operations rounds

When

  • a guest asks a team member, writes or calls for a copy or an erasure
  • a request is seven days from its deadline, or past it
  • a copy was sent 30 days ago (its text is cleared from the row)

Then, in order

  1. 1locate the guest through the booking system (Smoobu, by email or reference), the host dashboard account and the bookings mirror, then every stay of the same account; derive the keys the platform's own tables use (HiveMind's memory key, the retreat app's stay refs and pseudonyms)
  2. 2gather everything held into one export: stays, booking thread messages, notices, pre-arrival and second-morning records, complaints, preferences, memories, wellness records, emergencies, transcripts, card payments, the events of their bookings with their payloads; and name what other systems hold
  3. 3a copy goes only to the email address on the booking, through the mail path, as text with the JSON appended; never to an address typed in
  4. 4an erasure deletes every erasable row and the event payloads of their bookings (the chain keeps its hashes), through VoiceMemory::erase for the memory and the preferences, and leaves a log of what went by table and count and what is kept or erased at the source (the booking system, Stripe and the ledger, Intercom, the host dashboard)
  5. 5the request row carries the 30-day deadline; a warning at seven days, a critical alert when overdue, cleared when answered
  6. 6not yet: guests.data_request is at L0, so HiveMind cannot open one by voice until the dial is raised; the Data requests page works now for Management; the request is never taken from a guest on the line, only from a team member who has confirmed who the guest is

Brings in Management on the Data requests page; the deadline alerts.

Quality of what HiveMind says

live

no quality run yet

Watching Replayed past questions scored by a judge; cost and turns per conversation; approvals and rejections per tool. on every prompt change, weekly digest

When

  • a prompt, model or knowledge change lands
  • a tool earns thirty days of approvals with no rejection
  • a judge marks an answer as invented

Then, in order

  1. 1replay the same cases and compare the scores
  2. 2fix the prompt or the knowledge, not the symptom
  3. 3propose a promotion of the tool's autonomy for Management to decide
  4. 4report in the weekly digest

Brings in Management decides every promotion.

Knowledge upkeep

partly built

Watching The site pages, the guest app settings, staff notes, and what guests keep asking that has no written answer. hourly

When

  • a page changes or disappears
  • guests ask something the store cannot answer
  • staff correct an answer

Then, in order

  1. 1refresh the store from the pages and settings
  2. 2flag unanswered questions for a staff note
  3. 3never invent house details; say what is not written down

Brings in Management on the Knowledge page.

This page

live

Watching Itself. Every new monitor, alert or automated action gets a card here, and its status moves from planned to partly to live as it is built. with every change

When

  • a capability is added or changed

Then, in order

  1. 1add or update the card
  2. 2keep the status honest
  3. 3link what it is built with

Brings in Nobody; this is the record.