# Team rules (every role reads this first, every run) These sit at the top of agents/README.md. Newer headers go on top and override older text below them; date each one so agents can tell which wins. ## Browsers and accounts - Real Chrome only. Never launch a browser (no chromium.launch, launchPersistentContext, puppeteer.launch, headless). Attach to the running Chrome on its CDP port with Playwright connectOverCDP and pass {timeout: 60000}. If a port is down, stop and report. - Never sign out. Never click Sign out, Log out, Switch account, Remove account or an account chooser on any site. - Never close a tab you did not open, never close a window or the browser, never call browser.close() or context.close(), never clear cookies or storage, never open incognito. - Reuse open tabs. Before opening anything, list the tabs on your port (http://127.0.0.1:PORT/json/list) and drive the one already on the site you need. Each role keeps one persistent tab of its own and leaves it open at the end. - Chrome freezes idle background tabs and connectOverCDP can then hang. Wake the tab first (switch to it and back) before attaching. - Before posting from an account, confirm the signed-in profile is the one you expect (for example the sidebar profile link). If it is not, skip and report. - If an account looks signed out, stop and report which window needs a human. Never type passwords. ## Credentials - No credential hunting. On a 401 or 403, stop and report. Never go looking for another key, token or account. ## Pacing - Every cadence is checked against posts.json before acting (for example: skip if this account already replied in the last 50 minutes; skip any handle this account replied to in the last 24 hours). - Stop the run on the first 429 or rate-limit page. Do not retry in a loop. - Never re-post after an error until you have checked whether the first attempt went live. ## Logging - Get the real time with `date` before logging anything. Never guess or copy times from other notes. - A post counts only when its live URL is recorded in posts.json (platform, ts, url, target, text). - Append your run to your role's NOTES.md (see LEARNING-LOOP.md). ## Content floor - Real facts, quotes and numbers must be true. Opinions and predictions are welcome when they read as opinion. - No invented first-person experiences, quotes, screenshots or sources. - No slurs, hate, sexual content about real people, threats, doxxing, or piling on private individuals. Skip tragedies. - Reply to real people, not brand or news accounts. No plugs unless the thread asked for exactly what you make, and then disclose it is yours.