JamesUMD23/agent-business
Research→Etsy automation loop with human approval gate
Etsy Phase 1 — Printify product creation (env-gated)
In-app spec viewer + editor on /history
Researcher always saves a downloadable .md (research summary OR build spec)
Researcher: default to Claude Sonnet 4.6, make web_search mandatory
.env.example restored + FLUX cold-start retry
Revenue-opportunity tag: high-priority signal across Researcher/Tasker/Orchestrator
Researcher: agent-first lens, callable by other agents, periodic scanning
Researcher now writes downloadable INSTRUCTIONS.md specs
Add Etsy agent — Phase 0: design generation + compliance gate
Obsidian-style graph view in /brain + mission-control dashboard redesign
Add History page + Researcher run persistence; flag Builder isn't live yet
Wire Orchestrator into the brain + broaden Researcher to cover business plans
Add Researcher agent — AI/agent topic research, gameplans for Tasker
UI: Obsidian-style neural floor + Apple-panel card polish
Dashboard: surface Builder as a 4th neural-floor node (planned status)
Add Brain — shared Obsidian vault as agent message bus + UI project picker
Add Tasker — supervisor agent that watches Scout, recovers interrupted runs, fires the daily schedule
Email: swap SMTP for Resend HTTPS API (verified live send). Scout page: drop agent_rooms, combine neural floor + conversation in one panel, listings now interactive sortable tables with popover details
Login form: use rx.form on_submit instead of broken on_key_down lambda; submit_login accepts form_data
Frontend password gate: /login page + AuthState; protected pages redirect to /login. Set VIEWER_PASSWORD secret on Space.
Neural floor: shared room with orchestrator + scout glowing as nodes, animated synaptic paths between them. Replaces dashboard agent chips
Fix NameError: import pricing module in state.py for refresh_dashboard
Left sidebar nav (Dashboard / Scout / future agents) + moonlight blue (iris) accent throughout
Apple-style dashboard polish: refined hero numbers, glassmorphic cards, agent chips with subtle breathe/pulse, cost breakdown bars, recent activity list. Move 'top picks' off dashboard (Scout has it via historical_panel)
Fix Reflex compile error: flatten DashboardStats to primitive State fields; lazy-init agents in event handlers
Two-page UI: Dashboard (KPIs + cost + animated agent floor) and Scout tab. Orchestrator always 'ready' with sleep-bob animation when idle
Run log persistence: every run's events archived to run_logs table; clickable run cards replay archived logs in the feed; full timestamps + duration in run history
Reject listings with score < 60 — both in prompt and save handler. Tunable via MIN_SCORE_TO_SAVE env var
Bucket persistence via snapshot pattern: SQLite writes to local FS, sync to /data after each run, restore from /data on startup
SQLite persistence: runs+listings tables, all-time top panel, check_url_history dedup tool for daily runs
Tool handlers: defensive on missing args; run_local_tool catches all exceptions so the agent self-corrects instead of crashing
BizHub-style scoring with SBA 7(a) loan model + AI strengths/weaknesses (1-10) shown in UI cards and email digest
Tavily advanced search returns 4KB cleaned page content per result; Scout extracts from that instead of fetching (fixes HF data-center IP block)
Probe: also report TAVILY_API_KEY presence
Web search: drop default domain restriction (LLM uses site: operators); log result counts; verbose scout logs
UI: show actual model IDs from env (Kimi K2 etc.) instead of hardcoded Haiku
Pluggable LLM backend: Scout now defaults to Kimi K2 via HF (~70% cheaper than Haiku); orchestrator stays on Opus
Fix more Var/str concat in agent room: precompute full CSS strings inside rx.match
Fix Var/str concat: build class names inside rx.match (Reflex Vars don't support 'str + Var')
UI: agent rooms with walking-character animation; auto-wrap grid for N agents
Redesign UI: agent-community view (avatars + chat-bubble feed) + clear default industry filter
Strip whitespace from API/email env vars (HF Secrets sometimes ship with trailing newline)
Add connectivity probe + full traceback logging when agents error
Remove accidentally-added Pathward submodule (was a local reference, not part of this project)
Adopt Pathward's working pattern: reflex --single-port (no middleware/proxy hacks needed)
Single-process serving: Reflex backend on 7860 with static-fallback middleware
Switch from Next.js to Vite (Reflex 0.9 default); use vite preview proxy for backend forwarding
patch_next_config: handle next.config.mjs (Reflex 0.9 / Next.js 16 default)
Merge agent-business auto-init
