meshcode 2.11.142__tar.gz → 2.11.144__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {meshcode-2.11.142 → meshcode-2.11.144}/PKG-INFO +1 -1
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/__init__.py +1 -1
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/run_agent.py +20 -1
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode.egg-info/PKG-INFO +1 -1
- {meshcode-2.11.142 → meshcode-2.11.144}/pyproject.toml +1 -1
- {meshcode-2.11.142 → meshcode-2.11.144}/README.md +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/__main__.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/_session_handoff_template.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/_stop_hook_template.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/ascii_art.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/atomic_push.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/claude_update.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/cli.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/comms_v4.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/compat.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/daemon.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/date_parse.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/doctor.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/error_hints.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/exceptions.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/helper_visuals.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/hooks/__init__.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/hooks/repo_path_lock.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/hostd.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/invites.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/launcher.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/launcher_install.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/meshcode_mcp/__init__.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/meshcode_mcp/__main__.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/meshcode_mcp/backend.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/meshcode_mcp/realtime.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/meshcode_mcp/server.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/meshcode_mcp/sleep_signals.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/meshcode_mcp/swarm.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/meshcode_mcp/test_backend.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/meshcode_mcp/test_boot_timing.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/meshcode_mcp/test_install_guard.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/meshcode_mcp/test_prefs_claude_version.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/meshcode_mcp/test_realtime.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/meshcode_mcp/test_swarm.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/preferences.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/protocol_handler.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/protocol_v2.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/quickstart.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/rpc_allowlist.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/scripts/check_secrets.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/scripts/race_rate_harness.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/secrets.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/self_update.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/setup_clients.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/supervisor.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/up.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/upload.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode.egg-info/SOURCES.txt +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode.egg-info/dependency_links.txt +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode.egg-info/entry_points.txt +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode.egg-info/requires.txt +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/meshcode.egg-info/top_level.txt +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/setup.cfg +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_auto_update_hardening.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_autonomous_closegap_1.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_autonomous_closegap_2.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_autonomous_closegap_3.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_autonomous_prompt_inject.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_boot_bug_regression.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_color_truecolor.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_core.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_cross_agent_messaging.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_date_parse.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_doctor.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_epistemic_v1_python_sdk.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_epistemic_v1_stop_conditions.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_esc_deaf_state.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_exceptions.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_file_upload.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_helper_visuals.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_hostd_zombie_sessions.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_init_device_code.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_install_guard.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_lease_sigterm_release.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_live_mesh_guard.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_mark_read_batch.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_marketplace_ratings.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_migration_integrity.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_pretrust_claude.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_realtime_event_freshness.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_rls_cross_tenant.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_rpc_grants.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_rpc_migrations.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_run_agent_dry_run.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_run_agent_no_server_import.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_security_regressions.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_self_update_user_site.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_sentinel.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_session_replay_gate.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_setup_path.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_sleep_signals.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_status_enum_coverage.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_stay_on_loop_hook.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_stop_ghost_terminal.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_swarm_events.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_task_progress.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_terminal_lifecycle.py +0 -0
- {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_wait_open_tasks_contradiction.py +0 -0
|
@@ -32,6 +32,10 @@ from . import claude_update
|
|
|
32
32
|
WORKSPACES_ROOT = Path.home() / "meshcode"
|
|
33
33
|
REGISTRY_PATH = WORKSPACES_ROOT / ".registry.json"
|
|
34
34
|
|
|
35
|
+
# Samuel directive 2026-06-17: all agents boot with the best model by default.
|
|
36
|
+
# Overrides (settings.json "model" or mc_agent_model_pref RPC) still respected.
|
|
37
|
+
PLATFORM_DEFAULT_MODEL = "opus"
|
|
38
|
+
|
|
35
39
|
|
|
36
40
|
def _pretrust_claude_workspace(*paths) -> None:
|
|
37
41
|
"""Pre-trust workspace dirs in ~/.claude.json (task 2e6a8d63, Samuel
|
|
@@ -1253,8 +1257,17 @@ def run(agent: str, project: Optional[str] = None, editor_override: Optional[str
|
|
|
1253
1257
|
'chief', 'captain', 'boss', 'head agent')
|
|
1254
1258
|
is_cmd = any(k in _leader_haystack for k in _LEADER_KW)
|
|
1255
1259
|
agent_stats = _fetch_agent_stats(agent, resolved_project)
|
|
1260
|
+
# Banner must show the version the agent will ACTUALLY run — the
|
|
1261
|
+
# boot-env target resolved by ensure_boot_env() above (always-latest),
|
|
1262
|
+
# NOT the launcher's own installed __version__. The launcher's global
|
|
1263
|
+
# install can lag (its self-update is non-blocking → one-launch
|
|
1264
|
+
# behind), which made the banner read e.g. v2.11.140 while the agent
|
|
1265
|
+
# actually booted on .143 (Samuel 2026-06-17). _boot_env_ver is None on
|
|
1266
|
+
# offline / dry-run / editable installs → fall back to the launcher
|
|
1267
|
+
# version so the banner never goes blank.
|
|
1268
|
+
_banner_version = _boot_env_ver or cli_version
|
|
1256
1269
|
print(render_welcome(
|
|
1257
|
-
agent, resolved_project, ascii_art,
|
|
1270
|
+
agent, resolved_project, ascii_art, _banner_version,
|
|
1258
1271
|
is_commander=is_cmd, role=agent_role, stats=agent_stats,
|
|
1259
1272
|
profile_color=profile_color,
|
|
1260
1273
|
mascot_config=mascot_cfg,
|
|
@@ -1351,6 +1364,12 @@ def run(agent: str, project: Optional[str] = None, editor_override: Optional[str
|
|
|
1351
1364
|
except Exception as _me:
|
|
1352
1365
|
print(f"[meshcode] model-pref skipped: {_me}", file=sys.stderr)
|
|
1353
1366
|
|
|
1367
|
+
# Platform default: best model for all agents (Samuel directive 2026-06-17).
|
|
1368
|
+
# Applied only when no explicit override was set via settings.json or model_pref RPC.
|
|
1369
|
+
if "--model" not in cmd:
|
|
1370
|
+
cmd += ["--model", PLATFORM_DEFAULT_MODEL]
|
|
1371
|
+
print(f"[meshcode] Model: {PLATFORM_DEFAULT_MODEL} (platform default)", file=sys.stderr)
|
|
1372
|
+
|
|
1354
1373
|
if mode == "bypass":
|
|
1355
1374
|
bypass_check_cmd = effective_editor if not pinned_version else "claude"
|
|
1356
1375
|
if pinned_version or _claude_supports_bypass(bypass_check_cmd):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|