agentirc-cli 0.21.0__tar.gz → 1.0.0__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.0}/.claude/skills/pr-review/SKILL.md +3 -3
- agentirc_cli-1.0.0/.flake8 +37 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/.github/workflows/publish.yml +37 -8
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/.github/workflows/security-checks.yml +3 -3
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/.github/workflows/tests.yml +1 -1
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/.pre-commit-config.yaml +1 -1
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/.pylintrc +10 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/CHANGELOG.md +10 -45
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/CLAUDE.md +4 -3
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/PKG-INFO +22 -22
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/README.md +19 -19
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/_config.yml +5 -5
- agentirc_cli-1.0.0/culture/__init__.py +10 -0
- agentirc_cli-1.0.0/culture/__main__.py +6 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/bots/bot.py +5 -5
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/bots/bot_manager.py +4 -4
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/bots/config.py +1 -1
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/bots/http_listener.py +1 -1
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/bots/virtual_client.py +6 -6
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/cli.py +135 -138
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/acp/agent_runner.py +21 -16
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/acp/config.py +18 -9
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/acp/daemon.py +116 -90
- {agentirc_cli-0.21.0/agentirc/clients/claude → agentirc_cli-1.0.0/culture/clients/acp}/ipc.py +4 -1
- {agentirc_cli-0.21.0/agentirc/clients/claude → agentirc_cli-1.0.0/culture/clients/acp}/irc_transport.py +14 -7
- {agentirc_cli-0.21.0/agentirc/clients/codex → agentirc_cli-1.0.0/culture/clients/acp}/message_buffer.py +3 -5
- agentirc_cli-1.0.0/culture/clients/acp/skill/SKILL.md +69 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/acp/skill/irc_client.py +15 -18
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/acp/socket_server.py +5 -3
- {agentirc_cli-0.21.0/agentirc/clients/claude → agentirc_cli-1.0.0/culture/clients/acp}/supervisor.py +12 -7
- {agentirc_cli-0.21.0/agentirc/clients/codex → agentirc_cli-1.0.0/culture/clients/acp}/webhook.py +11 -6
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/claude/__main__.py +9 -9
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/claude/agent_runner.py +6 -8
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/claude/config.py +18 -9
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/claude/daemon.py +108 -85
- {agentirc_cli-0.21.0/agentirc/clients/codex → agentirc_cli-1.0.0/culture/clients/claude}/ipc.py +4 -1
- {agentirc_cli-0.21.0/agentirc/clients/codex → agentirc_cli-1.0.0/culture/clients/claude}/irc_transport.py +14 -7
- {agentirc_cli-0.21.0/agentirc/clients/copilot → agentirc_cli-1.0.0/culture/clients/claude}/message_buffer.py +3 -5
- {agentirc_cli-0.21.0/plugins/claude-code/skills/irc → agentirc_cli-1.0.0/culture/clients/claude/skill}/SKILL.md +18 -18
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/claude/skill/irc_client.py +14 -17
- {agentirc_cli-0.21.0/agentirc/clients/codex → agentirc_cli-1.0.0/culture/clients/claude}/socket_server.py +5 -3
- {agentirc_cli-0.21.0/agentirc/clients/acp → agentirc_cli-1.0.0/culture/clients/claude}/supervisor.py +12 -7
- {agentirc_cli-0.21.0/agentirc/clients/acp → agentirc_cli-1.0.0/culture/clients/claude}/webhook.py +11 -6
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/codex/agent_runner.py +27 -19
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/codex/config.py +18 -9
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/codex/daemon.py +110 -90
- {agentirc_cli-0.21.0/agentirc/clients/copilot → agentirc_cli-1.0.0/culture/clients/codex}/ipc.py +4 -1
- {agentirc_cli-0.21.0/agentirc/clients/copilot → agentirc_cli-1.0.0/culture/clients/codex}/irc_transport.py +14 -7
- {agentirc_cli-0.21.0/agentirc/clients/claude → agentirc_cli-1.0.0/culture/clients/codex}/message_buffer.py +3 -5
- agentirc_cli-1.0.0/culture/clients/codex/skill/SKILL.md +69 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/codex/skill/irc_client.py +15 -18
- {agentirc_cli-0.21.0/agentirc/clients/copilot → agentirc_cli-1.0.0/culture/clients/codex}/socket_server.py +5 -3
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/codex/supervisor.py +9 -7
- {agentirc_cli-0.21.0/agentirc/clients/claude → agentirc_cli-1.0.0/culture/clients/codex}/webhook.py +11 -6
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/copilot/agent_runner.py +5 -6
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/copilot/config.py +18 -9
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/copilot/daemon.py +111 -91
- agentirc_cli-1.0.0/culture/clients/copilot/ipc.py +41 -0
- {agentirc_cli-0.21.0/agentirc/clients/acp → agentirc_cli-1.0.0/culture/clients/copilot}/irc_transport.py +14 -7
- agentirc_cli-1.0.0/culture/clients/copilot/message_buffer.py +63 -0
- agentirc_cli-1.0.0/culture/clients/copilot/skill/SKILL.md +69 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/copilot/skill/irc_client.py +15 -18
- {agentirc_cli-0.21.0/agentirc/clients/claude → agentirc_cli-1.0.0/culture/clients/copilot}/socket_server.py +5 -3
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/copilot/supervisor.py +4 -6
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/copilot/webhook.py +11 -6
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/credentials.py +64 -34
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/learn_prompt.py +35 -31
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/mesh_config.py +4 -4
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/observer.py +6 -3
- agentirc_cli-1.0.0/culture/overview/__init__.py +1 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/overview/collector.py +8 -8
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/overview/renderer_web.py +26 -14
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/persistence.py +30 -21
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/pidfile.py +2 -2
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/protocol/extensions/history.md +7 -7
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/protocol/extensions/threads.md +10 -10
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/server/__main__.py +6 -8
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/server/channel.py +5 -5
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/server/client.py +56 -128
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/server/config.py +2 -2
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/server/ircd.py +20 -20
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/server/remote_client.py +3 -3
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/server/room_store.py +3 -2
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/server/rooms_util.py +2 -1
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/server/server_link.py +58 -77
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/server/skill.py +3 -3
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/server/skills/history.py +5 -7
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/server/skills/rooms.py +275 -192
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/server/skills/threads.py +198 -148
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/server/thread_store.py +2 -0
- {agentirc_cli-0.21.0/agentirc/skills/agentirc → agentirc_cli-1.0.0/culture/skills/culture}/SKILL.md +58 -58
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/SECURITY.md +7 -7
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/agent-harness-spec.md +10 -10
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/agentic-self-learn.md +17 -17
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/bots.md +13 -13
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/cli.md +77 -77
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/clients/acp/overview.md +7 -7
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/clients/claude/configuration.md +15 -15
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/clients/claude/irc-tools.md +18 -18
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/clients/claude/overview.md +1 -1
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/clients/claude/setup.md +23 -23
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/clients/claude/supervisor.md +4 -4
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/clients/claude/webhooks.md +6 -6
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/clients/codex/configuration.md +12 -12
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/clients/codex/irc-tools.md +18 -18
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/clients/codex/overview.md +1 -1
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/clients/codex/setup.md +18 -18
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/clients/copilot/configuration.md +13 -13
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/clients/copilot/irc-tools.md +21 -21
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/clients/copilot/overview.md +1 -1
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/clients/copilot/setup.md +21 -21
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/clients/copilot/supervisor.md +1 -1
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/design.md +1 -1
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/docs-site.md +2 -2
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/getting-started.md +43 -43
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/grow-your-agent.md +17 -17
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/harness-conformance.md +2 -2
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/layer1-core-irc.md +3 -3
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/layer2-attention.md +5 -5
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/layer4-federation.md +7 -7
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/layer5-agent-harness.md +4 -4
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/ops-tooling.md +45 -45
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/overview.md +9 -9
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/publishing.md +6 -6
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/resources/github-copilot-sdk-instructions.md +24 -20
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/rooms.md +2 -2
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/server-architecture.md +1 -1
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/superpowers/plans/2026-03-19-layer1-core-irc.md +53 -52
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/superpowers/plans/2026-03-21-layer5-agent-harness.md +87 -87
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/superpowers/plans/2026-03-30-overview.md +87 -78
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/superpowers/plans/2026-03-30-rooms-management.md +149 -109
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/superpowers/plans/2026-04-02-conversation-threads.md +91 -91
- agentirc_cli-1.0.0/docs/superpowers/plans/2026-04-02-ops-tooling.md +1763 -0
- agentirc_cli-1.0.0/docs/superpowers/plans/2026-04-04-culture-rename.md +801 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/superpowers/specs/2026-03-19-agentirc-design.md +13 -13
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/superpowers/specs/2026-03-21-layer5-agent-harness-design.md +13 -13
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/superpowers/specs/2026-03-30-overview-design.md +23 -23
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/superpowers/specs/2026-03-30-rooms-management-design.md +11 -11
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/superpowers/specs/2026-04-02-conversation-threads-design.md +11 -11
- agentirc_cli-1.0.0/docs/superpowers/specs/2026-04-02-ops-tooling-design.md +373 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/superpowers/specs/2026-04-03-bots-webhooks-design.md +37 -37
- agentirc_cli-1.0.0/docs/superpowers/specs/2026-04-04-culture-rename-design.md +177 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/use-cases/01-pair-programming.md +24 -24
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/use-cases/03-cross-server-delegation.md +13 -13
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/use-cases/04-knowledge-propagation.md +13 -13
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/use-cases/05-the-observer.md +16 -16
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/use-cases/08-apps-as-agents.md +10 -10
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/use-cases/10-grow-your-agent.md +10 -10
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/use-cases-index.md +1 -1
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/index.md +9 -9
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/packages/agent-harness/README.md +2 -2
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/packages/agent-harness/config.py +18 -9
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/packages/agent-harness/daemon.py +75 -50
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/packages/agent-harness/irc_transport.py +12 -5
- agentirc_cli-1.0.0/packages/agent-harness/skill/SKILL.md +50 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/packages/agent-harness/skill/irc_client.py +15 -18
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/packages/agent-harness/socket_server.py +5 -3
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/packages/agent-harness/webhook.py +11 -6
- agentirc_cli-1.0.0/plugins/claude-code/skills/culture/SKILL.md +288 -0
- {agentirc_cli-0.21.0/agentirc/clients/claude/skill → agentirc_cli-1.0.0/plugins/claude-code/skills/irc}/SKILL.md +18 -18
- agentirc_cli-1.0.0/plugins/codex/skills/culture-irc/SKILL.md +69 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/pyproject.toml +15 -15
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/sonar-project.properties +4 -4
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/conftest.py +9 -9
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_acp_daemon.py +27 -13
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_agent_runner.py +38 -20
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_bot.py +2 -2
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_bot_config.py +1 -1
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_bot_manager.py +15 -15
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_bots_integration.py +10 -10
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_channel.py +5 -5
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_codex_daemon.py +11 -6
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_copilot_daemon.py +21 -12
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_daemon.py +14 -8
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_daemon_config.py +50 -38
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_daemon_ipc.py +3 -5
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_federation.py +47 -27
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_history.py +1 -3
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_http_listener.py +6 -6
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_integration_layer5.py +12 -8
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_ipc.py +4 -5
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_irc_transport.py +47 -17
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_link_reconnect.py +2 -2
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_mesh_config.py +15 -6
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_message.py +8 -8
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_message_buffer.py +4 -3
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_overview_cli.py +8 -4
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_overview_collector.py +4 -3
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_overview_model.py +25 -11
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_overview_renderer.py +57 -22
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_overview_web.py +26 -12
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_persistence.py +32 -30
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_room_persistence.py +6 -8
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_rooms.py +17 -20
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_setup_update_cli.py +5 -3
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_skill_client.py +14 -5
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_skills.py +2 -2
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_socket_server.py +9 -3
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_supervisor.py +75 -39
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_template_engine.py +3 -3
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_thread_buffer.py +1 -2
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_threads.py +5 -4
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_virtual_client.py +2 -2
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_webhook.py +22 -12
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/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.0}/.github/workflows/pages.yml +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/.gitignore +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/.markdownlint-cli2.yaml +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/.pr_agent.toml +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/CNAME +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/Gemfile +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/Gemfile.lock +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/LICENSE +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/SECURITY.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/_sass/color_schemes/anthropic.scss +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/_sass/custom/custom.scss +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/bots/__init__.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/bots/template_engine.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/__init__.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/acp/__init__.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/acp/skill/__init__.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/claude/__init__.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/claude/skill/__init__.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/codex/__init__.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/codex/skill/__init__.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/copilot/__init__.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/clients/copilot/skill/__init__.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/overview/model.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/overview/renderer_text.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/overview/web/style.css +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/protocol/__init__.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/protocol/commands.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/protocol/extensions/federation.md +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/protocol/extensions/rooms.md +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/protocol/extensions/tags.md +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/protocol/message.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/protocol/protocol-index.md +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/protocol/replies.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/server/__init__.py +0 -0
- {agentirc_cli-0.21.0/agentirc → agentirc_cli-1.0.0/culture}/server/skills/__init__.py +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/agent-client.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/ci.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/clients/claude/context-management.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/clients/codex/context-management.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/clients/codex/supervisor.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/clients/codex/webhooks.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/clients/copilot/context-management.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/clients/copilot/webhooks.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/codex-backend.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/copilot-backend.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/layer3-skills.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/threads.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/use-cases/02-code-review-ensemble.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/use-cases/06-cross-server-ops.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/use-cases/07-supervisor-intervention.md +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/docs/use-cases/09-research-swarm.md +0 -0
- {agentirc_cli-0.21.0/agentirc/clients/acp → agentirc_cli-1.0.0/packages/agent-harness}/ipc.py +0 -0
- {agentirc_cli-0.21.0/agentirc/clients/acp → agentirc_cli-1.0.0/packages/agent-harness}/message_buffer.py +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/plugins/claude-code/.claude-plugin/plugin.json +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/__init__.py +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_connection.py +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_discovery.py +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_mentions.py +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_messaging.py +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_modes.py +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/tests/test_rooms_federation.py +0 -0
- {agentirc_cli-0.21.0 → agentirc_cli-1.0.0}/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,33 @@ 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
|
+
continue-on-error: true
|
|
58
59
|
run: |
|
|
59
60
|
uv build
|
|
60
61
|
uv publish --publish-url https://test.pypi.org/legacy/ --trusted-publishing always --check-url https://test.pypi.org/simple/
|
|
61
62
|
|
|
62
|
-
- name: Build and publish agentirc to TestPyPI
|
|
63
|
+
- name: Build and publish agentirc-cli alias to TestPyPI
|
|
64
|
+
run: |
|
|
65
|
+
sed -i 's/^name = "culture"/name = "agentirc-cli"/' pyproject.toml
|
|
66
|
+
sed -i 's/^description = .*/description = "Legacy alias for culture — install culture instead"/' pyproject.toml
|
|
67
|
+
rm -rf dist
|
|
68
|
+
uv build
|
|
69
|
+
uv publish --publish-url https://test.pypi.org/legacy/ --trusted-publishing always --check-url https://test.pypi.org/simple/
|
|
70
|
+
|
|
71
|
+
- name: Build and publish agentirc alias to TestPyPI
|
|
63
72
|
run: |
|
|
64
73
|
sed -i 's/^name = "agentirc-cli"/name = "agentirc"/' pyproject.toml
|
|
74
|
+
sed -i 's/^name = "culture"/name = "agentirc"/' pyproject.toml
|
|
65
75
|
rm -rf dist
|
|
66
76
|
uv build
|
|
67
77
|
uv publish --publish-url https://test.pypi.org/legacy/ --trusted-publishing always --check-url https://test.pypi.org/simple/
|
|
68
78
|
|
|
69
79
|
- name: Print install commands
|
|
80
|
+
if: always()
|
|
70
81
|
run: |
|
|
71
|
-
echo "::notice::Test with: pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/
|
|
72
|
-
echo "::
|
|
82
|
+
echo "::notice::Test with: pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ culture==${DEV_VERSION}"
|
|
83
|
+
echo "::warning::agentirc on TestPyPI is not intended for production use — install culture instead"
|
|
73
84
|
|
|
74
85
|
publish:
|
|
75
86
|
if: github.event_name == 'push'
|
|
@@ -88,6 +99,24 @@ jobs:
|
|
|
88
99
|
|
|
89
100
|
- run: uv sync
|
|
90
101
|
|
|
91
|
-
-
|
|
102
|
+
- name: Build and publish culture to PyPI
|
|
103
|
+
continue-on-error: true
|
|
104
|
+
run: |
|
|
105
|
+
uv build
|
|
106
|
+
uv publish --trusted-publishing always --check-url https://pypi.org/simple/
|
|
92
107
|
|
|
93
|
-
-
|
|
108
|
+
- name: Build and publish agentirc-cli alias to PyPI
|
|
109
|
+
run: |
|
|
110
|
+
sed -i 's/^name = "culture"/name = "agentirc-cli"/' pyproject.toml
|
|
111
|
+
sed -i 's/^description = .*/description = "Legacy alias for culture — install culture instead"/' pyproject.toml
|
|
112
|
+
rm -rf dist
|
|
113
|
+
uv build
|
|
114
|
+
uv publish --trusted-publishing always --check-url https://pypi.org/simple/
|
|
115
|
+
|
|
116
|
+
- name: Build and publish agentirc alias to PyPI
|
|
117
|
+
run: |
|
|
118
|
+
sed -i 's/^name = "agentirc-cli"/name = "agentirc"/' pyproject.toml
|
|
119
|
+
sed -i 's/^name = "culture"/name = "agentirc"/' pyproject.toml
|
|
120
|
+
rm -rf dist
|
|
121
|
+
uv build
|
|
122
|
+
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,18 @@ 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.0] - 2026-04-05
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- **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.
|
|
13
|
+
|
|
7
14
|
## [0.21.0] - 2026-04-04
|
|
8
15
|
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- **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
19
|
|
|
10
20
|
### Added
|
|
11
21
|
|
|
@@ -17,7 +27,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
17
27
|
- Bot visibility in status and overview commands
|
|
18
28
|
- VirtualClient for bot IRC presence in channels
|
|
19
29
|
|
|
20
|
-
|
|
21
30
|
### Changed
|
|
22
31
|
|
|
23
32
|
- Server now starts a companion HTTP listener for bot webhooks
|
|
@@ -26,7 +35,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
26
35
|
|
|
27
36
|
## [0.20.1] - 2026-04-03
|
|
28
37
|
|
|
29
|
-
|
|
30
38
|
### Changed
|
|
31
39
|
|
|
32
40
|
- SonarCloud uses Automatic Analysis instead of CI-based scanning — removes conflict and simplifies workflow
|
|
@@ -37,7 +45,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
37
45
|
|
|
38
46
|
## [0.20.0] - 2026-04-03
|
|
39
47
|
|
|
40
|
-
|
|
41
48
|
### Added
|
|
42
49
|
|
|
43
50
|
- Bandit SAST security scanning
|
|
@@ -54,7 +61,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
54
61
|
|
|
55
62
|
## [0.19.0] - 2026-04-03
|
|
56
63
|
|
|
57
|
-
|
|
58
64
|
### Added
|
|
59
65
|
|
|
60
66
|
- Conversation threads — inline sub-conversations with [thread:name] prefix
|
|
@@ -66,7 +72,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
66
72
|
|
|
67
73
|
## [0.18.0] - 2026-04-03
|
|
68
74
|
|
|
69
|
-
|
|
70
75
|
### Added
|
|
71
76
|
|
|
72
77
|
- Conversation threads — inline sub-conversations with [thread:name] prefix
|
|
@@ -83,7 +88,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
83
88
|
- --foreground flag for server start and agent start (required by service managers)
|
|
84
89
|
- Windows platform support guards (no fork, SIGTERM fallback)
|
|
85
90
|
|
|
86
|
-
|
|
87
91
|
### Changed
|
|
88
92
|
|
|
89
93
|
- S2S links now auto-retry on initial startup failure
|
|
@@ -92,7 +96,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
92
96
|
|
|
93
97
|
## [0.17.0] - 2026-04-01
|
|
94
98
|
|
|
95
|
-
|
|
96
99
|
### Added
|
|
97
100
|
|
|
98
101
|
- Two-tier skill system: root-level admin skill (server setup, mesh linking, federation, agent lifecycle) and project-level messaging skill
|
|
@@ -102,7 +105,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
102
105
|
|
|
103
106
|
## [0.16.4] - 2026-04-01
|
|
104
107
|
|
|
105
|
-
|
|
106
108
|
### Changed
|
|
107
109
|
|
|
108
110
|
- Rewrote UC-03 Cross-Server Delegation with Jetson dependency resolution scenario
|
|
@@ -110,34 +112,29 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
110
112
|
|
|
111
113
|
## [0.16.3] - 2026-04-01
|
|
112
114
|
|
|
113
|
-
|
|
114
115
|
### Added
|
|
115
116
|
|
|
116
117
|
- Federation mesh example in README and index — 3-server topology diagram with CLI commands
|
|
117
118
|
|
|
118
119
|
## [0.16.2] - 2026-03-31
|
|
119
120
|
|
|
120
|
-
|
|
121
121
|
### Fixed
|
|
122
122
|
|
|
123
123
|
- Documentation-code alignment: missing CLI flags, config fields, protocol specs, and README links
|
|
124
124
|
|
|
125
125
|
## [0.16.1] - 2026-03-31
|
|
126
126
|
|
|
127
|
-
|
|
128
127
|
### Changed
|
|
129
128
|
|
|
130
129
|
- Revamped README, docs index, and pyproject.toml description with new landing page design
|
|
131
130
|
|
|
132
131
|
## [0.16.0] - 2026-03-31
|
|
133
132
|
|
|
134
|
-
|
|
135
133
|
### Added
|
|
136
134
|
|
|
137
135
|
- Generic ACP backend — supports Cline, OpenCode, Kiro, Gemini, and any ACP-compatible agent via configurable spawn command
|
|
138
136
|
- CLI --agent acp with --acp-command flag for registering ACP agents
|
|
139
137
|
|
|
140
|
-
|
|
141
138
|
### Changed
|
|
142
139
|
|
|
143
140
|
- Replaced OpenCode-specific backend with generic ACP backend (clients/acp/)
|
|
@@ -146,14 +143,12 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
146
143
|
|
|
147
144
|
## [0.15.2] - 2026-03-31
|
|
148
145
|
|
|
149
|
-
|
|
150
146
|
### Changed
|
|
151
147
|
|
|
152
148
|
- Extended .pr_agent.toml with harness conformance checks for cross-backend validation
|
|
153
149
|
|
|
154
150
|
## [0.15.1] - 2026-03-30
|
|
155
151
|
|
|
156
|
-
|
|
157
152
|
### Fixed
|
|
158
153
|
|
|
159
154
|
- Overview serve: flush stdout so port URL is visible when backgrounded
|
|
@@ -161,7 +156,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
161
156
|
|
|
162
157
|
## [0.15.0] - 2026-03-30
|
|
163
158
|
|
|
164
|
-
|
|
165
159
|
### Added
|
|
166
160
|
|
|
167
161
|
- Managed rooms with rich metadata (ROOMCREATE, ROOMMETA, ROOMARCHIVE, ROOMKICK, ROOMINVITE)
|
|
@@ -172,7 +166,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
172
166
|
- Overview integration showing room/agent tags and metadata
|
|
173
167
|
- Protocol extensions: rooms.md, tags.md
|
|
174
168
|
|
|
175
|
-
|
|
176
169
|
### Changed
|
|
177
170
|
|
|
178
171
|
- Persistent channels survive when empty (no auto-cleanup)
|
|
@@ -182,7 +175,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
182
175
|
|
|
183
176
|
## [0.14.1] - 2026-03-30
|
|
184
177
|
|
|
185
|
-
|
|
186
178
|
### Fixed
|
|
187
179
|
|
|
188
180
|
- Web dashboard table rendering (enable mistune table plugin)
|
|
@@ -191,7 +183,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
191
183
|
|
|
192
184
|
## [0.14.0] - 2026-03-30
|
|
193
185
|
|
|
194
|
-
|
|
195
186
|
### Added
|
|
196
187
|
|
|
197
188
|
- agentirc overview CLI subcommand — mesh-wide situational awareness
|
|
@@ -203,7 +194,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
203
194
|
|
|
204
195
|
## [0.13.1] - 2026-03-30
|
|
205
196
|
|
|
206
|
-
|
|
207
197
|
### Fixed
|
|
208
198
|
|
|
209
199
|
- Fix OpenCode agent crash (exit code -1) caused by 30s timeout on system prompt session/prompt call
|
|
@@ -223,28 +213,24 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
223
213
|
|
|
224
214
|
## [0.12.1] - 2026-03-29
|
|
225
215
|
|
|
226
|
-
|
|
227
216
|
### Changed
|
|
228
217
|
|
|
229
218
|
- pr-review skill now checks for existing PRs before adding unrelated work to a branch
|
|
230
219
|
|
|
231
220
|
## [0.12.0] - 2026-03-29
|
|
232
221
|
|
|
233
|
-
|
|
234
222
|
### Added
|
|
235
223
|
|
|
236
224
|
- agentirc learn command — self-teaching prompt for agents to learn IRC tools and create skills
|
|
237
225
|
|
|
238
226
|
## [0.11.0] - 2026-03-28
|
|
239
227
|
|
|
240
|
-
|
|
241
228
|
### Added
|
|
242
229
|
|
|
243
230
|
- agentirc send command for sending messages to channels and agents
|
|
244
231
|
- agentirc status --full flag and per-agent detailed view
|
|
245
232
|
- agentirc sleep/wake commands with configurable schedule (default 23:00-08:00)
|
|
246
233
|
|
|
247
|
-
|
|
248
234
|
### Changed
|
|
249
235
|
|
|
250
236
|
- Extended IPC protocol with status, pause, and resume handlers
|
|
@@ -252,7 +238,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
252
238
|
|
|
253
239
|
## [0.10.7] - 2026-03-28
|
|
254
240
|
|
|
255
|
-
|
|
256
241
|
### Fixed
|
|
257
242
|
|
|
258
243
|
- Fix crash with cryptic asyncio Event loop is closed errors when starting agent without IRC server running
|
|
@@ -261,21 +246,18 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
261
246
|
|
|
262
247
|
## [0.10.6] - 2026-03-28
|
|
263
248
|
|
|
264
|
-
|
|
265
249
|
### Changed
|
|
266
250
|
|
|
267
251
|
- Add start command suggestion to init collision output
|
|
268
252
|
|
|
269
253
|
## [0.10.5] - 2026-03-28
|
|
270
254
|
|
|
271
|
-
|
|
272
255
|
### Changed
|
|
273
256
|
|
|
274
257
|
- Show existing agent config details when init detects a nick collision
|
|
275
258
|
|
|
276
259
|
## [0.10.4] - 2026-03-27
|
|
277
260
|
|
|
278
|
-
|
|
279
261
|
### Changed
|
|
280
262
|
|
|
281
263
|
- Renamed DaRe to DaRIA (Data Refinery Intelligent Agent) in lifecycle guide
|
|
@@ -307,12 +289,10 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
307
289
|
|
|
308
290
|
## [0.10.0] - 2026-03-26
|
|
309
291
|
|
|
310
|
-
|
|
311
292
|
### Added
|
|
312
293
|
|
|
313
294
|
- Client documentation for Codex, OpenCode, and Copilot backends (7 docs each)
|
|
314
295
|
|
|
315
|
-
|
|
316
296
|
### Changed
|
|
317
297
|
|
|
318
298
|
- Remove set_directory from all backends — agents stay in their init directory
|
|
@@ -321,26 +301,22 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
321
301
|
|
|
322
302
|
## [0.9.0] - 2026-03-25
|
|
323
303
|
|
|
324
|
-
|
|
325
304
|
### Added
|
|
326
305
|
|
|
327
306
|
- GitHub Copilot agent harness (Phase 4) using github-copilot-sdk
|
|
328
307
|
|
|
329
308
|
## [0.8.0] - 2026-03-24
|
|
330
309
|
|
|
331
|
-
|
|
332
310
|
### Added
|
|
333
311
|
|
|
334
312
|
- OpenCode agent harness (Phase 3) — opencode acp over ACP/JSON-RPC/stdio
|
|
335
313
|
|
|
336
|
-
|
|
337
314
|
### Changed
|
|
338
315
|
|
|
339
316
|
- CLI now supports --agent opencode for init, start, and skills install
|
|
340
317
|
|
|
341
318
|
## [0.7.0] - 2026-03-24
|
|
342
319
|
|
|
343
|
-
|
|
344
320
|
### Added
|
|
345
321
|
|
|
346
322
|
- Codex agent backend: agentirc/clients/codex/
|
|
@@ -351,7 +327,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
351
327
|
- CLI: agentirc init --agent codex to initialize Codex agents
|
|
352
328
|
- CLI: agentirc start dispatches to Codex daemon when agent=codex
|
|
353
329
|
|
|
354
|
-
|
|
355
330
|
### Changed
|
|
356
331
|
|
|
357
332
|
- CLI: --agent flag on init subcommand (choices: claude, codex)
|
|
@@ -359,7 +334,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
359
334
|
|
|
360
335
|
## [0.6.0] - 2026-03-24
|
|
361
336
|
|
|
362
|
-
|
|
363
337
|
### Added
|
|
364
338
|
|
|
365
339
|
- packages/agent-harness/ — assimilai reference for building new agent backends
|
|
@@ -367,14 +341,12 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
367
341
|
- Assimilation guide (README.md) with step-by-step instructions
|
|
368
342
|
- agent field in AgentConfig (default: claude, backward compatible)
|
|
369
343
|
|
|
370
|
-
|
|
371
344
|
### Changed
|
|
372
345
|
|
|
373
346
|
- CLAUDE.md — documented assimilai pattern for agent harness
|
|
374
347
|
|
|
375
348
|
## [0.5.0] - 2026-03-24
|
|
376
349
|
|
|
377
|
-
|
|
378
350
|
### Added
|
|
379
351
|
|
|
380
352
|
- Agent Harness Specification document — defines the expected interfaces for pluggable agent backends
|
|
@@ -384,7 +356,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
384
356
|
|
|
385
357
|
## [0.4.0] - 2026-03-24
|
|
386
358
|
|
|
387
|
-
|
|
388
359
|
### Added
|
|
389
360
|
|
|
390
361
|
- Link trust levels: full (share all) and restricted (share nothing unless opted in)
|
|
@@ -393,7 +364,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
393
364
|
- Mutual +S required for restricted links — both sides must agree
|
|
394
365
|
- Safe default: inbound links from unknown peers default to restricted
|
|
395
366
|
|
|
396
|
-
|
|
397
367
|
### Changed
|
|
398
368
|
|
|
399
369
|
- Link format extended: name:host:port:password:trust (trust defaults to full)
|
|
@@ -401,7 +371,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
401
371
|
|
|
402
372
|
## [0.3.1] - 2026-03-22
|
|
403
373
|
|
|
404
|
-
|
|
405
374
|
### Added
|
|
406
375
|
|
|
407
376
|
- Federation setup in Getting Started guide
|
|
@@ -410,7 +379,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
410
379
|
|
|
411
380
|
## [0.3.0] - 2026-03-22
|
|
412
381
|
|
|
413
|
-
|
|
414
382
|
### Added
|
|
415
383
|
|
|
416
384
|
- CLI command: agentirc skills install <claude|codex|all>
|
|
@@ -418,21 +386,18 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
|
418
386
|
- Codex-compatible skill layout in plugins/codex/
|
|
419
387
|
- Three install methods: CLI, plugin marketplace, Codex skill installer
|
|
420
388
|
|
|
421
|
-
|
|
422
389
|
### Changed
|
|
423
390
|
|
|
424
391
|
- Getting Started guide updated with skills install command
|
|
425
392
|
|
|
426
393
|
## [0.2.1] - 2026-03-22
|
|
427
394
|
|
|
428
|
-
|
|
429
395
|
### Added
|
|
430
396
|
|
|
431
397
|
- OIDC trusted publishing for PyPI and TestPyPI
|
|
432
398
|
- Dual package publish (agentirc + agentirc-cli) to TestPyPI
|
|
433
399
|
- CHANGELOG.md with Keep a Changelog format
|
|
434
400
|
|
|
435
|
-
|
|
436
401
|
### Changed
|
|
437
402
|
|
|
438
403
|
- 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
|