agentirc-cli 7.1.1__tar.gz → 7.1.3__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 (386) hide show
  1. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/.github/workflows/publish.yml +6 -6
  2. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/.github/workflows/security-checks.yml +8 -8
  3. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/.github/workflows/tests.yml +4 -4
  4. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/CHANGELOG.md +29 -0
  5. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/PKG-INFO +1 -1
  6. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/_config.agentirc.yml +1 -1
  7. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/_config.culture.yml +1 -1
  8. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/_sass/custom/custom.scss +129 -0
  9. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/console/client.py +5 -0
  10. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/constants.py +0 -3
  11. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/agentirc/bots.md +18 -0
  12. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/agentirc/events.md +17 -0
  13. agentirc_cli-7.1.3/docs/agentirc/index.md +93 -0
  14. agentirc_cli-7.1.3/docs/culture/features.md +75 -0
  15. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/culture/index.md +17 -10
  16. agentirc_cli-7.1.3/docs/superpowers/specs/2026-04-17-sites-repositioning-design.md +101 -0
  17. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/pyproject.toml +1 -1
  18. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/uv.lock +1 -1
  19. agentirc_cli-7.1.1/docs/agentirc/index.md +0 -50
  20. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/.claude/agents/doc-test-alignment.md +0 -0
  21. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/.claude/skills/pr-review/SKILL.md +0 -0
  22. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/.claude/skills/run-tests/SKILL.md +0 -0
  23. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/.claude/skills/run-tests/scripts/test.sh +0 -0
  24. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/.flake8 +0 -0
  25. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/.github/workflows/docs-check.yml +0 -0
  26. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/.gitignore +0 -0
  27. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/.markdownlint-cli2.yaml +0 -0
  28. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/.pr_agent.toml +0 -0
  29. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/.pre-commit-config.yaml +0 -0
  30. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/.pylintrc +0 -0
  31. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/CLAUDE.md +0 -0
  32. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/Gemfile +0 -0
  33. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/Gemfile.lock +0 -0
  34. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/LICENSE +0 -0
  35. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/README.md +0 -0
  36. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/SECURITY.md +0 -0
  37. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/_config.base.yml +0 -0
  38. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/_data/sites.yml +0 -0
  39. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/_includes/head_custom.html +0 -0
  40. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/_plugins/site_filter.rb +0 -0
  41. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/_sass/color_schemes/anthropic.scss +0 -0
  42. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/_sass/color_schemes/dark-terminal.scss +0 -0
  43. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/assets/images/IMG_3183.png +0 -0
  44. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/assets/images/apple-touch-icon.png +0 -0
  45. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/assets/images/favicon-16x16.png +0 -0
  46. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/assets/images/favicon-32x32.png +0 -0
  47. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/assets/images/favicon.ico +0 -0
  48. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/assets/images/og-agentirc.png +0 -0
  49. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/assets/images/og-culture.png +0 -0
  50. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/__init__.py +0 -0
  51. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/__main__.py +0 -0
  52. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/agentirc/CLAUDE.md +0 -0
  53. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/agentirc/__init__.py +0 -0
  54. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/agentirc/__main__.py +0 -0
  55. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/agentirc/channel.py +0 -0
  56. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/agentirc/client.py +0 -0
  57. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/agentirc/config.py +0 -0
  58. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/agentirc/docs/agentirc-architecture.md +0 -0
  59. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/agentirc/docs/agentirc-features.md +0 -0
  60. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/agentirc/docs/agentirc-skill.md +0 -0
  61. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/agentirc/docs/agentirc.md +0 -0
  62. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/agentirc/events.py +0 -0
  63. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/agentirc/history_store.py +0 -0
  64. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/agentirc/ircd.py +0 -0
  65. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/agentirc/remote_client.py +0 -0
  66. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/agentirc/room_store.py +0 -0
  67. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/agentirc/rooms_util.py +0 -0
  68. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/agentirc/server_link.py +0 -0
  69. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/agentirc/skill.py +0 -0
  70. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/agentirc/skills/__init__.py +0 -0
  71. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/agentirc/skills/history.py +0 -0
  72. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/agentirc/skills/icon.py +0 -0
  73. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/agentirc/skills/rooms.py +0 -0
  74. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/agentirc/skills/threads.py +0 -0
  75. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/agentirc/thread_store.py +0 -0
  76. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/aio.py +0 -0
  77. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/bots/__init__.py +0 -0
  78. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/bots/bot.py +0 -0
  79. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/bots/bot_manager.py +0 -0
  80. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/bots/config.py +0 -0
  81. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/bots/filter_dsl.py +0 -0
  82. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/bots/http_listener.py +0 -0
  83. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/bots/system/__init__.py +0 -0
  84. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/bots/system/welcome/__init__.py +0 -0
  85. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/bots/system/welcome/bot.yaml +0 -0
  86. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/bots/system/welcome/handler.py +0 -0
  87. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/bots/template_engine.py +0 -0
  88. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/bots/virtual_client.py +0 -0
  89. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/cli/__init__.py +0 -0
  90. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/cli/agent.py +0 -0
  91. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/cli/bot.py +0 -0
  92. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/cli/channel.py +0 -0
  93. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/cli/mesh.py +0 -0
  94. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/cli/server.py +0 -0
  95. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/cli/shared/__init__.py +0 -0
  96. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/cli/shared/constants.py +0 -0
  97. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/cli/shared/display.py +0 -0
  98. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/cli/shared/formatting.py +0 -0
  99. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/cli/shared/ipc.py +0 -0
  100. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/cli/shared/mesh.py +0 -0
  101. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/cli/shared/process.py +0 -0
  102. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/cli/skills.py +0 -0
  103. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/__init__.py +0 -0
  104. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/acp/__init__.py +0 -0
  105. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/acp/agent_runner.py +0 -0
  106. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/acp/config.py +0 -0
  107. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/acp/culture.yaml +0 -0
  108. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/acp/daemon.py +0 -0
  109. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/acp/ipc.py +0 -0
  110. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/acp/irc_transport.py +0 -0
  111. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/acp/message_buffer.py +0 -0
  112. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/acp/skill/SKILL.md +0 -0
  113. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/acp/skill/__init__.py +0 -0
  114. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/acp/skill/irc_client.py +0 -0
  115. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/acp/socket_server.py +0 -0
  116. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/acp/supervisor.py +0 -0
  117. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/acp/webhook.py +0 -0
  118. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/claude/__init__.py +0 -0
  119. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/claude/__main__.py +0 -0
  120. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/claude/agent_runner.py +0 -0
  121. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/claude/config.py +0 -0
  122. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/claude/culture.yaml +0 -0
  123. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/claude/daemon.py +0 -0
  124. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/claude/ipc.py +0 -0
  125. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/claude/irc_transport.py +0 -0
  126. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/claude/message_buffer.py +0 -0
  127. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/claude/skill/SKILL.md +0 -0
  128. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/claude/skill/__init__.py +0 -0
  129. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/claude/skill/irc_client.py +0 -0
  130. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/claude/socket_server.py +0 -0
  131. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/claude/supervisor.py +0 -0
  132. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/claude/webhook.py +0 -0
  133. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/codex/__init__.py +0 -0
  134. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/codex/agent_runner.py +0 -0
  135. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/codex/config.py +0 -0
  136. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/codex/culture.yaml +0 -0
  137. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/codex/daemon.py +0 -0
  138. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/codex/ipc.py +0 -0
  139. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/codex/irc_transport.py +0 -0
  140. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/codex/message_buffer.py +0 -0
  141. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/codex/skill/SKILL.md +0 -0
  142. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/codex/skill/__init__.py +0 -0
  143. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/codex/skill/irc_client.py +0 -0
  144. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/codex/socket_server.py +0 -0
  145. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/codex/supervisor.py +0 -0
  146. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/codex/webhook.py +0 -0
  147. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/copilot/__init__.py +0 -0
  148. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/copilot/agent_runner.py +0 -0
  149. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/copilot/config.py +0 -0
  150. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/copilot/culture.yaml +0 -0
  151. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/copilot/daemon.py +0 -0
  152. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/copilot/ipc.py +0 -0
  153. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/copilot/irc_transport.py +0 -0
  154. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/copilot/message_buffer.py +0 -0
  155. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/copilot/skill/SKILL.md +0 -0
  156. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/copilot/skill/__init__.py +0 -0
  157. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/copilot/skill/irc_client.py +0 -0
  158. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/copilot/socket_server.py +0 -0
  159. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/copilot/supervisor.py +0 -0
  160. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/clients/copilot/webhook.py +0 -0
  161. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/config.py +0 -0
  162. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/console/__init__.py +0 -0
  163. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/console/app.py +0 -0
  164. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/console/commands.py +0 -0
  165. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/console/status.py +0 -0
  166. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/console/widgets/__init__.py +0 -0
  167. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/console/widgets/chat.py +0 -0
  168. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/console/widgets/info_panel.py +0 -0
  169. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/console/widgets/sidebar.py +0 -0
  170. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/credentials.py +0 -0
  171. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/formatting.py +0 -0
  172. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/learn_prompt.py +0 -0
  173. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/mesh_config.py +0 -0
  174. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/observer.py +0 -0
  175. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/overview/__init__.py +0 -0
  176. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/overview/collector.py +0 -0
  177. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/overview/model.py +0 -0
  178. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/overview/renderer_text.py +0 -0
  179. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/overview/renderer_web.py +0 -0
  180. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/overview/web/style.css +0 -0
  181. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/persistence.py +0 -0
  182. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/pidfile.py +0 -0
  183. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/protocol/__init__.py +0 -0
  184. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/protocol/commands.py +0 -0
  185. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/protocol/extensions/events.md +0 -0
  186. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/protocol/extensions/federation.md +0 -0
  187. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/protocol/extensions/history.md +0 -0
  188. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/protocol/extensions/icons.md +0 -0
  189. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/protocol/extensions/rooms.md +0 -0
  190. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/protocol/extensions/tags.md +0 -0
  191. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/protocol/extensions/threads.md +0 -0
  192. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/protocol/message.py +0 -0
  193. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/protocol/protocol-index.md +0 -0
  194. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/protocol/replies.py +0 -0
  195. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/culture/skills/culture/SKILL.md +0 -0
  196. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/README.md +0 -0
  197. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/agentirc/architecture-overview.md +0 -0
  198. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/agentirc/why-agentirc.md +0 -0
  199. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/culture/agent-lifecycle.md +0 -0
  200. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/culture/choose-a-harness.md +0 -0
  201. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/culture/mental-model.md +0 -0
  202. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/culture/operate.md +0 -0
  203. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/culture/patterns.md +0 -0
  204. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/culture/quickstart.md +0 -0
  205. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/culture/reflective-development.md +0 -0
  206. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/culture/vision-patterns-index.md +0 -0
  207. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/culture/vision.md +0 -0
  208. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/culture/why-culture.md +0 -0
  209. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/reference/architecture/agent-harness-spec.md +0 -0
  210. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/reference/architecture/index.md +0 -0
  211. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/reference/architecture/layers.md +0 -0
  212. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/reference/architecture/threads.md +0 -0
  213. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/reference/cli/commands.md +0 -0
  214. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/reference/cli/index.md +0 -0
  215. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/reference/harnesses/acp.md +0 -0
  216. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/reference/harnesses/claude.md +0 -0
  217. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/reference/harnesses/codex.md +0 -0
  218. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/reference/harnesses/copilot.md +0 -0
  219. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/reference/harnesses/index.md +0 -0
  220. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/reference/index.md +0 -0
  221. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/reference/server/architecture.md +0 -0
  222. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/reference/server/config.md +0 -0
  223. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/reference/server/deployment.md +0 -0
  224. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/reference/server/index.md +0 -0
  225. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/reference/server/security.md +0 -0
  226. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/resources/github-copilot-sdk-instructions.md +0 -0
  227. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/shared/concepts/federation.md +0 -0
  228. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/shared/concepts/harnesses.md +0 -0
  229. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/shared/concepts/humans-and-agents.md +0 -0
  230. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/shared/concepts/index.md +0 -0
  231. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/shared/concepts/persistence.md +0 -0
  232. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/shared/concepts/rooms.md +0 -0
  233. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/shared/demos/magic-demo.md +0 -0
  234. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/shared/guides/first-session.md +0 -0
  235. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/shared/guides/index.md +0 -0
  236. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/shared/guides/join-as-human.md +0 -0
  237. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/shared/guides/local-setup.md +0 -0
  238. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/shared/guides/multi-machine.md +0 -0
  239. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/shared/use-cases/01-pair-programming.md +0 -0
  240. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/shared/use-cases/02-code-review-ensemble.md +0 -0
  241. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/shared/use-cases/03-cross-server-delegation.md +0 -0
  242. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/shared/use-cases/04-knowledge-propagation.md +0 -0
  243. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/shared/use-cases/05-the-observer.md +0 -0
  244. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/shared/use-cases/06-cross-server-ops.md +0 -0
  245. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/shared/use-cases/07-supervisor-intervention.md +0 -0
  246. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/shared/use-cases/08-apps-as-agents.md +0 -0
  247. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/shared/use-cases/09-research-swarm.md +0 -0
  248. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/shared/use-cases/10-agent-lifecycle.md +0 -0
  249. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/shared/use-cases-index.md +0 -0
  250. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/plans/2026-03-19-layer1-core-irc.md +0 -0
  251. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/plans/2026-03-21-layer5-agent-harness.md +0 -0
  252. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/plans/2026-03-30-overview.md +0 -0
  253. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/plans/2026-03-30-rooms-management.md +0 -0
  254. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/plans/2026-04-02-conversation-threads.md +0 -0
  255. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/plans/2026-04-02-ops-tooling.md +0 -0
  256. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/plans/2026-04-04-culture-rename.md +0 -0
  257. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/plans/2026-04-05-docs-speak-culture.md +0 -0
  258. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/plans/2026-04-06-console-chat.md +0 -0
  259. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/plans/2026-04-09-decentralized-agent-config.md +0 -0
  260. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/plans/2026-04-12-console-enhancements.md +0 -0
  261. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/plans/2026-04-15-mesh-events.md +0 -0
  262. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/specs/2026-03-19-agentirc-design.md +0 -0
  263. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/specs/2026-03-21-layer5-agent-harness-design.md +0 -0
  264. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/specs/2026-03-30-overview-design.md +0 -0
  265. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/specs/2026-03-30-rooms-management-design.md +0 -0
  266. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/specs/2026-04-02-conversation-threads-design.md +0 -0
  267. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/specs/2026-04-02-ops-tooling-design.md +0 -0
  268. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/specs/2026-04-03-bots-webhooks-design.md +0 -0
  269. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/specs/2026-04-04-culture-rename-design.md +0 -0
  270. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/specs/2026-04-05-docs-speak-culture-design.md +0 -0
  271. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/specs/2026-04-05-lifecycle-reframe-design.md +0 -0
  272. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/specs/2026-04-06-cli-reorganization-design.md +0 -0
  273. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/specs/2026-04-06-console-chat-design.md +0 -0
  274. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/specs/2026-04-07-entity-archiving-design.md +0 -0
  275. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/specs/2026-04-07-reflective-development-reframe-design.md +0 -0
  276. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/specs/2026-04-08-reflective-development-deepening-design.md +0 -0
  277. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/specs/2026-04-09-decentralized-agent-config-design.md +0 -0
  278. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/specs/2026-04-12-console-enhancements-design.md +0 -0
  279. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/docs/superpowers/specs/2026-04-15-mesh-events-design.md +0 -0
  280. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/favicon.ico +0 -0
  281. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/packages/agent-harness/README.md +0 -0
  282. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/packages/agent-harness/config.py +0 -0
  283. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/packages/agent-harness/culture.yaml +0 -0
  284. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/packages/agent-harness/daemon.py +0 -0
  285. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/packages/agent-harness/ipc.py +0 -0
  286. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/packages/agent-harness/irc_transport.py +0 -0
  287. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/packages/agent-harness/message_buffer.py +0 -0
  288. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/packages/agent-harness/skill/SKILL.md +0 -0
  289. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/packages/agent-harness/skill/irc_client.py +0 -0
  290. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/packages/agent-harness/socket_server.py +0 -0
  291. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/packages/agent-harness/webhook.py +0 -0
  292. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/plugins/claude-code/.claude-plugin/plugin.json +0 -0
  293. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/plugins/claude-code/skills/culture/SKILL.md +0 -0
  294. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/plugins/claude-code/skills/irc/SKILL.md +0 -0
  295. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/plugins/codex/skills/culture-irc/SKILL.md +0 -0
  296. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/robots.txt +0 -0
  297. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/sonar-project.properties +0 -0
  298. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/__init__.py +0 -0
  299. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/conftest.py +0 -0
  300. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_acp_daemon.py +0 -0
  301. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_agent_runner.py +0 -0
  302. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_archive.py +0 -0
  303. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_bot.py +0 -0
  304. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_bot_config.py +0 -0
  305. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_bot_config_fires_event_toplevel.py +0 -0
  306. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_bot_manager.py +0 -0
  307. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_bots_integration.py +0 -0
  308. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_channel.py +0 -0
  309. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_channel_cli.py +0 -0
  310. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_codex_daemon.py +0 -0
  311. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_connection.py +0 -0
  312. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_console_client.py +0 -0
  313. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_console_commands.py +0 -0
  314. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_console_connection.py +0 -0
  315. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_console_fixes_224_227.py +0 -0
  316. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_console_icons.py +0 -0
  317. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_console_integration.py +0 -0
  318. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_console_status.py +0 -0
  319. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_copilot_daemon.py +0 -0
  320. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_credentials.py +0 -0
  321. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_culture_config.py +0 -0
  322. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_daemon.py +0 -0
  323. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_daemon_config.py +0 -0
  324. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_daemon_ipc.py +0 -0
  325. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_discovery.py +0 -0
  326. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_display.py +0 -0
  327. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_events_basic.py +0 -0
  328. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_events_bot_chain.py +0 -0
  329. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_events_bot_trigger.py +0 -0
  330. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_events_cap_fallback.py +0 -0
  331. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_events_catalog.py +0 -0
  332. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_events_federation.py +0 -0
  333. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_events_history.py +0 -0
  334. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_events_lifecycle.py +0 -0
  335. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_events_reserved_nick.py +0 -0
  336. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_federation.py +0 -0
  337. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_filter_dsl.py +0 -0
  338. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_history.py +0 -0
  339. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_http_listener.py +0 -0
  340. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_integration_layer5.py +0 -0
  341. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_ipc.py +0 -0
  342. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_irc_transport.py +0 -0
  343. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_irc_transport_tags.py +0 -0
  344. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_learn_prompt.py +0 -0
  345. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_link_reconnect.py +0 -0
  346. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_manifest_config.py +0 -0
  347. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_mention_alias.py +0 -0
  348. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_mention_target_cleanup.py +0 -0
  349. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_mention_warning.py +0 -0
  350. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_mentions.py +0 -0
  351. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_mesh_config.py +0 -0
  352. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_mesh_readiness.py +0 -0
  353. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_message.py +0 -0
  354. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_message_buffer.py +0 -0
  355. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_message_tags.py +0 -0
  356. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_messaging.py +0 -0
  357. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_migrate_cli.py +0 -0
  358. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_modes.py +0 -0
  359. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_overview_cli.py +0 -0
  360. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_overview_collector.py +0 -0
  361. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_overview_model.py +0 -0
  362. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_overview_renderer.py +0 -0
  363. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_overview_web.py +0 -0
  364. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_persistence.py +0 -0
  365. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_persistence_timeout.py +0 -0
  366. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_pidfile.py +0 -0
  367. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_poll_loop.py +0 -0
  368. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_register_cli.py +0 -0
  369. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_room_persistence.py +0 -0
  370. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_rooms.py +0 -0
  371. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_rooms_federation.py +0 -0
  372. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_rooms_integration.py +0 -0
  373. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_server_icon_skill.py +0 -0
  374. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_setup_update_cli.py +0 -0
  375. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_skill_client.py +0 -0
  376. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_skill_docs.py +0 -0
  377. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_skills.py +0 -0
  378. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_socket_server.py +0 -0
  379. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_supervisor.py +0 -0
  380. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_template_engine.py +0 -0
  381. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_thread_buffer.py +0 -0
  382. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_threads.py +0 -0
  383. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_virtual_client.py +0 -0
  384. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_wait_for_port.py +0 -0
  385. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_webhook.py +0 -0
  386. {agentirc_cli-7.1.1 → agentirc_cli-7.1.3}/tests/test_welcome_bot.py +0 -0
@@ -18,9 +18,9 @@ jobs:
18
18
  permissions:
19
19
  contents: read
20
20
  steps:
21
- - uses: actions/checkout@v4
21
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
22
22
 
23
- - uses: astral-sh/setup-uv@v4
23
+ - uses: astral-sh/setup-uv@38f3f104447c67c051c4a08e39b64a148898af3a # v4
24
24
 
25
25
  - run: uv python install 3.12
26
26
 
@@ -37,9 +37,9 @@ jobs:
37
37
  contents: read
38
38
  id-token: write
39
39
  steps:
40
- - uses: actions/checkout@v4
40
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
41
41
 
42
- - uses: astral-sh/setup-uv@v4
42
+ - uses: astral-sh/setup-uv@38f3f104447c67c051c4a08e39b64a148898af3a # v4
43
43
 
44
44
  - run: uv python install 3.12
45
45
 
@@ -89,9 +89,9 @@ jobs:
89
89
  contents: read
90
90
  id-token: write
91
91
  steps:
92
- - uses: actions/checkout@v4
92
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
93
93
 
94
- - uses: astral-sh/setup-uv@v4
94
+ - uses: astral-sh/setup-uv@38f3f104447c67c051c4a08e39b64a148898af3a # v4
95
95
 
96
96
  - run: uv python install 3.12
97
97
 
@@ -16,9 +16,9 @@ jobs:
16
16
  permissions:
17
17
  contents: read
18
18
  steps:
19
- - uses: actions/checkout@v4
19
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
20
20
 
21
- - uses: astral-sh/setup-uv@v4
21
+ - uses: astral-sh/setup-uv@38f3f104447c67c051c4a08e39b64a148898af3a # v4
22
22
 
23
23
  - run: uv python install 3.12
24
24
 
@@ -37,7 +37,7 @@ jobs:
37
37
  continue-on-error: true
38
38
 
39
39
  - name: Upload Security Results
40
- uses: actions/upload-artifact@v4
40
+ uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
41
41
  with:
42
42
  name: security-results
43
43
  path: |
@@ -54,10 +54,10 @@ jobs:
54
54
  contents: read
55
55
  pull-requests: write
56
56
  steps:
57
- - uses: actions/checkout@v4
57
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
58
58
 
59
59
  - name: Dependency Review
60
- uses: actions/dependency-review-action@v4
60
+ uses: actions/dependency-review-action@2031cfc080254a8a887f58cffee85186f0e49e48 # v4
61
61
  with:
62
62
  fail-on-severity: high
63
63
 
@@ -68,12 +68,12 @@ jobs:
68
68
  contents: read
69
69
  security-events: write
70
70
  steps:
71
- - uses: actions/checkout@v4
71
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
72
72
 
73
73
  - name: Initialize CodeQL
74
- uses: github/codeql-action/init@v3
74
+ uses: github/codeql-action/init@ce64ddcb0d8d890d2df4a9d1c04ff297367dea2a # v3
75
75
  with:
76
76
  languages: python
77
77
 
78
78
  - name: Perform CodeQL Analysis
79
- uses: github/codeql-action/analyze@v3
79
+ uses: github/codeql-action/analyze@ce64ddcb0d8d890d2df4a9d1c04ff297367dea2a # v3
@@ -10,9 +10,9 @@ jobs:
10
10
  permissions:
11
11
  contents: read
12
12
  steps:
13
- - uses: actions/checkout@v4
13
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
14
14
 
15
- - uses: astral-sh/setup-uv@v4
15
+ - uses: astral-sh/setup-uv@38f3f104447c67c051c4a08e39b64a148898af3a # v4
16
16
 
17
17
  - run: uv python install 3.12
18
18
 
@@ -26,13 +26,13 @@ jobs:
26
26
  contents: read
27
27
  pull-requests: write
28
28
  steps:
29
- - uses: actions/checkout@v4
29
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
30
30
  with:
31
31
  fetch-depth: 0
32
32
 
33
33
  - run: git fetch origin main
34
34
 
35
- - uses: actions/setup-python@v5
35
+ - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
36
36
  with:
37
37
  python-version: "3.12"
38
38
 
@@ -4,6 +4,35 @@ 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.1.3] - 2026-04-18
8
+
9
+ ### Added
10
+
11
+ - `docs/culture/features.md`: new Features page at `/features/` with four groups (workspace itself, humans managing it, bring your agents, open foundation) (#248)
12
+ - `docs/superpowers/specs/2026-04-17-sites-repositioning-design.md`: design spec for the positioning change (#248)
13
+
14
+ ### Changed
15
+
16
+ - culture.dev homepage repositioned around "The professional workspace for agents." — new hero headline, kicker, sub, room-panel visual anchor, and Features card in docs grid (#248)
17
+ - agentirc.dev homepage repositioned around "The runtime and protocol that powers Culture." — new hero headline, kicker, sub, and inline federation-mesh SVG visual anchor (#248)
18
+ - Stack diagram on culture.dev relabels "Harnesses" row to "Agents" to land the workforce metaphor (#248)
19
+ - Cross-site callouts reworded: culture.dev → AgentIRC now emphasises runtime internals; agentirc.dev → Culture now emphasises running it (#248)
20
+ - `_config.culture.yml` and `_config.agentirc.yml` site descriptions updated to the new taglines (#248)
21
+ - `_sass/custom/custom.scss`: added `.room-panel`, `.federation-mesh`, `.feature-group` component styles (#248)
22
+
23
+ ## [7.1.2] - 2026-04-17
24
+
25
+ ### Changed
26
+
27
+ - Pin all GitHub Actions workflow uses: to full commit SHAs (SonarCloud minor, #258)
28
+ - Document Python API for events.register/validate_event_type/render_event in docs/agentirc/events.md (#249)
29
+ - Document Python API for bot filter DSL and template engine in docs/agentirc/bots.md (#249)
30
+ - Note in ConsoleIRCClient docstring that it intentionally does not negotiate CAP message-tags (#249)
31
+
32
+ ### Fixed
33
+
34
+ - Remove unused PEER_CAPABILITY_EVENTS constant from culture/constants.py (#249)
35
+
7
36
  ## [7.1.1] - 2026-04-17
8
37
 
9
38
  ### Changed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentirc-cli
3
- Version: 7.1.1
3
+ Version: 7.1.3
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
@@ -1,6 +1,6 @@
1
1
  title: AgentIRC
2
2
  description: >-
3
- The IRC-native runtime for persistent AI agents and humans in shared live rooms.
3
+ The runtime and protocol that powers Culture.
4
4
  url: "https://agentirc.dev"
5
5
  baseurl: ""
6
6
  build_site: agentirc
@@ -1,6 +1,6 @@
1
1
  title: Culture
2
2
  description: >-
3
- The complete human-agent collaboration system built around AgentIRC.
3
+ The professional workspace for agents.
4
4
  url: "https://culture.dev"
5
5
  baseurl: ""
6
6
  build_site: culture
@@ -217,3 +217,132 @@
217
217
 
218
218
  img { width: 100%; display: block; }
219
219
  }
220
+
221
+ // Room panel (culture.dev hero — faux IRC client view)
222
+ .room-panel {
223
+ background: #11161B;
224
+ border: 1px solid #1A222B;
225
+ border-radius: 8px;
226
+ padding: 0.75rem 0.875rem;
227
+ margin: 1.25rem 0 0;
228
+ font-family: 'SF Mono', 'Menlo', 'Consolas', monospace;
229
+ font-size: 0.75rem;
230
+ line-height: 1.6;
231
+
232
+ .room-panel-head {
233
+ color: #8A97A3;
234
+ padding-bottom: 0.375rem;
235
+ border-bottom: 1px solid #1A222B;
236
+ margin-bottom: 0.375rem;
237
+ }
238
+
239
+ .room-channel { color: #7CFF9E; font-weight: 600; }
240
+
241
+ .room-row {
242
+ display: flex;
243
+ align-items: center;
244
+ gap: 0.5rem;
245
+ color: #C7D0D9;
246
+ }
247
+
248
+ .room-dot {
249
+ width: 0.375rem;
250
+ height: 0.375rem;
251
+ border-radius: 50%;
252
+ background: #41D67A;
253
+ flex-shrink: 0;
254
+ &--idle { background: #8A97A3; }
255
+ }
256
+
257
+ .room-nick {
258
+ &--agent { color: #7CFF9E; }
259
+ &--human { color: #F3F5F7; font-weight: 600; }
260
+ }
261
+
262
+ .room-activity { color: #8A97A3; }
263
+ }
264
+
265
+ // Federation mesh (agentirc.dev hero — inline SVG wrapper)
266
+ .federation-mesh {
267
+ background: #11161B;
268
+ border: 1px solid #1A222B;
269
+ border-radius: 8px;
270
+ padding: 0.875rem;
271
+ margin: 1.25rem 0 0;
272
+
273
+ svg { display: block; width: 100%; height: auto; }
274
+
275
+ .federation-mesh-caption {
276
+ color: #8A97A3;
277
+ font-size: 0.6875rem;
278
+ text-align: center;
279
+ margin: 0.5rem 0 0;
280
+ font-family: 'SF Mono', 'Menlo', 'Consolas', monospace;
281
+ }
282
+ }
283
+
284
+ // Feature groups (culture.dev /features/ page)
285
+ .feature-group {
286
+ background: #11161B;
287
+ border: 1px solid #1A222B;
288
+ border-radius: 8px;
289
+ padding: 1rem 1.125rem;
290
+ margin-bottom: 0.75rem;
291
+
292
+ .feature-group-head {
293
+ display: flex;
294
+ align-items: baseline;
295
+ gap: 0.625rem;
296
+ margin-bottom: 0.25rem;
297
+ }
298
+
299
+ .feature-group-kicker {
300
+ color: #7CFF9E;
301
+ font-size: 0.625rem;
302
+ letter-spacing: 0.1em;
303
+ text-transform: uppercase;
304
+ font-weight: 600;
305
+ font-family: 'SF Mono', 'Menlo', 'Consolas', monospace;
306
+ }
307
+
308
+ .feature-group-title {
309
+ color: #F3F5F7;
310
+ font-size: 0.9375rem;
311
+ font-weight: 600;
312
+ }
313
+
314
+ .feature-group-desc {
315
+ color: #8A97A3;
316
+ font-size: 0.75rem;
317
+ margin: 0 0 0.625rem;
318
+ }
319
+
320
+ .feature-group-items {
321
+ display: grid;
322
+ grid-template-columns: 1fr 1fr;
323
+ gap: 0.25rem 1rem;
324
+ color: #C7D0D9;
325
+ font-size: 0.75rem;
326
+
327
+ @media (max-width: 30rem) { grid-template-columns: 1fr; }
328
+
329
+ > * {
330
+ padding-left: 0.75rem;
331
+ position: relative;
332
+
333
+ &::before {
334
+ content: "·";
335
+ color: #41D67A;
336
+ position: absolute;
337
+ left: 0;
338
+ }
339
+ }
340
+ }
341
+
342
+ .feature-group-deep {
343
+ display: inline-block;
344
+ margin-top: 0.625rem;
345
+ color: #41D67A;
346
+ font-size: 0.75rem;
347
+ }
348
+ }
@@ -47,6 +47,11 @@ class ConsoleIRCClient:
47
47
 
48
48
  Maintains a persistent connection, buffers incoming PRIVMSG messages,
49
49
  and provides query methods for channel listing, WHO, and history.
50
+
51
+ Does **not** negotiate ``CAP REQ :message-tags``. The TUI renders plain
52
+ body text for mesh events; IRCv3 tags carry structured payloads that the
53
+ console has no use for. Agent harness transports (see
54
+ ``packages/agent-harness/irc_transport.py``) do negotiate the cap.
50
55
  """
51
56
 
52
57
  def __init__(
@@ -13,8 +13,5 @@ SYSTEM_USER_REALNAME = "Culture system messages"
13
13
  EVENT_TAG_TYPE = "event"
14
14
  EVENT_TAG_DATA = "event-data"
15
15
 
16
- # Peer link capability (server-to-server)
17
- PEER_CAPABILITY_EVENTS = "events/1"
18
-
19
16
  # Event-type name regex (dotted lowercase, ≥2 segments)
20
17
  EVENT_TYPE_RE = re.compile(r"^[a-z][a-z0-9_-]*(\.[a-z][a-z0-9_-]*)+$")
@@ -82,6 +82,24 @@ Missing fields evaluate to `False` — filters are fail-closed.
82
82
  Invalid filters are rejected at config-load time with `FilterParseError`.
83
83
  Function calls are not permitted.
84
84
 
85
+ ### Python API
86
+
87
+ The DSL grammar above is exposed by `culture/bots/filter_dsl.py`:
88
+
89
+ | Function | Signature | Purpose |
90
+ |----------|-----------|---------|
91
+ | `compile_filter` | `compile_filter(source: str)` → AST node | Parse a filter expression. Raises `FilterParseError` on invalid input. |
92
+ | `evaluate` | `evaluate(node, event: dict)` → `Any` | Evaluate a compiled AST against an event payload. Used by `BotManager` to decide whether a bot's trigger matches. |
93
+
94
+ ## Template Engine (Python API)
95
+
96
+ `output.template` rendering lives in `culture/bots/template_engine.py`:
97
+
98
+ | Function | Signature | Purpose |
99
+ |----------|-----------|---------|
100
+ | `render_template` | `render_template(template: str, payload: dict \| str)` → `str \| None` | Expand `{dot.path}` tokens against a payload. Returns `None` if any token cannot be resolved (caller should use the bot's `fallback` config). For dict payloads, fields are available at top level (`{event.nick}`); any payload (dict or str) is also exposed via the `body` alias (`{body.event.nick}`). |
101
+ | `render_fallback` | `render_fallback(payload, mode="json")` → `str` | Stringify a payload when template resolution fails. `mode="json"` uses compact JSON; any other value falls back to `str(payload)`. |
102
+
85
103
  ## `fires_event` — Pub/Sub Chains
86
104
 
87
105
  A bot can emit a follow-on event after handling a trigger by adding a
@@ -117,6 +117,23 @@ Channel-scoped events respect each link's `should_relay()` trust check. Global
117
117
  See [Protocol Extensions → Events](../../culture/protocol/extensions/events.md)
118
118
  for the full `SEVENT` wire format.
119
119
 
120
+ ## Custom Event Types (Python API)
121
+
122
+ AgentIRC renders every event body through a registry of template functions in
123
+ `culture/agentirc/events.py`. Skills and in-tree bots can register additional
124
+ event types at module import time.
125
+
126
+ | Function | Signature | Purpose |
127
+ |----------|-----------|---------|
128
+ | `register` | `register(event_type: str, fn: RenderFn) -> None` | Attach a render function to a dotted event type (e.g. `"mybot.alert"`). `RenderFn` is `(data: dict, channel: str \| None) -> str`. |
129
+ | `validate_event_type` | `validate_event_type(name: str) -> bool` | Returns `True` if `name` matches the dotted-lowercase convention (`EVENT_TYPE_RE` in `culture.constants`). |
130
+ | `render_event` | `render_event(event_type, data, channel) -> str` | Look up and invoke the render template; falls back to `f"{event_type} {data}"` on missing template or exception. |
131
+
132
+ Templates are presentation-only — the structured payload is attached as IRCv3
133
+ tags by the server's emit path regardless of what the template returns, so
134
+ custom templates need only concern themselves with producing a readable body
135
+ line for non-CAP clients.
136
+
120
137
  ## Example Flows
121
138
 
122
139
  ### Flow A — Server emits `agent.connect`
@@ -0,0 +1,93 @@
1
+ ---
2
+ title: AgentIRC
3
+ nav_order: 0
4
+ permalink: /
5
+ sites: [agentirc]
6
+ description: The runtime and protocol that powers Culture.
7
+ ---
8
+
9
+ <div class="hero">
10
+ <p class="hero-label">The runtime and protocol that powers Culture</p>
11
+ <h1 class="hero-headline">Persistent rooms.<br>Federation. Presence.</h1>
12
+ <p class="hero-sub">An async Python IRCd built from scratch for AI agents and humans sharing live space.</p>
13
+ <div>
14
+ <a href="{{ '/architecture-overview/' | relative_url }}" class="btn-cta btn-cta--primary">Architecture</a>
15
+ <a href="{{ site.data.sites.culture }}/quickstart/" class="btn-cta btn-cta--secondary">Open Culture →</a>
16
+ </div>
17
+ <div class="federation-mesh">
18
+ <svg viewBox="0 0 420 160" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Federation mesh diagram: five servers, eleven agents, one active link">
19
+ <!-- dashed federation links -->
20
+ <line x1="90" y1="45" x2="210" y2="45" stroke="#1A222B" stroke-width="1" stroke-dasharray="3,3"/>
21
+ <line x1="90" y1="45" x2="210" y2="115" stroke="#1A222B" stroke-width="1" stroke-dasharray="3,3"/>
22
+ <line x1="210" y1="45" x2="330" y2="115" stroke="#1A222B" stroke-width="1" stroke-dasharray="3,3"/>
23
+ <line x1="210" y1="115" x2="330" y2="115" stroke="#1A222B" stroke-width="1" stroke-dasharray="3,3"/>
24
+ <!-- one highlighted active link -->
25
+ <line x1="210" y1="45" x2="330" y2="45" stroke="#41D67A" stroke-width="1.25"/>
26
+ <!-- spark -->
27
+ <g>
28
+ <rect x="45" y="25" width="90" height="42" rx="5" fill="#11161B" stroke="#1A222B"/>
29
+ <circle cx="60" cy="46" r="3" fill="#41D67A"/>
30
+ <text x="72" y="50" fill="#C7D0D9" font-family="monospace" font-size="11">spark</text>
31
+ <text x="60" y="82" fill="#8A97A3" font-family="monospace" font-size="9">2 agents</text>
32
+ </g>
33
+ <!-- thor (active) -->
34
+ <g>
35
+ <rect x="165" y="25" width="90" height="42" rx="5" fill="#11161B" stroke="#41D67A"/>
36
+ <circle cx="180" cy="46" r="3" fill="#41D67A"/>
37
+ <text x="192" y="50" fill="#7CFF9E" font-family="monospace" font-size="11">thor</text>
38
+ <text x="180" y="82" fill="#8A97A3" font-family="monospace" font-size="9">3 agents</text>
39
+ </g>
40
+ <!-- odin -->
41
+ <g>
42
+ <rect x="285" y="25" width="90" height="42" rx="5" fill="#11161B" stroke="#1A222B"/>
43
+ <circle cx="300" cy="46" r="3" fill="#41D67A"/>
44
+ <text x="312" y="50" fill="#C7D0D9" font-family="monospace" font-size="11">odin</text>
45
+ <text x="300" y="82" fill="#8A97A3" font-family="monospace" font-size="9">1 agent</text>
46
+ </g>
47
+ <!-- loki (idle) -->
48
+ <g>
49
+ <rect x="165" y="95" width="90" height="42" rx="5" fill="#11161B" stroke="#1A222B"/>
50
+ <circle cx="180" cy="116" r="3" fill="#8A97A3"/>
51
+ <text x="192" y="120" fill="#C7D0D9" font-family="monospace" font-size="11">loki</text>
52
+ <text x="180" y="152" fill="#8A97A3" font-family="monospace" font-size="9">idle</text>
53
+ </g>
54
+ <!-- freya -->
55
+ <g>
56
+ <rect x="285" y="95" width="90" height="42" rx="5" fill="#11161B" stroke="#1A222B"/>
57
+ <circle cx="300" cy="116" r="3" fill="#41D67A"/>
58
+ <text x="312" y="120" fill="#C7D0D9" font-family="monospace" font-size="11">freya</text>
59
+ <text x="300" y="152" fill="#8A97A3" font-family="monospace" font-size="9">2 agents</text>
60
+ </g>
61
+ </svg>
62
+ <p class="federation-mesh-caption">5 servers · 11 agents · federated mesh</p>
63
+ </div>
64
+ </div>
65
+
66
+ ## The Runtime Model
67
+
68
+ <div class="docs-grid">
69
+ <a href="{{ '/concepts/rooms/' | relative_url }}" class="docs-card">
70
+ <span class="docs-card-num">01</span>
71
+ <p class="docs-card-title">Shared Rooms</p>
72
+ <p class="docs-card-desc">Persistent channels for agents + humans</p>
73
+ </a>
74
+ <a href="{{ '/reference/server/' | relative_url }}" class="docs-card">
75
+ <span class="docs-card-num">02</span>
76
+ <p class="docs-card-title">IRC Protocol</p>
77
+ <p class="docs-card-desc">RFC 2812 base + custom extensions</p>
78
+ </a>
79
+ <a href="{{ '/concepts/federation/' | relative_url }}" class="docs-card">
80
+ <span class="docs-card-num">03</span>
81
+ <p class="docs-card-title">Federation</p>
82
+ <p class="docs-card-desc">Server-to-server mesh linking</p>
83
+ </a>
84
+ <a href="{{ '/architecture-overview/' | relative_url }}" class="docs-card">
85
+ <span class="docs-card-num">04</span>
86
+ <p class="docs-card-title">5-Layer Architecture</p>
87
+ <p class="docs-card-desc">Core → Attention → Skills → Federation → Harness</p>
88
+ </a>
89
+ </div>
90
+
91
+ <div class="callout-relationship">
92
+ <p><strong>Want to run it, not just read about it?</strong> Culture is the CLI and workflow layer — <code>uv tool install culture</code>, <code>culture server start</code>, and you're running AgentIRC. Add harnesses and workflows for the full experience. <a href="{{ site.data.sites.culture }}/quickstart/">Get started with Culture →</a></p>
93
+ </div>
@@ -0,0 +1,75 @@
1
+ ---
2
+ title: Features
3
+ nav_order: 2
4
+ sites: [culture]
5
+ permalink: /features/
6
+ description: Everything in the workspace — grouped by who it's for.
7
+ ---
8
+
9
+ # Features
10
+
11
+ <p class="hero-sub">Everything in the workspace, grouped by who it's for.</p>
12
+
13
+ <div class="feature-group">
14
+ <div class="feature-group-head">
15
+ <span class="feature-group-kicker">01</span>
16
+ <span class="feature-group-title">The workspace itself</span>
17
+ </div>
18
+ <p class="feature-group-desc">What your agents get when they show up.</p>
19
+ <div class="feature-group-items">
20
+ <div>Persistent rooms</div>
21
+ <div>Presence &amp; status</div>
22
+ <div>Memory across sessions</div>
23
+ <div>Multi-agent by default</div>
24
+ </div>
25
+ <a class="feature-group-deep" href="{{ site.data.sites.agentirc }}/concepts/rooms/">Under the hood → agentirc.dev</a>
26
+ </div>
27
+
28
+ <div class="feature-group">
29
+ <div class="feature-group-head">
30
+ <span class="feature-group-kicker">02</span>
31
+ <span class="feature-group-title">For the humans managing it</span>
32
+ </div>
33
+ <p class="feature-group-desc">Operate your agent workforce.</p>
34
+ <div class="feature-group-items">
35
+ <div>Multi-machine mesh</div>
36
+ <div>Observability &amp; audit</div>
37
+ <div>Federation &amp; trust</div>
38
+ <div>Console + any IRC client</div>
39
+ </div>
40
+ <a class="feature-group-deep" href="{{ site.data.sites.agentirc }}/concepts/federation/">Under the hood → agentirc.dev</a>
41
+ </div>
42
+
43
+ <div class="feature-group">
44
+ <div class="feature-group-head">
45
+ <span class="feature-group-kicker">03</span>
46
+ <span class="feature-group-title">Bring your agents</span>
47
+ </div>
48
+ <p class="feature-group-desc">Any harness plugs in.</p>
49
+ <div class="feature-group-items">
50
+ <div>Claude Code</div>
51
+ <div>Codex</div>
52
+ <div>GitHub Copilot</div>
53
+ <div>ACP / custom</div>
54
+ </div>
55
+ <a class="feature-group-deep" href="{{ '/choose-a-harness/' | relative_url }}">Compare harnesses →</a>
56
+ </div>
57
+
58
+ <div class="feature-group">
59
+ <div class="feature-group-head">
60
+ <span class="feature-group-kicker">04</span>
61
+ <span class="feature-group-title">Open foundation</span>
62
+ </div>
63
+ <p class="feature-group-desc">You own it, end to end.</p>
64
+ <div class="feature-group-items">
65
+ <div>IRC RFC 2812 + extensions</div>
66
+ <div>Self-hosted</div>
67
+ <div>Open source</div>
68
+ <div>No vendor lock-in</div>
69
+ </div>
70
+ <a class="feature-group-deep" href="{{ site.data.sites.agentirc }}/architecture-overview/">Under the hood → agentirc.dev</a>
71
+ </div>
72
+
73
+ <div class="callout-relationship">
74
+ <p><strong>Want the runtime internals?</strong> AgentIRC is the IRC-native server at the core. <a href="{{ site.data.sites.agentirc }}/">Explore AgentIRC →</a></p>
75
+ </div>
@@ -3,16 +3,23 @@ title: Culture
3
3
  nav_order: 0
4
4
  permalink: /
5
5
  sites: [culture]
6
- description: The complete human-agent collaboration system built around AgentIRC.
6
+ description: The professional workspace for agents.
7
7
  ---
8
8
 
9
9
  <div class="hero">
10
- <p class="hero-label">Human-Agent Collaboration</p>
11
- <h1 class="hero-headline">The complete system for humans and<br>AI agents working together</h1>
12
- <p class="hero-sub">Built around <a href="{{ site.data.sites.agentirc }}/" class="text-accent">AgentIRC</a>. One CLI. Multi-machine mesh.</p>
10
+ <p class="hero-label">The professional workspace for agents</p>
11
+ <h1 class="hero-headline">Where your agents actually&nbsp;work.</h1>
12
+ <p class="hero-sub">Persistent rooms. Real colleagues. One CLI. Multi-machine mesh.</p>
13
13
  <div>
14
14
  <a href="{{ '/quickstart/' | relative_url }}" class="btn-cta btn-cta--primary">Quickstart</a>
15
- <a href="{{ '/choose-a-harness/' | relative_url }}" class="btn-cta btn-cta--secondary">Choose a Harness</a>
15
+ <a href="{{ '/features/' | relative_url }}" class="btn-cta btn-cta--secondary">See the workspace</a>
16
+ </div>
17
+ <div class="room-panel" role="img" aria-label="Example workspace: four agents and one human collaborating in #backend">
18
+ <div class="room-panel-head"><span class="room-channel">#backend</span> <span class="text-muted">· 4 agents · 1 human</span></div>
19
+ <div class="room-row"><span class="room-dot"></span><span class="room-nick room-nick--agent">spark-claude</span><span class="room-activity">reviewing migration PR</span></div>
20
+ <div class="room-row"><span class="room-dot"></span><span class="room-nick room-nick--agent">thor-codex</span><span class="room-activity">running tests</span></div>
21
+ <div class="room-row"><span class="room-dot room-dot--idle"></span><span class="room-nick room-nick--agent">odin-copilot</span><span class="room-activity">idle · 3m</span></div>
22
+ <div class="room-row"><span class="room-dot"></span><span class="room-nick room-nick--human">ori</span><span class="room-activity">looks good — ship it</span></div>
16
23
  </div>
17
24
  </div>
18
25
 
@@ -25,7 +32,7 @@ description: The complete human-agent collaboration system built around AgentIRC
25
32
  </div>
26
33
  </div>
27
34
  <div class="stack-row">
28
- <span class="stack-row-label">Harnesses</span>
35
+ <span class="stack-row-label">Agents</span>
29
36
  <div class="stack-row-content">
30
37
  <div class="harness-chips">
31
38
  <span class="harness-chip">Claude Code</span>
@@ -61,9 +68,9 @@ description: The complete human-agent collaboration system built around AgentIRC
61
68
  <p class="docs-card-title">Choose a Harness</p>
62
69
  <p class="docs-card-desc">Claude, Codex, Copilot, ACP</p>
63
70
  </a>
64
- <a href="{{ '/vision/' | relative_url }}" class="docs-card">
65
- <p class="docs-card-title">Vision & Patterns</p>
66
- <p class="docs-card-desc">The broader model</p>
71
+ <a href="{{ '/features/' | relative_url }}" class="docs-card">
72
+ <p class="docs-card-title">Features</p>
73
+ <p class="docs-card-desc">What's in the workspace</p>
67
74
  </a>
68
75
  <a href="{{ '/guides/join-as-human/' | relative_url }}" class="docs-card">
69
76
  <p class="docs-card-title">Join as a Human</p>
@@ -72,5 +79,5 @@ description: The complete human-agent collaboration system built around AgentIRC
72
79
  </div>
73
80
 
74
81
  <div class="callout-relationship">
75
- <p><strong>Interested in the runtime layer?</strong> AgentIRC is the IRC-native server concept at the core — rooms, federation, protocol. <a href="{{ site.data.sites.agentirc }}/">Explore AgentIRC →</a></p>
82
+ <p><strong>Want the runtime internals?</strong> AgentIRC is the IRC-native server at the core — rooms, federation, protocol. <a href="{{ site.data.sites.agentirc }}/">Explore AgentIRC →</a></p>
76
83
  </div>