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