Commit Graph

  • ace783f4ef [eric] swarm: .swarm bundle engine + skill export/import endpoints ciregenz 2026-06-14 05:55:28 -07:00
  • 00b44274cf [aidan] ui/ux: when building app window appears immediately abccodes 2026-06-14 05:29:27 -07:00
  • acce52e1bf [aidan] enhancement: app editing ui mimicing browseragents abccodes 2026-06-14 05:02:27 -07:00
  • 78fbbebccd [eric] release: bump version to 1.2.84 (off-window crash fix + #81 rename + onboarding revamp) v1.2.84 ciregenz 2026-06-14 04:59:03 -07:00
  • 3b5432b75a Merge branch 'eric/dev' into HEAD ciregenz 2026-06-14 04:59:03 -07:00
  • 6f8ad19bce [aidan] ux: when agent creates app always opens in dashboard abccodes 2026-06-14 04:53:54 -07:00
  • c2c43be9a0 [eric] frontend: normalize package-lock (npm dropped stale peer markers) ciregenz 2026-06-14 04:44:47 -07:00
  • bd8e5d93cc [eric] onboarding: recovery popup auto-dismisses the moment its step completes, no stale 'Tap Show me' after a transient throw ciregenz 2026-06-14 04:35:22 -07:00
  • aff75261f1 [eric] onboarding: mark launch_agent done after the first chat (was stuck to-do); a draft no longer counts as a launched agent ciregenz 2026-06-14 04:14:41 -07:00
  • 5d01bd5ebf [eric] onboarding: cursor pop spark, fewer spokes (6) but thicker + glow + longer (0.62s) so each reads clearly ciregenz 2026-06-14 04:06:45 -07:00
  • 2e3ce84572 [eric] build: gate mouse-clamp extraResources to macOS so the Windows build can't trip ciregenz 2026-06-14 03:59:57 -07:00
  • 8c7afa2bd8 [eric] onboarding: gate the tour like a game, hide the Finish setup pill until the first agent completes; drop the X/5 count ciregenz 2026-06-14 03:49:40 -07:00
  • daece58c3d [aidan] ui/ux: fix connecting status accuracy aidan/auth abccodes 2026-06-14 03:49:17 -07:00
  • b20673d552 [eric] onboarding: pin the welcome chat to exact viewport center (placeCard grid-snap was shoving it off-center) ciregenz 2026-06-14 03:44:32 -07:00
  • 46134bc367 [aidan] ui: edited message for cases where anthropic redirects to enter email code even after login' abccodes 2026-06-14 03:42:45 -07:00
  • 5945dc91dc [eric] onboarding: welcome greeting is now a real streamed assistant bubble (rides the streaming slice + smooth-reveal), chips sit below it ciregenz 2026-06-14 03:29:51 -07:00
  • 80b40dc2b7 [eric] agents: forward draft dashboard_id into launch so the card survives send (fixes welcome chat quitting when you pick an option) ciregenz 2026-06-14 03:20:38 -07:00
  • fbbc57c810 [eric] onboarding: per-popup dwell override so the welcome cursor holds ~3s then clicks (not the tour's 6s floor) ciregenz 2026-06-14 03:20:38 -07:00
  • 9c2323dd96 [aidan] bug: claude login w email+pw abccodes 2026-06-14 03:06:43 -07:00
  • 3530bbf6af [haik]: refactor: reorganize backend/tests/test_cases from flat structure into domain subdirectories — moved 36 test files into auth/, browser/, labeling/, service/, settings/, and web_search/ for better discoverability and grouping haikdc 2026-06-14 02:46:48 -07:00
  • e9c8774ad7 [eric] onboarding: welcome reads as a real chat + cursor opens it + model in header ciregenz 2026-06-14 02:41:28 -07:00
  • eb6278ff5c fix(webapp-template): self-heal half-installed vite warm cache SirKentutandClaude Opus 4.8 2026-06-14 02:35:19 -07:00
  • 66783244ed [haik]: restructure backend test layout: move 37 test files from backend/tests/ into backend/tests/test_cases/, add backend/tests/run.sh one-command launcher that auto-provisions both runner and test venvs with stamp-based caching, update runner config.json to point test_paths at test_cases/ and fix venv_python path, revise runner README with run.sh usage and clearer setup instructions, and gitignore the .runner-venv directory haikdc 2026-06-14 02:31:36 -07:00
  • 82907b4601 [eric] onboarding polish: exaggerated cursor pop + longer wait then prompt click; faster greeting, no caret; chips slide in smoothly (no instant pop); title 'First chat with OpenSwarm', no draft label ciregenz 2026-06-14 02:18:53 -07:00
  • 89a1193f32 [eric] onboarding: welcome_open cursor shows a quick readable popup then clicks New Agent promptly (snappier) ciregenz 2026-06-14 01:59:49 -07:00
  • 8863d58c20 [eric] onboarding: cursor pops in then clicks New Agent to spawn the welcome chat (not auto), with delays; much slower title/greeting stream; manual click is the fail-safe ciregenz 2026-06-14 01:53:12 -07:00
  • ba850e5fdc [eric] onboarding: slower sequential welcome reveal (title -> greeting -> chips) + cursor bursts in with radiating orange spark lines ciregenz 2026-06-14 01:43:13 -07:00
  • 4652bb05b4 [haik]: ckpt, added in the test runner skelton i made in another repo -> still gotta make tweaks to fold it onto the current repo haikdc 2026-06-14 01:35:23 -07:00
  • 58b4774620 [eric] onboarding: personal, computer-aware starter chips (resume->site, my-spreadsheet->dashboard, recap my work, Minecraft, slideshow) , the stuff a sandboxed chatbot can't touch ciregenz 2026-06-14 01:33:44 -07:00
  • edc0ebd997 Revert "[aidan] bug: dashboard not renaming during first run" cireandGitHub 2026-06-14 01:32:00 -07:00
  • 730a418d51 [haik]: refactor(tests): remove isolated_skills fixture parameter from 30 test function signatures in test_browser_skills.py. The fixture was previously passed explicitly to each test but is no longer needed as a parameter (autouse or handled at module level). Affected test groups: persistence/redaction, parameterization, skill self-awareness (list/deprecate), trust lifecycle, composition/cascade, fuzzy matching, and route hints. No behavioral changes. haik/refactor/delete-fluff haikdc 2026-06-14 01:30:21 -07:00
  • d0848f868d [eric] onboarding: Build chips lead with live-app wow only OpenSwarm gives instantly (Minecraft, beat-maker, live data dashboard, persistent tracker), drop Snake/expense-tracker ciregenz 2026-06-14 01:28:42 -07:00
  • 5bbab60f13 aidan] bug: fixed 2 auth claude login issue abccodes 2026-06-14 01:27:21 -07:00
  • 24dd47b1a2 [eric] onboarding: livelier Research chips (parallel-agent weekend plan, black-holes cheat sheet, strangest world record) over the flat ones ciregenz 2026-06-14 01:23:32 -07:00
  • 2d7be0e8ac [aidan] bug: dashboard not renaming during first run AidanandGitHub 2026-06-14 01:22:13 -07:00
  • 294354d867 [eric] onboarding: Build chip says 'mini Minecraft' (clearer + more exciting than '3D block world') ciregenz 2026-06-14 01:17:33 -07:00
  • 7eff2b1a88 [eric] onboarding: revamp starter chips to showcase the differentiators (App Builder apps, browser agent, MCPs, file/PDF harness, parallel agents) ciregenz 2026-06-14 01:15:49 -07:00
  • e5f9f2df62 [eric] onboarding: first-run welcome agent is exploratory (narrow down an open-ended ask before doing); concrete chips still just run ciregenz 2026-06-14 01:12:00 -07:00
  • a28ac6b642 [haik]: refactor: apply p_/P_ naming convention to browser_agent.py and 31 test files. In browser_agent.py, rename 6 module-internal functions from leading-underscore to p_ prefix (_strip_lone_surrogates -> p_strip_lone_surrogates, _format_tool_result -> p_format_tool_result, _delta_state -> p_delta_state, _send_index_in_state -> p_send_index_in_state, _is_composer_fill -> p_is_composer_fill) and update all call sites. Across 31 test files, rename test helper functions from _func to p_func or descriptive names (_tu -> p_tu, _rp -> p_rp, _install -> p_install, _log -> action_log, _isolated_skills -> isolated_skills), drop leading underscores from local variables (_nm -> nm, _send_browser_command -> send_browser_command), and update module attribute references from BH._browser_history/BH._domain_notes to BH.BROWSER_HISTORY/BH.P_DOMAIN_NOTES. ~1023 insertions, ~1024 deletions, no behavioral changes haikdc 2026-06-14 01:11:48 -07:00
  • b2fabec4a4 [eric] onboarding: stream the welcome greeting + stagger-pop the chips (greeting moves into the component, no seeded message) ciregenz 2026-06-14 01:06:49 -07:00
  • 665dec63e2 [eric] onboarding: first-run proactive welcome chat (seeded greeting + in-chat chips, zero run) + cursor pop-nudge at Continue ciregenz 2026-06-14 00:56:48 -07:00
  • 1e7604961d [eric] onboarding: first-run welcome pops in and types a static self-intro, then the chips reveal; dropped the fragile cursor auto-open ciregenz 2026-06-14 00:12:32 -07:00
  • c61a8d1de0 [eric] revert: drop #82 middle-drag/horizontal-scroll canvas pan (undo merge) ciregenz 2026-06-14 00:08:38 -07:00
  • 5c99dbbd80 [haik]: stop importing TERMINAL_STATUSES from seq_log.py and define it as a local constant in ws_manager.py — seq_log renamed it to P_TERMINAL_STATUSES (private), so ws_manager now owns its own copy to avoid a cross-module coupling on session lifecycle states haikdc 2026-06-14 00:05:55 -07:00
  • 4a6c5881b1 [aidan] fix: prev. commit fix. restore ctrl+wheel canvas zoom over webview cards browser-hover-zoom-scroll-plan-v1 abccodes 2026-06-13 23:59:14 -07:00
  • 0a7ae03405 [haik]: refactor(ws_manager): rename private constants and methods from underscore to P_ prefix — convert _BROWSER_CMD_TIMEOUT_DEFAULT, _BROWSER_CMD_TIMEOUTS, _BROWSER_CMD_REBROADCAST_S, WS_RECONNECT_WAIT_S to P prefix and _strip_replayed_closes, filter_stale_approvals to p prefix, updating all internal references haikdc 2026-06-13 23:58:15 -07:00
  • b4f6a9e6e0 [eric] onboarding: agentic cursor auto-opens the chat on first run and asks 'what do you want done?' (static, no LLM); user types their own thing ciregenz 2026-06-13 23:53:14 -07:00
  • d7349cce18 [haik]: refactor: rename ws_manager singleton to WS_MANAGER and await_reconnect to await_reconnect across 8 files. Module-level ConnectionManager instance follows P/uppercase constant convention (ws_manager -> WS_MANAGER in ws_manager.py). Cross-module helper _await_reconnect drops leading underscore since browser_agent.py imports it directly. Updated all ~80 call sites in agent_manager.py, agents.py, browser_agent.py, main.py, and ws_manager.py; updated monkeypatch targets in test_browser_agent_loop.py, test_browser_fast_path.py, and test_disconnect_resilience.py. 176 insertions, 176 deletions, no behavioral changes. haikdc 2026-06-13 23:51:26 -07:00
  • 039246f00b [aidan] ui/ux: middle-drag and horizontal scroll over browser/chat pan the canvas AidanandGitHub 2026-06-13 23:45:27 -07:00
  • 848b8eae97 [eric] onboarding: empty state becomes 'What do you want done?' pointing at the chat bubble; chips one-tap launch (no prefill step), App Builder keeps its surface ciregenz 2026-06-13 23:41:38 -07:00
  • 0f9938b689 browser: drop in-guest zoom locks so pinch and cmd+wheel zoom the page abccodes 2026-06-13 23:40:47 -07:00
  • 08eb4b561f [haik]: refactor: systematize naming conventions across 20+ backend modules. Private module-level vars renamed _foo to P_FOO, private funcs _foo to p_foo, cross-module public funcs drop leading underscores entirely (e.g. _discover_mcp_tools_http -> discover_mcp_tools_http, _load_all -> load_all_tools, _classify_services -> classify_services). Local vars inside functions lose underscores (_backend -> backend_dir, _port -> port). Unnecessary import aliases removed (import json as _json -> import json). Imports reorganized to proper source modules (derive_mcp_config from mcp_config, oauth refresh funcs from oauth_tokens). Added Public comments documenting cross-module API boundaries. Extracted PENDING_OAUTH to oauth_state.py to break circular import. No behavioral changes. haikdc 2026-06-13 23:38:39 -07:00
  • 532672bd4c [eric] onboarding: reveal the panel only after the first agent COMPLETES (not mid-run), and drop the redundant center intent box (chat composer is the freeform input) ciregenz 2026-06-13 23:15:09 -07:00
  • 36ced93759 [eric] onboarding: personalized intent input on the empty dashboard, your words launch one tailored team-lead agent (1 run), generic chips kept for the unsure ciregenz 2026-06-13 22:48:06 -07:00
  • 67e08f6fe4 [eric] macos: pure property-tested clamp_decision for the mouse-clamp addon (5M-case test) ciregenz 2026-06-13 22:27:34 -07:00
  • 3748f23666 [eric] onboarding: partition the tour, reveal one feature at a time, quiet pill on launch, gentle post-win reveal, fewer popups ciregenz 2026-06-13 22:25:07 -07:00
  • 67fce8ee89 [haik]: refactor: canonicalize settings imports and public API naming - move all load_settings imports from backend.apps.settings.settings to backend.apps.settings.store (agent_manager, agents, browser_agent, mcp_preflight, anthropic_proxy, auth/router, dashboards, outputs, service, subscription/router, web) so consumers point at the source module instead of the re-export; rename _atomic_write_settings to atomic_write_settings and _has_own_model to has_own_model since both are called across module boundaries; rename _summarize_block to summarize_block and UPLOAD_DIR to P_UPLOAD_DIR in settings.py; clean up unused var names (_base to _, _ext to _, _httpx to httpx); update test_auth_router.py imports and _save_settings references to match haikdc 2026-06-13 22:22:31 -07:00
  • 87f09e9695 [haik]: refactor naming convention and clean up dead code across backend outputs and service modules. Replace all leading-underscore private names with explicit p_/P_ prefix for module-internal symbols and drop the underscore for cross-module public APIs (load_all, save, load, walk_directory, find_free_port, etc). Rename the runtime module singleton from manager to RUNTIME_MANAGER. Remove unused legacy shims from client.py (submit_event, submit_session_close, record, set_test_sink, set_user_id, update_identity), drop clear() from ring_buffer.py and buffer.py, and remove the VIEW_BUILDER_SKILL backward-compat alias. Switch runtime.py from relative to absolute imports, rename the _d route param to data, and add public-usage comments to clarify cross-module API boundaries haikdc 2026-06-13 22:01:17 -07:00
  • d9481eb4b6 [eric] macos: native mouse-clamp addon to dodge the off-window mouse-release RootView::UpdateCursor crash ciregenz 2026-06-13 21:29:03 -07:00
  • fafbe45187 [haik]: refactor backend naming conventions across 14 files: rename module-internal functions from _fn to p_fn, module-level constants from _CONST to P_CONST, and cross-module public functions from _fn to fn (e.g. _load/_save to load/save in dashboards, _pending_oauth to PENDING_OAUTH in oauth_state, _nr to nr in sync, _process to P_PROCESS in process); hoist inline import json to module-level in modes.py; clean up redundant import subprocess alias and unused _aux_base variable; update all import sites in browser_agent, prompt_context, main, sync, and sync_custom haikdc 2026-06-13 20:34:25 -07:00
  • ba30822b5a [eric] chat: swallow the raw 'Command failed / check stderr' system line, the friendly card already covers it v1.2.83 ciregenz 2026-06-13 20:21:55 -07:00
  • 61687726da [haik]: refactor internal naming convention from leading-underscore (foo/FOO) to p/P prefix across anthropic_proxy, anthropic_to_openai, ssrf_guard, web tools, web_mcp_server, and auth router; clean up import aliases and local variable names in proxy handler; remove unused dashboard_layout module (models + router); remove orphaned healthcheck endpoint from anthropic proxy haikdc 2026-06-13 19:53:07 -07:00
  • 335e1a47e4 dashboard: pan canvas via middle-drag and horizontal scroll over browser/chat browser-hover-zoom-scroll-plan abccodes 2026-06-13 19:35:11 -07:00
  • c15a46e43e wip: browser hover-capture zoom + canvas pan/scroll improvements aidan/archive/browser-zoom abccodes 2026-06-13 19:35:11 -07:00
  • a889677dad [aidan] bug: dashboard not renaming during first run auto-rename-untitled-dashboard-first-load abccodes 2026-06-13 19:35:06 -07:00
  • f0d3cabc47 [haik]: refactor: standardize backend naming and import structure - strip leading underscores from all internal functions/constants across agents, settings, session, and provider modules in favor of public names or P_ prefix for module-private symbols; replace nine_router/init.py barrel re-exports with direct submodule imports (process, sync, sync_custom, oauth); hoist inline stdlib imports to module level; delete dead openai_passthrough.py GPT-5 proxy and the redundant _save_settings alias haikdc 2026-06-13 19:30:34 -07:00
  • 685314b313 [eric] free-trial: skip the idle cache-warm ping on the free lane (useless across rotating pool accounts, and it'd burn a run at idle) ciregenz 2026-06-13 19:06:57 -07:00
  • bf8b450e33 [eric] free-trial: tag the remaining per-query aux calls (turn-label, group-meta, cache-warm, preflight) so one query stays one run ciregenz 2026-06-13 19:03:35 -07:00
  • 846c13e8ad [eric] free-trial: tag title-gen with the session id so a query + its title-gen = one run ciregenz 2026-06-13 18:52:51 -07:00
  • 01df3cde17 [eric] free-trial: fresh task-id per query so each query is its own run (cancel or not) ciregenz 2026-06-13 18:42:49 -07:00
  • 94e17c4b50 [eric] free-trial: arm gate ignores our own managed Claude node (trial no longer self-clears on relaunch) ciregenz 2026-06-13 18:09:03 -07:00
  • e4740b74c1 [eric] free-trial: pin the trial to Haiku end-to-end (desktop + subagent) so the CLI never sends effort ciregenz 2026-06-13 17:38:06 -07:00
  • 7f13cdbdf0 [eric] free-trial: hide model picker + thinking selector only during trial (return on connect) ciregenz 2026-06-13 17:32:19 -07:00
  • 211f939560 [haik]: refactor: standardize naming convention across browser agent modules — replace _CONSTANT/_func leading-underscore privates with P_PREFIX for module-level constants and p_func for internal helpers, promote public API functions (safe_resp_text, detect_loop, hash_tool_call, clean_bullet, etc.) by dropping the underscore, switch module-level imports to explicit function-level imports in browser_agent.py and agents.py, and add browser_skills.py to the linter no-underscore-names exception list haikdc 2026-06-13 17:30:35 -07:00
  • c8a86cd3ff [eric] free-trial: set ENABLE_TOOL_SEARCH=auto on the proxy branch (tool-defer+cache_control 400) ciregenz 2026-06-13 17:17:28 -07:00
  • 9f1c738ab2 [eric] free-trial: refetch settings after mint unconditionally (arms even if the response is unreadable) ciregenz 2026-06-13 17:08:27 -07:00
  • 07199caf34 [haik]: refactor: adopt P-prefix naming convention for module-level private symbols, replacing leading underscores with P_ prefix (e.g. _STEP_TOOLS -> P_STEP_TOOLS, _BROWSY_RE -> P_BROWSY_RE, _domain_notes -> P_DOMAIN_NOTES) and removing underscores from public API functions (e.g. _trim_history_by_turns -> trim_history_by_turns, _validate_message_pairing -> validate_message_pairing). Updated across browser_history, browser_agent, browser_batch_replay, browser_fast_path, browser_fast_read, browser_extract, browser_agent_mcp_server, and aux_llm. Added linter no-underscore-names exclusions for agent_manager, agents, and browser_agent haikdc 2026-06-13 16:49:37 -07:00
  • 8c7f9a7016 [haik]: migrate error_classify.py from underscore-prefix to p_/P_ naming convention: rename _is_auth_error, _is_free_trial_exhausted, _is_long_context_error, _is_transient_capacity_error, _is_unknown_model_error to public (drop _), rename _TRANSIENT_CAPACITY_PATTERNS and NON_TRANSIENT_PATTERNS to P upper-snake. Update all call sites in agent_manager.py and test imports in test_v2_invariants.py. Enhance p-private linter: make is_p() case-insensitive so P UPPER_SNAKE constants are enforced, add # p-private-ignore inline suppression (bare and scoped forms), thread source lines through check functions. Enable no-underscore-names rule in config. Update README and config descriptions. haikdc 2026-06-13 16:28:03 -07:00
  • 18538097e5 [haik]: add p-private linter check enforcing the p_ prefix as a real access modifier with Java private semantics over backend Python — module-level p_ symbols (top-level def/class/assignment) are file-private (usable in their own file, nowhere else), class members (def p_m, self.p_x=, class-body fields p_x: T) are class-private (legal only lexically inside the owning class or a class nested within it); strict like Java private not protected so cross-file subclass access to a base p_ member is flagged; two-pass pure-AST implementation in checks/p_private.py (phase 1 collects ownership, phase 2 checks references via access form — attribute access for class members, bare-name/import for module-level — no type inference); wire run_p_private_check into lint.py section order between no-underscore-names and eslint, add p-private config entries (enabled, description, empty exceptions) in config.json, and document the rule and its status in README haikdc 2026-06-13 16:10:56 -07:00
  • cee7a94559 [eric] release: set version to 1.2.83 (replace the unpublished draft, not a new version) ciregenz 2026-06-13 16:07:33 -07:00
  • b9d90250b7 [eric] updater: evergreen silent install-on-idle (staged update + idle + no agents) ciregenz 2026-06-13 16:06:26 -07:00
  • 8b6a65fc4b [eric] free-trial: tag free-lane calls with the session id so 1 task = 1 run ciregenz 2026-06-13 16:03:02 -07:00
  • c7fb57ef0e [eric] free-trial: friendly busy message for upstream 429s + no raw API-error dumps ciregenz 2026-06-13 15:22:31 -07:00
  • df2267c15c [eric] free-trial: hide the model picker during the trial (model is fixed server-side) ciregenz 2026-06-13 15:15:48 -07:00
  • 8f649eb82c [haik]: rename _sanitize_server_name to sanitize_mcp_server_name (mcp_config canonical, agent_manager, prompt_context, main, tests, toolLabels comment), add no-underscore-names linter check banning leading-underscore Python names in backend, extract _models.py from classes.py for shared pydantic BaseModel field detection used by both classes and vulture checks, add vulture-ignore inline comment suppression and automatic pydantic field-name whitelisting to vulture.py, remove leaked payload arg from client.py sync, update README with new check docs and inline-ignore usage haikdc 2026-06-13 15:15:44 -07:00
  • c5061a3c7a [eric] release: bump version to 1.2.84 (free-trial boot UX: chips+banner on first launch) ciregenz 2026-06-13 14:16:40 -07:00
  • 4db536d757 [haik]: continue test infrastructure modernization: replace hand-rolled FakeExec class in test_browser_wait with AsyncMock side_effect/return_value, swap inline async def stubs in test_web_search_cascade and test_web_search_ddg for AsyncMock, replace _SyncThread shim in test_browser_self_audit with mocker.patch.object autospec, convert HangingExec.calls from int counter to list of call tuples for debuggability, update FakeAux.create in test_browser_playbook to accept **kw and record full call dicts with new assertions on model and max_tokens budget, widen mock HTTP helpers in test_v2_invariants to capture **kw as 4-tuples, remove unused _sanitize_server_name re-export from tools_lib.py, drop unused imports (pytest in test_v2_label_logic, dead imports in test_disconnect_resilience and test_outputs_runtime_cleanup), and enrich sentinel AssertionError messages with f-string context in cascade test guards haikdc 2026-06-13 14:14:04 -07:00
  • c8c6117d64 [haik]: remove dead code and modernize test infrastructure: drop unused functions (validate_credentials, get_provider_credentials, submit_state), remove unused imports and parameters across outputs, buffer, client, settings, credentials, service, auth, main, and tools_lib; replace hand-rolled async fakes in browser agent tests with pytest-mock mocker fixture and AsyncMock, switch to SimpleNamespace over ad-hoc test classes, adopt pytest.mark.usefixtures for unused fixture params, and add pytest-mock to dev dependencies haikdc 2026-06-13 13:01:11 -07:00
  • d89fb7d870 [haik]: backend cleanup: remove unused imports (anthropic, json, time, sys, HTTPException, ws_manager, etc.), drop unused context params from tool hooks and execute methods, delete dead _resolve_model helper and entire thinking.py module, prune multi-provider subagent model fallback block in agent_manager, fix session_store to import SESSIONS_DIR directly from config.paths, re-home compute_tiers/compute_billing_kind imports from registry to pricing in agents.py, add google-workspace-mcp==2.0.1 to requirements-dev haikdc 2026-06-13 11:45:55 -07:00
  • 7fdf37f416 [hAIk]: add lint preflight step in run.sh that runs print_errors.sh before the dev loop starts (skips gracefully if venv missing), replace python.terminal.activateEnvironment with a custom terminal-init.sh profile that sources .bash_profile then activates the backend venv, and set it as the default macOS terminal in VS Code settings haikdc 2026-06-13 10:55:32 -07:00
  • 51532c548c [hAIk]: add ruff lint check for per-file scope-aware rules (F401 unused imports, F811 redefinitions, F841 unused locals, ARG001/ARG002 unused args) and narrow vulture to whole-program dead-code reachability only — the two are complementary, not redundant; introduce CheckError exception so eslint/knip/ruff/vulture surface tool failures loudly instead of silently returning []; refactor run_checks() from a 7-tuple to a LintResult dataclass with sections + incomplete tracking, and exit non-zero on incomplete runs so CI never mistakes a partial pass for a clean one; update print_errors.sh with ruff section; pin ruff==0.15.17 in requirements-dev.txt; add missing @pytest.mark.asyncio decorators to test_outputs_runtime_cleanup.py and remove the pytest_collection_modifyitems auto-marker from test_phase1_stress.py; set tasks.json reveal to always haikdc 2026-06-13 10:36:49 -07:00
  • 44b82ba7c8 [hAIk]: add CastLabs EVS auth preflight in run.sh so DRM credential prompts resolve before backend/frontend logs interleave the terminal — supports shared .env.evs creds, interactive fallback signup, and OPENSWARM_SKIP_VMP=1 opt-out; propagate skip flag into sign-vmp.sh to bypass signing network calls; gate requirements-dev.txt install behind OPENSWARM_DEV=1 in backend/run.sh; disable max-file-lines, max-folder-items, and import-cycles linter checks and clear all exception/whitelist entries; add .env.evs.example template haikdc 2026-06-13 09:07:03 -07:00
  • 7e2f96d2dc [haik]: stop ignoring .vscode/ and add tasks.json with background linter watcher that runs on folder open; pin backend venv creation to python3.13; bump electron from 1.2.77 to 1.2.82; remove stale peer-dependency markers across electron and frontend lockfiles haikdc 2026-06-13 08:07:07 -07:00
  • f9de84d5c9 [eric] free-trial: boot settings race no longer wipes the armed trial; no red banner flash ciregenz 2026-06-13 05:59:36 -07:00
  • 324bd18978 [eric] release: bump version to 1.2.83 (crash gate + free-trial banner + Pro-disconnect reconcile + updater/#79/#80) ciregenz 2026-06-13 04:19:46 -07:00
  • 10fa59057d [eric] settings: boot drops the managed Pro connection when disconnected, so 'disconnect Pro -> free trial arms' actually works ciregenz 2026-06-13 04:19:46 -07:00
  • 2015a0fcf9 [eric] shell: hide the no-model warning banner during an active free trial, it returns when the trial is spent ciregenz 2026-06-13 04:08:52 -07:00
  • 512f4550e6 [eric] views: gate per-app seed/init/runtime behind 800ms sustained focus, fix sidebar-spam stall + self-quit ciregenz 2026-06-13 02:48:50 -07:00
  • 3978f9b03c [eric] views: boot an app runtime only after 800ms sustained focus, fixes sidebar-spam backend OOM ciregenz 2026-06-13 02:14:49 -07:00
  • 861f3520f9 [eric] app-builder: drop the em-dash from the skill prompt (precedence: no em/en-dashes anywhere) ciregenz 2026-06-13 02:08:31 -07:00