agentwire-dev 1.80.0__tar.gz → 1.80.1__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.
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/PKG-INFO +1 -1
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/__init__.py +1 -1
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/core.py +17 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/doctor_cli.py +4 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/hooks_cli.py +11 -1
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/sessions/conversation-identity.md +13 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_conversation_change.py +32 -3
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/.agentwire.yml.example +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/.claude/commands/handoff.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/.claude/skills/wiki/SKILL.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/.github/FUNDING.yml +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/.github/ISSUE_TEMPLATE/question.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/.github/workflows/pytest.yml +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/.github/workflows/ruff.yml +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/.github/workflows/security.yml +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/.github/workflows/tts-smoke.yml +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/.gitignore +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/AGENTS.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/CODE_OF_CONDUCT.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/CONTRIBUTING.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/Dockerfile.local +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/LICENSE +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/README.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/RELEASING.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/SECURITY.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/SPONSORS.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/__main__.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/agents/__init__.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/agents/base.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/agents/tmux.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/auth_expired.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/background_tasks.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/beta.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/cached_status.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/channels/__init__.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/channels/base.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/channels/email.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/channels/push.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/channels/quo.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/channels_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/chrome_tabs.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/claude_settings.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/cohort.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/completion.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/config.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/config_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/council/__init__.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/council/cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/council/inbox.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/council/minutes.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/council/state.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/council/view.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/devices.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/diff_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/doctor_voice.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/ensure_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/env_loader.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/fetch.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/fleet.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/fleet_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/handoff/__init__.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/handoff/git_state.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/handoff/instructions.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/handoff/parser.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/handoff/renderer.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/handoff/schema.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/handoff_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/history.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/history_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/history_migrate.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/hooks/__init__.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/hooks/agentwire-permission.sh +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/hooks/idle-handler.sh +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/hooks/outcome_logger.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/hooks/queue-processor.sh +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/hooks/session-start-handler.sh +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/inbox.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/limits_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/listen.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/locking.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/machine_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/mcp_channels.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/mcp_chrome.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/mcp_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/mcp_core.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/mcp_council.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/mcp_desktop.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/mcp_handoff.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/mcp_history.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/mcp_listen.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/mcp_lock.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/mcp_machine.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/mcp_msg.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/mcp_notify.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/mcp_pane.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/mcp_projects.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/mcp_scheduler.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/mcp_scratchpad.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/mcp_server.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/mcp_services.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/mcp_session.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/mcp_status.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/mcp_task.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/mcp_tunnels.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/mcp_voice.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/mcp_wiki.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/mcp_worktree.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/msg_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/network.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/notify_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/onboarding.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/palette_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/pane_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/pane_manager.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/playback_lane.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/portal_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/project_config.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/projects.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/prompt_router.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/prompts_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/push_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/push_store.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/repo_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/research.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/restart_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/role_prompts.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/roles/__init__.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/roles/agentwire.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/roles/anchor.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/roles/chatbot.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/roles/contributor.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/roles/correspondent.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/roles/council-brain.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/roles/council-conscience.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/roles/council-critic.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/roles/council-devils-advocate.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/roles/council-gut.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/roles/council-historian.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/roles/council-member.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/roles/council-orchestrator.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/roles/init.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/roles/notifications.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/roles/orchestrator.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/roles/reviewer-worktree.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/roles/reviewer.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/roles/shared-checkout.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/roles/soul.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/roles/task-runner.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/roles/voice.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/roles/worker-worktree.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/roles/worker.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/roles_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/routes/__init__.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/routes/artifacts.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/routes/config.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/routes/council.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/routes/desktop.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/routes/history.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/routes/machines.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/routes/notify.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/routes/palette.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/routes/permission.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/routes/projects.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/routes/push.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/routes/safety.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/routes/scheduler.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/routes/scratchpad.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/routes/sessions.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/routes/sessions_admin.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/routes/voice.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/safety/__init__.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/safety/audit.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/safety/lint.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/safety/provenance.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/safety/residuals.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/safety/rule_baselines.json +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/safety/rules/agentwire-control-plane.json +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/safety/rules/agentwire-control-plane.yaml +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/safety/rules/agentwire-core.json +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/safety/rules/agentwire-core.yaml +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/safety/rules/agentwire-mcp-tools.json +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/safety/rules/agentwire-mcp-tools.yaml +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/safety/rules/agentwire-outbound.json +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/safety/rules/agentwire-outbound.yaml +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/safety/rules/agentwire.json +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/safety/rules/agentwire.yaml +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/safety/suggest.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/safety_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/safety_commands.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/safety_ext.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/safety_migrate.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/safety_notify.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/safety_packs_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/sandbox.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/scheduler/__init__.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/scheduler/dispatch.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/scheduler/gates.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/scheduler/loop.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/scheduler/models.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/scheduler/report.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/scheduler/schedule.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/scheduler/state.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/scheduler/zombie.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/scheduler_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/scratchpad.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/security.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/send_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/sent_ledger.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/server.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/services.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/session_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/session_context.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/session_ready.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/session_state.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/ssh.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/agentwire-splash-logo-layers--agentwire-text.png +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/agentwire-splash-logo-layers--echo-claw-fg.png +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/agentwire-splash-logo-layers--echo.png +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/agentwire-splash-logo-layers--telephone.png +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/agentwire-splash-logo-layers--tree.png +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/announcements.json +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/apple-touch-icon.png +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/css/desktop.css +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/css/mobile.css +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/favicon-32.png +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/favicon-64.png +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/icons/sessions/bear.webp +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/icons/sessions/cat.webp +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/icons/sessions/crown.webp +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/icons/sessions/custom/agentwire-portal.webp +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/icons/sessions/custom/agentwire-tts.webp +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/icons/sessions/custom/agentwire.webp +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/icons/sessions/deer.webp +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/icons/sessions/drone.webp +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/icons/sessions/eagle.webp +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/icons/sessions/fox.webp +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/icons/sessions/hawk.webp +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/icons/sessions/horse.webp +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/icons/sessions/lion.webp +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/icons/sessions/rabbit.webp +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/icons/sessions/robot.webp +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/icons/sessions/tiger.webp +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/icons/sessions/wolf.webp +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/img/icon-192.png +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/img/icon-512.png +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/.gitkeep +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/announcement-modal.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/api.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/artifact-window.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/card-terminal.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/collage.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/command-palette.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/council-window.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/dead-key-residue.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/desktop-manager.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/desktop.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/help-modal.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/hotkeys.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/icon-manager.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/lineage.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/mobile.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/notification-prefs.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/notifications-panel.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/ptt.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/push-client.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/review-window.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/safety-shared.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/safety-window.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/scratchpad.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/service-classification.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/session-hud-controller.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/session-hud-notices.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/session-hud-spawn.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/session-hud.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/session-id.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/session-window.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/shortcuts.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/sidebar/artifacts-section.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/sidebar/config-section.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/sidebar/council-section.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/sidebar/fleet-section.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/sidebar/machines-section.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/sidebar/projects-section.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/sidebar/safety-section.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/sidebar/scheduler-section.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/sidebar/services-section.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/sidebar/sessions-section.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/sidebar.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/spawn-ghost.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/taskbar-persist.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/terminal-font-prefs.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/terminal-pane.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/tile-manager.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/toast.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/token-modal.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/topology-render.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/utils/ansi.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/utils/rich-text.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/utils/swipe.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/voice/audio-unlock.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/voice/autosend-prefs.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/voice/browser-stt.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/voice/browser-tts.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/voice/jargon.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/voice/prompt.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/winbox.bundle.min.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/js/workspace-window.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/manifest.webmanifest +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/service-worker.js +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/static/topology-harness.html +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/stt/__init__.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/stt/base.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/stt/cloud.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/stt/engine.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/stt/local.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/stt/server_backend.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/stt/stt_server.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/system_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/tabs_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/tasks.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/tasks_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/templates/__init__.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/templates/base.html +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/templates/council/minutes.html.j2 +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/templates/desktop.html +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/templates/email_notification.html +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/templates/handoff/show-the-story.html.j2 +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/templates/handoff/theme.css.j2 +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/templates/mobile.html +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/templates/pair.html +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/templates/statusline.sh +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/templates/tmux.conf +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/templating.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/tts/__init__.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/tts/audio.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/tts/base.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/tts/engines/__init__.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/tts/engines/chatterbox.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/tts/engines/kokoro.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/tts/engines/zonos.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/tts/kokoro_server.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/tts/local.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/tts/registry.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/tts_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/tts_server.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/tunnels.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/tunnels_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/usage_limit.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/utils/__init__.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/utils/chunker.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/utils/event_log.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/utils/file_io.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/utils/paths.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/utils/speech.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/utils/subprocess.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/validation.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/voice_status.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/wait_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/wiki.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/wiki_audit.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/wiki_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/worktree.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/worktree_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/agentwire/worktree_registry.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/corpus/cases/bypass.yaml +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/corpus/cases/control_plane.yaml +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/corpus/cases/path_spelling.yaml +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/corpus/cases/relative_paths.yaml +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/corpus/golden/effective_rules.json +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/corpus/golden/harvested.json +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/corpus/golden/rule_ids.json +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/corpus/golden/snapshot.json +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/corpus/schema.json +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/decisions/obsidian-second-brain.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/design/session-card-fields.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/design/session-card-recommendation.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/logo.png +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/INDEX.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/architecture.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/auth-expired.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/briefing-mode.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/communication/channels.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/communication/hammerspoon.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/communication/handoff.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/concepts.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/council.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/deployment/remote-access.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/deployment/remote-machines.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/glossary.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/integrations/gws-google-workspace-cli.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/internals/damage-control.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/internals/parallel-refactor.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/internals/portal.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/internals/session-topology.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/internals/shell-escaping.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/internals/troubleshooting.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/internals/upgrade-test.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/internals/window-collage.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/quickstart.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/research/briefing-mode-feasibility.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/research/orchestration-transport-alternatives.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/scheduling/scheduled-workloads.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/security/damage-control-hardening.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/security/pip-audit.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/security/remote-access-hardening.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/security/sandbox-spike.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/security/secrets.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/services.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/sessions/claude-code-auto-mode.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/sessions/fan-out-cohorts.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/sessions/fleet.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/sessions/heal-line-count-cliff.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/sessions/helper-sessions.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/sessions/messaging.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/sessions/prompt-routing.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/sessions/window-sizing.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/sessions/worktree-sessions.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/usage-limit-recovery.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/voice/shim-contract.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/voice/stt-cloud.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/voice/stt-self-hosted.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/docs/wiki/voice/tts-self-hosted.md +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/pyproject.toml +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/conftest.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/corpus_runner.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/e2e/test_portal_ui.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/fixtures/audio_unlock_harness.mjs +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/fixtures/background_tasks/pane_30_shell.txt +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/fixtures/background_tasks/pane_80_agent.txt +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/fixtures/background_tasks/pane_80_done.txt +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/fixtures/background_tasks/pane_80_interrupted.txt +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/fixtures/background_tasks/pane_80_monitor.txt +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/fixtures/background_tasks/pane_80_quoted_footer.txt +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/fixtures/background_tasks/pane_80_second_notice.txt +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/fixtures/background_tasks/pane_80_shell.txt +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/fixtures/background_tasks/pane_80_shell_and_monitor.txt +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/fixtures/background_tasks/transcript_bash_done.jsonl +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/fixtures/background_tasks/transcript_bash_pending.jsonl +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/fixtures/background_tasks/transcript_monitor_done.jsonl +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/fixtures/background_tasks/transcript_monitor_events.jsonl +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/fixtures/dc_msg_body_quoting_carriers.txt +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/fixtures/hotkeys_harness.mjs +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/fixtures/sample_agentwire.yml +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/fixtures/sample_config.yaml +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/fixtures/sample_scheduler.yaml +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/fixtures/session_hud_detent_harness.mjs +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/fixtures/taskbar_persist_harness.mjs +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/fixtures/topology_expand_harness.mjs +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/fixtures/upgrade/gws.yaml +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/home_guard.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/integration/test_council_portal.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/integration/test_scheduler_board.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/integration/test_send_verified_tmux.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/integration/test_server_websockets.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/integration/test_tmux_name_rewrite.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/integration/test_upgrade_from_release.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/integration/test_worktree_cmd.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_agentwire_rules_layer.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_announcements.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_audio_unlock_js.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_audit_attribution.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_audit_outcomes.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_auth_expired.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_auth_expired_dispatch.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_background_tasks.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_background_tasks_review.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_beta_flag.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_block_rows_carry_an_id.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_brace_expansion_zero_access.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_breakglass.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_buddy_removal_keeps.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_build_agent_command.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_channels.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_chrome_tabs.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_claude_settings.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_cli_commands.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_cli_output.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_cli_smoke.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_cli_stderr_clean.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_cohort.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_config.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_config_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_control_plane_protection.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_corpus.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_council_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_council_inbox.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_council_minutes.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_council_state.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_council_view.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_damage_control_bypass.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_damage_control_delete_recursive.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_damage_control_hooks.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_damage_control_pin.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_dangling_worktrees.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_dc_install.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_dc_policy_packs.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_dc_profile_isolation.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_devices.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_diff_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_doctor_orphaned_history.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_doctor_scheduler_staleness.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_doctor_secrets_perms.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_doctor_task_migration.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_doctor_voice.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_ensure_shared_dir.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_ensure_verified_prompt.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_env_loader.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_escape_ask_routing.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_event_log.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_extension_points.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_fleet.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_golden_snapshot.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_guarded_launch_command.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_handoff_git_state.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_handoff_instructions.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_handoff_parser.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_handoff_renderer.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_helper_session.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_heredoc_marker_liveness.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_history.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_history_migrate.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_history_migrate_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_history_resume_name.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_hook_fail_closed.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_hook_fail_closed_matrix.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_hook_link_guard.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_hook_python_floor.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_hook_subprocess.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_hooks_install.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_hotkeys_js.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_idle_handler.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_idle_nag.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_inbox.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_init_command.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_install_parity.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_launch_line_reentry.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_launch_via_env.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_limits_tick_isolation.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_live_target_1261.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_locking.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_mcp_nonblocking.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_mcp_server.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_mcp_tool_policy.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_mcp_tools_args.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_msg_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_notify_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_onboarding_reinit.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_owner_only_writes.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_palette_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_path_case_folding.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_path_spelling.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_payload_position.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_pending_message_visibility.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_playback_lane.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_policy_ladder.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_portal_api.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_portal_pair_url.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_posture_default.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_powershell_matcher.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_project_config.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_projects_registry.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_prompt_router.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_prompt_router_dedup.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_prompt_router_resume.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_prose_operands.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_push.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_rebuild_guard.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_rebuild_uv_lock.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_relative_path_operands.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_remote_session_record.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_repo_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_report_back_path_1259.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_restart_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_rich_text_js.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_rm_recoverable.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_role_prompt_retention.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_role_prompt_sweep_wiring.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_roles.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_routes_snapshot.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_rule_files_load.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_rule_ids_pinned.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_rules_json_in_sync.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_safe_cwd.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_safety_deployment.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_safety_ext.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_safety_groups.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_safety_install.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_safety_migrate.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_safety_notify.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_safety_packs.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_sandbox.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_say_lane.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_scan_budget.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_scheduler.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_scheduler_liveness.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_scheduler_zombie.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_scratchpad.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_security.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_sed_script_is_data.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_sent_ledger.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_server_async.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_services.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_services_command.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_session_context.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_session_created_by_env.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_session_hud_detent_js.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_session_metadata_ssot.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_session_metadata_write.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_session_ready.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_session_state.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_shared_dir_guard.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_shim_selfheal.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_skill_install.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_speech_tags.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_ssh.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_stt_backend.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_stt_cloud.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_stt_engine.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_task_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_task_max_duration.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_taskbar_persist_js.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_tasks.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_tasks_cli.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_templating.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_terminal_resize.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_tmux_session_cwd.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_topology_expand_js.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_tts_engine_resolution.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_tts_local.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_tunnels_probe.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_unattended_allow.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_unattended_env_isolation.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_unattended_scoped_allow.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_usage_limit.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_voice_assistant_removed.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_voice_off_and_shim_bind.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_voice_status.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_watchdog_stages.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_wiki.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_wiki_audit.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_worktree.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_worktree_branch_cleanup.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_worktree_dot_project.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_worktree_git_truth.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_worktree_layout.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_worktree_registry.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tests/unit/test_zero_access_member_access.py +0 -0
- {agentwire_dev-1.80.0 → agentwire_dev-1.80.1}/tools/nonce_stt_probe.py +0 -0
|
@@ -1563,6 +1563,23 @@ def record_session_launch(
|
|
|
1563
1563
|
return metadata
|
|
1564
1564
|
|
|
1565
1565
|
|
|
1566
|
+
def session_owns_cwd(metadata: dict, cwd: str) -> bool:
|
|
1567
|
+
"""Whether *cwd* is where the recorded session runs (#1289).
|
|
1568
|
+
|
|
1569
|
+
Compared as Claude keys history: the physical path through
|
|
1570
|
+
``history.encode_project_path``, against ``cwd_at_launch`` and
|
|
1571
|
+
``worktree_path``. A nested ``claude -p`` started from a pane in a scratch
|
|
1572
|
+
directory fails this, which keeps its conversation out of the chain.
|
|
1573
|
+
"""
|
|
1574
|
+
from .history import encode_project_path
|
|
1575
|
+
|
|
1576
|
+
def key(path: str) -> str:
|
|
1577
|
+
return encode_project_path(os.path.realpath(path))
|
|
1578
|
+
|
|
1579
|
+
owned = {key(p) for p in (metadata.get("cwd_at_launch"), metadata.get("worktree_path")) if p}
|
|
1580
|
+
return key(cwd) in owned
|
|
1581
|
+
|
|
1582
|
+
|
|
1566
1583
|
def record_conversation_change(session_name: str, conversation_id: str) -> bool:
|
|
1567
1584
|
"""Make *conversation_id* the session's CURRENT conversation (#1271).
|
|
1568
1585
|
|
|
@@ -1011,6 +1011,10 @@ def _render_orphaned_history_section() -> int:
|
|
|
1011
1011
|
+ (" [moved since launch]" if f["moved"] else ""))
|
|
1012
1012
|
print(f" history: {f['found_at']}")
|
|
1013
1013
|
print(f" expected: {f['expected_dir']}/")
|
|
1014
|
+
print(" Ids whose history sits under scratch directories are nested "
|
|
1015
|
+
"`claude -p` runs a worker made from its pane: before #1289 the "
|
|
1016
|
+
"session-start hook recorded them into the chain. The session's own "
|
|
1017
|
+
"conversation is the one keyed to its launch cwd.")
|
|
1014
1018
|
print(" Recover with `agentwire history migrate` — the transcripts are "
|
|
1015
1019
|
"intact, just keyed to the old path. Until then `agentwire restart` on a "
|
|
1016
1020
|
"'current conversation' one starts FRESH (role intact) rather than "
|
|
@@ -757,7 +757,7 @@ def record_session_start(payload: dict) -> str:
|
|
|
757
757
|
:func:`cmd_hooks_session_start` is the one place that turns that into exit 0.
|
|
758
758
|
"""
|
|
759
759
|
from . import pane_manager
|
|
760
|
-
from .core import record_conversation_change
|
|
760
|
+
from .core import load_session_metadata, record_conversation_change, session_owns_cwd
|
|
761
761
|
|
|
762
762
|
conversation_id = payload.get("session_id")
|
|
763
763
|
if not isinstance(conversation_id, str) or not conversation_id:
|
|
@@ -771,6 +771,16 @@ def record_session_start(payload: dict) -> str:
|
|
|
771
771
|
return f"skipped: worker pane {session}.{pane_index}"
|
|
772
772
|
|
|
773
773
|
source = payload.get("source", "?")
|
|
774
|
+
# A headless `claude -p` started from this pane inherits $TMUX_PANE and fires
|
|
775
|
+
# this same hook with source=startup, indistinguishable from a real start
|
|
776
|
+
# except by its cwd (#1289).
|
|
777
|
+
payload_cwd = payload.get("cwd")
|
|
778
|
+
if not isinstance(payload_cwd, str) or not payload_cwd:
|
|
779
|
+
return f"ignored: payload has no cwd, cannot tell {session}'s conversation from a nested run"
|
|
780
|
+
metadata = load_session_metadata(session)
|
|
781
|
+
if metadata.get("cwd_at_launch") and not session_owns_cwd(metadata, payload_cwd):
|
|
782
|
+
return (f"ignored: {conversation_id} ran in {payload_cwd}, not {session}'s "
|
|
783
|
+
f"{metadata['cwd_at_launch']} (nested run, source={source})")
|
|
774
784
|
if record_conversation_change(session, conversation_id):
|
|
775
785
|
return f"recorded {conversation_id} for {session} (source={source})"
|
|
776
786
|
return f"unchanged: {session} already at {conversation_id} or has no launch record"
|
|
@@ -291,6 +291,19 @@ carrying the new `session_id`) reports each change:
|
|
|
291
291
|
because the tail is what restart reads as "current"). Already-last is a no-op,
|
|
292
292
|
so it is idempotent and the launch's own id costs nothing. A session with no
|
|
293
293
|
launch record is left alone: the hook never conjures a partial record.
|
|
294
|
+
- **Only the session's own conversations count (#1289).** A headless
|
|
295
|
+
`claude -p` run from a pane (a worker's comparison or spike in a scratch dir)
|
|
296
|
+
inherits `$TMUX_PANE` and fires the same hook. Verified payload shape:
|
|
297
|
+
`{session_id, transcript_path, cwd, hook_event_name, source}` — `cwd` is the
|
|
298
|
+
physical path, and a headless run reports `source: "startup"`, identical to a
|
|
299
|
+
real start, so **`source` is no signal**; `cwd` is. The hook records an id
|
|
300
|
+
only when `core.session_owns_cwd` says the payload `cwd` (through
|
|
301
|
+
`history.encode_project_path` of the realpath) equals the recorded
|
|
302
|
+
`cwd_at_launch` or `worktree_path`. A mismatch, or a payload with no `cwd`,
|
|
303
|
+
is ignored and the reason goes to the debug log. Chains polluted before this
|
|
304
|
+
fix keep their stray ids (`restart` skips ids with no transcript under the
|
|
305
|
+
launch cwd, so they are inert there); `doctor`'s orphaned-history output
|
|
306
|
+
names nested runs as the likely cause.
|
|
294
307
|
- Errors are logged to `/tmp/claude-hook-debug.log`, never raised.
|
|
295
308
|
|
|
296
309
|
`restart`'s newest-first walk is unchanged: a `/clear`ed conversation that
|
|
@@ -24,6 +24,7 @@ def store(tmp_path, monkeypatch):
|
|
|
24
24
|
cwd = tmp_path / "worktree"
|
|
25
25
|
cwd.mkdir()
|
|
26
26
|
(tmp_path / "projects").mkdir()
|
|
27
|
+
_STORE_CWD[0] = cwd
|
|
27
28
|
return types.SimpleNamespace(root=tmp_path, cwd=cwd, projects=tmp_path / "projects")
|
|
28
29
|
|
|
29
30
|
|
|
@@ -51,8 +52,14 @@ def launch(store, session="sess"):
|
|
|
51
52
|
return agent.conversation_id
|
|
52
53
|
|
|
53
54
|
|
|
54
|
-
def session_start(cid, source="clear"):
|
|
55
|
-
|
|
55
|
+
def session_start(cid, source="clear", cwd=None):
|
|
56
|
+
"""The real SessionStart payload: session_id, transcript_path, cwd, source."""
|
|
57
|
+
return hooks_cli.record_session_start(
|
|
58
|
+
{"session_id": cid, "source": source, "cwd": str(cwd or _STORE_CWD[0])}
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
_STORE_CWD: list = [None]
|
|
56
63
|
|
|
57
64
|
|
|
58
65
|
def chain(session="sess"):
|
|
@@ -107,6 +114,28 @@ def test_the_hook_is_idempotent_and_resume_moves_an_old_id_to_the_tail(store, pa
|
|
|
107
114
|
assert chain() == ["b", launched]
|
|
108
115
|
|
|
109
116
|
|
|
117
|
+
def test_a_nested_headless_run_from_another_cwd_never_joins_the_chain(store, pane):
|
|
118
|
+
"""#1289: `claude -p` in a scratch dir inherits $TMUX_PANE and fires the hook
|
|
119
|
+
with source=startup, same as a real start. Only its cwd differs."""
|
|
120
|
+
launched = launch(store)
|
|
121
|
+
scratch = store.root / "scratchpad-neutral"
|
|
122
|
+
scratch.mkdir()
|
|
123
|
+
link = store.root / "link-to-worktree"
|
|
124
|
+
link.symlink_to(store.cwd)
|
|
125
|
+
|
|
126
|
+
outcomes = [
|
|
127
|
+
session_start("nested", source="startup", cwd=scratch),
|
|
128
|
+
hooks_cli.record_session_start({"session_id": "no-cwd", "source": "startup"}),
|
|
129
|
+
]
|
|
130
|
+
assert all(o.startswith("ignored") for o in outcomes), outcomes
|
|
131
|
+
assert "scratchpad-neutral" in outcomes[0] # the reason is logged
|
|
132
|
+
assert chain() == [launched]
|
|
133
|
+
|
|
134
|
+
# The session's own /clear still lands, even reported through a symlink.
|
|
135
|
+
assert session_start("real-clear", cwd=link).startswith("recorded")
|
|
136
|
+
assert chain() == [launched, "real-clear"]
|
|
137
|
+
|
|
138
|
+
|
|
110
139
|
def test_the_hook_never_writes_outside_its_own_session_record(store, pane):
|
|
111
140
|
launch(store)
|
|
112
141
|
before = chain()
|
|
@@ -135,7 +164,7 @@ def test_the_hook_command_exits_zero_on_every_bad_input(store, pane, monkeypatch
|
|
|
135
164
|
raise OSError("read-only store")
|
|
136
165
|
|
|
137
166
|
monkeypatch.setattr("agentwire.core.store_session_metadata", boom)
|
|
138
|
-
monkeypatch.setattr("sys.stdin", io.StringIO(json.dumps({"session_id": "new"})))
|
|
167
|
+
monkeypatch.setattr("sys.stdin", io.StringIO(json.dumps({"session_id": "new", "cwd": str(store.cwd)})))
|
|
139
168
|
codes.append(hooks_cli.cmd_hooks_session_start(types.SimpleNamespace()))
|
|
140
169
|
|
|
141
170
|
assert codes == [0] * len(codes)
|
|
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
|
|
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
|