devops-bot-sdk 1.7.36__tar.gz → 1.7.41__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 (300) hide show
  1. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/PKG-INFO +1 -1
  2. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/devops_bot_sdk.egg-info/PKG-INFO +1 -1
  3. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/devops_bot_sdk.egg-info/SOURCES.txt +10 -0
  4. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/__init__.py +2 -2
  5. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/cli.py +6 -0
  6. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/faqs.py +11 -0
  7. devops_bot_sdk-1.7.41/sdk/help_data/areas.json +137 -0
  8. devops_bot_sdk-1.7.41/sdk/help_data/commands.json +582 -0
  9. devops_bot_sdk-1.7.41/sdk/help_data/help.json +62 -0
  10. devops_bot_sdk-1.7.41/sdk/help_data/pages.json +68 -0
  11. devops_bot_sdk-1.7.41/sdk/help_data/releases.json +382 -0
  12. devops_bot_sdk-1.7.41/sdk/help_data/snapshot.json +17 -0
  13. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/helpdesk_kb.md +36 -0
  14. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ipc/handlers.py +171 -8
  15. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/local_exec.py +48 -0
  16. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/platform_compat.py +10 -0
  17. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/run_auto.py +6 -0
  18. devops_bot_sdk-1.7.41/sdk/test_env.py +175 -0
  19. devops_bot_sdk-1.7.41/tests/test_fallback_rate_limit.py +90 -0
  20. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_parallel_tickets.py +1 -0
  21. devops_bot_sdk-1.7.41/tests/test_plan_ahead.py +116 -0
  22. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_ticket_pools.py +1 -1
  23. devops_bot_sdk-1.7.41/tests/test_version_flag.py +27 -0
  24. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/README.md +0 -0
  25. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/devops_bot_sdk.egg-info/dependency_links.txt +0 -0
  26. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/devops_bot_sdk.egg-info/entry_points.txt +0 -0
  27. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/devops_bot_sdk.egg-info/requires.txt +0 -0
  28. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/devops_bot_sdk.egg-info/top_level.txt +0 -0
  29. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/pyproject.toml +0 -0
  30. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/activity/__init__.py +0 -0
  31. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/activity/classifier.py +0 -0
  32. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/activity/collectors/__init__.py +0 -0
  33. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/activity/collectors/common.py +0 -0
  34. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/activity/collectors/linux_auditd.py +0 -0
  35. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/activity/collectors/macos_eslogger.py +0 -0
  36. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/activity/collectors/windows_eventlog.py +0 -0
  37. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/activity/models.py +0 -0
  38. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/activity/os_setup.py +0 -0
  39. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/activity/recorder.py +0 -0
  40. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/activity/redact.py +0 -0
  41. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/activity/settings.py +0 -0
  42. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/activity/shipper.py +0 -0
  43. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/activity/spool.py +0 -0
  44. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/agent_sharing.py +0 -0
  45. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/agentd.py +0 -0
  46. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/agents/__init__.py +0 -0
  47. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/agents/activity.py +0 -0
  48. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/agents/builder.py +0 -0
  49. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/agents/chat.py +0 -0
  50. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/agents/connectors.py +0 -0
  51. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/agents/engines/__init__.py +0 -0
  52. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/agents/engines/claude_code.py +0 -0
  53. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/agents/engines/http.py +0 -0
  54. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/agents/engines/mcp.py +0 -0
  55. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/agents/engines/n8n.py +0 -0
  56. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/agents/engines/shell.py +0 -0
  57. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/agents/integrations.py +0 -0
  58. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/agents/inventory.py +0 -0
  59. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/agents/library/__init__.py +0 -0
  60. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/agents/manifest.py +0 -0
  61. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/agents/prompt_studio.py +0 -0
  62. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/agents/prompt_template.py +0 -0
  63. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/agents/prompt_vars.py +0 -0
  64. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/agents/run_log.py +0 -0
  65. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/agents/schedules.py +0 -0
  66. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/agents/secrets.py +0 -0
  67. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/agents/ticket_run.py +0 -0
  68. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/agents/usage.py +0 -0
  69. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/agents/varstore.py +0 -0
  70. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/browser_profile.py +0 -0
  71. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/claude_usage.py +0 -0
  72. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/client.py +0 -0
  73. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/collectors/__init__.py +0 -0
  74. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/collectors/files.py +0 -0
  75. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/collectors/process.py +0 -0
  76. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/collectors/screenshot.py +0 -0
  77. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/config.py +0 -0
  78. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/crucial.py +0 -0
  79. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/custom_agents.py +0 -0
  80. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/deferred_tickets.py +0 -0
  81. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/departments.py +0 -0
  82. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/design_verify/__init__.py +0 -0
  83. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/design_verify/assets.py +0 -0
  84. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/design_verify/bootstrap.py +0 -0
  85. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/design_verify/browser.py +0 -0
  86. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/design_verify/compare.py +0 -0
  87. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/design_verify/loop.py +0 -0
  88. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/estimator.py +0 -0
  89. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/exceptions.py +0 -0
  90. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/fallback_handoff.py +0 -0
  91. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/firewall.py +0 -0
  92. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/formats.py +0 -0
  93. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/git_ops.py +0 -0
  94. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/github_fetch.py +0 -0
  95. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/github_ingest.py +0 -0
  96. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/graph_recon.py +0 -0
  97. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/graphify.py +0 -0
  98. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/help_actions.py +0 -0
  99. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/helpdesk.py +0 -0
  100. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/hooks/__init__.py +0 -0
  101. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/hooks/crucial_guard.py +0 -0
  102. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/instructions_template.py +0 -0
  103. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/intake.py +0 -0
  104. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ipc/__init__.py +0 -0
  105. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ipc/electron_bridge.py +0 -0
  106. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/journal.py +0 -0
  107. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/log_colors.py +0 -0
  108. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/memory_guard.py +0 -0
  109. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/model_policy.py +0 -0
  110. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/models/__init__.py +0 -0
  111. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/models/envelope.py +0 -0
  112. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/models/requests.py +0 -0
  113. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/models/responses.py +0 -0
  114. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/models/snapshots.py +0 -0
  115. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/phase_timer.py +0 -0
  116. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/plan_run.py +0 -0
  117. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/prd_progress.py +0 -0
  118. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/proof_readers.py +0 -0
  119. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/providers.py +0 -0
  120. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/py.typed +0 -0
  121. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/resume.py +0 -0
  122. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/router.py +0 -0
  123. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/schedule_tickets.py +0 -0
  124. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/schedule_timeline.py +0 -0
  125. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/scheduler.py +0 -0
  126. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/scope_plan.py +0 -0
  127. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/self_report.py +0 -0
  128. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/self_report_local.py +0 -0
  129. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/sse.py +0 -0
  130. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/swagger.py +0 -0
  131. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/task_file.py +0 -0
  132. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/task_types.py +0 -0
  133. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/test.py +0 -0
  134. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/test_pipeline.py +0 -0
  135. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ticket_board.py +0 -0
  136. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ticket_bulk.py +0 -0
  137. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ticket_fields.py +0 -0
  138. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ticket_plan.py +0 -0
  139. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ticket_pools.py +0 -0
  140. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/tickets.py +0 -0
  141. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/tiers/__init__.py +0 -0
  142. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/tiers/mini_agent.py +0 -0
  143. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ui/__init__.py +0 -0
  144. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ui/api.py +0 -0
  145. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ui/dashboard.py +0 -0
  146. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ui/health.py +0 -0
  147. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ui/ip_allowlist.py +0 -0
  148. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ui/jobs.py +0 -0
  149. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ui/models.py +0 -0
  150. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ui/runner.py +0 -0
  151. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ui/security.py +0 -0
  152. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ui/server.py +0 -0
  153. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ui/service.py +0 -0
  154. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ui/session.py +0 -0
  155. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ui/setup_manager.py +0 -0
  156. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ui/static/agents.html +0 -0
  157. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ui/static/app.js +0 -0
  158. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ui/static/chat.html +0 -0
  159. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ui/static/custom-agents.html +0 -0
  160. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ui/static/default-agents.html +0 -0
  161. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ui/static/faqs.html +0 -0
  162. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ui/static/help.html +0 -0
  163. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ui/static/index.html +0 -0
  164. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ui/static/report.html +0 -0
  165. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ui/static/runs.html +0 -0
  166. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ui/static/schedules.html +0 -0
  167. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ui/static/setup.html +0 -0
  168. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ui/static/styles.css +0 -0
  169. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ui/static/tickets.html +0 -0
  170. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/ui/swagger.py +0 -0
  171. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/updater.py +0 -0
  172. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/url_access.py +0 -0
  173. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/vps_health.py +0 -0
  174. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/vps_identity.py +0 -0
  175. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/sdk/write_hook.py +0 -0
  176. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/setup.cfg +0 -0
  177. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_activity_claude_runs.py +0 -0
  178. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_activity_collectors.py +0 -0
  179. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_activity_core.py +0 -0
  180. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_activity_live_tracking.py +0 -0
  181. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_activity_macos.py +0 -0
  182. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_activity_os_setup.py +0 -0
  183. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_activity_pipeline.py +0 -0
  184. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_agent_activity.py +0 -0
  185. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_agent_activity_tracking.py +0 -0
  186. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_agent_chat_features.py +0 -0
  187. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_agent_crud_cli.py +0 -0
  188. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_agent_listing.py +0 -0
  189. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_agent_prompt_async.py +0 -0
  190. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_agent_prompt_models.py +0 -0
  191. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_agent_run_ticket.py +0 -0
  192. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_agent_schedules.py +0 -0
  193. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_agent_sharing.py +0 -0
  194. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_agent_workspace_settings.py +0 -0
  195. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_agents_connectors_builder.py +0 -0
  196. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_allowed_tools_config.py +0 -0
  197. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_approval_park.py +0 -0
  198. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_auto_agent_dispatch.py +0 -0
  199. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_auto_ticket_queue.py +0 -0
  200. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_browser_profile.py +0 -0
  201. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_cheap_tier.py +0 -0
  202. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_claude_usage_gate.py +0 -0
  203. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_client_jira_projects.py +0 -0
  204. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_config_token_diagnostics.py +0 -0
  205. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_configure_token_owner.py +0 -0
  206. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_console_encoding.py +0 -0
  207. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_crash_recovery.py +0 -0
  208. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_create_safe_retry.py +0 -0
  209. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_deferred_tickets.py +0 -0
  210. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_departments.py +0 -0
  211. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_done_transition.py +0 -0
  212. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_epic_decompose_run.py +0 -0
  213. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_epic_inherited_agent_id.py +0 -0
  214. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_epic_session_isolation.py +0 -0
  215. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_estimator.py +0 -0
  216. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_fallback_cli.py +0 -0
  217. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_fallback_cli_upgrade.py +0 -0
  218. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_faqs.py +0 -0
  219. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_firewall_open_on_update.py +0 -0
  220. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_formats.py +0 -0
  221. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_git_action.py +0 -0
  222. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_github_fetch.py +0 -0
  223. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_github_ingest.py +0 -0
  224. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_graph_off_by_default.py +0 -0
  225. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_graph_recon.py +0 -0
  226. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_graphify_build.py +0 -0
  227. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_graphify_hook_install.py +0 -0
  228. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_health.py +0 -0
  229. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_help_actions.py +0 -0
  230. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_help_attachments.py +0 -0
  231. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_help_questions.py +0 -0
  232. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_helpdesk.py +0 -0
  233. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_infographic_data.py +0 -0
  234. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_instructions_template.py +0 -0
  235. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_intake_job_outcome.py +0 -0
  236. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_intake_plan_review.py +0 -0
  237. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_journal.py +0 -0
  238. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_limit_fallback_handoff.py +0 -0
  239. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_local_exec_provider.py +0 -0
  240. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_log_colors_backlog.py +0 -0
  241. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_mcp_route_contract.py +0 -0
  242. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_memory_guard.py +0 -0
  243. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_model_policy.py +0 -0
  244. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_panel_help.py +0 -0
  245. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_panel_ticket_schedules.py +0 -0
  246. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_phase_timer.py +0 -0
  247. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_plan_new_command.py +0 -0
  248. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_plan_run_activity.py +0 -0
  249. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_pool_pr_modes.py +0 -0
  250. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_pr_identity.py +0 -0
  251. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_prd_artifact.py +0 -0
  252. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_project_path_resolution.py +0 -0
  253. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_proof_readers.py +0 -0
  254. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_providers.py +0 -0
  255. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_quiet_run_log.py +0 -0
  256. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_recon_session_isolation.py +0 -0
  257. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_resume.py +0 -0
  258. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_router.py +0 -0
  259. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_run_auto_agent_only.py +0 -0
  260. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_run_outputs.py +0 -0
  261. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_run_verdict_is_honest.py +0 -0
  262. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_schedule_api.py +0 -0
  263. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_schedule_outputs_and_plans.py +0 -0
  264. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_schedule_tickets.py +0 -0
  265. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_schedule_timeline.py +0 -0
  266. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_scheduler.py +0 -0
  267. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_scheduler_transient_retry.py +0 -0
  268. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_self_report.py +0 -0
  269. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_service_token_warning.py +0 -0
  270. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_stale_panel_restart.py +0 -0
  271. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_swagger_command.py +0 -0
  272. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_task_file_and_plan_run.py +0 -0
  273. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_task_file_format_doc.py +0 -0
  274. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_theme_switch.py +0 -0
  275. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_ticket_board.py +0 -0
  276. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_ticket_bulk.py +0 -0
  277. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_ticket_cli.py +0 -0
  278. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_ticket_detail_view.py +0 -0
  279. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_ticket_fields.py +0 -0
  280. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_ticket_plan.py +0 -0
  281. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_ticket_run_resolve_by_id.py +0 -0
  282. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_ticket_schedule_and_agent.py +0 -0
  283. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_ticket_speed_fixes.py +0 -0
  284. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_tier_flag_parity.py +0 -0
  285. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_ui_gate.py +0 -0
  286. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_ui_lifespan.py +0 -0
  287. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_ui_no_native_dialogs.py +0 -0
  288. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_update_timer.py +0 -0
  289. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_updater_extras.py +0 -0
  290. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_updater_ignores_cwd.py +0 -0
  291. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_updater_pep668.py +0 -0
  292. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_updater_reports_the_truth.py +0 -0
  293. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_url_access.py +0 -0
  294. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_vps_health.py +0 -0
  295. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_vps_only_reporting.py +0 -0
  296. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_windows_loop_identity.py +0 -0
  297. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_windows_panel_task.py +0 -0
  298. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_windows_stop_and_pidfile.py +0 -0
  299. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_windows_task_paths.py +0 -0
  300. {devops_bot_sdk-1.7.36 → devops_bot_sdk-1.7.41}/tests/test_write_hook.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devops-bot-sdk
3
- Version: 1.7.36
3
+ Version: 1.7.41
4
4
  Summary: DevOps Bot Desktop SDK — thin client for the AgentOS Electron desktop app
5
5
  Author: noumanaziz2128
6
6
  License-Expression: LicenseRef-Proprietary
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devops-bot-sdk
3
- Version: 1.7.36
3
+ Version: 1.7.41
4
4
  Summary: DevOps Bot Desktop SDK — thin client for the AgentOS Electron desktop app
5
5
  Author: noumanaziz2128
6
6
  License-Expression: LicenseRef-Proprietary
@@ -60,6 +60,7 @@ sdk/swagger.py
60
60
  sdk/task_file.py
61
61
  sdk/task_types.py
62
62
  sdk/test.py
63
+ sdk/test_env.py
63
64
  sdk/test_pipeline.py
64
65
  sdk/ticket_board.py
65
66
  sdk/ticket_bulk.py
@@ -120,6 +121,12 @@ sdk/design_verify/bootstrap.py
120
121
  sdk/design_verify/browser.py
121
122
  sdk/design_verify/compare.py
122
123
  sdk/design_verify/loop.py
124
+ sdk/help_data/areas.json
125
+ sdk/help_data/commands.json
126
+ sdk/help_data/help.json
127
+ sdk/help_data/pages.json
128
+ sdk/help_data/releases.json
129
+ sdk/help_data/snapshot.json
123
130
  sdk/hooks/__init__.py
124
131
  sdk/hooks/crucial_guard.py
125
132
  sdk/ipc/__init__.py
@@ -201,6 +208,7 @@ tests/test_epic_session_isolation.py
201
208
  tests/test_estimator.py
202
209
  tests/test_fallback_cli.py
203
210
  tests/test_fallback_cli_upgrade.py
211
+ tests/test_fallback_rate_limit.py
204
212
  tests/test_faqs.py
205
213
  tests/test_firewall_open_on_update.py
206
214
  tests/test_formats.py
@@ -231,6 +239,7 @@ tests/test_panel_help.py
231
239
  tests/test_panel_ticket_schedules.py
232
240
  tests/test_parallel_tickets.py
233
241
  tests/test_phase_timer.py
242
+ tests/test_plan_ahead.py
234
243
  tests/test_plan_new_command.py
235
244
  tests/test_plan_run_activity.py
236
245
  tests/test_pool_pr_modes.py
@@ -279,6 +288,7 @@ tests/test_updater_ignores_cwd.py
279
288
  tests/test_updater_pep668.py
280
289
  tests/test_updater_reports_the_truth.py
281
290
  tests/test_url_access.py
291
+ tests/test_version_flag.py
282
292
  tests/test_vps_health.py
283
293
  tests/test_vps_only_reporting.py
284
294
  tests/test_windows_loop_identity.py
@@ -1,6 +1,6 @@
1
1
  """AgentOS Desktop SDK — thin HTTPS/SSE client for the Electron app.
2
2
 
3
- Version: 1.7.36
3
+ Version: 1.7.41
4
4
 
5
5
  Public surface:
6
6
  BackendClient.from_config() — create client from ~/.agentos/config.toml
@@ -34,7 +34,7 @@ Rules:
34
34
  - All data egress through submit_webhook only
35
35
  """
36
36
 
37
- __version__ = "1.7.36" # SINGLE SOURCE OF TRUTH — bump on every change; pyproject,
37
+ __version__ = "1.7.41" # SINGLE SOURCE OF TRUTH — bump on every change; pyproject,
38
38
  __author__ = "AgentOS" # sdk.client.SDK_VERSION and the UI server version all read this.
39
39
 
40
40
  from sdk.client import BackendClient
@@ -174,6 +174,11 @@ def main() -> None:
174
174
 
175
175
  noun, rest = argv[0], argv[1:]
176
176
 
177
+ if noun == "version" or noun in ("--version", "-V"):
178
+ from sdk.platform_compat import version_line
179
+ print(version_line())
180
+ return
181
+
177
182
  if noun == "configure":
178
183
  from sdk.config import configure_cli
179
184
  configure_cli(rotate="--rotate" in sys.argv)
@@ -261,6 +266,7 @@ def main() -> None:
261
266
  def _print_usage() -> None:
262
267
  print("usage: agentos <configure|chat|agent|ticket|integration|default-agents|agentd|github|report|browser|fallback|help|doctor|firewall|activity-setup|swagger> ...")
263
268
  print()
269
+ print(' agentos version (or --version) # installed SDK version, Python and install path')
264
270
  print(' agentos help "<your problem>" [--file PATH]… # DevOps Bot Help: reads your logs + the SDK (+ screenshots/logs you attach)')
265
271
  print(" agentos doctor # collect a diagnostics bundle to send to your admin (no AI)")
266
272
  print(" agentos configure [--rotate]")
@@ -36,6 +36,13 @@ FAQS: list[tuple[str, str, str]] = [
36
36
  ("Updates", "Can I choose when updates happen, or stop them?",
37
37
  "Yes. On Linux a drop-in under agentos-update.timer.d with its own OnCalendar is respected (e.g. "
38
38
  "after nightly scans). AGENTOS_NO_UPDATE_SCHEDULE=1 stops the schedule; AGENTOS_NO_UPDATE=1 stops updating."),
39
+ ("Updates", "Which SDK version do I have?",
40
+ "agentos version (or agentos --version, agentos-auto --version) prints the version, the Python "
41
+ "running it and where it is installed — useful when there are several venvs. It never starts the loop."),
42
+ ("Updates", "How is a new version published to PyPI?",
43
+ "By hand: scripts/publish_pypi.sh --version X.Y.Z (add --dry-run first; --ref picks a commit). The GitHub "
44
+ "workflow is manual only — Actions → Publish to PyPI → Run workflow — once PyPI's trusted publisher names "
45
+ "OrcaloHoldings/DevOpsBot-SDK."),
39
46
  ("Updates", "Why does a run still use the old version after an update?",
40
47
  "A running loop keeps its version until it is restarted. Stop and start it, or use the panel's restart prompt."),
41
48
  ("Running work", "The loop seems stuck. What first?",
@@ -69,6 +76,10 @@ FAQS: list[tuple[str, str, str]] = [
69
76
  "agentos agent share NAME --to a person, team or department; they accept, then it appears on their Custom Agents page."),
70
77
  ("Help", "What if claude is out of usage?",
71
78
  "Tickets re-run on the AI Draftsman fallback: agentos fallback install, then agentos fallback login."),
79
+ ("Help", "The AI Draftsman says 429 / RESOURCE_EXHAUSTED. Will my ticket fail?",
80
+ "No — it waits and tries again (the server's retry-after, else 30 s, 60 s, 120 s … up to 5 min a wait), "
81
+ "6 times and 30 minutes of waiting by default (AGENTOS_FALLBACK_429_RETRIES, AGENTOS_FALLBACK_429_MAX_WAIT_S). "
82
+ "The log shows each wait."),
72
83
  ("Help", "No colours in my Windows console?",
73
84
  "A very old console refuses colour mode, or NO_COLOR is set. Try AGENTOS_COLOR=always."),
74
85
  ("Help", "Where do settings and logs live?",
@@ -0,0 +1,137 @@
1
+ [
2
+ {
3
+ "area": "Help",
4
+ "changes_30d": 6,
5
+ "features_30d": 5,
6
+ "fixes_30d": 0,
7
+ "latest": "panel redesign, parallel tickets, Help fixes + follow-ups, agent sharing (person/team/department), ticket board, coloured CLI log",
8
+ "latest_pr": 179,
9
+ "latest_date": "2026-10-27"
10
+ },
11
+ {
12
+ "area": "Activity",
13
+ "changes_30d": 5,
14
+ "features_30d": 1,
15
+ "fixes_30d": 4,
16
+ "latest": "record every claude run; run tickets on the installed ad CLI",
17
+ "latest_pr": 157,
18
+ "latest_date": "2026-10-23"
19
+ },
20
+ {
21
+ "area": "Control panel",
22
+ "changes_30d": 5,
23
+ "features_30d": 2,
24
+ "fixes_30d": 1,
25
+ "latest": "Panel round 1.7.21–1.7.33: ticket detail, Jira-style Board + moves, schedule Timeline, tabs/pagers, light/dark, accessibility (incl. #185 / DBNF-194), pool PR modes, pipeline fixes",
26
+ "latest_pr": 184,
27
+ "latest_date": "2026-10-28"
28
+ },
29
+ {
30
+ "area": "Updates",
31
+ "changes_30d": 5,
32
+ "features_30d": 0,
33
+ "fixes_30d": 3,
34
+ "latest": "Ticket pools, bulk update, plans with modules / Epics → Stories, instruction placeholders + Generate with AI, 6-hourly self-update, FAQs page, test-suite isolation",
35
+ "latest_pr": 183,
36
+ "latest_date": "2026-10-28"
37
+ },
38
+ {
39
+ "area": "Windows",
40
+ "changes_30d": 4,
41
+ "features_30d": 0,
42
+ "fixes_30d": 3,
43
+ "latest": "agentos-auto stop, agentd stale pidfile, stuck In Progress tickets",
44
+ "latest_pr": 165,
45
+ "latest_date": "2026-10-24"
46
+ },
47
+ {
48
+ "area": "AI fallback",
49
+ "changes_30d": 3,
50
+ "features_30d": 2,
51
+ "fixes_30d": 1,
52
+ "latest": "continue a limit-hit ticket on the AI Draftsman CLI with its context",
53
+ "latest_pr": 164,
54
+ "latest_date": "2026-10-24"
55
+ },
56
+ {
57
+ "area": "Schedules",
58
+ "changes_30d": 2,
59
+ "features_30d": 1,
60
+ "fixes_30d": 1,
61
+ "latest": "skip scheduled runs when Claude plan usage is high",
62
+ "latest_pr": 163,
63
+ "latest_date": "2026-10-23"
64
+ },
65
+ {
66
+ "area": "Agents",
67
+ "changes_30d": 1,
68
+ "features_30d": 0,
69
+ "fixes_30d": 0,
70
+ "latest": "APPR-539: [ST0135] Early years educator - Course Orchestrator + 69 item agents",
71
+ "latest_pr": 146,
72
+ "latest_date": "2026-10-20"
73
+ },
74
+ {
75
+ "area": "Daemon",
76
+ "changes_30d": 1,
77
+ "features_30d": 0,
78
+ "fixes_30d": 1,
79
+ "latest": "re-exec after double-fork so macOS daemons don't SIGSEGV in getaddrinfo",
80
+ "latest_pr": 143,
81
+ "latest_date": "2026-10-16"
82
+ },
83
+ {
84
+ "area": "Local Exec",
85
+ "changes_30d": 1,
86
+ "features_30d": 1,
87
+ "fixes_30d": 0,
88
+ "latest": "fall back to the bundled AI Draftsman CLI when claude is not working",
89
+ "latest_pr": 145,
90
+ "latest_date": "2026-10-19"
91
+ },
92
+ {
93
+ "area": "Paths",
94
+ "changes_30d": 1,
95
+ "features_30d": 0,
96
+ "fixes_30d": 1,
97
+ "latest": "don't read the `s:` of an https:// link as drive S:",
98
+ "latest_pr": 144,
99
+ "latest_date": "2026-10-19"
100
+ },
101
+ {
102
+ "area": "Queue",
103
+ "changes_30d": 1,
104
+ "features_30d": 0,
105
+ "fixes_30d": 1,
106
+ "latest": "an unanswered approval parks its ticket instead of blocking the queue",
107
+ "latest_pr": 178,
108
+ "latest_date": "2026-10-26"
109
+ },
110
+ {
111
+ "area": "Reporting",
112
+ "changes_30d": 1,
113
+ "features_30d": 0,
114
+ "fixes_30d": 1,
115
+ "latest": "only the assigned VPS reports health + activity; audit flag under sudo; 2000-char activity",
116
+ "latest_pr": 153,
117
+ "latest_date": "2026-10-22"
118
+ },
119
+ {
120
+ "area": "Tickets",
121
+ "changes_30d": 1,
122
+ "features_30d": 0,
123
+ "fixes_30d": 0,
124
+ "latest": "Faster tickets (plan ahead + cached test env), ad waits on 429, version command, manual publishing",
125
+ "latest_pr": 186,
126
+ "latest_date": "2026-10-28"
127
+ },
128
+ {
129
+ "area": "VPS",
130
+ "changes_30d": 1,
131
+ "features_30d": 0,
132
+ "fixes_30d": 1,
133
+ "latest": "re-ask a \"no VPS assigned\" answer after 10 min, not 6 h",
134
+ "latest_pr": 161,
135
+ "latest_date": "2026-10-23"
136
+ }
137
+ ]