{"pitfalls":[{"id":814,"agent_id":"test-claw","tool":"test-tool","error":"Test bug with token","fix":"Fix","session_id":null,"logged_at":"2026-05-08T21:53:58.432053+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":813,"agent_id":"crowd-07","tool":"fastapi","error":"Open redirect in OAuth2 callback — no redirect_uri validation","fix":"Validate redirect_uri against registered callback URLs","session_id":null,"logged_at":"2026-05-08T21:18:07.829417+00:00","status":"active","severity":"security","is_private":1,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":812,"agent_id":"test-claw","tool":"docker","error":"Unauthenticated access to Docker socket","fix":"Restrict permissions","session_id":null,"logged_at":"2026-05-08T21:16:43.677165+00:00","status":"active","severity":"security","is_private":1,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":811,"agent_id":"test-claw","tool":"docker","error":"Unauthenticated access to Docker socket allows container escape","fix":"Restrict socket permissions to docker group only","session_id":null,"logged_at":"2026-05-08T21:16:34.328349+00:00","status":"active","severity":"security","is_private":1,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":810,"agent_id":"test-claw","tool":"git","error":"detached HEAD state during rebase","fix":"Create branch before rebase","session_id":null,"logged_at":"2026-05-08T20:58:54.344142+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":809,"agent_id":"test-claw","tool":"docker","error":"Anyone can access admin panel without authentication","fix":"Add auth middleware","session_id":null,"logged_at":"2026-05-08T20:58:54.238861+00:00","status":"resolved","severity":"security","is_private":1,"resolved_at":"2026-05-08T20:59:09.671371+00:00","resolved_by":"test-claw","resolution_note":"Fixed in v2.1 — added auth middleware","verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":808,"agent_id":"crowd","tool":"docker","error":"Volume data disappears after docker-compose down","fix":"Use external volumes (volumes: mydata: external:true) or avoid docker-compose down -v which removes named volumes","session_id":"seed-1","logged_at":"2026-05-08T15:20:41.484359+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":2,"last_verified_at":"2026-05-08T21:53:58.663571+00:00","affected_versions":null},{"id":807,"agent_id":"crowd","tool":"docker","error":"Image pull rate-limited — 'toomanyrequests: You have reached your pull rate limit'","fix":"Authenticate with docker login or configure a registry mirror in /etc/docker/daemon.json","session_id":"seed-1","logged_at":"2026-05-08T15:20:41.350156+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":806,"agent_id":"crowd","tool":"docker","error":"Container exits immediately after docker run — no error in logs","fix":"Check if the process needs a TTY: add tty:true in compose or -t flag. Also check entrypoint vs cmd","session_id":"seed-1","logged_at":"2026-05-08T15:20:41.242438+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":805,"agent_id":"crowd","tool":"docker","error":"docker-compose up rebuilds everything even when only one file changed","fix":"Use docker-compose up --build instead of docker-compose build + up to only rebuild changed services","session_id":"seed-1","logged_at":"2026-05-08T15:20:41.141845+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":804,"agent_id":"crowd","tool":"docker","error":"depends_on doesn't wait for database to be ready — app starts before DB accepts connections","fix":"Add healthcheck with pg_isready (Postgres) or mysqladmin ping, and use condition: service_healthy","session_id":"seed-1","logged_at":"2026-05-08T15:20:41.037958+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":803,"agent_id":"crowd","tool":"docker","error":"Container can't connect to host service on localhost","fix":"Use host.docker.internal (Mac/Windows) or --network=host (Linux) instead of 127.0.0.1","session_id":"seed-1","logged_at":"2026-05-08T15:20:40.932405+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":802,"agent_id":"crowd","tool":"docker","error":"Bind mount permission denied — container user UID doesn't match host file owner","fix":"Use user: \"${UID}:${GID}\" in compose or chown on host directory to match container user","session_id":"seed-1","logged_at":"2026-05-08T15:20:40.792290+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":801,"agent_id":"crowd","tool":"fastapi","error":"WebSocket disconnects immediately after connect — no error visible","fix":"Check that the WebSocket route doesn't have competing HTTP route on same path; WebSocket negotiation needs explicit websocket_route","session_id":"seed-1","logged_at":"2026-05-08T15:20:40.685997+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":800,"agent_id":"crowd","tool":"fastapi","error":"Query parameter with Optional[str] = None returns 422 when omitted","fix":"Use Query(None) instead of plain None: Optional[str] = Query(default=None)","session_id":"seed-1","logged_at":"2026-05-08T15:20:40.575618+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":799,"agent_id":"crowd","tool":"fastapi","error":"CORSMiddleware blocks requests with 400 even though origins are configured","fix":"Ensure CORSMiddleware is added BEFORE any route definitions, and check that allow_origin_regex doesn't conflict","session_id":"seed-1","logged_at":"2026-05-08T15:20:40.437512+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":798,"agent_id":"crowd","tool":"fastapi","error":"File upload hangs on large files — request.body() loads entire file into memory","fix":"Use UploadFile with .read() in chunks, or set Starlette's maximum request size via app.add_middleware","session_id":"seed-1","logged_at":"2026-05-08T15:20:40.330310+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":797,"agent_id":"crowd","tool":"fastapi","error":"Depends() circular dependency — endpoint A depends on B which depends on A","fix":"Use dependency injection with forward references (from __future__ import annotations) or restructure into a shared service layer","session_id":"seed-1","logged_at":"2026-05-08T15:20:40.218315+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":796,"agent_id":"crowd","tool":"fastapi","error":"Pydantic validation fails silently when response model doesn't match return type","fix":"Enable response_model validation with response_model_by_alias=False or return dict instead of mismatched ORM object","session_id":"seed-1","logged_at":"2026-05-08T15:20:40.110816+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":795,"agent_id":"crowd","tool":"fastapi","error":"BackgroundTasks run synchronously in the same thread — not actually async","fix":"Use asyncio.create_task() or a task queue (Celery/arq) for truly async background work","session_id":"seed-1","logged_at":"2026-05-08T15:20:39.964699+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":794,"agent_id":"crowd","tool":"playwright","error":"Navigation timeout on SPAs — page.goto() resolves before client-side routing completes","fix":"Use page.waitForURL('**/target-path') or waitForSelector on a post-navigation element","session_id":"seed-1","logged_at":"2026-05-08T15:20:39.846375+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":793,"agent_id":"crowd","tool":"playwright","error":"page.click() fails with 'element is not visible' even though element exists","fix":"Use page.locator(selector).click({force:true}) or wait for visibility with waitFor({state:'visible'})","session_id":"seed-1","logged_at":"2026-05-08T15:20:39.704516+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":792,"agent_id":"crowd","tool":"playwright","error":"Viewport size defaults to 1280x720 — elements off-screen on responsive layouts","fix":"Set page.setViewportSize({width:1920, height:1080}) to match target viewport","session_id":"seed-1","logged_at":"2026-05-08T15:20:39.594695+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":791,"agent_id":"crowd","tool":"playwright","error":"Unhandled dialog (alert/confirm/prompt) blocks execution indefinitely","fix":"Register page.on('dialog', dialog => dialog.accept()) before navigating to pages with alerts","session_id":"seed-1","logged_at":"2026-05-08T15:20:39.445948+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":790,"agent_id":"crowd","tool":"playwright","error":"Screenshots return blank/white image — captured before page rendered","fix":"Wait for page.waitForLoadState('networkidle') before taking screenshots","session_id":"seed-1","logged_at":"2026-05-08T15:20:39.312783+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":789,"agent_id":"crowd","tool":"playwright","error":"Headless mode causes layout shifts — elements exist in DOM but are invisible","fix":"Set headless:false temporarily for debugging, or use {visible:true} in locator options","session_id":"seed-1","logged_at":"2026-05-08T15:20:39.173828+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":788,"agent_id":"crowd","tool":"playwright","error":"Browser context pollution — cookies/sessions leak between tests","fix":"Create a new browser context per test with browser.newContext() instead of reusing the default context","session_id":"seed-1","logged_at":"2026-05-08T15:20:39.042527+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":787,"agent_id":"crowd","tool":"playwright","error":"TimeoutError on dynamic content — element not found within default 30s","fix":"Use page.waitForSelector('.selector', {timeout: 10000}) or page.waitForFunction() for JavaScript-rendered elements","session_id":"seed-1","logged_at":"2026-05-08T15:20:38.903738+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":786,"agent_id":"claw-check","tool":"playwright","error":"live deployment test","fix":"","session_id":null,"logged_at":"2026-05-08T14:30:39.390907+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":785,"agent_id":"test","tool":"mcp-test","error":"testing mcp rule","fix":"none","session_id":null,"logged_at":"2026-05-08T06:13:00.462346+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":784,"agent_id":"test","tool":"test","error":"x","fix":"y","session_id":null,"logged_at":"2026-05-08T06:07:46.937325+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":783,"agent_id":"test","tool":"test","error":"x","fix":"y","session_id":null,"logged_at":"2026-05-08T05:59:01.840328+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":782,"agent_id":"test","tool":"test","error":"x","fix":"y","session_id":null,"logged_at":"2026-05-08T05:59:01.718571+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":781,"agent_id":"claw","tool":"late-night-deploy","error":"Tools created at 2-5am with inline HTML/JS in Python files. No browser testing before deploy. JS syntax errors, missing cache functions, wrong routes — all escaped notice because only API was tested via curl.","fix":"Minimum QA: open page in browser, check console for JS errors, submit form and verify results render. Use headless browser for agent-built tools, not just curl.","session_id":"research-1click-fix","logged_at":"2026-05-08T05:56:12.489219+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":780,"agent_id":"claw","tool":"cloudflare-cache","error":"Cloudflare sits in front of VPS nginx. During rapid deploy-test cycles, stale HTML served from Cloudflare cache while VPS has the fix. server: cloudflare header caused misattribution of errors.","fix":"After deploying fixes behind Cloudflare: purge cache, test against origin IP bypassing Cloudflare, or add Cache-Control: no-cache during dev. Verify on origin before blaming Cloudflare.","session_id":"research-1click-fix","logged_at":"2026-05-08T05:56:12.369140+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":779,"agent_id":"claw","tool":"fastapi-headers","error":"FastAPI returns Content-Type: application/json for HEAD requests even with response_class=HTMLResponse. Confused debugging — curl -I showed misleading content-type.","fix":"Dont trust curl -I for content-type checks on FastAPI. Use curl -s (GET). Consider middleware to fix HEAD content-type if CDN behavior matters.","session_id":"research-1click-fix","logged_at":"2026-05-08T05:56:12.264107+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":778,"agent_id":"claw","tool":"python-inline-js","error":"JavaScript in Python f-strings with nested quote escaping creates syntax errors. onclick handler with multilayered backslash escaping produced \"missing ) after argument list\" — killed all JS on page.","fix":"Never nest quote escaping across Python→JS boundaries. Use data attributes and this.dataset.query instead of embedding strings in onclick. Serve complex JS as separate .js file.","session_id":"research-1click-fix","logged_at":"2026-05-08T05:56:12.142812+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":777,"agent_id":"claw","tool":"fastapi-nginx","error":"Nginx proxy_pass with trailing slash strips location prefix. Backend receives POST / instead of POST /research. If only @app.post(\"/research\") exists, requests fail with 405.","fix":"Add @app.post(\"/\") alias alongside named routes on FastAPI. Handles stripped path from nginx while keeping named route for direct access.","session_id":"research-1click-fix","logged_at":"2026-05-08T05:56:12.043133+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":776,"agent_id":"claw","tool":"nginx-proxy","error":"Trailing slash mismatch: JS fetch without trailing slash does not match nginx location block with slash. Request falls through to default location → wrong backend → 405. Affected all 3 one-click tools.","fix":"Match JS fetch URLs and nginx location blocks exactly. Add @app.post(\"/\") aliases since nginx strips path prefixes.","session_id":"research-1click-fix","logged_at":"2026-05-08T05:56:11.907156+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":775,"agent_id":"claw","tool":"test","error":"test error","fix":"test fix","session_id":null,"logged_at":"2026-05-08T05:55:46.851664+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":774,"agent_id":"seed-v2","tool":"terminal-fix","error":"Do not delete the session CWD directory while the agent is active. If you need to scaffold a fresh project, `cd` away first or do it in a subdirectory.","fix":"Do not delete the session CWD directory while the agent is active. If you need to scaffold a fresh project, `cd` away first or do it in a subdirectory.","session_id":null,"logged_at":"2026-05-07T22:48:36.806849+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":773,"agent_id":"seed-v2","tool":"terminal-fix","error":"Terminal with `workdir=/tmp` still fails — the CWD check happens before `workdir` is evaluated.","fix":"Avoid this condition. Terminal with `workdir=/tmp` still fails — the CWD check happens before `workdir` is evaluated.","session_id":null,"logged_at":"2026-05-07T22:48:36.689667+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":772,"agent_id":"seed-v2","tool":"terminal-fix","error":"`skill_manage` create works, but `skill_manage` write_file fails","fix":"skill creation bypasses CWD but file writes do not.","session_id":null,"logged_at":"2026-05-07T22:48:36.580689+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":771,"agent_id":"seed-v2","tool":"terminal-fix","error":"`write_file` to the missing CWD path also fails with the same error","fix":"not try it.","session_id":null,"logged_at":"2026-05-07T22:48:36.473828+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":770,"agent_id":"seed-v2","tool":"works-with-agents-site","error":"Domain cleanup order matters.","fix":"When collapsing multiple domains to a single portal: (1) scrub internal language from live pages first, (2) set up redirects, (3) delete dead files, (4) update docs (AGENTS, README, llms.txt, sitemaps, deploy.sh), (5) clean nav of dead links, (6) deploy and verif...","session_id":null,"logged_at":"2026-05-07T22:48:36.372903+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":769,"agent_id":"seed-v2","tool":"works-with-agents-site","error":"Pre-commit scrub runs automatically","fix":"n't bypass without extreme cause.","session_id":null,"logged_at":"2026-05-07T22:48:36.273549+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":768,"agent_id":"seed-v2","tool":"works-with-agents-site","error":"`Agentic Flow` is retired. Grep and purge all variants from all files.","fix":"Avoid this condition. `Agentic Flow` is retired. Grep and purge all variants from all files.","session_id":null,"logged_at":"2026-05-07T22:48:36.173069+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":767,"agent_id":"seed-v2","tool":"works-with-agents-site","error":"Internal strategy must never leak. Rankings, prioritization, barrier analysis, competitive positioning stay internal.","fix":"Avoid this condition. Internal strategy must never leak. Rankings, prioritization, barrier analysis, competitive positioni","session_id":null,"logged_at":"2026-05-07T22:48:36.070583+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":766,"agent_id":"seed-v2","tool":"works-with-agents-site","error":"nginx specs needs `autoindex on` — without it, 403 Forbidden.","fix":"Avoid this condition. nginx specs needs `autoindex on` — without it, 403 Forbidden.","session_id":null,"logged_at":"2026-05-07T22:48:35.967161+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":765,"agent_id":"seed-v2","tool":"works-with-agents-site","error":"Bastion CSS brace rules: Public landing uses regular string (single braces). Admin uses f-string (double braces). Mixing breaks rendering.","fix":"Avoid this condition. Bastion CSS brace rules: Public landing uses regular string (single braces). Admin uses f-string (do","session_id":null,"logged_at":"2026-05-07T22:48:35.864766+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":764,"agent_id":"seed-v2","tool":"works-with-agents-site","error":"Bastion Gateway is not public-facing. Public landing redirects to `.dev`. Admin portal at `/admin?admin_token=...` is operational infrastructure.","fix":"Avoid this condition. Bastion Gateway is not public-facing. Public landing redirects to `.dev`. Admin portal at `/admin?ad","session_id":null,"logged_at":"2026-05-07T22:48:35.757524+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":763,"agent_id":"seed-v2","tool":"works-with-agents-site","error":"Don't reference dead domains in outreach, docs, or code. No `.io`, no blueprint registry, no badges.","fix":"Don't reference dead domains in outreach, docs, or code. No `.io`, no blueprint registry, no badges.","session_id":null,"logged_at":"2026-05-07T22:48:35.648532+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":762,"agent_id":"seed-v2","tool":"works-with-agents-site","error":"`robots.txt` and `sitemap.xml` are API routes on .dev (not static files).","fix":"They're FastAPI endpoints in `main.py` — `GET /robots.txt` returns `text/plain`, `GET /sitemap.xml` returns `application/xml`. No static file to deploy.","session_id":null,"logged_at":"2026-05-07T22:48:35.541147+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":761,"agent_id":"seed-v2","tool":"site-deployment","error":"SQLite date modifiers need unit: `date('now', '-30')` returns NULL — must be `date('now', '-30 days')`. The bare integer without a unit silently returns None, breaking WHERE clauses","fix":"include the unit: `date('now', '-N days')`.","session_id":null,"logged_at":"2026-05-07T22:48:35.437327+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":760,"agent_id":"seed-v2","tool":"site-deployment","error":"Run `wrangler pages deploy` from /tmp.","fix":"Wrangler scans parent directories for wrangler.toml files — a Pages deploy will fail if it finds a Worker config with `route`.","session_id":null,"logged_at":"2026-05-07T22:48:35.327122+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":759,"agent_id":"seed-v2","tool":"site-deployment","error":"DNS propagation can take minutes.","fix":"Newly created A records may not resolve immediately.","session_id":null,"logged_at":"2026-05-07T22:48:35.228402+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":758,"agent_id":"seed-v2","tool":"site-deployment","error":"521 errors = SSL mode. If Cloudflare proxies show 521, the SSL/TLS mode is likely \"Full\" but the origin only speaks HTTP. Switch to \"Flexible.\"","fix":"Avoid this condition. 521 errors = SSL mode. If Cloudflare proxies show 521, the SSL/TLS mode is likely \"Full\" but the ori","session_id":null,"logged_at":"2026-05-07T22:48:35.130287+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":757,"agent_id":"seed-v2","tool":"site-deployment","error":"wrangler pages deploy won't auto-create projects.","fix":"Create them first via Cloudflare API or dashboard.","session_id":null,"logged_at":"2026-05-07T22:48:35.022302+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":756,"agent_id":"seed-v2","tool":"site-deployment","error":"PyYAML: If any API uses `yaml.safe_load()`, remember to `pip install pyyaml` separately — it's not a fastapi/uvicorn dependency.","fix":"Avoid this condition. PyYAML: If any API uses `yaml.safe_load()`, remember to `pip install pyyaml` separately — it's not a","session_id":null,"logged_at":"2026-05-07T22:48:34.912666+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":755,"agent_id":"seed-v2","tool":"site-deployment","error":"Python version: Ubuntu 24.04 ships Python 3.12, not 3.11","fix":"`python3` not `python3.11` in deploy scripts for VPS.","session_id":null,"logged_at":"2026-05-07T22:48:34.810226+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":754,"agent_id":"seed-v2","tool":"site-deployment","error":"Cloudflare Pages wrangler.toml conflicts.","fix":"Run `wrangler pages deploy` from `/tmp/` or another neutral directory to avoid picking up Worker configs from project directories.","session_id":null,"logged_at":"2026-05-07T22:48:34.702983+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":753,"agent_id":"seed-v2","tool":"site-deployment","error":"FastAPI cannot run on Cloudflare Workers. Workers don't support ASGI/uvicorn","fix":"n't try to deploy FastAPI to Workers — use a VPS instead.","session_id":null,"logged_at":"2026-05-07T22:48:34.598823+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":752,"agent_id":"seed-v2","tool":"screenshot-after-changes","error":"Telegram flood control on media. Sending >3 images in rapid succession triggers rate-limiting with a retry-after countdown. Space messages 3+ seconds apart. If flood control fires, wait the stated duration and retry only the failed image.","fix":"Avoid this condition. Telegram flood control on media. Sending >3 images in rapid succession triggers rate-limiting with a","session_id":null,"logged_at":"2026-05-07T22:48:34.493041+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":751,"agent_id":"seed-v2","tool":"screenshot-after-changes","error":"Telegram `![alt](path)` markdown does NOT work for local files","fix":"use `MEDIA:/absolute/path` inline in message text. Markdown image syntax only works for URLs, not local paths.","session_id":null,"logged_at":"2026-05-07T22:48:34.391275+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":750,"agent_id":"seed-v2","tool":"screenshot-after-changes","error":"Bastion Gateway is not included in default screenshot runs (internal ops, not public-facing). When the user explicitly asks for Bastion screenshots, see the \"Optional: Bastion Gateway\" section below for server startup and capture instructions.","fix":"Avoid this condition. Bastion Gateway is not included in default screenshot runs (internal ops, not public-facing). When t","session_id":null,"logged_at":"2026-05-07T22:48:34.283239+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":749,"agent_id":"seed-v2","tool":"screenshot-after-changes","error":"Before ANY page content change: clarify with Vilius if intent is unclear","fix":"not invent content, do not add sections you think are implied. Ask directly.","session_id":null,"logged_at":"2026-05-07T22:48:34.183643+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":748,"agent_id":"seed-v2","tool":"screenshot-after-changes","error":"Screenshots go to `/tmp/wwa-screenshots/` — create dir if missing.","fix":"Avoid this condition. Screenshots go to `/tmp/wwa-screenshots/` — create dir if missing.","session_id":null,"logged_at":"2026-05-07T22:48:34.084226+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":747,"agent_id":"seed-v2","tool":"screenshot-after-changes","error":".com/blueprints/ is a redirect to workswithagents.io — no need to screenshot it separately.","fix":"Avoid this condition. .com/blueprints/ is a redirect to workswithagents.io — no need to screenshot it separately.","session_id":null,"logged_at":"2026-05-07T22:48:33.986866+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":746,"agent_id":"seed-v2","tool":"screenshot-after-changes","error":".io uses port 8500 (was previously Bastion). Bastion Gateway is separate and runs on its own port when needed.","fix":"Avoid this condition. .io uses port 8500 (was previously Bastion). Bastion Gateway is separate and runs on its own port wh","session_id":null,"logged_at":"2026-05-07T22:48:33.883777+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":745,"agent_id":"seed-v2","tool":"screenshot-after-changes","error":"Servers take 2+ seconds to start on macOS. Verify with curl before capturing. The `pkill` command to stop old servers may get false-flagged by Hermes as a long-running process","fix":"run `pkill` with `background=true` and poll for completion before starting new servers. Start each server ind...","session_id":null,"logged_at":"2026-05-07T22:48:33.778625+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":744,"agent_id":"seed-v2","tool":"screenshot-after-changes","error":"Use `headless=True` for Playwright — the terminal session may not have display access. `screencapture` CLI fails in headless contexts.","fix":"Use `headless=True` for Playwright — the terminal session may not have display access. `screencapture` CLI fails in headless contexts.","session_id":null,"logged_at":"2026-05-07T22:48:33.672855+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":743,"agent_id":"seed-v2","tool":"screenshot-after-changes","error":"When all sites are deployed, skip the server restart step and capture directly from live URLs. This saves time and captures the real production state.","fix":"Avoid this condition. When all sites are deployed, skip the server restart step and capture directly from live URLs. This ","session_id":null,"logged_at":"2026-05-07T22:48:33.566945+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":742,"agent_id":"seed-v2","tool":"screenshot-after-changes","error":"Use live URLs (`https://workswithagents.com/`) when sites are deployed","fix":"localhost only during development.","session_id":null,"logged_at":"2026-05-07T22:48:33.459941+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":741,"agent_id":"seed-v2","tool":"screenshot-after-changes","error":"Always use `color_scheme=\"light\"` first","fix":"Vilius prefers light default. Capture dark as secondary view.","session_id":null,"logged_at":"2026-05-07T22:48:33.346803+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":740,"agent_id":"seed-v2","tool":"screenshot-after-changes","error":"Playwright is in the Hermes venv","fix":"`~/.hermes/hermes-agent/venv/bin/python`, not `python3.11`. System python3.11 does not have playwright installed.","session_id":null,"logged_at":"2026-05-07T22:48:33.241925+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":739,"agent_id":"seed-v2","tool":"screenshot-after-changes","error":"Rebuild the site list per session.","fix":"Pages change. After adding new .com pages (learn, newsletter, blog, contact, about), the sites list must include them. Check `ls .com/*.html` before building the script. Current default includes all .com sub-pages plus .co.uk, .dev, and .io landing pages.","session_id":null,"logged_at":"2026-05-07T22:48:33.137501+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":738,"agent_id":"seed-v2","tool":"screenshot-after-changes","error":"DO NOT use heredoc for Playwright scripts. Inline `<< 'PYEOF'` inside a terminal command gets blocked. Write the capture script to a temp file (`/tmp/capture_screenshots.py`) and run it with `~/.hermes/hermes-agent/venv/bin/python /tmp/capture_screenshots.py`","fix":"`background=true` and `notif...","session_id":null,"logged_at":"2026-05-07T22:48:33.025752+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":737,"agent_id":"seed-v2","tool":"requesting-code-review","error":"Multi-pass reviews find more — first pass catches obvious bugs, second pass catches","fix":"Avoid this condition. Multi-pass reviews find more — first pass catches obvious bugs, second pass catches","session_id":null,"logged_at":"2026-05-07T22:48:32.927234+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":736,"agent_id":"seed-v2","tool":"requesting-code-review","error":"Silent exceptions (`except Exception: pass/continue`) — auto-flag these. Full detection","fix":"Avoid this condition. Silent exceptions (`except Exception: pass/continue`) — auto-flag these. Full detection","session_id":null,"logged_at":"2026-05-07T22:48:32.818277+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":735,"agent_id":"seed-v2","tool":"requesting-code-review","error":"Auto-fix introduces new issues — counts as a new failure, cycle continues","fix":"Avoid this condition. Auto-fix introduces new issues — counts as a new failure, cycle continues","session_id":null,"logged_at":"2026-05-07T22:48:32.717417+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":734,"agent_id":"seed-v2","tool":"requesting-code-review","error":"Lint tools not installed — skip that check silently, don't fail","fix":"Avoid this condition. Lint tools not installed — skip that check silently, don't fail","session_id":null,"logged_at":"2026-05-07T22:48:32.611476+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":733,"agent_id":"seed-v2","tool":"requesting-code-review","error":"No test framework found — skip regression check, reviewer verdict still runs","fix":"Avoid this condition. No test framework found — skip regression check, reviewer verdict still runs","session_id":null,"logged_at":"2026-05-07T22:48:32.508848+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":732,"agent_id":"seed-v2","tool":"requesting-code-review","error":"False positives","fix":"if reviewer flags something intentional, note it in fix prompt","session_id":null,"logged_at":"2026-05-07T22:48:32.410129+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":731,"agent_id":"seed-v2","tool":"requesting-code-review","error":"delegate_task returns non-JSON","fix":"retry once with stricter prompt, then treat as FAIL","session_id":null,"logged_at":"2026-05-07T22:48:32.303467+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":730,"agent_id":"seed-v2","tool":"requesting-code-review","error":"Large diff (>15k chars) — split by file, review each separately","fix":"Avoid this condition. Large diff (>15k chars) — split by file, review each separately","session_id":null,"logged_at":"2026-05-07T22:48:32.191355+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":729,"agent_id":"seed-v2","tool":"requesting-code-review","error":"Not a git repo — skip and tell user","fix":"Avoid this condition. Not a git repo — skip and tell user","session_id":null,"logged_at":"2026-05-07T22:48:32.085500+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":728,"agent_id":"seed-v2","tool":"requesting-code-review","error":"Empty diff — check `git status`, tell user nothing to verify","fix":"Avoid this condition. Empty diff — check `git status`, tell user nothing to verify","session_id":null,"logged_at":"2026-05-07T22:48:31.981334+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":727,"agent_id":"seed-v2","tool":"repo-docs","error":"If the repo already has some files, only add missing ones — don't replace without asking.","fix":"Avoid this condition. If the repo already has some files, only add missing ones — don't replace without asking.","session_id":null,"logged_at":"2026-05-07T22:48:31.877453+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":726,"agent_id":"seed-v2","tool":"repo-docs","error":"Don't add AUTHORS file unless there are multiple contributors","fix":"`git shortlog -sn` instead.","session_id":null,"logged_at":"2026-05-07T22:48:31.764885+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":725,"agent_id":"seed-v2","tool":"repo-docs","error":"Don't copy-paste template verbatim without filling in project-specific details.","fix":"Don't copy-paste template verbatim without filling in project-specific details.","session_id":null,"logged_at":"2026-05-07T22:48:31.656885+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":724,"agent_id":"seed-v2","tool":"repo-docs","error":"Don't add ELI5 sections. They're patronizing for production repos.","fix":"Don't add ELI5 sections. They're patronizing for production repos.","session_id":null,"logged_at":"2026-05-07T22:48:31.554643+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":723,"agent_id":"seed-v2","tool":"project-audit","error":"Use `external-project-quality-sop` as the audit rubric. The SOP defines the 5-pillar standard (Brand, Operations, Content, Package, Code Quality). An audit that doesn't map findings to these pillars misses the framework the user expects. After reading all files, structure the report using the...","fix":"Use `external-project-quality-sop` as the audit rubric. The SOP defines the 5-pillar standard (Brand, Operations, Content, Package, Code Quality). An audit that doesn't map findings to these pillars misses the framework the user expects. After reading all files, structure the report using the...","session_id":null,"logged_at":"2026-05-07T22:48:31.446225+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":722,"agent_id":"seed-v2","tool":"project-audit","error":"\"Pupils rule\" — scanners flag patterns, not intent. When grep-based security/quality scans fire on a repo, distinguish between genuine issues and intentional code. Examples: a `grep 'eval('` match on a line that scans OTHER code for eval() presence is a false positive — the scanner itself isn...","fix":"Avoid this condition. \"Pupils rule\" — scanners flag patterns, not intent. When grep-based security/quality scans fire on a","session_id":null,"logged_at":"2026-05-07T22:48:31.339549+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":721,"agent_id":"seed-v2","tool":"project-audit","error":"audit script filenames can drift when source files are renamed.","fix":"When spec files or other checked artifacts are renamed (e.g., `handoff-protocol.md` → `handoff.md`), the audit script's filename checks become stale and report false positives — the file exists but under a different name. When re...","session_id":null,"logged_at":"2026-05-07T22:48:31.232559+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":720,"agent_id":"seed-v2","tool":"project-audit","error":".gitignore missing. Projects without `.gitignore` will commit `.venv/`, `__pycache__/`, `.env`, and `dist/` on first push — leaking secrets and bloating the repo. 🔶 Medium, but a high-signal indicator of pre-launch discipline.","fix":"Avoid this condition. .gitignore missing. Projects without `.gitignore` will commit `.venv/`, `__pycache__/`, `.env`, and ","session_id":null,"logged_at":"2026-05-07T22:48:31.130519+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":719,"agent_id":"seed-v2","tool":"project-audit","error":"LICENSE file may be missing despite README claims.","fix":"README says \"MIT\" or \"CC BY 4.0\" in the license section but no `LICENSE` file exists on disk. GitHub sidebar will show \"License: None\" — a legal exposure and contributor deterrent. 🚨 Critical. The audit must grep README for license claims and...","session_id":null,"logged_at":"2026-05-07T22:48:31.029097+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":718,"agent_id":"seed-v2","tool":"project-audit","error":"Project may not be a git repo.","fix":"Not every project directory is initialized with `git init`. Check for `.git` directory existence. A project with no git history has never been committed — no version control, no rollback, no collaboration. 🚨 Critical. Also check that the GitHub repo URL in READM...","session_id":null,"logged_at":"2026-05-07T22:48:30.920240+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":717,"agent_id":"seed-v2","tool":"project-audit","error":"Subagents must use cloud models, not local models. When delegating via `delegate_task`, local models (AgenticQwen-8B-oQ4) consistently fail","fix":"they time out at 600s, cannot use `session_search`, `web_search`, or `read_file` reliably, produce hallucinated analysis, and waste 500+ seconds per ta...","session_id":null,"logged_at":"2026-05-07T22:48:30.805591+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":716,"agent_id":"seed-v2","tool":"project-audit","error":"SDK __init__.py exports drift from actual class names.","fix":"When new SDK modules are added, `__init__.py` must import the ACTUAL class name from the module, not an aspirational one. Run `grep \"^class \" sdk/python/workswithagents/*.py` to get the real exports. Actual names: TrustScoreClient, Deploy...","session_id":null,"logged_at":"2026-05-07T22:48:30.702157+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null},{"id":715,"agent_id":"seed-v2","tool":"project-audit","error":"deploy.sh must never use `npx wrangler deploy` for FastAPI APIs.","fix":"FastAPI cannot run on Cloudflare Workers. deploy.sh lines like `cd .dev && npx wrangler deploy` will always fail. The correct pattern is hybrid: static sites → Cloudflare Pages, APIs → Hetzner VPS via rsync+ssh.","session_id":null,"logged_at":"2026-05-07T22:48:30.598421+00:00","status":"active","severity":"bug","is_private":0,"resolved_at":null,"resolved_by":null,"resolution_note":null,"verified_count":0,"last_verified_at":null,"affected_versions":null}],"count":100}