agentirc-cli 7.0.4__tar.gz → 7.1.1__tar.gz

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