agentirc-cli 7.0.4__tar.gz → 7.1.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.
- agentirc_cli-7.1.1/.markdownlint-cli2.yaml +30 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/.pre-commit-config.yaml +6 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/CHANGELOG.md +30 -89
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/CLAUDE.md +1 -1
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/PKG-INFO +1 -1
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/agentirc/client.py +63 -30
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/agentirc/ircd.py +3 -1
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/bots/config.py +18 -1
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/cli/mesh.py +24 -3
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/cli/server.py +5 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/persistence.py +34 -15
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/agentirc/bots.md +7 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/reference/cli/index.md +6 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/pyproject.toml +1 -1
- agentirc_cli-7.1.1/tests/test_bot_config_fires_event_toplevel.py +114 -0
- agentirc_cli-7.1.1/tests/test_persistence_timeout.py +59 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/uv.lock +1 -1
- agentirc_cli-7.0.4/.markdownlint-cli2.yaml +0 -14
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/.claude/agents/doc-test-alignment.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/.claude/skills/pr-review/SKILL.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/.claude/skills/run-tests/SKILL.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/.claude/skills/run-tests/scripts/test.sh +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/.flake8 +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/.github/workflows/docs-check.yml +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/.github/workflows/publish.yml +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/.github/workflows/security-checks.yml +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/.github/workflows/tests.yml +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/.gitignore +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/.pr_agent.toml +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/.pylintrc +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/Gemfile +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/Gemfile.lock +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/LICENSE +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/README.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/SECURITY.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/_config.agentirc.yml +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/_config.base.yml +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/_config.culture.yml +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/_data/sites.yml +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/_includes/head_custom.html +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/_plugins/site_filter.rb +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/_sass/color_schemes/anthropic.scss +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/_sass/color_schemes/dark-terminal.scss +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/_sass/custom/custom.scss +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/assets/images/IMG_3183.png +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/assets/images/apple-touch-icon.png +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/assets/images/favicon-16x16.png +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/assets/images/favicon-32x32.png +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/assets/images/favicon.ico +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/assets/images/og-agentirc.png +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/assets/images/og-culture.png +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/__init__.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/__main__.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/agentirc/CLAUDE.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/agentirc/__init__.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/agentirc/__main__.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/agentirc/channel.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/agentirc/config.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/agentirc/docs/agentirc-architecture.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/agentirc/docs/agentirc-features.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/agentirc/docs/agentirc-skill.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/agentirc/docs/agentirc.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/agentirc/events.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/agentirc/history_store.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/agentirc/remote_client.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/agentirc/room_store.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/agentirc/rooms_util.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/agentirc/server_link.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/agentirc/skill.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/agentirc/skills/__init__.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/agentirc/skills/history.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/agentirc/skills/icon.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/agentirc/skills/rooms.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/agentirc/skills/threads.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/agentirc/thread_store.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/aio.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/bots/__init__.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/bots/bot.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/bots/bot_manager.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/bots/filter_dsl.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/bots/http_listener.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/bots/system/__init__.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/bots/system/welcome/__init__.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/bots/system/welcome/bot.yaml +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/bots/system/welcome/handler.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/bots/template_engine.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/bots/virtual_client.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/cli/__init__.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/cli/agent.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/cli/bot.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/cli/channel.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/cli/shared/__init__.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/cli/shared/constants.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/cli/shared/display.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/cli/shared/formatting.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/cli/shared/ipc.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/cli/shared/mesh.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/cli/shared/process.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/cli/skills.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/__init__.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/acp/__init__.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/acp/agent_runner.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/acp/config.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/acp/culture.yaml +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/acp/daemon.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/acp/ipc.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/acp/irc_transport.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/acp/message_buffer.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/acp/skill/SKILL.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/acp/skill/__init__.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/acp/skill/irc_client.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/acp/socket_server.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/acp/supervisor.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/acp/webhook.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/claude/__init__.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/claude/__main__.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/claude/agent_runner.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/claude/config.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/claude/culture.yaml +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/claude/daemon.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/claude/ipc.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/claude/irc_transport.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/claude/message_buffer.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/claude/skill/SKILL.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/claude/skill/__init__.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/claude/skill/irc_client.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/claude/socket_server.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/claude/supervisor.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/claude/webhook.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/codex/__init__.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/codex/agent_runner.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/codex/config.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/codex/culture.yaml +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/codex/daemon.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/codex/ipc.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/codex/irc_transport.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/codex/message_buffer.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/codex/skill/SKILL.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/codex/skill/__init__.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/codex/skill/irc_client.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/codex/socket_server.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/codex/supervisor.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/codex/webhook.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/copilot/__init__.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/copilot/agent_runner.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/copilot/config.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/copilot/culture.yaml +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/copilot/daemon.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/copilot/ipc.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/copilot/irc_transport.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/copilot/message_buffer.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/copilot/skill/SKILL.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/copilot/skill/__init__.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/copilot/skill/irc_client.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/copilot/socket_server.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/copilot/supervisor.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/clients/copilot/webhook.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/config.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/console/__init__.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/console/app.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/console/client.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/console/commands.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/console/status.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/console/widgets/__init__.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/console/widgets/chat.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/console/widgets/info_panel.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/console/widgets/sidebar.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/constants.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/credentials.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/formatting.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/learn_prompt.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/mesh_config.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/observer.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/overview/__init__.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/overview/collector.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/overview/model.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/overview/renderer_text.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/overview/renderer_web.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/overview/web/style.css +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/pidfile.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/protocol/__init__.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/protocol/commands.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/protocol/extensions/events.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/protocol/extensions/federation.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/protocol/extensions/history.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/protocol/extensions/icons.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/protocol/extensions/rooms.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/protocol/extensions/tags.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/protocol/extensions/threads.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/protocol/message.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/protocol/protocol-index.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/protocol/replies.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/culture/skills/culture/SKILL.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/README.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/agentirc/architecture-overview.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/agentirc/events.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/agentirc/index.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/agentirc/why-agentirc.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/culture/agent-lifecycle.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/culture/choose-a-harness.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/culture/index.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/culture/mental-model.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/culture/operate.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/culture/patterns.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/culture/quickstart.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/culture/reflective-development.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/culture/vision-patterns-index.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/culture/vision.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/culture/why-culture.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/reference/architecture/agent-harness-spec.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/reference/architecture/index.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/reference/architecture/layers.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/reference/architecture/threads.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/reference/cli/commands.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/reference/harnesses/acp.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/reference/harnesses/claude.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/reference/harnesses/codex.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/reference/harnesses/copilot.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/reference/harnesses/index.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/reference/index.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/reference/server/architecture.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/reference/server/config.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/reference/server/deployment.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/reference/server/index.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/reference/server/security.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/resources/github-copilot-sdk-instructions.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/shared/concepts/federation.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/shared/concepts/harnesses.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/shared/concepts/humans-and-agents.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/shared/concepts/index.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/shared/concepts/persistence.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/shared/concepts/rooms.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/shared/demos/magic-demo.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/shared/guides/first-session.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/shared/guides/index.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/shared/guides/join-as-human.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/shared/guides/local-setup.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/shared/guides/multi-machine.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/shared/use-cases/01-pair-programming.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/shared/use-cases/02-code-review-ensemble.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/shared/use-cases/03-cross-server-delegation.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/shared/use-cases/04-knowledge-propagation.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/shared/use-cases/05-the-observer.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/shared/use-cases/06-cross-server-ops.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/shared/use-cases/07-supervisor-intervention.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/shared/use-cases/08-apps-as-agents.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/shared/use-cases/09-research-swarm.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/shared/use-cases/10-agent-lifecycle.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/shared/use-cases-index.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/plans/2026-03-19-layer1-core-irc.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/plans/2026-03-21-layer5-agent-harness.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/plans/2026-03-30-overview.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/plans/2026-03-30-rooms-management.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/plans/2026-04-02-conversation-threads.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/plans/2026-04-02-ops-tooling.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/plans/2026-04-04-culture-rename.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/plans/2026-04-05-docs-speak-culture.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/plans/2026-04-06-console-chat.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/plans/2026-04-09-decentralized-agent-config.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/plans/2026-04-12-console-enhancements.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/plans/2026-04-15-mesh-events.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/specs/2026-03-19-agentirc-design.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/specs/2026-03-21-layer5-agent-harness-design.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/specs/2026-03-30-overview-design.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/specs/2026-03-30-rooms-management-design.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/specs/2026-04-02-conversation-threads-design.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/specs/2026-04-02-ops-tooling-design.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/specs/2026-04-03-bots-webhooks-design.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/specs/2026-04-04-culture-rename-design.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/specs/2026-04-05-docs-speak-culture-design.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/specs/2026-04-05-lifecycle-reframe-design.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/specs/2026-04-06-cli-reorganization-design.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/specs/2026-04-06-console-chat-design.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/specs/2026-04-07-entity-archiving-design.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/specs/2026-04-07-reflective-development-reframe-design.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/specs/2026-04-08-reflective-development-deepening-design.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/specs/2026-04-09-decentralized-agent-config-design.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/specs/2026-04-12-console-enhancements-design.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/docs/superpowers/specs/2026-04-15-mesh-events-design.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/favicon.ico +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/packages/agent-harness/README.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/packages/agent-harness/config.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/packages/agent-harness/culture.yaml +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/packages/agent-harness/daemon.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/packages/agent-harness/ipc.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/packages/agent-harness/irc_transport.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/packages/agent-harness/message_buffer.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/packages/agent-harness/skill/SKILL.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/packages/agent-harness/skill/irc_client.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/packages/agent-harness/socket_server.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/packages/agent-harness/webhook.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/plugins/claude-code/.claude-plugin/plugin.json +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/plugins/claude-code/skills/culture/SKILL.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/plugins/claude-code/skills/irc/SKILL.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/plugins/codex/skills/culture-irc/SKILL.md +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/robots.txt +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/sonar-project.properties +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/__init__.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/conftest.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_acp_daemon.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_agent_runner.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_archive.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_bot.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_bot_config.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_bot_manager.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_bots_integration.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_channel.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_channel_cli.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_codex_daemon.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_connection.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_console_client.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_console_commands.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_console_connection.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_console_fixes_224_227.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_console_icons.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_console_integration.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_console_status.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_copilot_daemon.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_credentials.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_culture_config.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_daemon.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_daemon_config.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_daemon_ipc.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_discovery.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_display.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_events_basic.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_events_bot_chain.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_events_bot_trigger.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_events_cap_fallback.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_events_catalog.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_events_federation.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_events_history.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_events_lifecycle.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_events_reserved_nick.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_federation.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_filter_dsl.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_history.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_http_listener.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_integration_layer5.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_ipc.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_irc_transport.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_irc_transport_tags.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_learn_prompt.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_link_reconnect.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_manifest_config.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_mention_alias.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_mention_target_cleanup.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_mention_warning.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_mentions.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_mesh_config.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_mesh_readiness.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_message.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_message_buffer.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_message_tags.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_messaging.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_migrate_cli.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_modes.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_overview_cli.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_overview_collector.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_overview_model.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_overview_renderer.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_overview_web.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_persistence.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_pidfile.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_poll_loop.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_register_cli.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_room_persistence.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_rooms.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_rooms_federation.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_rooms_integration.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_server_icon_skill.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_setup_update_cli.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_skill_client.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_skill_docs.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_skills.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_socket_server.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_supervisor.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_template_engine.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_thread_buffer.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_threads.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_virtual_client.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_wait_for_port.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_webhook.py +0 -0
- {agentirc_cli-7.0.4 → agentirc_cli-7.1.1}/tests/test_welcome_bot.py +0 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# culture project markdownlint-cli2 configuration
|
|
2
|
+
# Consumed by the markdownlint-cli2 pre-commit hook (see .pre-commit-config.yaml).
|
|
3
|
+
|
|
4
|
+
config:
|
|
5
|
+
default: true
|
|
6
|
+
# MD013: Line length — too noisy for content-heavy docs
|
|
7
|
+
MD013: false
|
|
8
|
+
# MD060: Table pipe spacing — stylistic preference
|
|
9
|
+
MD060: false
|
|
10
|
+
# MD024: Duplicate headings — allow siblings_only so the Keep-a-Changelog
|
|
11
|
+
# pattern (### Added / ### Changed / ### Fixed repeated per release) passes.
|
|
12
|
+
MD024:
|
|
13
|
+
siblings_only: true
|
|
14
|
+
# MD025: Multiple top-level H1s — Jekyll pages derive an H1 from front
|
|
15
|
+
# matter, so additional `# Heading` in body content is legitimate.
|
|
16
|
+
MD025: false
|
|
17
|
+
# MD033: Inline HTML — Jekyll docs use inline HTML for hero sections,
|
|
18
|
+
# badges, and collapsible details.
|
|
19
|
+
MD033: false
|
|
20
|
+
# MD041: First line must be H1 — Jekyll front matter precedes content,
|
|
21
|
+
# so this rule doesn't fit the repo's doc layout.
|
|
22
|
+
MD041: false
|
|
23
|
+
|
|
24
|
+
# Ignore patterns
|
|
25
|
+
ignores:
|
|
26
|
+
- "node_modules/**"
|
|
27
|
+
- ".local/**"
|
|
28
|
+
- "_site/**" # default Jekyll build output
|
|
29
|
+
- "_site_*/**" # per-site Jekyll build outputs (agentirc, culture)
|
|
30
|
+
- "docs/superpowers/**" # internal plan/spec drafts
|
|
@@ -4,8 +4,28 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
6
6
|
|
|
7
|
-
## [7.
|
|
7
|
+
## [7.1.1] - 2026-04-17
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- Added markdownlint-cli2 to the pre-commit hook set via the upstream DavidAnson/markdownlint-cli2 repo. Contributors running `pre-commit install` now get markdown linting on staged .md files automatically — no system install required (pre-commit provisions its own Node environment).
|
|
12
|
+
- Tuned .markdownlint-cli2.yaml to fit the repo's existing conventions: MD024 uses `siblings_only` so Keep-a-Changelog headings pass; MD025/MD033/MD041 disabled for Jekyll pages that derive their H1 from front matter and use inline HTML; added `_site_*/**` and `docs/superpowers/**` to ignores.
|
|
13
|
+
- Merged duplicated `### Changed` blocks inside CHANGELOG [0.21.0] that the new lint rule surfaced.
|
|
14
|
+
|
|
15
|
+
## [7.1.0] - 2026-04-17
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- Refactored `_handle_channel_mode` in `culture/agentirc/client.py`: extracted `_apply_mode_char` and `_broadcast_mode_change` helpers to drop cognitive complexity from 21 to ≤15 (SonarCloud S3776)
|
|
20
|
+
- Background task GC safety in `ircd.py` `_notify_local_quit`: `asyncio.ensure_future` replaced with a tracked `asyncio.create_task` using the existing `self._background_tasks` set + `add_done_callback(discard)` pattern
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
|
|
24
|
+
- culture mesh update no longer hangs on broken/unresponsive systemd units — all subprocess calls in persistence.py and cli/mesh.py now have explicit timeouts (30s for service restarts, 30s for CLI fallbacks, 120s for package upgrade)
|
|
25
|
+
- fires_event chain not triggering downstream bots (#260) — the bot.yaml loader now accepts fires_event at the top level as well as under output:, so configs that put the block at the top level emit events as expected
|
|
26
|
+
- Daemon log flushing stops after startup — replaced logging.basicConfig's default StreamHandler (which inherits stderr buffering from interpreter startup) with an explicit logging.FileHandler so runtime log records flush per-record
|
|
8
27
|
|
|
28
|
+
## [7.0.4] - 2026-04-17
|
|
9
29
|
|
|
10
30
|
### Fixed
|
|
11
31
|
|
|
@@ -13,7 +33,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
13
33
|
|
|
14
34
|
## [7.0.3] - 2026-04-17
|
|
15
35
|
|
|
16
|
-
|
|
17
36
|
### Fixed
|
|
18
37
|
|
|
19
38
|
- Duplicate _ERR_CHANNEL_PREFIX string in all 5 daemon files (S1192)
|
|
@@ -26,7 +45,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
26
45
|
|
|
27
46
|
## [7.0.2] - 2026-04-17
|
|
28
47
|
|
|
29
|
-
|
|
30
48
|
### Fixed
|
|
31
49
|
|
|
32
50
|
- Cognitive complexity in observer.py (CC 22→~13)
|
|
@@ -35,7 +53,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
35
53
|
|
|
36
54
|
## [7.0.1] - 2026-04-17
|
|
37
55
|
|
|
38
|
-
|
|
39
56
|
### Fixed
|
|
40
57
|
|
|
41
58
|
- Wrong AgentConfig/DaemonConfig import types in test helpers (S5655)
|
|
@@ -86,26 +103,22 @@ new subsystem, new bot trigger type).
|
|
|
86
103
|
|
|
87
104
|
## [6.2.3] - 2026-04-15
|
|
88
105
|
|
|
89
|
-
|
|
90
106
|
### Changed
|
|
91
107
|
|
|
92
108
|
- docs: post-#231 retrospective — CLAUDE.md guidance for pre-branch checklist, format-before-commit, pre-push code review, SonarCloud pre-ready; new doc-test-alignment subagent; /pr-review skill step for SonarCloud query
|
|
93
109
|
|
|
94
110
|
## [6.2.2] - 2026-04-14
|
|
95
111
|
|
|
96
|
-
|
|
97
112
|
### Fixed
|
|
98
113
|
|
|
99
114
|
- console: handle BrokenPipeError/ConnectionResetError in _send_raw; surface a red system notice in the chat panel instead of letting the asyncio task crash (#230)
|
|
100
115
|
|
|
101
116
|
## [6.2.1] - 2026-04-13
|
|
102
117
|
|
|
103
|
-
|
|
104
118
|
### Added
|
|
105
119
|
|
|
106
120
|
- Copy-paste guidance in help screen (Shift+drag bypasses TUI mouse capture in modern terminals)
|
|
107
121
|
|
|
108
|
-
|
|
109
122
|
### Fixed
|
|
110
123
|
|
|
111
124
|
- #227: Tab now cycles channels (added priority=True to override Textual Screen focus-cycling)
|
|
@@ -116,33 +129,28 @@ new subsystem, new bot trigger type).
|
|
|
116
129
|
|
|
117
130
|
## [6.2.0] - 2026-04-12
|
|
118
131
|
|
|
119
|
-
|
|
120
132
|
### Added
|
|
121
133
|
|
|
122
134
|
- Agent status indicators in console sidebar (#218) — shows working/idle/paused/circuit-open for each agent
|
|
123
135
|
- Auto-read channel history on switch (#219) — loads last 20 messages when switching channels via Tab, sidebar click, or /join
|
|
124
136
|
- Help menu — /help command and Ctrl+H keybinding showing all commands and keybindings
|
|
125
137
|
|
|
126
|
-
|
|
127
138
|
### Fixed
|
|
128
139
|
|
|
129
140
|
- Joined message no longer wiped by channel switch clear_log
|
|
130
141
|
|
|
131
142
|
## [6.1.1] - 2026-04-11
|
|
132
143
|
|
|
133
|
-
|
|
134
144
|
### Changed
|
|
135
145
|
|
|
136
146
|
- Remove Python API sections from all backend SKILL.md files — agents should use culture channel CLI exclusively
|
|
137
147
|
|
|
138
|
-
|
|
139
148
|
### Fixed
|
|
140
149
|
|
|
141
150
|
- IRC skill teaches agents to use internal module path instead of culture CLI (#215)
|
|
142
151
|
|
|
143
152
|
## [6.1.0] - 2026-04-10
|
|
144
153
|
|
|
145
|
-
|
|
146
154
|
### Added
|
|
147
155
|
|
|
148
156
|
- Two-site docs architecture: agentirc.dev (runtime layer) and culture.dev (full solution)
|
|
@@ -153,7 +161,6 @@ new subsystem, new bot trigger type).
|
|
|
153
161
|
- Cross-site linking via _data/sites.yml
|
|
154
162
|
- docs-check CI workflow validating both site builds
|
|
155
163
|
|
|
156
|
-
|
|
157
164
|
### Changed
|
|
158
165
|
|
|
159
166
|
- Consolidated 23 per-backend harness docs into 4 single-page references
|
|
@@ -163,14 +170,12 @@ new subsystem, new bot trigger type).
|
|
|
163
170
|
|
|
164
171
|
## [6.0.2] - 2026-04-10
|
|
165
172
|
|
|
166
|
-
|
|
167
173
|
### Changed
|
|
168
174
|
|
|
169
175
|
- AgentIRC local docs with Jekyll pipeline copy step
|
|
170
176
|
|
|
171
177
|
## [6.0.1] - 2026-04-10
|
|
172
178
|
|
|
173
|
-
|
|
174
179
|
### Fixed
|
|
175
180
|
|
|
176
181
|
- agent create/join/delete/archive/unarchive/rename crash with manifest-format server.yaml (#208)
|
|
@@ -179,7 +184,6 @@ new subsystem, new bot trigger type).
|
|
|
179
184
|
|
|
180
185
|
## [6.0.0] - 2026-04-10
|
|
181
186
|
|
|
182
|
-
|
|
183
187
|
### Changed
|
|
184
188
|
|
|
185
189
|
- **BREAKING:** Renamed internal Python package `culture.server` to `culture.agentirc`. All imports must update from `culture.server.*` to `culture.agentirc.*`. CLI command `culture server` and config path `~/.culture/server.yaml` are unchanged.
|
|
@@ -187,7 +191,6 @@ new subsystem, new bot trigger type).
|
|
|
187
191
|
|
|
188
192
|
## [5.0.4] - 2026-04-10
|
|
189
193
|
|
|
190
|
-
|
|
191
194
|
### Fixed
|
|
192
195
|
|
|
193
196
|
- Reduce cognitive complexity of _cmd_topic in channel CLI
|
|
@@ -195,19 +198,16 @@ new subsystem, new bot trigger type).
|
|
|
195
198
|
|
|
196
199
|
## [5.0.3] - 2026-04-10
|
|
197
200
|
|
|
198
|
-
|
|
199
201
|
### Added
|
|
200
202
|
|
|
201
203
|
- New channel subcommands: join, part, ask, topic, compact, clear
|
|
202
204
|
|
|
203
|
-
|
|
204
205
|
### Changed
|
|
205
206
|
|
|
206
207
|
- Channel CLI routes through agent daemon IPC when CULTURE_NICK is set
|
|
207
208
|
- All SKILL.md files and learn prompt use culture channel CLI instead of python3 -m
|
|
208
209
|
- Mesh update readiness probe verifies PID-based server identity
|
|
209
210
|
|
|
210
|
-
|
|
211
211
|
### Fixed
|
|
212
212
|
|
|
213
213
|
- culture channel message sends as agent nick instead of temporary peek nick (#203)
|
|
@@ -215,7 +215,6 @@ new subsystem, new bot trigger type).
|
|
|
215
215
|
|
|
216
216
|
## [5.0.2] - 2026-04-09
|
|
217
217
|
|
|
218
|
-
|
|
219
218
|
### Fixed
|
|
220
219
|
|
|
221
220
|
- Handle missing credential tool (secret-tool/security/powershell) gracefully instead of crashing the server
|
|
@@ -223,14 +222,12 @@ new subsystem, new bot trigger type).
|
|
|
223
222
|
|
|
224
223
|
## [5.0.1] - 2026-04-09
|
|
225
224
|
|
|
226
|
-
|
|
227
225
|
### Added
|
|
228
226
|
|
|
229
227
|
- Topic subcommand for IRC skill (#192)
|
|
230
228
|
- @mention validation warnings for unknown nicks (#196)
|
|
231
229
|
- GitHub issues skill for Claude Code
|
|
232
230
|
|
|
233
|
-
|
|
234
231
|
### Fixed
|
|
235
232
|
|
|
236
233
|
- Whitespace-only messages now rejected (#195)
|
|
@@ -241,12 +238,10 @@ new subsystem, new bot trigger type).
|
|
|
241
238
|
|
|
242
239
|
## [5.0.0] - 2026-04-09
|
|
243
240
|
|
|
244
|
-
|
|
245
241
|
### Added
|
|
246
242
|
|
|
247
243
|
- Mesh overview shows stopped/registered agents from server.yaml manifest (#178)
|
|
248
244
|
|
|
249
|
-
|
|
250
245
|
### Changed
|
|
251
246
|
|
|
252
247
|
- CLI docs use correct noun-group syntax (culture agent create, culture channel read, etc.) (#186)
|
|
@@ -254,14 +249,12 @@ new subsystem, new bot trigger type).
|
|
|
254
249
|
- All doc references updated from agents.yaml to server.yaml (#188)
|
|
255
250
|
- Documented --mesh-config, --webhook-port, --data-dir server start flags (#189)
|
|
256
251
|
|
|
257
|
-
|
|
258
252
|
### Fixed
|
|
259
253
|
|
|
260
254
|
- Mesh overview now includes agents that are registered but not running
|
|
261
255
|
|
|
262
256
|
## [4.5.2] - 2026-04-09
|
|
263
257
|
|
|
264
|
-
|
|
265
258
|
### Fixed
|
|
266
259
|
|
|
267
260
|
- Agent status now reports the circuit-open state correctly instead of showing running (#179)
|
|
@@ -273,14 +266,12 @@ new subsystem, new bot trigger type).
|
|
|
273
266
|
|
|
274
267
|
## [4.5.1] - 2026-04-09
|
|
275
268
|
|
|
276
|
-
|
|
277
269
|
### Fixed
|
|
278
270
|
|
|
279
271
|
- Fix mesh overview crash after agent config migration (str has no attribute items)
|
|
280
272
|
|
|
281
273
|
## [4.5.0] - 2026-04-09
|
|
282
274
|
|
|
283
|
-
|
|
284
275
|
### Added
|
|
285
276
|
|
|
286
277
|
- Decentralized agent configuration with per-directory culture.yaml files
|
|
@@ -290,16 +281,13 @@ new subsystem, new bot trigger type).
|
|
|
290
281
|
- Unified culture/config.py module with AgentConfig, ServerConfig, auto-detection
|
|
291
282
|
- culture.yaml definitions for harness template and backend agents (#harness channel)
|
|
292
283
|
|
|
293
|
-
|
|
294
284
|
### Changed
|
|
295
285
|
|
|
296
286
|
- Agent config split: per-agent settings in culture.yaml, server settings in server.yaml
|
|
297
287
|
- CLI agent commands now support both server.yaml and legacy agents.yaml formats
|
|
298
288
|
|
|
299
|
-
|
|
300
289
|
## [4.4.3] - 2026-04-08
|
|
301
290
|
|
|
302
|
-
|
|
303
291
|
### Changed
|
|
304
292
|
|
|
305
293
|
- Regenerate all favicons, including `/favicon.ico` and `/assets/images/favicon.ico`, from the source image with proper cropping and optimization
|
|
@@ -308,7 +296,6 @@ new subsystem, new bot trigger type).
|
|
|
308
296
|
|
|
309
297
|
## [4.4.2] - 2026-04-08
|
|
310
298
|
|
|
311
|
-
|
|
312
299
|
### Fixed
|
|
313
300
|
|
|
314
301
|
- Codex/copilot: preserve HOME for auth tokens instead of isolating (#159)
|
|
@@ -321,7 +308,6 @@ new subsystem, new bot trigger type).
|
|
|
321
308
|
|
|
322
309
|
## [4.4.1] - 2026-04-07
|
|
323
310
|
|
|
324
|
-
|
|
325
311
|
### Fixed
|
|
326
312
|
|
|
327
313
|
- Config save operations no longer strip backend-specific fields like acp_command (#150)
|
|
@@ -334,13 +320,11 @@ new subsystem, new bot trigger type).
|
|
|
334
320
|
|
|
335
321
|
## [4.4.0] - 2026-04-07
|
|
336
322
|
|
|
337
|
-
|
|
338
323
|
### Added
|
|
339
324
|
|
|
340
325
|
- SQLite-backed persistent channel history (survives server restarts)
|
|
341
326
|
- --data-dir CLI flag for server start (default: ~/.culture/data)
|
|
342
327
|
|
|
343
|
-
|
|
344
328
|
### Fixed
|
|
345
329
|
|
|
346
330
|
- Multi-line messages truncated to first line in send_privmsg and thread methods
|
|
@@ -348,7 +332,6 @@ new subsystem, new bot trigger type).
|
|
|
348
332
|
|
|
349
333
|
## [4.3.7] - 2026-04-07
|
|
350
334
|
|
|
351
|
-
|
|
352
335
|
### Fixed
|
|
353
336
|
|
|
354
337
|
- Extract duplicate string constants (S1192, #85)
|
|
@@ -360,12 +343,10 @@ new subsystem, new bot trigger type).
|
|
|
360
343
|
|
|
361
344
|
## [4.3.6] - 2026-04-07
|
|
362
345
|
|
|
363
|
-
|
|
364
346
|
### Changed
|
|
365
347
|
|
|
366
348
|
- CLI module docstring updated with current subcommand sets (#147)
|
|
367
349
|
|
|
368
|
-
|
|
369
350
|
### Fixed
|
|
370
351
|
|
|
371
352
|
- agent message silently succeeds for nonexistent targets (#132)
|
|
@@ -385,14 +366,12 @@ new subsystem, new bot trigger type).
|
|
|
385
366
|
|
|
386
367
|
## [4.3.5] - 2026-04-07
|
|
387
368
|
|
|
388
|
-
|
|
389
369
|
### Changed
|
|
390
370
|
|
|
391
371
|
- Reduce cognitive complexity in 30+ functions across backend clients, server code, CLI submodules, and standalone files to meet SonarCloud threshold (≤15)
|
|
392
372
|
|
|
393
373
|
## [4.3.4] - 2026-04-07
|
|
394
374
|
|
|
395
|
-
|
|
396
375
|
### Changed
|
|
397
376
|
|
|
398
377
|
- Extract duplicated string literals into named constants (SonarCloud S1192)
|
|
@@ -400,54 +379,46 @@ new subsystem, new bot trigger type).
|
|
|
400
379
|
|
|
401
380
|
## [4.3.3] - 2026-04-07
|
|
402
381
|
|
|
403
|
-
|
|
404
382
|
### Changed
|
|
405
383
|
|
|
406
384
|
- Reduced cognitive complexity in 40 functions across 25 files to meet SonarCloud threshold (≤15)
|
|
407
385
|
|
|
408
386
|
## [4.3.2] - 2026-04-07
|
|
409
387
|
|
|
410
|
-
|
|
411
388
|
### Changed
|
|
412
389
|
|
|
413
390
|
- Reduced cognitive complexity in 13 functions across 6 files by extracting helpers and flattening control flow (SonarCloud S3776)
|
|
414
391
|
|
|
415
392
|
## [4.3.1] - 2026-04-07
|
|
416
393
|
|
|
417
|
-
|
|
418
394
|
### Fixed
|
|
419
395
|
|
|
420
396
|
- Remove unnecessary list() wrapping on already-iterable values (SonarCloud S7504/S7494)
|
|
421
397
|
|
|
422
398
|
## [4.3.0] - 2026-04-07
|
|
423
399
|
|
|
424
|
-
|
|
425
400
|
### Added
|
|
426
401
|
|
|
427
402
|
- agent delete command to remove agents from config entirely
|
|
428
403
|
- agent create now overwrites archived agents, enabling harness/model migration
|
|
429
404
|
|
|
430
|
-
|
|
431
405
|
### Fixed
|
|
432
406
|
|
|
433
407
|
- agent create no longer blocks when the matching nick is archived
|
|
434
408
|
|
|
435
409
|
## [4.2.1] - 2026-04-07
|
|
436
410
|
|
|
437
|
-
|
|
438
411
|
### Changed
|
|
439
412
|
|
|
440
413
|
- Update dispatch patterns to use declarative maybe_await() utility for handling both sync and async handlers
|
|
441
414
|
- Remove unnecessary async keyword from ~40 handler functions that never use await
|
|
442
415
|
|
|
443
|
-
|
|
444
416
|
### Fixed
|
|
445
417
|
|
|
446
418
|
- SonarCloud S7503: async functions that never await (issue #83)
|
|
447
419
|
|
|
448
420
|
## [4.2.0] - 2026-04-07
|
|
449
421
|
|
|
450
|
-
|
|
451
422
|
### Added
|
|
452
423
|
|
|
453
424
|
- Archive and unarchive commands for servers, agents, and bots
|
|
@@ -458,21 +429,18 @@ new subsystem, new bot trigger type).
|
|
|
458
429
|
|
|
459
430
|
## [4.1.3] - 2026-04-06
|
|
460
431
|
|
|
461
|
-
|
|
462
432
|
### Fixed
|
|
463
433
|
|
|
464
434
|
- mesh update now discovers and restarts all running servers instead of only the one in mesh.yaml
|
|
465
435
|
|
|
466
436
|
## [4.1.2] - 2026-04-06
|
|
467
437
|
|
|
468
|
-
|
|
469
438
|
### Fixed
|
|
470
439
|
|
|
471
440
|
- Clean up _mention_targets deque on prompt failure to prevent misrouted responses
|
|
472
441
|
|
|
473
442
|
## [4.1.1] - 2026-04-06
|
|
474
443
|
|
|
475
|
-
|
|
476
444
|
### Fixed
|
|
477
445
|
|
|
478
446
|
- Fix ACP/Codex/Copilot poll loop to use fire-and-forget (race condition fix)
|
|
@@ -481,7 +449,6 @@ new subsystem, new bot trigger type).
|
|
|
481
449
|
|
|
482
450
|
## [4.1.0] - 2026-04-06
|
|
483
451
|
|
|
484
|
-
|
|
485
452
|
### Added
|
|
486
453
|
|
|
487
454
|
- Channel polling: agents periodically check channels for unread messages (configurable via poll_interval, default 5 minutes)
|
|
@@ -489,13 +456,11 @@ new subsystem, new bot trigger type).
|
|
|
489
456
|
|
|
490
457
|
## [4.0.0] - 2026-04-06
|
|
491
458
|
|
|
492
|
-
|
|
493
459
|
### Added
|
|
494
460
|
|
|
495
461
|
- culture agent message and culture agent read for DM operations
|
|
496
462
|
- culture channel message and culture channel who for channel operations
|
|
497
463
|
|
|
498
|
-
|
|
499
464
|
### Changed
|
|
500
465
|
|
|
501
466
|
- Reorganized CLI into noun-first command groups: agent, server, mesh, channel, bot, skills
|
|
@@ -504,21 +469,18 @@ new subsystem, new bot trigger type).
|
|
|
504
469
|
|
|
505
470
|
## [3.1.2] - 2026-04-06
|
|
506
471
|
|
|
507
|
-
|
|
508
472
|
### Fixed
|
|
509
473
|
|
|
510
474
|
- culture update used wrong package name (culture-cli) for uv tool upgrade
|
|
511
475
|
|
|
512
476
|
## [3.1.1] - 2026-04-06
|
|
513
477
|
|
|
514
|
-
|
|
515
478
|
### Fixed
|
|
516
479
|
|
|
517
480
|
- culture update and setup auto-generate mesh.yaml from agents.yaml when mesh.yaml is missing
|
|
518
481
|
|
|
519
482
|
## [3.1.0] - 2026-04-06
|
|
520
483
|
|
|
521
|
-
|
|
522
484
|
### Added
|
|
523
485
|
|
|
524
486
|
- culture server rename — rename server and all its agent nick prefixes
|
|
@@ -527,7 +489,6 @@ new subsystem, new bot trigger type).
|
|
|
527
489
|
|
|
528
490
|
## [3.0.2] - 2026-04-06
|
|
529
491
|
|
|
530
|
-
|
|
531
492
|
### Fixed
|
|
532
493
|
|
|
533
494
|
- Server startup readiness — culture server start now waits for port to accept connections before returning
|
|
@@ -535,14 +496,12 @@ new subsystem, new bot trigger type).
|
|
|
535
496
|
|
|
536
497
|
## [3.0.1] - 2026-04-06
|
|
537
498
|
|
|
538
|
-
|
|
539
499
|
### Fixed
|
|
540
500
|
|
|
541
501
|
- Fix empty error message when running `culture overview` against a starting or unreachable server
|
|
542
502
|
|
|
543
503
|
## [3.0.0] - 2026-04-06
|
|
544
504
|
|
|
545
|
-
|
|
546
505
|
### Added
|
|
547
506
|
|
|
548
507
|
- Console chat TUI for human participation in the IRC mesh (culture console)
|
|
@@ -555,14 +514,12 @@ new subsystem, new bot trigger type).
|
|
|
555
514
|
|
|
556
515
|
## [2.0.1] - 2026-04-05
|
|
557
516
|
|
|
558
|
-
|
|
559
517
|
### Added
|
|
560
518
|
|
|
561
519
|
- what-is-culture.md — project philosophy page
|
|
562
520
|
- culture-cli.md — conceptual CLI guide
|
|
563
521
|
- Architecture and Operations index pages for docs navigation
|
|
564
522
|
|
|
565
|
-
|
|
566
523
|
### Changed
|
|
567
524
|
|
|
568
525
|
- Reorganize docs/ — architecture files to docs/architecture/, operations files to docs/operations/
|
|
@@ -571,25 +528,20 @@ new subsystem, new bot trigger type).
|
|
|
571
528
|
|
|
572
529
|
## [2.0.0] - 2026-04-05
|
|
573
530
|
|
|
574
|
-
|
|
575
531
|
### Added
|
|
576
532
|
|
|
577
|
-
|
|
578
533
|
### Changed
|
|
579
534
|
|
|
580
|
-
|
|
581
535
|
### Fixed
|
|
582
536
|
|
|
583
537
|
## [1.1.0] - 2026-04-05
|
|
584
538
|
|
|
585
|
-
|
|
586
539
|
### Added
|
|
587
540
|
|
|
588
541
|
- culture create command (replaces init for agent creation)
|
|
589
542
|
- culture join command (create + start in one step)
|
|
590
543
|
- Promote phase documented as upcoming feature
|
|
591
544
|
|
|
592
|
-
|
|
593
545
|
### Changed
|
|
594
546
|
|
|
595
547
|
- Agent lifecycle reframed: Introduce → Educate → Join → Mentor → Promote
|
|
@@ -601,7 +553,6 @@ new subsystem, new bot trigger type).
|
|
|
601
553
|
|
|
602
554
|
## [1.0.7] - 2026-04-05
|
|
603
555
|
|
|
604
|
-
|
|
605
556
|
### Fixed
|
|
606
557
|
|
|
607
558
|
- Validate PID ownership via /proc/<pid>/cmdline before os.kill() to prevent signaling unrelated processes after PID reuse (SonarCloud S4828)
|
|
@@ -609,44 +560,39 @@ new subsystem, new bot trigger type).
|
|
|
609
560
|
|
|
610
561
|
## [1.0.6] - 2026-04-05
|
|
611
562
|
|
|
612
|
-
|
|
613
563
|
### Added
|
|
614
564
|
|
|
615
565
|
- Project-local run-tests skill for portable pytest execution
|
|
616
566
|
|
|
617
567
|
## [1.0.5] - 2026-04-05
|
|
618
568
|
|
|
619
|
-
|
|
620
569
|
### Changed
|
|
621
570
|
|
|
622
|
-
- Extract helper methods from socket_server
|
|
623
|
-
- Convert irc_transport
|
|
624
|
-
- Extract _auto_approve and _flush_accumulated_text in codex/acp agent_runner
|
|
625
|
-
- Extract _handle_session_update and _extract_response_text in acp/copilot agent_runner
|
|
626
|
-
- Decompose _handle_roommeta into query/update methods in rooms.py
|
|
627
|
-
- Extract _merge_room_metadata in server_link.py
|
|
628
|
-
- Extract _attempt_single_reconnect in ircd.py
|
|
629
|
-
- Extract _create_agent_config and
|
|
571
|
+
- Extract helper methods from `socket_server._handle_client` (all backends)
|
|
572
|
+
- Convert `irc_transport._handle` to dispatch table (all backends)
|
|
573
|
+
- Extract `_auto_approve` and `_flush_accumulated_text` in codex/acp `agent_runner`
|
|
574
|
+
- Extract `_handle_session_update` and `_extract_response_text` in acp/copilot `agent_runner`
|
|
575
|
+
- Decompose `_handle_roommeta` into query/update methods in `rooms.py`
|
|
576
|
+
- Extract `_merge_room_metadata` in `server_link.py`
|
|
577
|
+
- Extract `_attempt_single_reconnect` in `ircd.py`
|
|
578
|
+
- Extract `_create_agent_config`, `_try_ipc_shutdown`, and `_try_pid_shutdown` in `cli.py`
|
|
630
579
|
- Update packages/agent-harness templates to match backend features
|
|
631
580
|
- Add socket_server and irc_transport to sonar CPD exclusions
|
|
632
581
|
|
|
633
582
|
## [1.0.4] - 2026-04-05
|
|
634
583
|
|
|
635
|
-
|
|
636
584
|
### Changed
|
|
637
585
|
|
|
638
586
|
- Reduced cognitive complexity of 76 high-complexity functions across daemon.py (5 files), server_link.py, threads.py, cli.py, and ircd.py by replacing if/elif chains with dispatch tables and extracting named logic units
|
|
639
587
|
|
|
640
588
|
## [1.0.3] - 2026-04-05
|
|
641
589
|
|
|
642
|
-
|
|
643
590
|
### Changed
|
|
644
591
|
|
|
645
592
|
- Parallelize test suite with pytest-xdist for ~15x speedup (10min → 40s)
|
|
646
593
|
|
|
647
594
|
## [1.0.2] - 2026-04-05
|
|
648
595
|
|
|
649
|
-
|
|
650
596
|
### Fixed
|
|
651
597
|
|
|
652
598
|
- Re-raise asyncio.CancelledError after cleanup to fix cancellation propagation (SonarCloud S7497)
|
|
@@ -654,24 +600,18 @@ new subsystem, new bot trigger type).
|
|
|
654
600
|
|
|
655
601
|
## [1.0.1] - 2026-04-05
|
|
656
602
|
|
|
657
|
-
|
|
658
603
|
### Fixed
|
|
659
604
|
|
|
660
605
|
- Remove agentirc legacy alias from production PyPI publish pipeline
|
|
661
606
|
|
|
662
607
|
## [1.0.0] - 2026-04-05
|
|
663
608
|
|
|
664
|
-
|
|
665
609
|
### Changed
|
|
666
610
|
|
|
667
611
|
- **BREAKING:** Renamed package from agentirc-cli to culture. CLI command is now culture. Config directory is now ~/.culture/. Environment variable AGENTIRC_NICK is now CULTURE_NICK. agentirc-cli and agentirc remain as PyPI aliases.
|
|
668
612
|
|
|
669
613
|
## [0.21.0] - 2026-04-04
|
|
670
614
|
|
|
671
|
-
### Changed
|
|
672
|
-
|
|
673
|
-
- **BREAKING:** Renamed package from `agentirc-cli` to `culture`. `agentirc-cli` and `agentirc` remain as PyPI aliases. CLI command is now `culture`. Config directory is now `~/.culture/`. Environment variable `AGENTIRC_NICK` is now `CULTURE_NICK`.
|
|
674
|
-
|
|
675
615
|
### Added
|
|
676
616
|
|
|
677
617
|
- Bots framework — server-managed virtual IRC users triggered by external events
|
|
@@ -684,6 +624,7 @@ new subsystem, new bot trigger type).
|
|
|
684
624
|
|
|
685
625
|
### Changed
|
|
686
626
|
|
|
627
|
+
- **BREAKING:** Renamed package from `agentirc-cli` to `culture`. `agentirc-cli` and `agentirc` remain as PyPI aliases. CLI command is now `culture`. Config directory is now `~/.culture/`. Environment variable `AGENTIRC_NICK` is now `CULTURE_NICK`.
|
|
687
628
|
- Server now starts a companion HTTP listener for bot webhooks
|
|
688
629
|
- Overview collector and renderer include bot information
|
|
689
630
|
- Channel._local_members() excludes VirtualClient from auto-operator promotion
|
|
@@ -71,7 +71,7 @@ Before the first push on a branch that adds public API surface (new exceptions,
|
|
|
71
71
|
|
|
72
72
|
## Format Before Commit
|
|
73
73
|
|
|
74
|
-
Pre-commit runs `black`, `isort`, `flake8`, `pylint`, `bandit`. `black`/`isort` failures reformat the file and reject the commit — you then have to `git add` the reformatted file and commit again. To avoid the re-commit loop, run `uv run black <files>` and `uv run isort <files>` on staged Python files **before** `git commit`.
|
|
74
|
+
Pre-commit runs `black`, `isort`, `flake8`, `pylint`, `bandit`, `markdownlint-cli2`. `black`/`isort` failures reformat the file and reject the commit — you then have to `git add` the reformatted file and commit again. To avoid the re-commit loop, run `uv run black <files>` and `uv run isort <files>` on staged Python files **before** `git commit`. Markdown rules live in `.markdownlint-cli2.yaml` (tuned for Keep-a-Changelog via MD024 `siblings_only` and Jekyll pages via MD025/MD033/MD041 off).
|
|
75
75
|
|
|
76
76
|
## Nick Format
|
|
77
77
|
|