haikdc
|
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
|
2026-06-13 22:01:17 -07:00 |
|
haikdc
|
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
|
2026-06-13 20:34:25 -07:00 |
|
haikdc
|
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
|
2026-06-13 19:53:07 -07:00 |
|
haikdc
|
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
|
2026-06-13 19:30:34 -07:00 |
|
haikdc
|
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
|
2026-06-13 17:30:35 -07:00 |
|
haikdc
|
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
|
2026-06-13 16:49:37 -07:00 |
|
haikdc
|
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.
|
2026-06-13 16:28:03 -07:00 |
|
haikdc
|
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
|
2026-06-13 16:10:56 -07:00 |
|
haikdc
|
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
|
2026-06-13 15:15:44 -07:00 |
|
haikdc
|
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
|
2026-06-13 14:14:04 -07:00 |
|
haikdc
|
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
|
2026-06-13 13:01:11 -07:00 |
|
haikdc
|
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
|
2026-06-13 11:45:55 -07:00 |
|
haikdc
|
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
|
2026-06-13 10:55:32 -07:00 |
|
haikdc
|
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
|
2026-06-13 10:36:49 -07:00 |
|
haikdc
|
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
|
2026-06-13 09:07:03 -07:00 |
|
haikdc
|
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
|
2026-06-13 08:07:07 -07:00 |
|
ciregenz
|
e95e6190a8
|
[eric] release: bump version to 1.2.82 (real Restart-button fix: keep-alive no longer eats quitAndInstall's close)
v1.2.82
|
2026-06-12 23:34:28 -07:00 |
|
ciregenz
|
07e35068dc
|
[eric] updater: keep-alive no longer swallows quitAndInstall's window-close (the real Restart-button-does-nothing fix)
|
2026-06-12 23:33:37 -07:00 |
|
ciregenz
|
53ec11d9cd
|
[eric] release: bump version to 1.2.81 (Mac updater install-on-close + restart fix)
v1.2.81
|
2026-06-12 22:28:22 -07:00 |
|
ciregenz
|
ce1676436d
|
[eric] updater: apply a pending Mac update on window-close + restart so the red button actually updates, not just lingers
|
2026-06-12 22:13:00 -07:00 |
|
ciregenz
|
5f2face717
|
[eric] updater: render the update banner version-less when unknown, kills 'OpenSwarm null' (Windows Squirrel + mid-download reload)
|
2026-06-12 21:29:26 -07:00 |
|
ciregenz
|
80021004ee
|
[eric] release: re-pin 1.2.80 onto the browser-card fix + free trial
v1.2.80
|
2026-06-12 20:22:32 -07:00 |
|
ciregenz
|
a1f390ef0f
|
[eric] browser: claim only the user-picked card, not every dashboard card (fix 5cf6e2a)
|
2026-06-12 20:06:56 -07:00 |
|
ciregenz
|
dcfa475ec1
|
[eric] release: bump version to 1.2.81
|
2026-06-12 20:02:38 -07:00 |
|
ciregenz
|
6790a7b8fe
|
[eric] free-trial: default the trial ON now that the cloud is live on prod and arming is verified
|
2026-06-12 20:01:05 -07:00 |
|
ciregenz
|
be65eb43ea
|
[eric] release: bump version to 1.2.80
|
2026-06-12 19:16:17 -07:00 |
|
ciregenz
|
0e557be7b8
|
[eric] views: gate app runtime/start behind previewSettled so spam-switching doesn't queue a pile of vite boots that stick the landed app on Initializing agent
|
2026-06-12 18:21:31 -07:00 |
|
ciregenz
|
bfa7140907
|
[eric] views: keep the PixelBlast shader via one persistent WebGL context (reparent the canvas, never loseContext) so it looks the same with zero GPU churn
|
2026-06-12 17:39:29 -07:00 |
|
ciregenz
|
5cf6e2a4b1
|
[eric] browser: honor the user's selected browser card instead of spawning a new one (selection now reaches sub-agent dispatch + is claimed for the task)
|
2026-06-12 17:31:46 -07:00 |
|
ciregenz
|
23d8247778
|
[eric] views: CSS loading placeholder kills the WebGL-context churn that crashed app-switching (no chat anchoring the GPU); drop the click-swallowing nav throttle
|
2026-06-12 17:14:59 -07:00 |
|
ciregenz
|
65a5138bfa
|
[eric] free-trial: arm snaps a non-Claude default to Haiku so the free lane actually routes
|
2026-06-12 14:02:58 -07:00 |
|
ciregenz
|
e47a3dbf35
|
[eric] settings: boot reconciles managed 9router keys so a cleared key drops the stale connection
|
2026-06-12 14:02:58 -07:00 |
|
ciregenz
|
a680df8817
|
[eric] release: bump version to 1.2.79
v1.2.79
|
2026-06-11 22:47:58 -07:00 |
|
ciregenz
|
2c02286823
|
[eric] electron: clear the frontend HTTP cache every launch, kills the stale-bundle-after-upgrade class for good
|
2026-06-11 22:47:58 -07:00 |
|
ciregenz
|
8bf044fc60
|
[eric] electron: clear renderer cache on build change, so an upgrade actually loads the new frontend (unversioned bundle.js was served stale)
v1.2.78
|
2026-06-11 17:08:46 -07:00 |
|
ciregenz
|
cd681861bd
|
[eric] electron: lift GPU-process crash limit so a GPU hiccup recovers, not kills the app
|
2026-06-11 15:44:38 -07:00 |
|
ciregenz
|
b8b65e253d
|
[eric] apps: throttle app-list nav + gate WebGL placeholder, fix rapid-app-switch GPU crash
|
2026-06-11 15:44:38 -07:00 |
|
ciregenz
|
dc3d967453
|
[eric] release: bump version to 1.2.78
|
2026-06-11 04:33:19 -07:00 |
|
ciregenz
|
b415a16411
|
[eric] chat: treat an active stream as 'live' in the fetchSession merge so a mid-stream reopen keeps the user bubble (revert the fetch-skip that added the resume-bubble regression)
|
2026-06-11 04:11:38 -07:00 |
|
ciregenz
|
cdaec3b7c8
|
[eric] chat: prefill caret parks at end (not pos 0) + skip the background reconcile-fetch while streaming so a mid-stream reopen stops wiping the user bubble
|
2026-06-11 03:52:42 -07:00 |
|
ciregenz
|
7d5df5f016
|
[eric] app-builder: seed initialDraftId from the existing session so a warm reopen renders the chat instantly (no Initializing-agent blank frame)
|
2026-06-11 03:42:57 -07:00 |
|
ciregenz
|
8a76354a6b
|
[eric] chat: fix #65 scroll glitches, top-align messages (drop bottom-anchor), skip windowing under 60 items (kills the shrink-jump), auto-hide scrollbar until hover
|
2026-06-11 03:30:27 -07:00 |
|
 abccodesandciregenz
|
c0bc12763f
|
[aidan] ui/ux: removed keyboard shortcuts
|
2026-06-11 03:13:05 -07:00 |
|
ciregenz
|
775b24d285
|
Merge PR #68 [aidan] bug: ui/ux fixes (back/forward disabled-state, browser-card dashboard scoping + resize, selection-overlay clipping, dashboard-duplicate carries chats)
AppShell conflict resolved: kept the lucide/redesign + folded in the back/forward disabled-state logic.
|
2026-06-11 02:59:30 -07:00 |
|
ciregenz
|
be678c6573
|
Merge PR #65 [aidan] chat: virtualize long chat transcripts (windowed rendering)
|
2026-06-11 02:52:29 -07:00 |
|
ciregenz
|
0a81bfa17a
|
Merge PR #70 [Aidan] appbuilder: inject selected-app context into dashboard agent chat
|
2026-06-11 02:51:05 -07:00 |
|
ciregenz
|
b2d515566b
|
[eric] onboarding: fix Build starters opening in Agent mode (prefill-mode now wins the reset race) + quirky 4th prompt per category (minecraft, world record, fantasy quest, moon)
|
2026-06-11 02:17:02 -07:00 |
|
ciregenz
|
e07fa73a2d
|
[eric] mac: close-to-dock hide + window.close stub, the window cannot vanish uninvited
|
2026-06-11 02:05:01 -07:00 |
|
ciregenz
|
150d113eb4
|
[eric] onboarding: Build starters open the dashboard composer in App Builder mode (no Apps-page context switch); drop the seed-prompt routing
|
2026-06-11 02:01:20 -07:00 |
|
ciregenz
|
351c055794
|
[eric] onboarding: flip starters back to click-to-open (drop hover preview), click opens the composer prefilled + translucent
|
2026-06-11 01:49:30 -07:00 |
|