agentirc-cli 0.21.0__tar.gz → 1.0.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-0.21.0 → agentirc_cli-1.0.1}/.claude/skills/pr-review/SKILL.md +3 -3
- agentirc_cli-1.0.1/.flake8 +37 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/.github/workflows/publish.yml +27 -8
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/.github/workflows/security-checks.yml +3 -3
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/.github/workflows/tests.yml +1 -1
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/.pre-commit-config.yaml +1 -1
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/.pylintrc +10 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/CHANGELOG.md +17 -45
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/CLAUDE.md +4 -3
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/PKG-INFO +22 -22
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/README.md +19 -19
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/_config.yml +5 -5
- agentirc_cli-1.0.1/culture/__init__.py +10 -0
- agentirc_cli-1.0.1/culture/__main__.py +6 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/bots/bot.py +5 -5
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/bots/bot_manager.py +4 -4
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/bots/config.py +1 -1
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/bots/http_listener.py +1 -1
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/bots/virtual_client.py +6 -6
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/cli.py +135 -138
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/acp/agent_runner.py +21 -16
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/acp/config.py +18 -9
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/acp/daemon.py +116 -90
- {agentirc_cli-0.21.0/agentirc/clients/claude → agentirc_cli-1.0.1/culture/clients/acp}/ipc.py +4 -1
- {agentirc_cli-0.21.0/agentirc/clients/claude → agentirc_cli-1.0.1/culture/clients/acp}/irc_transport.py +14 -7
- {agentirc_cli-0.21.0/agentirc/clients/codex → agentirc_cli-1.0.1/culture/clients/acp}/message_buffer.py +3 -5
- agentirc_cli-1.0.1/culture/clients/acp/skill/SKILL.md +69 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/acp/skill/irc_client.py +15 -18
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/acp/socket_server.py +5 -3
- {agentirc_cli-0.21.0/agentirc/clients/claude → agentirc_cli-1.0.1/culture/clients/acp}/supervisor.py +12 -7
- {agentirc_cli-0.21.0/agentirc/clients/codex → agentirc_cli-1.0.1/culture/clients/acp}/webhook.py +11 -6
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/claude/__main__.py +9 -9
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/claude/agent_runner.py +6 -8
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/claude/config.py +18 -9
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/claude/daemon.py +108 -85
- {agentirc_cli-0.21.0/agentirc/clients/codex → agentirc_cli-1.0.1/culture/clients/claude}/ipc.py +4 -1
- {agentirc_cli-0.21.0/agentirc/clients/codex → agentirc_cli-1.0.1/culture/clients/claude}/irc_transport.py +14 -7
- {agentirc_cli-0.21.0/agentirc/clients/copilot → agentirc_cli-1.0.1/culture/clients/claude}/message_buffer.py +3 -5
- {agentirc_cli-0.21.0/plugins/claude-code/skills/irc → agentirc_cli-1.0.1/culture/clients/claude/skill}/SKILL.md +18 -18
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/claude/skill/irc_client.py +14 -17
- {agentirc_cli-0.21.0/agentirc/clients/codex → agentirc_cli-1.0.1/culture/clients/claude}/socket_server.py +5 -3
- {agentirc_cli-0.21.0/agentirc/clients/acp → agentirc_cli-1.0.1/culture/clients/claude}/supervisor.py +12 -7
- {agentirc_cli-0.21.0/agentirc/clients/acp → agentirc_cli-1.0.1/culture/clients/claude}/webhook.py +11 -6
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/codex/agent_runner.py +27 -19
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/codex/config.py +18 -9
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/codex/daemon.py +110 -90
- {agentirc_cli-0.21.0/agentirc/clients/copilot → agentirc_cli-1.0.1/culture/clients/codex}/ipc.py +4 -1
- {agentirc_cli-0.21.0/agentirc/clients/copilot → agentirc_cli-1.0.1/culture/clients/codex}/irc_transport.py +14 -7
- {agentirc_cli-0.21.0/agentirc/clients/claude → agentirc_cli-1.0.1/culture/clients/codex}/message_buffer.py +3 -5
- agentirc_cli-1.0.1/culture/clients/codex/skill/SKILL.md +69 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/codex/skill/irc_client.py +15 -18
- {agentirc_cli-0.21.0/agentirc/clients/copilot → agentirc_cli-1.0.1/culture/clients/codex}/socket_server.py +5 -3
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/codex/supervisor.py +9 -7
- {agentirc_cli-0.21.0/agentirc/clients/claude → agentirc_cli-1.0.1/culture/clients/codex}/webhook.py +11 -6
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/copilot/agent_runner.py +5 -6
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/copilot/config.py +18 -9
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/copilot/daemon.py +111 -91
- agentirc_cli-1.0.1/culture/clients/copilot/ipc.py +41 -0
- {agentirc_cli-0.21.0/agentirc/clients/acp → agentirc_cli-1.0.1/culture/clients/copilot}/irc_transport.py +14 -7
- agentirc_cli-1.0.1/culture/clients/copilot/message_buffer.py +63 -0
- agentirc_cli-1.0.1/culture/clients/copilot/skill/SKILL.md +69 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/copilot/skill/irc_client.py +15 -18
- {agentirc_cli-0.21.0/agentirc/clients/claude → agentirc_cli-1.0.1/culture/clients/copilot}/socket_server.py +5 -3
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/copilot/supervisor.py +4 -6
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/copilot/webhook.py +11 -6
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/credentials.py +64 -34
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/learn_prompt.py +35 -31
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/mesh_config.py +4 -4
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/observer.py +6 -3
- agentirc_cli-1.0.1/culture/overview/__init__.py +1 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/overview/collector.py +8 -8
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/overview/renderer_web.py +26 -14
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/persistence.py +30 -21
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/pidfile.py +2 -2
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/protocol/extensions/history.md +7 -7
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/protocol/extensions/threads.md +10 -10
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/server/__main__.py +6 -8
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/server/channel.py +5 -5
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/server/client.py +56 -128
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/server/config.py +2 -2
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/server/ircd.py +20 -20
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/server/remote_client.py +3 -3
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/server/room_store.py +3 -2
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/server/rooms_util.py +2 -1
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/server/server_link.py +58 -77
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/server/skill.py +3 -3
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/server/skills/history.py +5 -7
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/server/skills/rooms.py +275 -192
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/server/skills/threads.py +198 -148
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/server/thread_store.py +2 -0
- {agentirc_cli-0.21.0/agentirc/skills/agentirc → agentirc_cli-1.0.1/culture/skills/culture}/SKILL.md +58 -58
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/SECURITY.md +7 -7
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/agent-harness-spec.md +10 -10
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/agentic-self-learn.md +17 -17
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/bots.md +13 -13
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/cli.md +77 -77
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/clients/acp/overview.md +7 -7
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/clients/claude/configuration.md +15 -15
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/clients/claude/irc-tools.md +18 -18
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/clients/claude/overview.md +1 -1
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/clients/claude/setup.md +23 -23
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/clients/claude/supervisor.md +4 -4
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/clients/claude/webhooks.md +6 -6
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/clients/codex/configuration.md +12 -12
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/clients/codex/irc-tools.md +18 -18
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/clients/codex/overview.md +1 -1
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/clients/codex/setup.md +18 -18
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/clients/copilot/configuration.md +13 -13
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/clients/copilot/irc-tools.md +21 -21
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/clients/copilot/overview.md +1 -1
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/clients/copilot/setup.md +21 -21
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/clients/copilot/supervisor.md +1 -1
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/design.md +1 -1
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/docs-site.md +2 -2
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/getting-started.md +43 -43
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/grow-your-agent.md +17 -17
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/harness-conformance.md +2 -2
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/layer1-core-irc.md +3 -3
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/layer2-attention.md +5 -5
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/layer4-federation.md +7 -7
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/layer5-agent-harness.md +4 -4
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/ops-tooling.md +45 -45
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/overview.md +9 -9
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/publishing.md +6 -6
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/resources/github-copilot-sdk-instructions.md +24 -20
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/rooms.md +2 -2
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/server-architecture.md +1 -1
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/superpowers/plans/2026-03-19-layer1-core-irc.md +53 -52
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/superpowers/plans/2026-03-21-layer5-agent-harness.md +87 -87
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/superpowers/plans/2026-03-30-overview.md +87 -78
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/superpowers/plans/2026-03-30-rooms-management.md +149 -109
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/superpowers/plans/2026-04-02-conversation-threads.md +91 -91
- agentirc_cli-1.0.1/docs/superpowers/plans/2026-04-02-ops-tooling.md +1763 -0
- agentirc_cli-1.0.1/docs/superpowers/plans/2026-04-04-culture-rename.md +801 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/superpowers/specs/2026-03-19-agentirc-design.md +13 -13
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/superpowers/specs/2026-03-21-layer5-agent-harness-design.md +13 -13
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/superpowers/specs/2026-03-30-overview-design.md +23 -23
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/superpowers/specs/2026-03-30-rooms-management-design.md +11 -11
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/superpowers/specs/2026-04-02-conversation-threads-design.md +11 -11
- agentirc_cli-1.0.1/docs/superpowers/specs/2026-04-02-ops-tooling-design.md +373 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/superpowers/specs/2026-04-03-bots-webhooks-design.md +37 -37
- agentirc_cli-1.0.1/docs/superpowers/specs/2026-04-04-culture-rename-design.md +177 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/use-cases/01-pair-programming.md +24 -24
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/use-cases/03-cross-server-delegation.md +13 -13
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/use-cases/04-knowledge-propagation.md +13 -13
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/use-cases/05-the-observer.md +16 -16
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/use-cases/08-apps-as-agents.md +10 -10
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/use-cases/10-grow-your-agent.md +10 -10
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/use-cases-index.md +1 -1
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/index.md +9 -9
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/packages/agent-harness/README.md +2 -2
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/packages/agent-harness/config.py +18 -9
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/packages/agent-harness/daemon.py +75 -50
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/packages/agent-harness/irc_transport.py +12 -5
- agentirc_cli-1.0.1/packages/agent-harness/skill/SKILL.md +50 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/packages/agent-harness/skill/irc_client.py +15 -18
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/packages/agent-harness/socket_server.py +5 -3
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/packages/agent-harness/webhook.py +11 -6
- agentirc_cli-1.0.1/plugins/claude-code/skills/culture/SKILL.md +288 -0
- {agentirc_cli-0.21.0/agentirc/clients/claude/skill → agentirc_cli-1.0.1/plugins/claude-code/skills/irc}/SKILL.md +18 -18
- agentirc_cli-1.0.1/plugins/codex/skills/culture-irc/SKILL.md +69 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/pyproject.toml +15 -15
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/sonar-project.properties +4 -4
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/conftest.py +9 -9
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_acp_daemon.py +27 -13
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_agent_runner.py +38 -20
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_bot.py +2 -2
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_bot_config.py +1 -1
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_bot_manager.py +15 -15
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_bots_integration.py +10 -10
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_channel.py +5 -5
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_codex_daemon.py +11 -6
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_copilot_daemon.py +21 -12
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_daemon.py +14 -8
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_daemon_config.py +50 -38
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_daemon_ipc.py +3 -5
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_federation.py +47 -27
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_history.py +1 -3
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_http_listener.py +6 -6
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_integration_layer5.py +12 -8
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_ipc.py +4 -5
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_irc_transport.py +47 -17
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_link_reconnect.py +2 -2
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_mesh_config.py +15 -6
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_message.py +8 -8
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_message_buffer.py +4 -3
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_overview_cli.py +8 -4
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_overview_collector.py +4 -3
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_overview_model.py +25 -11
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_overview_renderer.py +57 -22
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_overview_web.py +26 -12
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_persistence.py +32 -30
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_room_persistence.py +6 -8
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_rooms.py +17 -20
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_setup_update_cli.py +5 -3
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_skill_client.py +14 -5
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_skills.py +2 -2
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_socket_server.py +9 -3
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_supervisor.py +75 -39
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_template_engine.py +3 -3
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_thread_buffer.py +1 -2
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_threads.py +5 -4
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_virtual_client.py +2 -2
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_webhook.py +22 -12
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/uv.lock +62 -62
- agentirc_cli-0.21.0/.flake8 +0 -19
- agentirc_cli-0.21.0/agentirc/__init__.py +0 -3
- agentirc_cli-0.21.0/agentirc/__main__.py +0 -5
- agentirc_cli-0.21.0/agentirc/clients/acp/skill/SKILL.md +0 -69
- agentirc_cli-0.21.0/agentirc/clients/codex/skill/SKILL.md +0 -69
- agentirc_cli-0.21.0/agentirc/clients/copilot/skill/SKILL.md +0 -69
- agentirc_cli-0.21.0/agentirc/overview/__init__.py +0 -1
- agentirc_cli-0.21.0/packages/agent-harness/ipc.py +0 -38
- agentirc_cli-0.21.0/packages/agent-harness/message_buffer.py +0 -65
- agentirc_cli-0.21.0/packages/agent-harness/skill/SKILL.md +0 -50
- agentirc_cli-0.21.0/plugins/claude-code/skills/agentirc/SKILL.md +0 -218
- agentirc_cli-0.21.0/plugins/codex/skills/agentirc-irc/SKILL.md +0 -69
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/.github/workflows/pages.yml +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/.gitignore +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/.markdownlint-cli2.yaml +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/.pr_agent.toml +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/CNAME +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/Gemfile +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/Gemfile.lock +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/LICENSE +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/SECURITY.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/_sass/color_schemes/anthropic.scss +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/_sass/custom/custom.scss +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/bots/__init__.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/bots/template_engine.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/__init__.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/acp/__init__.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/acp/skill/__init__.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/claude/__init__.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/claude/skill/__init__.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/codex/__init__.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/codex/skill/__init__.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/copilot/__init__.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/clients/copilot/skill/__init__.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/overview/model.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/overview/renderer_text.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/overview/web/style.css +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/protocol/__init__.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/protocol/commands.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/protocol/extensions/federation.md +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/protocol/extensions/rooms.md +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/protocol/extensions/tags.md +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/protocol/message.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/protocol/protocol-index.md +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/protocol/replies.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/server/__init__.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.1/culture}/server/skills/__init__.py +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/agent-client.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/ci.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/clients/claude/context-management.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/clients/codex/context-management.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/clients/codex/supervisor.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/clients/codex/webhooks.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/clients/copilot/context-management.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/clients/copilot/webhooks.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/codex-backend.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/copilot-backend.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/layer3-skills.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/threads.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/use-cases/02-code-review-ensemble.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/use-cases/06-cross-server-ops.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/use-cases/07-supervisor-intervention.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/docs/use-cases/09-research-swarm.md +0 -0
- {agentirc_cli-0.21.0/agentirc/clients/acp → agentirc_cli-1.0.1/packages/agent-harness}/ipc.py +0 -0
- {agentirc_cli-0.21.0/agentirc/clients/acp → agentirc_cli-1.0.1/packages/agent-harness}/message_buffer.py +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/plugins/claude-code/.claude-plugin/plugin.json +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/__init__.py +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_connection.py +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_discovery.py +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_mentions.py +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_messaging.py +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_modes.py +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_rooms_federation.py +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.1}/tests/test_rooms_integration.py +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pr-review
|
|
3
3
|
description: >
|
|
4
|
-
Full PR workflow for
|
|
4
|
+
Full PR workflow for culture: branch, commit, push, create PR, wait for
|
|
5
5
|
automated reviewers, fetch comments, fix or pushback, reply, resolve threads.
|
|
6
6
|
Use when: creating PRs, handling review feedback, or the user says
|
|
7
7
|
"create PR", "review comments", "address feedback", or "resolve threads".
|
|
@@ -9,7 +9,7 @@ description: >
|
|
|
9
9
|
|
|
10
10
|
# PR Review Workflow
|
|
11
11
|
|
|
12
|
-
Complete pull request lifecycle for the
|
|
12
|
+
Complete pull request lifecycle for the culture project. Follow every step
|
|
13
13
|
in order.
|
|
14
14
|
|
|
15
15
|
## Step 1 — Branch
|
|
@@ -179,7 +179,7 @@ Report completion back to the IRC channel:
|
|
|
179
179
|
|
|
180
180
|
```bash
|
|
181
181
|
# Using the IRC skill
|
|
182
|
-
|
|
182
|
+
CULTURE_NICK=<your-nick> python3 -m culture.clients.claude.skill.irc_client \
|
|
183
183
|
send "#general" "PR #<N> — all review threads addressed and resolved. Ready for merge."
|
|
184
184
|
```
|
|
185
185
|
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
[flake8]
|
|
2
|
+
max-line-length = 100
|
|
3
|
+
exclude =
|
|
4
|
+
.git,
|
|
5
|
+
__pycache__,
|
|
6
|
+
.venv,
|
|
7
|
+
dist,
|
|
8
|
+
build,
|
|
9
|
+
.eggs,
|
|
10
|
+
packages
|
|
11
|
+
extend-ignore =
|
|
12
|
+
E203,
|
|
13
|
+
E303,
|
|
14
|
+
E501,
|
|
15
|
+
E741,
|
|
16
|
+
W503,
|
|
17
|
+
B007,
|
|
18
|
+
B014,
|
|
19
|
+
F401,
|
|
20
|
+
F541,
|
|
21
|
+
F811,
|
|
22
|
+
F841,
|
|
23
|
+
S101,
|
|
24
|
+
S104,
|
|
25
|
+
S105,
|
|
26
|
+
S108,
|
|
27
|
+
S110,
|
|
28
|
+
S112,
|
|
29
|
+
S310,
|
|
30
|
+
S404,
|
|
31
|
+
S406,
|
|
32
|
+
S603,
|
|
33
|
+
S606,
|
|
34
|
+
S607
|
|
35
|
+
per-file-ignores =
|
|
36
|
+
culture/protocol/commands.py:S105
|
|
37
|
+
tests/*:S101,S105,S106
|
|
@@ -5,12 +5,12 @@ on:
|
|
|
5
5
|
branches: [main]
|
|
6
6
|
paths:
|
|
7
7
|
- "pyproject.toml"
|
|
8
|
-
- "
|
|
8
|
+
- "culture/**"
|
|
9
9
|
pull_request:
|
|
10
10
|
branches: [main]
|
|
11
11
|
paths:
|
|
12
12
|
- "pyproject.toml"
|
|
13
|
-
- "
|
|
13
|
+
- "culture/**"
|
|
14
14
|
|
|
15
15
|
permissions:
|
|
16
16
|
contents: read
|
|
@@ -54,22 +54,32 @@ jobs:
|
|
|
54
54
|
echo "DEV_VERSION=${DEV_VERSION}" >> "$GITHUB_ENV"
|
|
55
55
|
echo "Publishing ${DEV_VERSION} to TestPyPI"
|
|
56
56
|
|
|
57
|
-
- name: Build and publish
|
|
57
|
+
- name: Build and publish culture to TestPyPI
|
|
58
58
|
run: |
|
|
59
59
|
uv build
|
|
60
60
|
uv publish --publish-url https://test.pypi.org/legacy/ --trusted-publishing always --check-url https://test.pypi.org/simple/
|
|
61
61
|
|
|
62
|
-
- name: Build and publish agentirc to TestPyPI
|
|
62
|
+
- name: Build and publish agentirc-cli alias to TestPyPI
|
|
63
|
+
run: |
|
|
64
|
+
sed -i 's/^name = "culture"/name = "agentirc-cli"/' pyproject.toml
|
|
65
|
+
sed -i 's/^description = .*/description = "Legacy alias for culture — install culture instead"/' pyproject.toml
|
|
66
|
+
rm -rf dist
|
|
67
|
+
uv build
|
|
68
|
+
uv publish --publish-url https://test.pypi.org/legacy/ --trusted-publishing always --check-url https://test.pypi.org/simple/
|
|
69
|
+
|
|
70
|
+
- name: Build and publish agentirc alias to TestPyPI
|
|
63
71
|
run: |
|
|
64
72
|
sed -i 's/^name = "agentirc-cli"/name = "agentirc"/' pyproject.toml
|
|
73
|
+
sed -i 's/^name = "culture"/name = "agentirc"/' pyproject.toml
|
|
65
74
|
rm -rf dist
|
|
66
75
|
uv build
|
|
67
76
|
uv publish --publish-url https://test.pypi.org/legacy/ --trusted-publishing always --check-url https://test.pypi.org/simple/
|
|
68
77
|
|
|
69
78
|
- name: Print install commands
|
|
79
|
+
if: always()
|
|
70
80
|
run: |
|
|
71
|
-
echo "::notice::Test with: pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/
|
|
72
|
-
echo "::
|
|
81
|
+
echo "::notice::Test with: pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ culture==${DEV_VERSION}"
|
|
82
|
+
echo "::warning::agentirc on TestPyPI is not intended for production use — install culture instead"
|
|
73
83
|
|
|
74
84
|
publish:
|
|
75
85
|
if: github.event_name == 'push'
|
|
@@ -88,6 +98,15 @@ jobs:
|
|
|
88
98
|
|
|
89
99
|
- run: uv sync
|
|
90
100
|
|
|
91
|
-
-
|
|
101
|
+
- name: Build and publish culture to PyPI
|
|
102
|
+
run: |
|
|
103
|
+
uv build
|
|
104
|
+
uv publish --trusted-publishing always --check-url https://pypi.org/simple/
|
|
92
105
|
|
|
93
|
-
-
|
|
106
|
+
- name: Build and publish agentirc-cli alias to PyPI
|
|
107
|
+
run: |
|
|
108
|
+
sed -i 's/^name = "culture"/name = "agentirc-cli"/' pyproject.toml
|
|
109
|
+
sed -i 's/^description = .*/description = "Legacy alias for culture — install culture instead"/' pyproject.toml
|
|
110
|
+
rm -rf dist
|
|
111
|
+
uv build
|
|
112
|
+
uv publish --trusted-publishing always --check-url https://pypi.org/simple/
|
|
@@ -26,11 +26,11 @@ jobs:
|
|
|
26
26
|
- run: uv sync
|
|
27
27
|
|
|
28
28
|
- name: Run Bandit
|
|
29
|
-
run: uv run bandit -r
|
|
29
|
+
run: uv run bandit -r culture/ -f json -o bandit-results.json -c pyproject.toml
|
|
30
30
|
continue-on-error: true
|
|
31
31
|
|
|
32
32
|
- name: Run Pylint
|
|
33
|
-
run: uv run pylint
|
|
33
|
+
run: uv run pylint culture/ --rcfile=.pylintrc --output-format=json:pylint-results.json,text
|
|
34
34
|
continue-on-error: true
|
|
35
35
|
|
|
36
36
|
- name: Run Safety dependency check
|
|
@@ -48,7 +48,7 @@ jobs:
|
|
|
48
48
|
|
|
49
49
|
- name: Run test coverage
|
|
50
50
|
run: |
|
|
51
|
-
uv run pytest --cov=
|
|
51
|
+
uv run pytest --cov=culture --cov-report=xml:coverage.xml --cov-report=term -v
|
|
52
52
|
continue-on-error: true
|
|
53
53
|
|
|
54
54
|
dependency-review:
|
|
@@ -40,7 +40,7 @@ jobs:
|
|
|
40
40
|
- name: Check if code changed
|
|
41
41
|
id: changes
|
|
42
42
|
run: |
|
|
43
|
-
CODE_CHANGED=$(git diff --name-only origin/main...HEAD -- '
|
|
43
|
+
CODE_CHANGED=$(git diff --name-only origin/main...HEAD -- 'culture/' 'pyproject.toml' 'tests/' | head -1)
|
|
44
44
|
if [ -z "$CODE_CHANGED" ]; then
|
|
45
45
|
echo "skip=true" >> "$GITHUB_OUTPUT"
|
|
46
46
|
echo "Only docs/config changed — skipping version check"
|
|
@@ -2,18 +2,28 @@
|
|
|
2
2
|
ignore=CVS
|
|
3
3
|
persistent=yes
|
|
4
4
|
load-plugins=
|
|
5
|
+
fail-under=9
|
|
5
6
|
|
|
6
7
|
[MESSAGES CONTROL]
|
|
7
8
|
disable=
|
|
9
|
+
C0103, # invalid-name (short vars in tests/loops)
|
|
8
10
|
C0114, # missing-module-docstring
|
|
9
11
|
C0115, # missing-class-docstring
|
|
10
12
|
C0116, # missing-function-docstring
|
|
11
13
|
C0301, # line-too-long (handled by black)
|
|
12
14
|
C0303, # trailing-whitespace
|
|
15
|
+
C0415, # import-outside-toplevel (lazy imports for circular deps)
|
|
16
|
+
C1803, # use-implicit-booleaness-not-comparison
|
|
13
17
|
R0801, # duplicate-code (assimilai pattern: backends share identical files)
|
|
14
18
|
R0903, # too-few-public-methods
|
|
19
|
+
R0912, # too-many-branches
|
|
15
20
|
R0913, # too-many-arguments
|
|
21
|
+
R0915, # too-many-statements
|
|
22
|
+
W0212, # protected-access (tests access internals)
|
|
16
23
|
W0511, # fixme
|
|
24
|
+
W0612, # unused-variable
|
|
25
|
+
W0613, # unused-argument (pytest fixtures)
|
|
26
|
+
W0621, # redefined-outer-name (pytest fixtures)
|
|
17
27
|
W0718, # broad-exception-caught (async server/daemon must catch broadly)
|
|
18
28
|
W0719, # broad-exception-raised
|
|
19
29
|
W1202, # logging-format-interpolation
|
|
@@ -4,8 +4,25 @@ 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
|
+
## [1.0.1] - 2026-04-05
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- Remove agentirc legacy alias from production PyPI publish pipeline
|
|
13
|
+
|
|
14
|
+
## [1.0.0] - 2026-04-05
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- **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.
|
|
20
|
+
|
|
7
21
|
## [0.21.0] - 2026-04-04
|
|
8
22
|
|
|
23
|
+
### Changed
|
|
24
|
+
|
|
25
|
+
- **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`.
|
|
9
26
|
|
|
10
27
|
### Added
|
|
11
28
|
|
|
@@ -17,7 +34,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
17
34
|
- Bot visibility in status and overview commands
|
|
18
35
|
- VirtualClient for bot IRC presence in channels
|
|
19
36
|
|
|
20
|
-
|
|
21
37
|
### Changed
|
|
22
38
|
|
|
23
39
|
- Server now starts a companion HTTP listener for bot webhooks
|
|
@@ -26,7 +42,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
26
42
|
|
|
27
43
|
## [0.20.1] - 2026-04-03
|
|
28
44
|
|
|
29
|
-
|
|
30
45
|
### Changed
|
|
31
46
|
|
|
32
47
|
- SonarCloud uses Automatic Analysis instead of CI-based scanning — removes conflict and simplifies workflow
|
|
@@ -37,7 +52,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
37
52
|
|
|
38
53
|
## [0.20.0] - 2026-04-03
|
|
39
54
|
|
|
40
|
-
|
|
41
55
|
### Added
|
|
42
56
|
|
|
43
57
|
- Bandit SAST security scanning
|
|
@@ -54,7 +68,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
54
68
|
|
|
55
69
|
## [0.19.0] - 2026-04-03
|
|
56
70
|
|
|
57
|
-
|
|
58
71
|
### Added
|
|
59
72
|
|
|
60
73
|
- Conversation threads — inline sub-conversations with [thread:name] prefix
|
|
@@ -66,7 +79,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
66
79
|
|
|
67
80
|
## [0.18.0] - 2026-04-03
|
|
68
81
|
|
|
69
|
-
|
|
70
82
|
### Added
|
|
71
83
|
|
|
72
84
|
- Conversation threads — inline sub-conversations with [thread:name] prefix
|
|
@@ -83,7 +95,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
83
95
|
- --foreground flag for server start and agent start (required by service managers)
|
|
84
96
|
- Windows platform support guards (no fork, SIGTERM fallback)
|
|
85
97
|
|
|
86
|
-
|
|
87
98
|
### Changed
|
|
88
99
|
|
|
89
100
|
- S2S links now auto-retry on initial startup failure
|
|
@@ -92,7 +103,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
92
103
|
|
|
93
104
|
## [0.17.0] - 2026-04-01
|
|
94
105
|
|
|
95
|
-
|
|
96
106
|
### Added
|
|
97
107
|
|
|
98
108
|
- Two-tier skill system: root-level admin skill (server setup, mesh linking, federation, agent lifecycle) and project-level messaging skill
|
|
@@ -102,7 +112,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
102
112
|
|
|
103
113
|
## [0.16.4] - 2026-04-01
|
|
104
114
|
|
|
105
|
-
|
|
106
115
|
### Changed
|
|
107
116
|
|
|
108
117
|
- Rewrote UC-03 Cross-Server Delegation with Jetson dependency resolution scenario
|
|
@@ -110,34 +119,29 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
110
119
|
|
|
111
120
|
## [0.16.3] - 2026-04-01
|
|
112
121
|
|
|
113
|
-
|
|
114
122
|
### Added
|
|
115
123
|
|
|
116
124
|
- Federation mesh example in README and index — 3-server topology diagram with CLI commands
|
|
117
125
|
|
|
118
126
|
## [0.16.2] - 2026-03-31
|
|
119
127
|
|
|
120
|
-
|
|
121
128
|
### Fixed
|
|
122
129
|
|
|
123
130
|
- Documentation-code alignment: missing CLI flags, config fields, protocol specs, and README links
|
|
124
131
|
|
|
125
132
|
## [0.16.1] - 2026-03-31
|
|
126
133
|
|
|
127
|
-
|
|
128
134
|
### Changed
|
|
129
135
|
|
|
130
136
|
- Revamped README, docs index, and pyproject.toml description with new landing page design
|
|
131
137
|
|
|
132
138
|
## [0.16.0] - 2026-03-31
|
|
133
139
|
|
|
134
|
-
|
|
135
140
|
### Added
|
|
136
141
|
|
|
137
142
|
- Generic ACP backend — supports Cline, OpenCode, Kiro, Gemini, and any ACP-compatible agent via configurable spawn command
|
|
138
143
|
- CLI --agent acp with --acp-command flag for registering ACP agents
|
|
139
144
|
|
|
140
|
-
|
|
141
145
|
### Changed
|
|
142
146
|
|
|
143
147
|
- Replaced OpenCode-specific backend with generic ACP backend (clients/acp/)
|
|
@@ -146,14 +150,12 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
146
150
|
|
|
147
151
|
## [0.15.2] - 2026-03-31
|
|
148
152
|
|
|
149
|
-
|
|
150
153
|
### Changed
|
|
151
154
|
|
|
152
155
|
- Extended .pr_agent.toml with harness conformance checks for cross-backend validation
|
|
153
156
|
|
|
154
157
|
## [0.15.1] - 2026-03-30
|
|
155
158
|
|
|
156
|
-
|
|
157
159
|
### Fixed
|
|
158
160
|
|
|
159
161
|
- Overview serve: flush stdout so port URL is visible when backgrounded
|
|
@@ -161,7 +163,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
161
163
|
|
|
162
164
|
## [0.15.0] - 2026-03-30
|
|
163
165
|
|
|
164
|
-
|
|
165
166
|
### Added
|
|
166
167
|
|
|
167
168
|
- Managed rooms with rich metadata (ROOMCREATE, ROOMMETA, ROOMARCHIVE, ROOMKICK, ROOMINVITE)
|
|
@@ -172,7 +173,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
172
173
|
- Overview integration showing room/agent tags and metadata
|
|
173
174
|
- Protocol extensions: rooms.md, tags.md
|
|
174
175
|
|
|
175
|
-
|
|
176
176
|
### Changed
|
|
177
177
|
|
|
178
178
|
- Persistent channels survive when empty (no auto-cleanup)
|
|
@@ -182,7 +182,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
182
182
|
|
|
183
183
|
## [0.14.1] - 2026-03-30
|
|
184
184
|
|
|
185
|
-
|
|
186
185
|
### Fixed
|
|
187
186
|
|
|
188
187
|
- Web dashboard table rendering (enable mistune table plugin)
|
|
@@ -191,7 +190,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
191
190
|
|
|
192
191
|
## [0.14.0] - 2026-03-30
|
|
193
192
|
|
|
194
|
-
|
|
195
193
|
### Added
|
|
196
194
|
|
|
197
195
|
- agentirc overview CLI subcommand — mesh-wide situational awareness
|
|
@@ -203,7 +201,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
203
201
|
|
|
204
202
|
## [0.13.1] - 2026-03-30
|
|
205
203
|
|
|
206
|
-
|
|
207
204
|
### Fixed
|
|
208
205
|
|
|
209
206
|
- Fix OpenCode agent crash (exit code -1) caused by 30s timeout on system prompt session/prompt call
|
|
@@ -223,28 +220,24 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
223
220
|
|
|
224
221
|
## [0.12.1] - 2026-03-29
|
|
225
222
|
|
|
226
|
-
|
|
227
223
|
### Changed
|
|
228
224
|
|
|
229
225
|
- pr-review skill now checks for existing PRs before adding unrelated work to a branch
|
|
230
226
|
|
|
231
227
|
## [0.12.0] - 2026-03-29
|
|
232
228
|
|
|
233
|
-
|
|
234
229
|
### Added
|
|
235
230
|
|
|
236
231
|
- agentirc learn command — self-teaching prompt for agents to learn IRC tools and create skills
|
|
237
232
|
|
|
238
233
|
## [0.11.0] - 2026-03-28
|
|
239
234
|
|
|
240
|
-
|
|
241
235
|
### Added
|
|
242
236
|
|
|
243
237
|
- agentirc send command for sending messages to channels and agents
|
|
244
238
|
- agentirc status --full flag and per-agent detailed view
|
|
245
239
|
- agentirc sleep/wake commands with configurable schedule (default 23:00-08:00)
|
|
246
240
|
|
|
247
|
-
|
|
248
241
|
### Changed
|
|
249
242
|
|
|
250
243
|
- Extended IPC protocol with status, pause, and resume handlers
|
|
@@ -252,7 +245,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
252
245
|
|
|
253
246
|
## [0.10.7] - 2026-03-28
|
|
254
247
|
|
|
255
|
-
|
|
256
248
|
### Fixed
|
|
257
249
|
|
|
258
250
|
- Fix crash with cryptic asyncio Event loop is closed errors when starting agent without IRC server running
|
|
@@ -261,21 +253,18 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
261
253
|
|
|
262
254
|
## [0.10.6] - 2026-03-28
|
|
263
255
|
|
|
264
|
-
|
|
265
256
|
### Changed
|
|
266
257
|
|
|
267
258
|
- Add start command suggestion to init collision output
|
|
268
259
|
|
|
269
260
|
## [0.10.5] - 2026-03-28
|
|
270
261
|
|
|
271
|
-
|
|
272
262
|
### Changed
|
|
273
263
|
|
|
274
264
|
- Show existing agent config details when init detects a nick collision
|
|
275
265
|
|
|
276
266
|
## [0.10.4] - 2026-03-27
|
|
277
267
|
|
|
278
|
-
|
|
279
268
|
### Changed
|
|
280
269
|
|
|
281
270
|
- Renamed DaRe to DaRIA (Data Refinery Intelligent Agent) in lifecycle guide
|
|
@@ -307,12 +296,10 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
307
296
|
|
|
308
297
|
## [0.10.0] - 2026-03-26
|
|
309
298
|
|
|
310
|
-
|
|
311
299
|
### Added
|
|
312
300
|
|
|
313
301
|
- Client documentation for Codex, OpenCode, and Copilot backends (7 docs each)
|
|
314
302
|
|
|
315
|
-
|
|
316
303
|
### Changed
|
|
317
304
|
|
|
318
305
|
- Remove set_directory from all backends — agents stay in their init directory
|
|
@@ -321,26 +308,22 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
321
308
|
|
|
322
309
|
## [0.9.0] - 2026-03-25
|
|
323
310
|
|
|
324
|
-
|
|
325
311
|
### Added
|
|
326
312
|
|
|
327
313
|
- GitHub Copilot agent harness (Phase 4) using github-copilot-sdk
|
|
328
314
|
|
|
329
315
|
## [0.8.0] - 2026-03-24
|
|
330
316
|
|
|
331
|
-
|
|
332
317
|
### Added
|
|
333
318
|
|
|
334
319
|
- OpenCode agent harness (Phase 3) — opencode acp over ACP/JSON-RPC/stdio
|
|
335
320
|
|
|
336
|
-
|
|
337
321
|
### Changed
|
|
338
322
|
|
|
339
323
|
- CLI now supports --agent opencode for init, start, and skills install
|
|
340
324
|
|
|
341
325
|
## [0.7.0] - 2026-03-24
|
|
342
326
|
|
|
343
|
-
|
|
344
327
|
### Added
|
|
345
328
|
|
|
346
329
|
- Codex agent backend: agentirc/clients/codex/
|
|
@@ -351,7 +334,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
351
334
|
- CLI: agentirc init --agent codex to initialize Codex agents
|
|
352
335
|
- CLI: agentirc start dispatches to Codex daemon when agent=codex
|
|
353
336
|
|
|
354
|
-
|
|
355
337
|
### Changed
|
|
356
338
|
|
|
357
339
|
- CLI: --agent flag on init subcommand (choices: claude, codex)
|
|
@@ -359,7 +341,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
359
341
|
|
|
360
342
|
## [0.6.0] - 2026-03-24
|
|
361
343
|
|
|
362
|
-
|
|
363
344
|
### Added
|
|
364
345
|
|
|
365
346
|
- packages/agent-harness/ — assimilai reference for building new agent backends
|
|
@@ -367,14 +348,12 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
367
348
|
- Assimilation guide (README.md) with step-by-step instructions
|
|
368
349
|
- agent field in AgentConfig (default: claude, backward compatible)
|
|
369
350
|
|
|
370
|
-
|
|
371
351
|
### Changed
|
|
372
352
|
|
|
373
353
|
- CLAUDE.md — documented assimilai pattern for agent harness
|
|
374
354
|
|
|
375
355
|
## [0.5.0] - 2026-03-24
|
|
376
356
|
|
|
377
|
-
|
|
378
357
|
### Added
|
|
379
358
|
|
|
380
359
|
- Agent Harness Specification document — defines the expected interfaces for pluggable agent backends
|
|
@@ -384,7 +363,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
384
363
|
|
|
385
364
|
## [0.4.0] - 2026-03-24
|
|
386
365
|
|
|
387
|
-
|
|
388
366
|
### Added
|
|
389
367
|
|
|
390
368
|
- Link trust levels: full (share all) and restricted (share nothing unless opted in)
|
|
@@ -393,7 +371,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
393
371
|
- Mutual +S required for restricted links — both sides must agree
|
|
394
372
|
- Safe default: inbound links from unknown peers default to restricted
|
|
395
373
|
|
|
396
|
-
|
|
397
374
|
### Changed
|
|
398
375
|
|
|
399
376
|
- Link format extended: name:host:port:password:trust (trust defaults to full)
|
|
@@ -401,7 +378,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
401
378
|
|
|
402
379
|
## [0.3.1] - 2026-03-22
|
|
403
380
|
|
|
404
|
-
|
|
405
381
|
### Added
|
|
406
382
|
|
|
407
383
|
- Federation setup in Getting Started guide
|
|
@@ -410,7 +386,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
410
386
|
|
|
411
387
|
## [0.3.0] - 2026-03-22
|
|
412
388
|
|
|
413
|
-
|
|
414
389
|
### Added
|
|
415
390
|
|
|
416
391
|
- CLI command: agentirc skills install <claude|codex|all>
|
|
@@ -418,21 +393,18 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
418
393
|
- Codex-compatible skill layout in plugins/codex/
|
|
419
394
|
- Three install methods: CLI, plugin marketplace, Codex skill installer
|
|
420
395
|
|
|
421
|
-
|
|
422
396
|
### Changed
|
|
423
397
|
|
|
424
398
|
- Getting Started guide updated with skills install command
|
|
425
399
|
|
|
426
400
|
## [0.2.1] - 2026-03-22
|
|
427
401
|
|
|
428
|
-
|
|
429
402
|
### Added
|
|
430
403
|
|
|
431
404
|
- OIDC trusted publishing for PyPI and TestPyPI
|
|
432
405
|
- Dual package publish (agentirc + agentirc-cli) to TestPyPI
|
|
433
406
|
- CHANGELOG.md with Keep a Changelog format
|
|
434
407
|
|
|
435
|
-
|
|
436
408
|
### Changed
|
|
437
409
|
|
|
438
410
|
- Publish workflow uses id-token instead of API token secrets
|
|
@@ -4,7 +4,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
|
|
4
4
|
|
|
5
5
|
## Project Overview
|
|
6
6
|
|
|
7
|
-
**
|
|
7
|
+
**culture** — A mesh of IRC servers where AI agents collaborate, share knowledge, and coordinate work. Humans participate as first-class citizens. Custom async Python IRCd built from scratch, with Claude Agent SDK client harnesses.
|
|
8
8
|
|
|
9
9
|
Design spec: `docs/superpowers/specs/2026-03-19-agentirc-design.md`
|
|
10
10
|
|
|
@@ -18,7 +18,8 @@ Design spec: `docs/superpowers/specs/2026-03-19-agentirc-design.md`
|
|
|
18
18
|
Code in `packages/` is **reference implementation** — copied, not imported. Each target directory owns its copy and can modify it independently. No cross-directory imports between backends.
|
|
19
19
|
|
|
20
20
|
For agent backends (`clients/claude/`, `clients/codex/`, etc.):
|
|
21
|
-
|
|
21
|
+
|
|
22
|
+
1. Copy from `packages/agent-harness/` into `culture/clients/<backend>/`
|
|
22
23
|
2. Replace `agent_runner.py` and `supervisor.py` with your implementation
|
|
23
24
|
3. Adapt `daemon.py` to wire up your runner
|
|
24
25
|
4. Each file is yours to modify — no shared imports to break
|
|
@@ -34,7 +35,7 @@ When implementing features, write a corresponding markdown doc in `docs/` descri
|
|
|
34
35
|
## Git Workflow
|
|
35
36
|
|
|
36
37
|
- Branch out for all changes
|
|
37
|
-
- **Bump the version before creating a PR** — use `/version-bump patch` (bug fix), `minor` (new feature), or `major` (breaking change). This updates `pyproject.toml`, `
|
|
38
|
+
- **Bump the version before creating a PR** — use `/version-bump patch` (bug fix), `minor` (new feature), or `major` (breaking change). This updates `pyproject.toml`, `culture/__init__.py`, and `CHANGELOG.md` in one step. Forgetting will fail the version-check CI job.
|
|
38
39
|
- Push to GitHub for agentic code review
|
|
39
40
|
- Pull review comments, address feedback, push fixes
|
|
40
41
|
- Reply to comments after pushing, resolve threads
|