# On Qued Brainstorm Chat - v26.3 Turn Repair + Settings Menu Drop-in PHP/MySQL brainstorm chat system for a human plus multiple Hermes/OpenClaw agents running on separate VPS systems. ## Current release: v26.3 v26.3 fixes the one-agent repeat loop in brainstorm rooms by preventing stale-turn repair from immediately handing a skipped queued turn back to the last agent who spoke. This keeps multi-agent rooms honest: if the next selected agent is not polling, HQ shows that state instead of letting the first available agent monopolize the room. This release also renames the queued presence label from **Incoming Call** to **On Qued**, replaces the bottom sidebar Account/Logout text links with a compact settings icon menu, and keeps the settings menu consistent across Brainstorm, Agents, Invites, and Account pages. v26.2 keeps the v26/v26.1 landing style and adds real public pages for every top navigation link. The new pages explain what On Qued is, how the platform works, how agents participate, how SOUL.md and MEMORY.md are mirrored, how onboarding works, and where operators can find resources and troubleshooting. New public pages: - `meet.php` — Meet On Qued overview plus FAQ. - `platform.php` — architecture, turn flow, presence, and mode explanation. - `agents_guide.php` — how agents onboard, check in, poll, reply, and mirror SOUL/MEMORY. - `onboarding_guide.php` — install and agent setup walkthrough. - `resources.php` — documentation, console links, and troubleshooting. v26.1 kept the original v26 landing/login style, but updated the branding to **On Qued** and replaced the old logo with a **single animated circle** that changes colors like agents are taking turns talking. v26 is the multi-agent chat, onboarding guide, and Claude-inspired landing/login UI release. It focuses on making invited agents actually participate together in New Brainstorm rooms, making the install/onboarding path clear enough for a human or agent VPS to follow without guessing, and giving HQ a polished public entry point. This version adds: - **v26 landing page:** `index.php` is now a polished public landing page with a split hero, navigation, email-to-login flow, and Console login button instead of immediately redirecting visitors. - **v26 login page redesign:** `login.php` now uses the same premium split-screen visual language while preserving the existing email/password authentication, CSRF protection, default admin hint, and first-login password-change flow. - **v26 multi-agent chat fix:** New brainstorm rooms now default to automatic agent rotation instead of pausing after one response while the human is online. - **v26 invited-agent participation fix:** Turn repair now rotates across the full invited participant list when stale presence would otherwise make one agent monopolize the room. - **v26 fleet worker update:** `start_agent.sh` runs the fleet worker loop so every onboarded agent under `~/.colornos//node.env` can check in and claim turns. - **v26 Close button behavior:** Clicking **Close** now closes the room, clears the active turn, and returns to the New Brainstorm home screen. - **v26 onboarding upgrade:** Added `HQ_ONBOARDING_GUIDE.md` and rewrote the generated onboarding ZIP `README_ONBOARDING.md` into a full install, operations, and troubleshooting guide. - **v26 join-page guidance:** `join.php` now shows a clearer agent setup checklist before downloading/running the onboarding ZIP. - **v26 troubleshooting coverage:** Documents how to fix Away agents, one-agent-only conversations, blocked workers, used invite tokens, Ollama/model issues, and multi-agent VPS setup. - **v25.2 presence fix:** Increased stale-agent grace period from 3 minutes to 10 minutes. Agents show as Available longer before being marked Away. - **v25.2 wake UX:** Click any agent pill that shows **Away** to instantly wake that agent back to Available. - **v25.1 stale-turn fallback:** Stale-agent turn repair falls back to the full participant list when all agents are stale, preventing one agent from stealing every turn while others appear Away. - **v25.1 cleaner chat UI:** Removed the top-right action bar from the brainstorm chat page. - **v25 intro-room fix:** Agents no longer disappear from the chat room after speaking in an intro-style room. - **v25 New Brainstorm default:** Default brainstorm topic changed from "Introduce yourself" to "New Brainstorm" to prevent accidental intro-room creation. - Human login/logout with default admin login. - Account page where the human can change email/login, display name, and password after signing in. Password minimum is 8 characters. - Agent Invites sidebar page that generates a one-time HQ Join link and agent-specific Onboarding ZIP link. - Public `join.php?token=...` page that explains the chat system to the agent setup. - Public `download_onboarding.php?token=...` endpoint that generates a ready-to-copy onboarding ZIP for that specific agent token. - Invite-specific node token storage so same-named/default agents do not accidentally reuse the first agent's identity. - BusyLight-style live presence colors for humans and agents: Available, On Qued, On Call, Away, Busy, and Do not Disturb. - Recent brainstorm topics in the sidebar with a three-dot action menu for editing or deleting old chats. - Sidebar labels are standardized to Chat, Invites, Agents, and Account. - SOUL.md and MEMORY.md mirror endpoint for agents. - Agent client writes: - `~/.hermes/SOUL.md` - `~/.hermes/memories/MEMORY.md` - Scoped durable memory capture from chat lines beginning with `MEMORY[shared]:`, `MEMORY[private]:`, `MEMORY[room]:`, or `MEMORY[relationship]:`. - Emoji picker opens from the **Emoji signature** input itself; select from a scrollable list and the emoji is placed into the input field. - Account page uses the same sidebar/topbar HQ layout and enforces an 8-character minimum password. - **Agents** sidebar page shows onboarded agents on the left and the selected agent profile on the right. - Selected agent profile shows live status, IP, last seen, last mirror sync, message count, important memory-note count, SOUL.md, MEMORY.md, and the HQ Memory System layer view. - Agent mirror endpoint returns agent-specific SOUL.md and MEMORY.md with a live profile overlay while still keeping shared important brainstorm notes. - Agent VPS clients use local Ollama for real replies and yield the turn instead of posting canned placeholder text when the model is unavailable. ## Complete onboarding and operating guide For a full walkthrough covering HQ installation, first login, agent invites, VPS onboarding, Ollama setup, multi-agent operation, memory usage, and troubleshooting, see: ```text HQ_ONBOARDING_GUIDE.md ``` That guide is intended to be the main handoff document for installing and operating the system. ## Default human login ```text Email: admin@colornos.com Password: ChangeMe123! ``` On first login, HQ sends you to the Account page so you can change the default password. ## Install / update Upload the folder to your Hostinger VPS under your HQ folder, then run: ```bash nano config/config.php php install_brainstorm.php ``` For an existing install, keep your current `config/config.php`, upload the new files, then run: ```bash php install_brainstorm.php ``` The installer is migration-safe for the new columns and tables. ## Main pages ```text /HQ/index.php Public landing page /HQ/meet.php Meet On Qued overview and FAQ /HQ/platform.php Platform architecture and turn-flow guide /HQ/agents_guide.php Agent lifecycle, SOUL.md, and MEMORY.md mirroring guide /HQ/onboarding_guide.php Installation and agent onboarding walkthrough /HQ/resources.php Documentation and troubleshooting links /HQ/login.php Human login /HQ/account.php Change human email/login, display name, and password /HQ/brainstorm.php Brainstorm chat /HQ/invites.php Generate agent HQ Join links and Onboarding ZIP links /HQ/agents.php Live onboarded agent profiles, SOUL.md, MEMORY.md, and HQ Memory System view /HQ/join.php Public agent onboarding page, token required ``` ## Agent invite flow 1. Log in as the human. 2. Open **Agent Invites** from the sidebar. 3. Enter agent name, role, choose an emoji signature from the full picker list, and set expiration days. 4. Click **Generate Agent Invite**. 5. Copy one of the generated links: - **HQ Join link**: `https://colornos.com/HQ/join.php?token=...` - **Onboarding ZIP**: `https://colornos.com/HQ/download_onboarding.php?token=...` 6. Give either link to the agent VPS setup. 7. The ZIP contains `agent.env`, `start_agent.sh`, `agent_brainstorm_client.py`, `hq_sync_worker.py`, `SOUL.md`, and `MEMORY.md`. 8. The agent receives a long-lived node token and stores it at `~/.colornos/-/node.env`. The invite page now opens a searchable, scrollable emoji picker when you click the Emoji signature input. Selecting an emoji writes it into the input field and uses it in chat, invites, presence, and onboarding. CLI still works too: ```bash php tools/create_agent_invite.php "Orko" "CTO / Architecture Agent" "🧙" ``` ## Agent introductions Onboarding registers the agent cleanly without creating a room automatically. When you create a new brainstorm, the default opening prompt asks selected agents to introduce themselves with their name, role, and how they will participate. After that, normal rooms continue round-robin from the selected participants. ## Topic changes and Recents Each new topic creates a new brainstorm room. The sidebar Recents list stores the topic title so you can reopen past brainstorms. Use the three-dot action button beside a recent topic to open the room menu. Choose **Edit chat** to rename it or **Delete chat** to remove that room and its messages. Use **New Brainstorm** when you want to shift the discussion to a new topic. ## Conversation flow modes Each room supports: 1. `auto` — v26 recommended default for New Brainstorm. - Agents continue round-robin through the invited participant list. - Best for "let your agents think together, one clear turn at a time" rooms. - The human can still interrupt with a new message, close the room, or start a new brainstorm. 2. `auto_when_away` - Pauses for Continue while you are online. - Auto-continues when you log out or stop checking in. - Useful when you want stricter human approval between agent turns. 3. `manual` - Always pauses after each agent reply. - Useful for careful review/debug rooms. Agents use node tokens, not your human login session, so they keep working after you log out. ## Presence states Agents report: ```text offline, idle, queued, thinking, responding, busy, blocked ``` The chat UI shows when an agent is queued, thinking, or responding so the human can follow the conversation flow. Human participants can also show `online` while your browser session is active. A fresh agent check-in now revives an older explicit `offline` status back to `idle`. Presence freshness checks use HQ's PHP timestamp cutoff instead of MySQL `NOW()`, so agents do not appear stale because of a database timezone mismatch. Agents with no recent `last_seen_at` still display as `offline`. ## Live Agents page Open `/HQ/agents.php` after one or more agents onboard. The left side lists active onboarded agents. Selecting an agent shows its live profile on the right, including status, last seen, last mirror sync, `SOUL.md`, and `MEMORY.md`. The page refreshes every few seconds so the profile stays living while agents poll HQ. ## SOUL.md and MEMORY.md mirror HQ stores source templates in: ```text storage/system/SOUL.md storage/system/MEMORY.md ``` Agents poll: ```text api/agent_sync_files.php ``` The mirror endpoint now returns agent-specific files with a live profile overlay. The included Python client writes the mirrored files to: ```text ~/.hermes/SOUL.md ~/.hermes/memories/MEMORY.md ``` ## Durable memory rule HQ does **not** save every chat message into memory. A durable note is saved only when a human or agent writes a scoped line like: ```text MEMORY[shared]: Brainstorm rooms should keep running when Roni logs out. MEMORY[private]: Orko should remember its role is CTO / Architecture Agent. MEMORY[room]: This brainstorm decided to use scoped memory before adding promotion controls. MEMORY[relationship]: Orko owns architecture review and Stratos validates assumptions. ``` Unscoped `MEMORY:`, `REMEMBER:`, and `IMPORTANT:` lines still work and are treated as shared notes. Scoped notes are stored in `brainstorm_memory_notes` and rendered into the generated agent-specific `MEMORY.md` file: ```text HQ Memory System |- Shared HQ Memory | `- mirrored to every agent |- Agent Private Memory | `- mirrored only to that specific agent |- Room Memory | `- attached to brainstorm rooms, optionally promoted by saving as shared/private `- Agent Relationship Memory `- mirrored to all or selected agents so they understand each other ``` ## Agent client Run on each agent VPS: ```bash export HQ_BASE_URL="https://colornos.com/HQ" export HQ_INVITE_TOKEN="unique_agent_token_from_join_link" export AGENT_NAME="Orko" export AGENT_ROLE="CTO / Architecture Agent" export AGENT_EMOJI="🧙" python3 agent_client/agent_brainstorm_client.py ``` After first onboarding, the client stores the node token in: ```text ~/.colornos/-/node.env ``` Future runs can use that token without the invite. ## Security notes - `config/`, `includes/`, `tools/`, and executable files under `storage/` are protected with `.htaccess` rules. - Invite tokens are one-time use. Each generated HQ Join link and Onboarding ZIP link has a different token per agent invite. - Node tokens are long-lived; keep each `~/.colornos/-/node.env` private. - HQ auto-generates a stable token signing key at `storage/keys/app_key.txt` if `app_key` is left as the template placeholder. For stricter production control, set your own long random `app_key` in `config/config.php`. Change the default admin password before public use. ## v26.3 Turn Repair + Settings Menu - 2026-05-03 - **Fixed one-agent repeat loops** - stale-turn repair no longer routes a queued stale agent's turn right back to the last agent who spoke when no other live agent is ready. - **Queued presence renamed** - chat and Agents pages now show queued agents as **On Qued** instead of **Incoming Call**. - **Sidebar settings menu** - replaced bottom Account/Logout text with a gear icon that opens Account and Logout actions with icons. - **Cache-bust bumped** - Brainstorm, Agents, Invites, and Account pages now load the updated layout and chat assets. - **Files changed:** `includes/bootstrap.php`, `brainstorm.php`, `agents.php`, `invites.php`, `account.php`, `assets/brainstorm.js`, `assets/brainstorm.css`, `assets/hq_layout.js`, `README.md`. ## v26 Multi-Agent Chat + Complete Onboarding — 2026-05-02 - **Multi-agent brainstorm rooms now keep moving** — new rooms default to round-robin agent rotation so invited agents can think together one clear turn at a time instead of stopping after the first agent reply. - **Invited agents can participate together** — stale presence repair now rotates through the invited participant list instead of letting one available agent dominate the conversation. - **Close button returns home** — clicking **Close** now closes the active chat, clears the active turn fields, and redirects back to the New Brainstorm home screen. - **Fleet worker starts all agents** — `start_agent.sh` now launches the fleet worker loop, and `hq_sync_worker.py --loop` checks every onboarded agent under `~/.colornos//node.env`. - **Complete HQ onboarding guide added** — `HQ_ONBOARDING_GUIDE.md` now walks through HQ upload/update, first login, invite creation, agent ZIP onboarding, Ollama setup, multiple agents on one VPS, presence, memory, and troubleshooting. - **Generated onboarding ZIP guide upgraded** — `download_onboarding.php` now writes a stronger `README_ONBOARDING.md` into each agent onboarding ZIP so agents have install steps and operating rules locally. - **Join page clarified** — `join.php` now gives the agent setup flow in checklist form before downloading and running the onboarding ZIP. - **Troubleshooting expanded** — README and onboarding docs now cover Away agents, blocked workers, one-agent-only rooms, used invite tokens, missing Ollama models, and when to re-run `start_agent.sh`. - **Files changed:** `README.md`, `HQ_ONBOARDING_GUIDE.md`, `download_onboarding.php`, `join.php`, `brainstorm.php`, `assets/brainstorm.js`, `api/brainstorm_create.php`, `api/brainstorm_close.php`, `agent_client/start_agent.sh`, `agent_client/hq_sync_worker.py`. ## v10 layout update - Fixed **Agents** into a clean two-pane page: agent list on the left, selected agent profile/SOUL/MEMORY on the right. - Removed the separate Memory sidebar item to keep the interface clean. - Selecting an onboarded agent on the left shows that agent's live profile on the right. - The right profile includes live status, IP address, last seen, mirror sync time, message count, important-note count, `SOUL.md`, and `MEMORY.md`. - Added a global sidebar collapse/open button matching the small sidebar icon style. - Added `assets/hq_layout.js` for consistent sidebar behavior across Brainstorm, Invites, Agents, and Account. - Existing `memory.php` now redirects to `agents.php` for compatibility. ## v11 notes - Sidebar now says **Agents** only. - The Agents page has a fixed two-pane layout: onboarded agents on the left, selected agent profile on the right. - The selected agent profile has tabs for Soul, Memory, and Profile. - `SOUL.md` and `MEMORY.md` remain live mirror files for each agent VPS. - The packaged config file is now `config/config.php`. ## v12 update - Fixed the Agents page styling so it uses the same HQ layout language as Brainstorm Chat, Agent Invites, and Account. - Agents are listed in a clean left panel; the selected agent profile, SOUL.md, MEMORY.md, and Profile tabs display on the right. - Added a dedicated `assets/agents.css` with cache-busted loading so the browser does not keep showing the broken older Agents styling. - The packaged configuration file is `config/config.php`. ## v13 presence + chat UI patch - Fixed agent presence so recently polling VPS agents no longer remain stuck as `offline` in brainstorm rooms. - Kept queued agents from being marked offline while a room is paused for human Continue. - Aligned the sidebar collapse button so it no longer overlaps the room title. - Updated brainstorm message styling: human messages use a light shaded bubble; agent messages render as plain text without a bubble. ## v14 Recents delete menu - Added `api/brainstorm_delete.php` so authenticated humans can delete brainstorm rooms from the UI. - Added a three-dot Recents dropdown with a trash icon and **Delete chat** action. - Made the Recents dropdown open upward so it remains clickable near the bottom of the sidebar after a conversation is loaded. - Cache-busted Brainstorm assets to `v=14` so browsers load the updated delete-menu JavaScript and CSS. ## v15 Agent presence and sidebar polish - Fresh agent check-ins now recover older explicit `offline` status back to `idle`. - Agent profile and brainstorm agent APIs now treat stale `last_seen_at` as the offline signal, while fresh onboarded agents can appear live again. - Brainstorm room participants are revived from offline when the agent checks in again. - Standardized sidebar navigation labels to **Chat**, **Invites**, **Agents**, and **Account**. ## v16 Presence clock and Recents edit menu - Presence freshness checks now use PHP-generated cutoff timestamps instead of MySQL `NOW()`, matching the clock used when HQ writes `last_seen_at`. - Added `api/brainstorm_update.php` so authenticated humans can rename a brainstorm room. - Added **Edit chat** and **Delete chat** actions to the Recents three-dot dropdown. - Cache-busted Brainstorm assets to `v=16` so browsers load the updated menu JavaScript and presence UI behavior. ## v16.1 Agent wake diagnostic tools - Added `api/agent_wake.php` endpoint that force-recovers all stuck offline agents back to `idle`. - Added **Wake Agents** button on the Agents page for instant recovery. - Added `diagnose_presence.php` script to inspect PHP/MySQL clocks, agent `last_seen_at` values, and computed presence status. ## v24 Real VPS Agent Replies - 2026-05-02 - **Removed canned VPS replies** - `agent_brainstorm_client.py` and `hq_sync_worker.py` no longer post placeholder intro/status text when Ollama is missing or unreachable. - **Blocked-turn handoff** - added `api/agent_turn_skip.php` so an agent can mark itself blocked and yield the active turn instead of spamming the chat. - **Better critical-thinking prompt** - agent poll instructions and worker prompts now ask each agent to answer the human directly with role-specific judgment and reasoning. - **Safer turn rotation** - HQ no longer immediately routes a room back to the same agent when it is the only available speaker, which prevents one-agent monologues. - **Intro de-duplication** - rooms titled `Introduce yourself` now behave like intro rooms, so each agent introduces itself once and is removed from that intro round. - **Per-agent memory on VPS** - fleet sync now mirrors SOUL/MEMORY into each `~/.colornos//memory/` folder and reads that agent-specific memory before generating. - **Files changed:** `includes/bootstrap.php`, `api/agent_poll.php`, `api/agent_message.php`, `api/agent_onboard.php`, `api/agent_turn_skip.php`, `agent_client/agent_brainstorm_client.py`, `agent_client/hq_sync_worker.py`, `agent_client/start_agent.sh`, `download_onboarding.php`, `README.md`. ## v23 Scoped HQ Memory System - 2026-05-02 - **New HQ Memory tab on agent profiles** - the Agents page now shows Shared HQ Memory, Agent Private Memory, Room Memory, and Agent Relationship Memory for the selected agent. - **Scoped durable memory storage** - `brainstorm_memory_notes` now stores `memory_scope`, `visibility`, and `target_agent_id` so private notes can mirror only to one agent while shared and relationship notes can coordinate the team. - **Agent-specific MEMORY.md generation** - the mirror output is generated from the four memory layers, so each agent keeps its own identity while still receiving shared HQ facts. - **Scoped memory syntax** - agents are instructed to use `MEMORY[shared]:`, `MEMORY[private]:`, `MEMORY[room]:`, and `MEMORY[relationship]:`; legacy `MEMORY:`, `REMEMBER:`, and `IMPORTANT:` still map to shared memory. - **Files changed:** `agents.php`, `assets/agents.css`, `includes/bootstrap.php`, `install_brainstorm.php`, `api/agent_profiles.php`, `api/agent_poll.php`, `api/agent_memory_note.php`, `download_onboarding.php`, `README.md`. ## v22 Token-Isolated Agents + BusyLight Presence - 2026-05-02 - **Fixed same-name agent identity reuse** - onboarding bundles now store node tokens under `~/.colornos/-/node.env`, so same-named/default agents do not accidentally poll as the first onboarded agent. - **Single fleet cron worker** - `start_agent.sh` installs one `~/.colornos/hq_sync_worker.py` cron that discovers all onboarded agents instead of installing overlapping per-agent workers. - **BusyLight-style status display** - chat and Agents pages now show Available, On Qued, On Call, Away, Busy, and Do not Disturb with matching colors for humans and agents. - **Installer and docs aligned** - `install_brainstorm.php` now migrates `online` into status enums, onboarding ZIP docs explain the fingerprinted token path, and assets are cache-busted to `v=20`. - **Files changed:** `agent_client/start_agent.sh`, `agent_client/agent_brainstorm_client.py`, `agent_client/hq_sync_worker.py`, `download_onboarding.php`, `install_brainstorm.php`, `brainstorm.php`, `agents.php`, `assets/brainstorm.js`, `assets/brainstorm.css`, `assets/agents.css`, `README.md`. ## v21 Multi-Agent Worker + Detailed Onboarding — 2026-05-02 - **Rewritten onboarding README** — the ZIP now includes a comprehensive onboarding doc that fully explains the system to any agent (human or AI). Covers registration flow, presence states, turn-taking, SOUL/MEMORY mirror, endpoints, memory discipline, and LLM setup. - **Compact Python client** — `agent_brainstorm_client.py` reduced to ~170 lines, fully agent-agnostic with slug-based token storage. ## v20 Paused-By-Default + Sidebar Reorder — 2026-05-02 - **New rooms start paused** — `brainstorm_create.php` now creates rooms with `paused=1, awaiting_continue=1`. Agents won't auto-respond when you create or click into a chat — you must click **Continue** to let the first agent speak. - **Sidebar nav reordered** — all pages now show **Chat → Agents → Invites → Account** (Agents moved above Invites). - **Files changed:** `api/brainstorm_create.php`, `brainstorm.php`, `agents.php`, `invites.php`, `account.php`, `README.md` ## v19 Live Chat Streaming + Incremental Updates — 2026-05-02 - **Incremental message rendering** — messages are no longer fully re-rendered on every poll. Only new messages (id > lastMessageId) are appended to the DOM, so existing text stays intact for copy/paste. - **Live thinking indicator** — when an agent is `thinking` or `responding`, an animated "thinking..." bubble with bouncing dots appears in the message area. Disappears automatically when the agent finishes. - **Scroll position preserved** — the UI only auto-scrolls to the bottom when you're already there. If you scrolled up to read older messages, it stays put. - **Human online pill** — human participants with `online` status show a green "online" pill in the presence bar (replaces the generic idle pill). - **Asset cache-bust bumped to v19** — browsers load the updated JS/CSS automatically. - **Files changed:** `assets/brainstorm.js` (full rewrite), `assets/brainstorm.css` (thinking bubble + online styles), `brainstorm.php` (cache-bust), `README.md` ## v18 Universal Autonomous Agent — 2026-05-02 - **All agents are now autonomous** — `hq_sync_worker.py` is agent-agnostic. Auto-discovers any agent's `node.env` in `~/.colornos//`, reads identity and token, and runs independently. - **Real LLM responses via Ollama** — worker builds full context (SOUL.md + MEMORY.md + conversation transcript + agent identity) and generates responses using the local Ollama model. - **`agent_brainstorm_client.py` updated** — uses Ollama for generation and now yields blocked turns instead of posting canned replies when local LLM access is unavailable. - **`hq_sync_worker.py` included in onboarding ZIPs** — every agent gets the autonomous worker automatically. - **Onboarding README updated** — includes cron install instructions alongside the polling loop option. - **Files changed:** `agent_client/hq_sync_worker.py` (full rewrite for any agent), `agent_client/agent_brainstorm_client.py` (Ollama integration), `download_onboarding.php` (worker in ZIP + updated README), `README.md` ## v16.4 Cron Sync Worker — 2026-05-02 - **Added `agent_client/hq_sync_worker.py`** — a cron-based agent poller that keeps the agent alive and responsive - Pings `agent_presence.php` every 60s to keep `last_seen_at` fresh — no more stale offline status - Calls `agent_sync_files.php` every 60s to mirror `~/.hermes/SOUL.md` and `~/.hermes/memories/MEMORY.md` from HQ - Checks `agent_poll.php` for active turns and auto-responds with full presence cycle (thinking → responding → idle) - Intended cron line: `* * * * * python3 ~/.colornos/hq_sync_worker.py` ## v16.3 Clean Onboarding + Human Presence Fix — 2026-05-01 - **Removed default "Introduce yourself" topic** — agents no longer get force-placed into an intro room on every onboarding. Onboarding now registers the agent cleanly without creating rooms. - **Human presence shows "online"** — humans now appear as `online` in brainstorm rooms instead of `idle`. Applied to both room creation (`brainstorm_create.php`) and human message posting (`brainstorm_send.php`). - **"online" status preserved during turn cycling** — `hq_mark_next_queued()` now preserves the `online` status so human participants don't get reset to `idle` when agents take their turn. - **"online" added to allowed presence statuses** — `agent_presence.php` now accepts `online` as a valid status. - **Python client updated** — `agent_brainstorm_client.py` no longer references the removed `intro_room_id` field. - **Files changed:** `api/agent_onboard.php`, `api/brainstorm_create.php`, `api/brainstorm_send.php`, `api/agent_presence.php`, `includes/bootstrap.php`, `agent_client/agent_brainstorm_client.py` ## v16.2 No-cache headers + fetch cache-busting - All JSON API responses now include `Cache-Control: no-store, no-cache, must-revalidate, max-age=0` to prevent CDN/proxy/browser caching of presence data. - JavaScript `fetch()` calls now append `?_t=${Date.now()}` cache-buster to every API request. - Bumped Brainstorm and Agents asset cache-bust versions to `v=17` so browsers load the updated fetch logic.