agentdeck-sdk 5.2.0__tar.gz → 6.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (604) hide show
  1. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.agents/skills/open-issue/SKILL.md +6 -0
  2. {agentdeck_sdk-5.2.0/.claude → agentdeck_sdk-6.0.0/.agents}/skills/release/SKILL.md +20 -8
  3. {agentdeck_sdk-5.2.0/.claude → agentdeck_sdk-6.0.0/.agents}/skills/ship-issue/SKILL.md +1 -1
  4. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/agents/deck-cleanup.md +2 -1
  5. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/agents/deck-dev.md +7 -3
  6. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/agents/deck-reviewer.md +3 -2
  7. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/agents/docs-reviewer.md +2 -1
  8. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/agents/docs-writer.md +2 -1
  9. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/skills/open-issue/SKILL.md +6 -0
  10. {agentdeck_sdk-5.2.0/.agents → agentdeck_sdk-6.0.0/.claude}/skills/release/SKILL.md +20 -8
  11. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/skills/review-pr/SKILL.md +5 -3
  12. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/skills/review-pr/references/attack.md +16 -3
  13. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/skills/review-pr/references/classify.md +10 -0
  14. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/skills/review-pr/references/craft.md +1 -0
  15. agentdeck_sdk-6.0.0/.claude/skills/review-pr/references/overrun.md +46 -0
  16. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/skills/review-pr/references/templates.md +7 -1
  17. {agentdeck_sdk-5.2.0/.agents → agentdeck_sdk-6.0.0/.claude}/skills/ship-issue/SKILL.md +1 -1
  18. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/workflows/ci.yml +15 -14
  19. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/workflows/release.yml +2 -5
  20. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.gitignore +1 -0
  21. agentdeck_sdk-6.0.0/.import_linter_cache/agentdeck.meta.json +1 -0
  22. agentdeck_sdk-6.0.0/.import_linter_cache/cc0de4ae2e5697bf7cf3a0b9c3aff14b2ece24cd.data.json +1 -0
  23. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.importlinter +99 -42
  24. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/CHANGELOG.md +137 -1
  25. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/Makefile +15 -8
  26. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/PKG-INFO +30 -9
  27. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/README.md +21 -5
  28. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/README.md +10 -16
  29. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/__init__.py +4 -16
  30. agentdeck_sdk-6.0.0/agentdeck/adapters/bindings/__init__.py +1 -0
  31. agentdeck_sdk-6.0.0/agentdeck/adapters/bindings/agui/__init__.py +7 -0
  32. agentdeck_sdk-6.0.0/agentdeck/adapters/bindings/agui/adapter.py +306 -0
  33. agentdeck_sdk-6.0.0/agentdeck/adapters/bindings/agui/binding.py +323 -0
  34. agentdeck_sdk-6.0.0/agentdeck/adapters/bindings/native/__init__.py +8 -0
  35. agentdeck_sdk-6.0.0/agentdeck/adapters/bindings/native/binding.py +293 -0
  36. agentdeck_sdk-6.0.0/agentdeck/adapters/bindings/terminal/__init__.py +7 -0
  37. agentdeck_sdk-6.0.0/agentdeck/adapters/bindings/terminal/binding.py +234 -0
  38. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/executors/native/executor.py +4 -4
  39. agentdeck_sdk-6.0.0/agentdeck/bindings/__init__.py +65 -0
  40. agentdeck_sdk-6.0.0/agentdeck/bindings/agui.py +12 -0
  41. agentdeck_sdk-6.0.0/agentdeck/bindings/binding.py +79 -0
  42. agentdeck_sdk-6.0.0/agentdeck/bindings/exposure.py +157 -0
  43. agentdeck_sdk-6.0.0/agentdeck/bindings/gateway.py +201 -0
  44. agentdeck_sdk-6.0.0/agentdeck/bindings/native.py +12 -0
  45. agentdeck_sdk-6.0.0/agentdeck/bindings/terminal.py +11 -0
  46. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/cli.py +26 -0
  47. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/composition.py +1 -1
  48. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/content.py +9 -3
  49. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/errors.py +8 -0
  50. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/events.py +5 -3
  51. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/deck.py +136 -47
  52. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/errors.py +2 -2
  53. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/runtime/discovery.py +19 -5
  54. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/runtime/registry.py +27 -21
  55. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/runtime/service.py +10 -6
  56. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/skills/__init__.py +2 -1
  57. agentdeck_sdk-6.0.0/docs/brand/refine-brand/agentdeck-a-master.svg +10 -0
  58. agentdeck_sdk-6.0.0/docs/brand/refine-brand/agentdeck-a-stylized-master.svg +5 -0
  59. agentdeck_sdk-6.0.0/docs/brand/refine-brand/agentdeck-card-a-preview.svg +16 -0
  60. agentdeck_sdk-6.0.0/docs/brand/refine-brand/agentdeck-primary-card-a-preview.svg +8 -0
  61. agentdeck_sdk-6.0.0/docs/brand/refine-brand/agentdeck-primary-cut-r28.svg +17 -0
  62. agentdeck_sdk-6.0.0/docs/brand/refine-brand/agentdeck-primary-mark-master.svg +18 -0
  63. agentdeck_sdk-6.0.0/docs/brand/refine-brand/agentdeck-primary-mark-v1-clean-fixed.svg +21 -0
  64. agentdeck_sdk-6.0.0/docs/brand/refine-brand/agentdeck-primary-mark-v1-clearspace.svg +21 -0
  65. agentdeck_sdk-6.0.0/docs/brand/refine-brand/agentdeck-primary-mark-v1-knockout.svg +22 -0
  66. agentdeck_sdk-6.0.0/docs/brand/refine-brand/agentdeck-primary-mark-v1-locked.svg +18 -0
  67. agentdeck_sdk-6.0.0/docs/brand/refine-brand/agentdeck-primary-mark-v1-monochrome.svg +17 -0
  68. agentdeck_sdk-6.0.0/docs/brand/refine-brand/agentdeck-spark-master.svg +7 -0
  69. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/design/agentdeck-v2-architecture.md +1 -1
  70. agentdeck_sdk-6.0.0/docs/design/protocols/README.md +92 -0
  71. agentdeck_sdk-6.0.0/docs/design/protocols/agui.md +372 -0
  72. agentdeck_sdk-6.0.0/docs/design/protocols/bindings.md +85 -0
  73. agentdeck_sdk-6.0.0/docs/design/protocols/exposure.md +69 -0
  74. agentdeck_sdk-6.0.0/docs/design/protocols/gateway.md +101 -0
  75. agentdeck_sdk-6.0.0/docs/design/protocols/invariants.md +38 -0
  76. agentdeck_sdk-6.0.0/docs/design/protocols/native-wire.md +53 -0
  77. agentdeck_sdk-6.0.0/docs/design/protocols/projection.md +66 -0
  78. agentdeck_sdk-6.0.0/docs/design/protocols/roadmap.md +64 -0
  79. agentdeck_sdk-6.0.0/docs/design/protocols/rulings.md +60 -0
  80. agentdeck_sdk-6.0.0/docs/design/protocols/spi.md +50 -0
  81. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/design/run-lifecycle.md +1 -1
  82. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/engineering/architecture.md +15 -1
  83. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/engineering/coding-agents.md +3 -0
  84. agentdeck_sdk-6.0.0/docs-site/app/announcement.tsx +60 -0
  85. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/brand.css +513 -1
  86. agentdeck_sdk-6.0.0/docs-site/app/diagram.tsx +64 -0
  87. agentdeck_sdk-6.0.0/docs-site/app/generated-version.ts +2 -0
  88. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/hero.css +9 -38
  89. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/hero.tsx +0 -14
  90. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/jack.css +160 -25
  91. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/jack.tsx +72 -17
  92. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/landing-components.tsx +5 -19
  93. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/landing.css +16 -30
  94. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/layout.tsx +39 -7
  95. agentdeck_sdk-6.0.0/docs-site/app/page-feedback.tsx +63 -0
  96. agentdeck_sdk-6.0.0/docs-site/app/toc-active.tsx +52 -0
  97. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/_meta.ts +1 -0
  98. agentdeck_sdk-6.0.0/docs-site/content/bindings/_meta.ts +8 -0
  99. agentdeck_sdk-6.0.0/docs-site/content/bindings/agui.mdx +78 -0
  100. agentdeck_sdk-6.0.0/docs-site/content/bindings/index.mdx +57 -0
  101. agentdeck_sdk-6.0.0/docs-site/content/bindings/native.mdx +67 -0
  102. agentdeck_sdk-6.0.0/docs-site/content/bindings/serve.mdx +81 -0
  103. agentdeck_sdk-6.0.0/docs-site/content/bindings/terminal.mdx +50 -0
  104. agentdeck_sdk-6.0.0/docs-site/content/bindings/write-your-own.mdx +85 -0
  105. agentdeck_sdk-6.0.0/docs-site/content/build-your-deck/agents.mdx +112 -0
  106. agentdeck_sdk-6.0.0/docs-site/content/examples/_meta.ts +7 -0
  107. agentdeck_sdk-6.0.0/docs-site/content/examples/agent-with-a-skill.mdx +52 -0
  108. agentdeck_sdk-6.0.0/docs-site/content/examples/chat-agent-with-a-tool.mdx +72 -0
  109. agentdeck_sdk-6.0.0/docs-site/content/examples/chat-in-the-terminal.mdx +76 -0
  110. agentdeck_sdk-6.0.0/docs-site/content/examples/index.mdx +31 -0
  111. agentdeck_sdk-6.0.0/docs-site/content/examples/run-events-stream.mdx +60 -0
  112. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/index.mdx +2 -1
  113. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/meet-agentdeck/_meta.ts +1 -0
  114. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/meet-agentdeck/overview.mdx +1 -0
  115. agentdeck_sdk-6.0.0/docs-site/content/meet-agentdeck/quickstart.mdx +193 -0
  116. agentdeck_sdk-6.0.0/docs-site/content/meet-agentdeck/whats-new-6.mdx +100 -0
  117. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/operate/deployment.mdx +20 -16
  118. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/reference/cli.mdx +18 -3
  119. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/reference/deck.mdx +53 -18
  120. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/reference/events.mdx +0 -1
  121. agentdeck_sdk-6.0.0/docs-site/content/reference/python-api.mdx +59 -0
  122. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/reference/run.mdx +3 -0
  123. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/reference/settings.mdx +9 -0
  124. agentdeck_sdk-6.0.0/docs-site/content/resources/changelog.mdx +177 -0
  125. agentdeck_sdk-6.0.0/docs-site/content/resources/known-issues.mdx +97 -0
  126. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/resources/migration-guides.mdx +19 -3
  127. agentdeck_sdk-6.0.0/docs-site/content/resources/troubleshooting.mdx +61 -0
  128. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/runs-and-control/sessions.mdx +2 -1
  129. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/package-lock.json +20 -0
  130. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/package.json +1 -0
  131. agentdeck_sdk-6.0.0/docs-site/public/brand/a-chevron.svg +9 -0
  132. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/llms-full.txt +1236 -140
  133. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/llms.txt +11 -0
  134. agentdeck_sdk-6.0.0/examples/chat-in-the-terminal/.agentdeck/workflows/shift_handover/workflow.py +14 -0
  135. agentdeck_sdk-6.0.0/examples/chat-in-the-terminal/README.md +53 -0
  136. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/jack/jack/agent.py +7 -3
  137. agentdeck_sdk-6.0.0/examples/run-events-stream/README.md +42 -0
  138. agentdeck_sdk-6.0.0/examples/run-events-stream/run.py +17 -0
  139. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/pyproject.toml +26 -8
  140. agentdeck_sdk-6.0.0/scripts/changelog_position.py +83 -0
  141. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/scripts/generate_docs_reference.py +47 -2
  142. agentdeck_sdk-6.0.0/scripts/release_bump.py +208 -0
  143. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/scripts/slopcheck.py +123 -2
  144. agentdeck_sdk-6.0.0/tests/bindings/agui_client/package-lock.json +139 -0
  145. agentdeck_sdk-6.0.0/tests/bindings/agui_client/package.json +9 -0
  146. agentdeck_sdk-6.0.0/tests/bindings/agui_client/run_scenario.js +58 -0
  147. agentdeck_sdk-6.0.0/tests/bindings/fixture_plugin/.importlinter +22 -0
  148. agentdeck_sdk-6.0.0/tests/bindings/fixture_plugin/__init__.py +3 -0
  149. agentdeck_sdk-6.0.0/tests/bindings/fixture_plugin/channel.py +258 -0
  150. agentdeck_sdk-6.0.0/tests/bindings/test_agui_binding.py +617 -0
  151. agentdeck_sdk-6.0.0/tests/bindings/test_agui_client_conformance.py +113 -0
  152. agentdeck_sdk-6.0.0/tests/bindings/test_contract.py +349 -0
  153. agentdeck_sdk-6.0.0/tests/bindings/test_deck_verbs.py +217 -0
  154. agentdeck_sdk-6.0.0/tests/bindings/test_gateway_boundary.py +22 -0
  155. agentdeck_sdk-6.0.0/tests/bindings/test_native_binding.py +403 -0
  156. agentdeck_sdk-6.0.0/tests/bindings/test_terminal_binding.py +208 -0
  157. agentdeck_sdk-6.0.0/tests/bindings/test_three_bindings_one_deck.py +137 -0
  158. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/concurrency_worker.py +1 -1
  159. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/contract/contract_cases.py +1 -1
  160. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/conftest.py +1 -1
  161. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/run.interrupted.json +1 -1
  162. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/test_content.py +5 -2
  163. agentdeck_sdk-6.0.0/tests/test_bindings_binding.py +58 -0
  164. agentdeck_sdk-6.0.0/tests/test_bindings_exposure.py +310 -0
  165. agentdeck_sdk-6.0.0/tests/test_bindings_gateway.py +271 -0
  166. agentdeck_sdk-6.0.0/tests/test_changelog.py +50 -0
  167. agentdeck_sdk-6.0.0/tests/test_cli.py +254 -0
  168. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_composition.py +2 -1
  169. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_context_validation.py +6 -3
  170. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_deck.py +158 -35
  171. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_errors.py +138 -27
  172. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_examples.py +60 -1
  173. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_generated_reference.py +14 -6
  174. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_governance_workflows.py +10 -1
  175. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_invocable_registry.py +39 -1
  176. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_jack.py +17 -1
  177. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_langfuse_sink.py +2 -2
  178. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_native_workflow.py +36 -6
  179. agentdeck_sdk-6.0.0/tests/test_public_surface.py +56 -0
  180. agentdeck_sdk-6.0.0/tests/test_release_bump.py +183 -0
  181. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_run_reporting.py +1 -53
  182. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_runtime_service.py +11 -10
  183. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_skills.py +2 -1
  184. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_sqlite_store.py +1 -1
  185. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_streaming.py +0 -87
  186. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_sync_tool_workers.py +76 -21
  187. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_uc3_slowpoke.py +6 -14
  188. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/uv.lock +158 -135
  189. agentdeck_sdk-5.2.0/.import_linter_cache/agentdeck.meta.json +0 -1
  190. agentdeck_sdk-5.2.0/.import_linter_cache/cc0de4ae2e5697bf7cf3a0b9c3aff14b2ece24cd.data.json +0 -1
  191. agentdeck_sdk-5.2.0/agentdeck/serve.py +0 -291
  192. agentdeck_sdk-5.2.0/agentdeck/surfaces/__init__.py +0 -4
  193. agentdeck_sdk-5.2.0/agentdeck/surfaces/cli/__init__.py +0 -7
  194. agentdeck_sdk-5.2.0/agentdeck/surfaces/cli/chat.py +0 -84
  195. agentdeck_sdk-5.2.0/agentdeck/surfaces/serve/__init__.py +0 -7
  196. agentdeck_sdk-5.2.0/agentdeck/surfaces/serve/app.py +0 -71
  197. agentdeck_sdk-5.2.0/agentdeck/surfaces/serve/compat.py +0 -104
  198. agentdeck_sdk-5.2.0/docs-site/app/diagram.tsx +0 -33
  199. agentdeck_sdk-5.2.0/docs-site/content/build-your-deck/agents.mdx +0 -107
  200. agentdeck_sdk-5.2.0/docs-site/content/examples/_meta.ts +0 -3
  201. agentdeck_sdk-5.2.0/docs-site/content/examples/index.mdx +0 -15
  202. agentdeck_sdk-5.2.0/docs-site/content/meet-agentdeck/quickstart.mdx +0 -115
  203. agentdeck_sdk-5.2.0/docs-site/content/reference/python-api.mdx +0 -29
  204. agentdeck_sdk-5.2.0/docs-site/content/resources/changelog.mdx +0 -64
  205. agentdeck_sdk-5.2.0/docs-site/content/resources/known-issues.mdx +0 -123
  206. agentdeck_sdk-5.2.0/docs-site/content/resources/troubleshooting.mdx +0 -15
  207. agentdeck_sdk-5.2.0/tests/golden/README.md +0 -98
  208. agentdeck_sdk-5.2.0/tests/golden/conftest.py +0 -72
  209. agentdeck_sdk-5.2.0/tests/golden/fixture_project/.agentdeck/agents/greeter/agent.py +0 -16
  210. agentdeck_sdk-5.2.0/tests/golden/snapshots/01_health.http +0 -4
  211. agentdeck_sdk-5.2.0/tests/golden/snapshots/02_chat.http +0 -4
  212. agentdeck_sdk-5.2.0/tests/golden/snapshots/03_chat_stream.http +0 -14
  213. agentdeck_sdk-5.2.0/tests/golden/snapshots/04_chat_missing_field.http +0 -4
  214. agentdeck_sdk-5.2.0/tests/golden/snapshots/05_agent_unknown.http +0 -4
  215. agentdeck_sdk-5.2.0/tests/golden/test_golden_wire.py +0 -57
  216. agentdeck_sdk-5.2.0/tests/test_changelog.py +0 -23
  217. agentdeck_sdk-5.2.0/tests/test_cli.py +0 -63
  218. agentdeck_sdk-5.2.0/tests/test_cli_render.py +0 -79
  219. agentdeck_sdk-5.2.0/tests/test_serve.py +0 -192
  220. agentdeck_sdk-5.2.0/tests/test_serve_compat.py +0 -341
  221. agentdeck_sdk-5.2.0/tests/test_serve_session_claim.py +0 -120
  222. agentdeck_sdk-5.2.0/tests/test_uc1_handoff.py +0 -299
  223. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.agentdeck/agents/greeter/agent.py +0 -0
  224. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.agents/skills/deck-cleanup/SKILL.md +0 -0
  225. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.agents/skills/deck-cleanup/agents/openai.yaml +0 -0
  226. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.agents/skills/deck-cleanup/references/narrative-prose.md +0 -0
  227. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/settings.json +0 -0
  228. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/skills/milestone-retro/SKILL.md +0 -0
  229. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/skills/milestone-retro/references/judging.md +0 -0
  230. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/skills/milestone-retro/references/queries.md +0 -0
  231. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/skills/ship-pr/SKILL.md +0 -0
  232. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/skills/ship-pr/references/design.md +0 -0
  233. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/skills/ship-pr/references/implement.md +0 -0
  234. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/skills/ship-pr/references/self-review.md +0 -0
  235. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.codex/agents/deck-cleanup.toml +0 -0
  236. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.codex/agents/deck-dev.toml +0 -0
  237. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.codex/agents/deck-reviewer.toml +0 -0
  238. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.codex/agents/docs-reviewer.toml +0 -0
  239. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.codex/agents/docs-writer.toml +0 -0
  240. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.dockerignore +0 -0
  241. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.env.example +0 -0
  242. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.gitattributes +0 -0
  243. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/CODEOWNERS +0 -0
  244. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  245. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  246. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/ISSUE_TEMPLATE/docs_contribution.yml +0 -0
  247. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  248. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/ISSUE_TEMPLATE/finding.yml +0 -0
  249. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  250. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/assets/contributors/merged.png +0 -0
  251. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/assets/contributors/welcome.png +0 -0
  252. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/dependabot.yml +0 -0
  253. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/workflows/docs-check.yml +0 -0
  254. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/workflows/docs-impact.yml +0 -0
  255. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/workflows/docs-pages.yml +0 -0
  256. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/workflows/first-contribution.yml +0 -0
  257. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/workflows/issue-hygiene.yml +0 -0
  258. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.import_linter_cache/.gitignore +0 -0
  259. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.import_linter_cache/CACHEDIR.TAG +0 -0
  260. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.pre-commit-config.yaml +0 -0
  261. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/AGENTS.md +0 -0
  262. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/CLAUDE.md +0 -0
  263. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/CODE_OF_CONDUCT.md +0 -0
  264. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/CONTRIBUTING.md +0 -0
  265. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/Dockerfile +0 -0
  266. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/LICENSE +0 -0
  267. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/SECURITY.md +0 -0
  268. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/__init__.py +0 -0
  269. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/control/__init__.py +0 -0
  270. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/control/memory/__init__.py +0 -0
  271. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/control/memory/port.py +0 -0
  272. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/control/sqlite/__init__.py +0 -0
  273. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/control/sqlite/port.py +0 -0
  274. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/executors/__init__.py +0 -0
  275. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/executors/native/__init__.py +0 -0
  276. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/executors/openai_agents/__init__.py +0 -0
  277. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/executors/openai_agents/executor.py +0 -0
  278. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/executors/openai_agents/reconcile.py +0 -0
  279. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/executors/openai_agents/runconfig.py +0 -0
  280. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/executors/openai_agents/sessions.py +0 -0
  281. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/executors/openai_agents/translate.py +0 -0
  282. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/executors/stub/__init__.py +0 -0
  283. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/executors/stub/executor.py +0 -0
  284. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/leases/__init__.py +0 -0
  285. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/leases/memory/__init__.py +0 -0
  286. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/leases/memory/port.py +0 -0
  287. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/leases/sqlite/__init__.py +0 -0
  288. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/leases/sqlite/port.py +0 -0
  289. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/stores/__init__.py +0 -0
  290. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/stores/memory/__init__.py +0 -0
  291. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/stores/memory/store.py +0 -0
  292. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/stores/postgres/__init__.py +0 -0
  293. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/stores/postgres/store.py +0 -0
  294. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/stores/redis/__init__.py +0 -0
  295. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/stores/redis/store.py +0 -0
  296. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/stores/sqlite/__init__.py +0 -0
  297. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/stores/sqlite/store.py +0 -0
  298. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/telemetry/__init__.py +0 -0
  299. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/telemetry/langfuse/__init__.py +0 -0
  300. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/telemetry/langfuse/client.py +0 -0
  301. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/telemetry/langfuse/sink.py +0 -0
  302. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/telemetry/langfuse/trace.py +0 -0
  303. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/tools/__init__.py +0 -0
  304. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/tools/mcp/__init__.py +0 -0
  305. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/tools/mcp/lifecycle.py +0 -0
  306. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/tools/mcp/source.py +0 -0
  307. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/tools/mcp/transport.py +0 -0
  308. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/tools/mcp/wiring.py +0 -0
  309. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/authoring/__init__.py +0 -0
  310. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/authoring/agent.py +0 -0
  311. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/authoring/compile.py +0 -0
  312. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/authoring/hooks.py +0 -0
  313. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/authoring/injection.py +0 -0
  314. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/authoring/instructions.py +0 -0
  315. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/authoring/interrupts.py +0 -0
  316. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/authoring/native.py +0 -0
  317. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/authoring/runners/__init__.py +0 -0
  318. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/authoring/runners/agent.py +0 -0
  319. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/authoring/skills.py +0 -0
  320. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/authoring/tools.py +0 -0
  321. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/authoring/web_search.py +0 -0
  322. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/__init__.py +0 -0
  323. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/base.py +0 -0
  324. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/context.py +0 -0
  325. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/control.py +0 -0
  326. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/invocable.py +0 -0
  327. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/ports/__init__.py +0 -0
  328. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/ports/control.py +0 -0
  329. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/ports/executor.py +0 -0
  330. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/ports/lease.py +0 -0
  331. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/ports/sink.py +0 -0
  332. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/ports/store.py +0 -0
  333. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/ports/tools.py +0 -0
  334. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/reporting.py +0 -0
  335. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/status.py +0 -0
  336. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/workers.py +0 -0
  337. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/mcp.py +0 -0
  338. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/observers.py +0 -0
  339. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/py.typed +0 -0
  340. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/runtime/__init__.py +0 -0
  341. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/runtime/capture.py +0 -0
  342. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/runtime/dispatch.py +0 -0
  343. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/runtime/settings.py +0 -0
  344. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/skills/bundle.py +0 -0
  345. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/testing.py +0 -0
  346. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/views.py +0 -0
  347. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/context7.json +0 -0
  348. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docker-compose.yml +0 -0
  349. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/00-project-index.md +0 -0
  350. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/agentdeck-prd.md +0 -0
  351. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/ai-agents/ai_agent_repository_alignment_research.md +0 -0
  352. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/ai-agents/harness_change_log.md +0 -0
  353. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/ai-agents/solutions_for_aligning_ai_agents.md +0 -0
  354. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/ai-agents/sota_style_alignment_findings.md +0 -0
  355. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/README.md +0 -0
  356. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/components/card.svg +0 -0
  357. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/components/spark.svg +0 -0
  358. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/components/wordmark.svg +0 -0
  359. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/contributor-merged.svg +0 -0
  360. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/contributor-welcome.svg +0 -0
  361. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/favicon.svg +0 -0
  362. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/logo-black.svg +0 -0
  363. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/logo-blue.svg +0 -0
  364. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/logo-full.svg +0 -0
  365. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/logo-mark.svg +0 -0
  366. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/logo-traced-original.svg +0 -0
  367. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/logo-white.svg +0 -0
  368. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/logo.svg +0 -0
  369. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/social-card.svg +0 -0
  370. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/beta-user-report-v3.md +0 -0
  371. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/decision-v3-entry-point.md +0 -0
  372. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/deck-capability-wrapper-pattern.md +0 -0
  373. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/discoverability-baseline.md +0 -0
  374. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/docs-site-plan.md +0 -0
  375. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/epic-agentdeck-v2-core.md +0 -0
  376. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/findings-register.md +0 -0
  377. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/milestone-0-findings.md +0 -0
  378. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/milestone-0-walking-skeleton.md +0 -0
  379. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/plan-166-delivery.md +0 -0
  380. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/plan-219-delivery.md +0 -0
  381. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/plan-adoption.md +0 -0
  382. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/plan-context-injection.md +0 -0
  383. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/plan-docs-ia.md +0 -0
  384. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/plan-jack-eval.md +0 -0
  385. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/plan-multimodal.md +0 -0
  386. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/plan-phase4-deck.md +0 -0
  387. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/plan-provider-credential-validation.md +0 -0
  388. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/plan-skills.md +0 -0
  389. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/plan-slop-comment-ratio.md +0 -0
  390. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/plan-v2-cutover.md +0 -0
  391. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/review-context-injection.md +0 -0
  392. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/review-phase4-deck.md +0 -0
  393. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/review-v3-outsider.md +0 -0
  394. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/roadmap-v3.1.md +0 -0
  395. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/roadmap-v3.md +0 -0
  396. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/workflow.md +0 -0
  397. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/design/adr-d11-store-assigns-seq-and-time.md +0 -0
  398. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/design/adr-d5-two-stores.md +0 -0
  399. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/design/event-store-claims.md +0 -0
  400. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/design/execution-api-source.md +0 -0
  401. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/design/execution-api.md +0 -0
  402. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/design/run-identity.md +0 -0
  403. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/design/run-operations.md +0 -0
  404. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/design/sink-dispatch.md +0 -0
  405. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/design-system.md +0 -0
  406. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/engineering/README.md +0 -0
  407. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/engineering/coding-standards.md +0 -0
  408. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/engineering/dependencies.md +0 -0
  409. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/engineering/import-boundaries.md +0 -0
  410. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/engineering/principles.md +0 -0
  411. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/engineering/repository-policy.md +0 -0
  412. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/engineering/runtime-contracts.md +0 -0
  413. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/engineering/testing.md +0 -0
  414. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/patterns/README.md +0 -0
  415. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/patterns/comments.md +0 -0
  416. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/patterns/errors.md +0 -0
  417. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/patterns/lifecycle.md +0 -0
  418. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/patterns/tests.md +0 -0
  419. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/project-brief.md +0 -0
  420. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/prompts/pr0-baseline-prompt.md +0 -0
  421. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/prompts/pr0-review-prompt.md +0 -0
  422. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/prompts/pr1-event-schema-prompt.md +0 -0
  423. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/spec.md +0 -0
  424. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/.env.development +0 -0
  425. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/.env.production +0 -0
  426. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/.gitignore +0 -0
  427. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/README.md +0 -0
  428. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/[[...mdxPath]]/page.tsx +0 -0
  429. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/brand-icons.tsx +0 -0
  430. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/callout.tsx +0 -0
  431. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/contribute.tsx +0 -0
  432. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/deck-figure.tsx +0 -0
  433. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/design-system.tsx +0 -0
  434. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/docs-slugs.ts +0 -0
  435. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/icon.svg +0 -0
  436. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/install-line.tsx +0 -0
  437. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/jack-answer-link.tsx +0 -0
  438. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/jack-citations.ts +0 -0
  439. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/jack-live.tsx +0 -0
  440. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/jack-stream.ts +0 -0
  441. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/kind-icons.tsx +0 -0
  442. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/mark.tsx +0 -0
  443. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/not-found.tsx +0 -0
  444. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/robots.ts +0 -0
  445. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/site.ts +0 -0
  446. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/sitemap.ts +0 -0
  447. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/build-your-deck/_meta.ts +0 -0
  448. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/build-your-deck/context.mdx +0 -0
  449. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/build-your-deck/deck.mdx +0 -0
  450. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/build-your-deck/skills.mdx +0 -0
  451. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/build-your-deck/tools.mdx +0 -0
  452. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/build-your-deck/workflows.mdx +0 -0
  453. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/integrations/_meta.ts +0 -0
  454. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/integrations/existing-agents.mdx +0 -0
  455. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/integrations/mcp.mdx +0 -0
  456. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/integrations/openai-agents-sdk.mdx +0 -0
  457. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/jack/_meta.ts +0 -0
  458. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/jack/notes.mdx +0 -0
  459. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/jack.mdx +0 -0
  460. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/meet-agentdeck/mental-model.mdx +0 -0
  461. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/operate/_meta.ts +0 -0
  462. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/reference/_meta.ts +0 -0
  463. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/resources/_meta.ts +0 -0
  464. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/runs-and-control/_meta.ts +0 -0
  465. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/runs-and-control/events.mdx +0 -0
  466. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/runs-and-control/human-input.mdx +0 -0
  467. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/runs-and-control/lifecycle-and-control.mdx +0 -0
  468. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/runs-and-control/pause-resume.mdx +0 -0
  469. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/runs-and-control/runs.mdx +0 -0
  470. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/mdx-components.tsx +0 -0
  471. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/next-env.d.ts +0 -0
  472. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/next.config.mjs +0 -0
  473. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/brand/card.svg +0 -0
  474. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/brand/contributor-merged.svg +0 -0
  475. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/brand/contributor-welcome.svg +0 -0
  476. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/brand/favicon.svg +0 -0
  477. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/brand/logo-black.svg +0 -0
  478. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/brand/logo-blue.svg +0 -0
  479. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/brand/logo-full.svg +0 -0
  480. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/brand/logo-mark.svg +0 -0
  481. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/brand/logo-traced-original.svg +0 -0
  482. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/brand/logo-white.svg +0 -0
  483. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/brand/logo.svg +0 -0
  484. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/brand/social-card.svg +0 -0
  485. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/brand/spark.svg +0 -0
  486. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/brand/wordmark.svg +0 -0
  487. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/tsconfig.json +0 -0
  488. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/agent-with-a-skill/.agentdeck/agents/handover_desk/agent.py +0 -0
  489. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/agent-with-a-skill/.agentdeck/skills/shift-notes/SKILL.md +0 -0
  490. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/agent-with-a-skill/README.md +0 -0
  491. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/agent-with-a-skill/run.py +0 -0
  492. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/chat-agent-with-a-tool/.agentdeck/agents/order_desk/agent.py +0 -0
  493. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/chat-agent-with-a-tool/README.md +0 -0
  494. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/chat-agent-with-a-tool/run.py +0 -0
  495. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/jack/README.md +0 -0
  496. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/jack/cloudflared.yml +0 -0
  497. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/jack/eval.py +0 -0
  498. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/jack/evals/__init__.py +0 -0
  499. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/jack/evals/judge.py +0 -0
  500. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/jack/evals/metrics.py +0 -0
  501. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/jack/evals/run.py +0 -0
  502. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/jack/evalset.py +0 -0
  503. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/jack/jack/__init__.py +0 -0
  504. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/jack/jack/corpus.py +0 -0
  505. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/jack/jack/server.py +0 -0
  506. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/jack/jack/session.py +0 -0
  507. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/jack/run.py +0 -0
  508. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/scripts/check_commit_hygiene.py +0 -0
  509. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/scripts/check_docs_impact.py +0 -0
  510. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/scripts/concept_budget.py +0 -0
  511. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/scripts/quality_delta.py +0 -0
  512. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/scripts/repomap.py +0 -0
  513. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/scripts/sync_claude_to_codex.py +0 -0
  514. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/scripts/sync_roadmap.py +0 -0
  515. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/conftest.py +0 -0
  516. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/context_injection_subjects.py +0 -0
  517. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/contract/case_types.py +0 -0
  518. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/contract/conftest.py +0 -0
  519. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/contract/context_subjects.py +0 -0
  520. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/contract/live_stores.py +0 -0
  521. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/contract/never_yields.py +0 -0
  522. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/contract/openai_agents_cases.py +0 -0
  523. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/contract/test_context_parity.py +0 -0
  524. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/contract/test_control.py +0 -0
  525. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/contract/test_control_port.py +0 -0
  526. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/contract/test_event_stream.py +0 -0
  527. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/contract/test_lease.py +0 -0
  528. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/contract/test_resume.py +0 -0
  529. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/contract/test_store.py +0 -0
  530. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/agent.changed.json +0 -0
  531. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/answer.refused.json +0 -0
  532. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/artifact.created.json +0 -0
  533. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/control.observed.json +0 -0
  534. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/control.requested.json +0 -0
  535. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/custom.json +0 -0
  536. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/input.appended.json +0 -0
  537. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/message.completed.json +0 -0
  538. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/report.json +0 -0
  539. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/run.cancelled.json +0 -0
  540. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/run.completed.json +0 -0
  541. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/run.failed.json +0 -0
  542. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/run.paused.json +0 -0
  543. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/run.resumed.json +0 -0
  544. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/run.started.json +0 -0
  545. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/text.delta.json +0 -0
  546. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/thought.delta.json +0 -0
  547. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/tool.call.completed.json +0 -0
  548. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/tool.call.started.json +0 -0
  549. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/usage.reported.json +0 -0
  550. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/test_context.py +0 -0
  551. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/test_continuation.py +0 -0
  552. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/test_events.py +0 -0
  553. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/test_golden_json.py +0 -0
  554. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/test_import_law.py +0 -0
  555. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/test_model_config.py +0 -0
  556. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/test_old_reader_block_compat.py +0 -0
  557. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/test_old_reader_compat.py +0 -0
  558. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/test_reporting.py +0 -0
  559. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/test_run_lifecycle_tables.py +0 -0
  560. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/test_vocabularies_agree.py +0 -0
  561. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/crash_worker.py +0 -0
  562. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/event_log_checks.py +0 -0
  563. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/plays.py +0 -0
  564. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/project_executors.py +0 -0
  565. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_agent_changed.py +0 -0
  566. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_agent_model_resolution.py +0 -0
  567. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_authoring.py +0 -0
  568. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_brand_assets.py +0 -0
  569. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_child_runs.py +0 -0
  570. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_commit_hygiene.py +0 -0
  571. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_context_injection.py +0 -0
  572. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_crash_reconciliation.py +0 -0
  573. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_docs_examples.py +0 -0
  574. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_docs_impact.py +0 -0
  575. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_docs_site.py +0 -0
  576. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_executor_plays.py +0 -0
  577. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_handoff_ends_on_user_turn.py +0 -0
  578. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_handoff_round_trip.py +0 -0
  579. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_handoffs.py +0 -0
  580. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_instructions_and_hooks.py +0 -0
  581. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_jack_server.py +0 -0
  582. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_langfuse_tracer.py +0 -0
  583. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_mcp.py +0 -0
  584. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_mcp_tool_source.py +0 -0
  585. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_memory_store.py +0 -0
  586. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_model_providers.py +0 -0
  587. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_multiprocess_concurrency.py +0 -0
  588. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_observability.py +0 -0
  589. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_openai_agents_engine.py +0 -0
  590. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_openai_agents_reconcile.py +0 -0
  591. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_openai_agents_sessions.py +0 -0
  592. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_openai_agents_tool_failure.py +0 -0
  593. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_package.py +0 -0
  594. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_postgres_store.py +0 -0
  595. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_redis_store.py +0 -0
  596. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_run_config_parity.py +0 -0
  597. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_run_control.py +0 -0
  598. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_settings.py +0 -0
  599. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_sink_dispatch.py +0 -0
  600. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_sqlite_control_port.py +0 -0
  601. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_subagents.py +0 -0
  602. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_tool_compilation.py +0 -0
  603. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_views.py +0 -0
  604. {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_web_search.py +0 -0
@@ -19,6 +19,12 @@ The clean, user-intent API or behavior with minimal code snippets. Show the simp
19
19
  ## Notes
20
20
  Constraints, affected modules, existing patterns to follow, related issues/PRs.
21
21
 
22
+ ## Pitfalls
23
+ Known failure modes, each backed by evidence.
24
+
25
+ ## Must not
26
+ Explicit scope boundaries.
27
+
22
28
  ## Done when
23
29
  Checklist of observable, testable behaviors (mapping 1:1 to deterministic tests without live model calls).
24
30
  ```
@@ -20,30 +20,42 @@ A release needs two labeled `chore` issues and two PRs, not one of each.
20
20
  `git push origin dev` is rejected directly ("push declined due to repository rule violations").
21
21
  The bump goes through its own PR into `dev`.
22
22
 
23
+ A PR body closing more than one issue needs one `Fixes #N` (or `Closes #N`) per line: GitHub's
24
+ closing-keyword parser only recognizes the first reference in a comma-separated list, silently
25
+ leaving the rest open (#541).
26
+
23
27
  ## Release Steps
24
28
 
25
29
  1. **Version:** Confirm SemVer bump (`pyproject.toml` and `CHANGELOG.md`).
26
30
  2. **Preflight:** Verify clean working tree, non-empty `[Unreleased]` section, and `make check`
27
31
  is 100% green. Run it unpiped (`make check`, not `make check | tail`) so its own exit code is
28
32
  what you read; a pipe reports the last command's status, not the gate's.
29
- 3. **Bump PR into `dev`:**
30
- - Update `version` in `pyproject.toml`.
31
- - Move Unreleased entries to `## [X.Y.Z] - YYYY-MM-DD` in `CHANGELOG.md` with compare links.
33
+ 3. **Bump issue:** `python scripts/release_bump.py issues X.Y.Z` creates (or reuses) the `vX.Y.Z`
34
+ milestone, assigns it to every issue `Fixes`/`Closes`-referenced since the last tag, opens the
35
+ labeled `chore: cut and ship vX.Y.Z` issue, and prints its number.
36
+ 4. **Bump PR into `dev`:**
37
+ - `python scripts/release_bump.py bump X.Y.Z` updates `pyproject.toml`'s version and moves
38
+ `CHANGELOG.md`'s `[Unreleased]` entries to a dated `## [X.Y.Z]` heading with compare links.
32
39
  - Run `python scripts/generate_docs_reference.py` once, then verify
33
40
  `python scripts/generate_docs_reference.py --check`.
34
- - Commit: `chore(release): vX.Y.Z`. Open the PR against the labeled bump issue
41
+ - Commit: `chore(release): vX.Y.Z`. Open the PR against the bump issue from step 3
35
42
  (`Closes #N`), wait for every required check, merge.
36
- 4. **Promotion PR, `dev` to `main`:** Open it against the labeled promotion issue (`Refs #N`).
43
+ 5. **Promotion issue:** `python scripts/release_bump.py promote X.Y.Z` opens the labeled
44
+ `chore: release vX.Y.Z to main` issue in the same milestone and prints its number.
45
+ 6. **Promotion PR, `dev` to `main`:** Open it against the promotion issue from step 5 (`Refs #N`).
37
46
  `Issue hygiene`, `slop`, and `Check affected documentation` skip themselves on a `main`-based
38
47
  PR: each already ran the real per-PR version of itself against `dev` at merge time, and this
39
48
  diff is the whole release cycle re-evaluated, not a new change. Wait for `check` and
40
49
  `Build documentation`, then merge and close the promotion issue by hand.
41
- 5. **Tag:** `git tag vX.Y.Z && git push origin vX.Y.Z`. `release.yml` publishes to PyPI on this
50
+ 7. **Tag:** `git tag vX.Y.Z && git push origin vX.Y.Z`. `release.yml` publishes to PyPI on this
42
51
  push; there is no undo once the tag lands.
43
- 6. **Deploy:** In the `prod/` worktree (detached on a tag on purpose, so the public only sees
52
+ 8. **Close the milestone:** `python scripts/release_bump.py close-milestone X.Y.Z`, right after
53
+ the tag push. Every past release skipped this: `v5.0.0` through `v5.1.0` all shipped with 0
54
+ open issues but stayed open on GitHub.
55
+ 9. **Deploy:** In the `prod/` worktree (detached on a tag on purpose, so the public only sees
44
56
  something released), run `./deploy-prod.sh vX.Y.Z`. It rebuilds `docs-site`, restarts
45
57
  `agentdeck-docs-static.service`, and health-checks `127.0.0.1:4321`.
46
- 7. **Report:** Return the GitHub release URL.
58
+ 10. **Report:** Return the GitHub release URL.
47
59
 
48
60
  ## Ground Rules
49
61
  - Keep text between tool calls to ≤25 words. Keep final responses to ≤100 words unless more detail is required.
@@ -19,7 +19,7 @@ Read the issue and verify its claims against the tree. **Spec gate first:** if t
19
19
  Update GitHub Project (`PVT_kwHOBHijkM4BgHFZ`): Set **Status = In progress**, record Start Date, comment with start timestamp.
20
20
 
21
21
  ## 2. Implement
22
- Spawn `deck-dev` with the issue number and brief. It runs Stage 0 (Understand) then Stage 1
22
+ Provision the worktree first: `git -C <repo>/dev worktree add <repo>/wrts/<branch> <branch>` (create the branch from its base if it does not exist; on a stack the base is the layer below, otherwise `dev`). Spawn `deck-dev` with the issue number, the brief, the absolute worktree path and the PR base branch. It runs Stage 0 (Understand) then Stage 1
23
23
  (Design, posted to the draft PR body), then stops there and reports back rather than continuing
24
24
  into Stage 2.
25
25
 
@@ -2,11 +2,12 @@
2
2
  name: deck-cleanup
3
3
  description: Runs ONE narrow entropy scan over agentdeck (narrative comments, dead code, duplicate helpers, or pattern drift) and opens one small evidence-backed PR.
4
4
  model: sonnet
5
- isolation: worktree
6
5
  ---
7
6
 
8
7
  You run ONE cleanup scan over agentdeck and open one small PR. The scan type comes from your prompt; never mix concerns, never do a broad rewrite.
9
8
 
9
+ **Worktree:** work only in the absolute worktree path the orchestrator gave you; never create a worktree yourself.
10
+
10
11
  ## Scan types
11
12
  - **narrative-comments:** slopcheck takes one file at a time (a directory silently reports clean), so loop: `git ls-files 'agentdeck/**/*.py' 'tests/**/*.py' | while read f; do uv run scripts/slopcheck.py --all "$f"; done`. Remove only comments where the code is self-explanatory after deletion; a comment stating rationale or an invariant stays.
12
13
  - **dead-code:** Build the symbol list with `uv run scripts/repomap.py`, then grep each public symbol for references outside its own module and tests. Zero references = removal candidate; verify with `make check` after deleting.
@@ -1,11 +1,15 @@
1
1
  ---
2
2
  name: deck-dev
3
- description: Implements a GitHub issue (feature or bug fix) for agentdeck end-to-end in an isolated worktree and opens one PR to dev.
3
+ description: Implements a GitHub issue (feature or bug fix) for agentdeck end-to-end in the worktree it is given and opens one PR to its named base branch.
4
4
  model: sonnet
5
- isolation: worktree
6
5
  ---
7
6
 
8
- You implement one agentdeck GitHub issue end-to-end in an isolated worktree and open a PR.
7
+ You implement one agentdeck GitHub issue end-to-end and open a PR.
8
+
9
+ **Worktree:**
10
+ - Work only in the absolute worktree path the orchestrator gave you.
11
+ - Never create a worktree yourself.
12
+ - Open the PR against the base branch the orchestrator named.
9
13
 
10
14
  **Objective: implement the issue with the smallest coherent change.** Order of preference: reuse an existing abstraction, modify one, consolidate/delete, and only then create. Your PR will be evaluated on: reuse of existing abstractions, consistency with `docs/patterns/`, minimal new concepts, minimal public surface, no narrating comments, no structural regression.
11
15
 
@@ -2,11 +2,12 @@
2
2
  name: deck-reviewer
3
3
  description: Review gate for an agentdeck PR before merge. Verifies correctness, spec compliance, simplicity, conciseness, and test quality against docs/engineering/.
4
4
  model: sonnet
5
- isolation: worktree
6
5
  ---
7
6
 
8
7
  You review one agentdeck PR as the merge gate. REVIEW ONLY on the code: never push a commit anywhere. You DO write review artifacts: the PR review itself, inline comments, and any DEFER, harness-note or Harvest issue.
9
8
 
9
+ **Worktree:** work only in the absolute worktree path the orchestrator gave you; never create a worktree yourself.
10
+
10
11
  **First action:** read `.claude/skills/review-pr/SKILL.md` and its `references/`, and follow it. Everything procedural, the phases, the finding classes, the verdict format, the delivery mechanics, lives there. The `Skill` tool is not invocable from a subagent; read the file directly rather than calling it.
11
12
 
12
13
  **Progress:** say which phase you are entering as you enter it. A silent review reads as a stall.
@@ -17,4 +18,4 @@ You review one agentdeck PR as the merge gate. REVIEW ONLY on the code: never pu
17
18
 
18
19
  **Output style:** keep text between tool calls to ≤25 words. Keep final responses to ≤100 words unless more detail is required.
19
20
 
20
- Return to the orchestrator: verdict, `make check` result, counts per finding class, links to the posted review and any DEFER issues.
21
+ Return exactly Template C (`.claude/skills/review-pr/references/templates.md`), which fixes both the order and the evidence it carries.
@@ -2,11 +2,12 @@
2
2
  name: docs-reviewer
3
3
  description: Review gate for an agentdeck docs-site PR. Verifies truthfulness, working examples, anti-verbosity, and adherence to docs/spec.md.
4
4
  model: sonnet
5
- isolation: worktree
6
5
  ---
7
6
 
8
7
  You review one docs-site PR as the gate before merge.
9
8
 
9
+ **Worktree:** work only in the absolute worktree path the orchestrator gave you; never create a worktree yourself.
10
+
10
11
  ## Review Checks
11
12
  1. **Truthfulness against Code:**
12
13
  - Check every code snippet, endpoint, setting (`AGENTDECK_*`), and CLI command against the actual implementation.
@@ -2,11 +2,12 @@
2
2
  name: docs-writer
3
3
  description: Writes or rewrites ONE docs-site page for agentdeck, outline first. Emphasizes clarity, conciseness, and verified code examples.
4
4
  model: sonnet
5
- isolation: worktree
6
5
  ---
7
6
 
8
7
  You write or update **one** `docs-site/` page per run, following `docs/spec.md` (Part II - Documentation).
9
8
 
9
+ **Worktree:** work only in the absolute worktree path the orchestrator gave you; never create a worktree yourself.
10
+
10
11
  ## Two-Phase Workflow
11
12
  1. **Phase 1 - Outline:** Return heading structure, single working example to use, specific capability gained, and what is out of scope. Stop and wait for approval before writing prose.
12
13
  2. **Phase 2 - Prose:** Write the page only after outline approval. Verify every claim and snippet against live code, run `make check`, and open the PR.
@@ -19,6 +19,12 @@ The clean, user-intent API or behavior with minimal code snippets. Show the simp
19
19
  ## Notes
20
20
  Constraints, affected modules, existing patterns to follow, related issues/PRs.
21
21
 
22
+ ## Pitfalls
23
+ Known failure modes, each backed by evidence.
24
+
25
+ ## Must not
26
+ Explicit scope boundaries.
27
+
22
28
  ## Done when
23
29
  Checklist of observable, testable behaviors (mapping 1:1 to deterministic tests without live model calls).
24
30
  ```
@@ -20,30 +20,42 @@ A release needs two labeled `chore` issues and two PRs, not one of each.
20
20
  `git push origin dev` is rejected directly ("push declined due to repository rule violations").
21
21
  The bump goes through its own PR into `dev`.
22
22
 
23
+ A PR body closing more than one issue needs one `Fixes #N` (or `Closes #N`) per line: GitHub's
24
+ closing-keyword parser only recognizes the first reference in a comma-separated list, silently
25
+ leaving the rest open (#541).
26
+
23
27
  ## Release Steps
24
28
 
25
29
  1. **Version:** Confirm SemVer bump (`pyproject.toml` and `CHANGELOG.md`).
26
30
  2. **Preflight:** Verify clean working tree, non-empty `[Unreleased]` section, and `make check`
27
31
  is 100% green. Run it unpiped (`make check`, not `make check | tail`) so its own exit code is
28
32
  what you read; a pipe reports the last command's status, not the gate's.
29
- 3. **Bump PR into `dev`:**
30
- - Update `version` in `pyproject.toml`.
31
- - Move Unreleased entries to `## [X.Y.Z] - YYYY-MM-DD` in `CHANGELOG.md` with compare links.
33
+ 3. **Bump issue:** `python scripts/release_bump.py issues X.Y.Z` creates (or reuses) the `vX.Y.Z`
34
+ milestone, assigns it to every issue `Fixes`/`Closes`-referenced since the last tag, opens the
35
+ labeled `chore: cut and ship vX.Y.Z` issue, and prints its number.
36
+ 4. **Bump PR into `dev`:**
37
+ - `python scripts/release_bump.py bump X.Y.Z` updates `pyproject.toml`'s version and moves
38
+ `CHANGELOG.md`'s `[Unreleased]` entries to a dated `## [X.Y.Z]` heading with compare links.
32
39
  - Run `python scripts/generate_docs_reference.py` once, then verify
33
40
  `python scripts/generate_docs_reference.py --check`.
34
- - Commit: `chore(release): vX.Y.Z`. Open the PR against the labeled bump issue
41
+ - Commit: `chore(release): vX.Y.Z`. Open the PR against the bump issue from step 3
35
42
  (`Closes #N`), wait for every required check, merge.
36
- 4. **Promotion PR, `dev` to `main`:** Open it against the labeled promotion issue (`Refs #N`).
43
+ 5. **Promotion issue:** `python scripts/release_bump.py promote X.Y.Z` opens the labeled
44
+ `chore: release vX.Y.Z to main` issue in the same milestone and prints its number.
45
+ 6. **Promotion PR, `dev` to `main`:** Open it against the promotion issue from step 5 (`Refs #N`).
37
46
  `Issue hygiene`, `slop`, and `Check affected documentation` skip themselves on a `main`-based
38
47
  PR: each already ran the real per-PR version of itself against `dev` at merge time, and this
39
48
  diff is the whole release cycle re-evaluated, not a new change. Wait for `check` and
40
49
  `Build documentation`, then merge and close the promotion issue by hand.
41
- 5. **Tag:** `git tag vX.Y.Z && git push origin vX.Y.Z`. `release.yml` publishes to PyPI on this
50
+ 7. **Tag:** `git tag vX.Y.Z && git push origin vX.Y.Z`. `release.yml` publishes to PyPI on this
42
51
  push; there is no undo once the tag lands.
43
- 6. **Deploy:** In the `prod/` worktree (detached on a tag on purpose, so the public only sees
52
+ 8. **Close the milestone:** `python scripts/release_bump.py close-milestone X.Y.Z`, right after
53
+ the tag push. Every past release skipped this: `v5.0.0` through `v5.1.0` all shipped with 0
54
+ open issues but stayed open on GitHub.
55
+ 9. **Deploy:** In the `prod/` worktree (detached on a tag on purpose, so the public only sees
44
56
  something released), run `./deploy-prod.sh vX.Y.Z`. It rebuilds `docs-site`, restarts
45
57
  `agentdeck-docs-static.service`, and health-checks `127.0.0.1:4321`.
46
- 7. **Report:** Return the GitHub release URL.
58
+ 10. **Report:** Return the GitHub release URL.
47
59
 
48
60
  ## Ground Rules
49
61
  - Keep text between tool calls to ≤25 words. Keep final responses to ≤100 words unless more detail is required.
@@ -12,7 +12,7 @@ A reviewer finds what matters, says it, and stays silent elsewhere. Prove nothin
12
12
  1. Read `CLAUDE.md`, `docs/engineering/` (`principles.md`, `coding-standards.md`, `coding-agents.md`, relevant specialized standards), and the `docs/patterns/` files for the concerns this PR touches.
13
13
  2. Read the linked issue (`gh issue view <n>`) and the full diff (`gh pr diff <n>`).
14
14
  3. Check out the branch (`gh pr checkout <n>`), seed the worktree (copy `.env` if present, then `uv venv --python 3.12 && make install`), run `make check`. It ends by naming the docs-site pages this diff affects: open every page the PR left unchanged and confirm it is still true. No CI job does this; it is where stale prose is caught (#409 shipped five stale references past a ticked box).
15
- 4. Run `uv run scripts/quality_delta.py` and `PR_BODY="$(gh pr view <n> --json body -q .body)" uv run scripts/concept_budget.py`. Hold the PR to its own `## Expected delta` and `## Concept budget` declarations; unexplained overrun beyond roughly 2x is a finding. These numbers go in the return to the orchestrator, never in the PR.
15
+ 4. Run `uv run scripts/quality_delta.py` and `PR_BODY="$(gh pr view <n> --json body -q .body)" uv run scripts/concept_budget.py`. Hold the PR to its own `## Expected delta` and `## Concept budget`, which `ship-pr` Stage 1 wrote into the draft body before the first source edit and the design gate already passed. Unexplained overrun beyond roughly 2x runs the overrun pass (`references/overrun.md`); the number itself is never the finding. A body carrying no estimate is a contribution that never ran Stage 1: report the measurement and skip the trigger.
16
16
  5. **Sibling comparison:** for each changed or new module, pick 2-3 canonical siblings from `uv run scripts/repomap.py` (same package, same responsibility class), read them, and verify the PR's own `## Analog` claim against the code.
17
17
 
18
18
  ## Phases
@@ -34,7 +34,7 @@ Review progress:
34
34
  | 1. Claims | Two lines: what this PR asserts, what must be true for it to hold. | nothing |
35
35
  | 2. Attack | Go after those claims: lifecycle, event ordering, concurrency, failure paths, states the code cannot express. Edge cases belong here, not later; mutation-test anything the PR calls covered. Depth: `references/attack.md`. | inline (Template A) |
36
36
  | 3. Craft | Does it read like its neighbors: `docs/patterns/`, naming, error text, comment slop, test names that state contracts, the PR body's own verbosity. Depth: `references/craft.md`. | inline (Template A) |
37
- | 4. Scope | Should this be two PRs? Is anything here not asked for? | one line, only if there is something |
37
+ | 4. Scope | Should this be two PRs? Is anything here not asked for? Read the final diff as if no review history existed: rounds that left compensating helpers, defensive branches or duplicated tests are a consolidation, not another round. An unexplained overrun runs the overrun pass: `references/overrun.md`. | one line, or the cause the overrun pass named |
38
38
  | 5. Verdict | Draft the rubric row per phase (Claims/Attack/Craft/Scope) and findings by class, format fixed in `references/templates.md` (Template B). Before posting, re-read each finding and ask whether it names a concrete consequence; downgrade it to NIT if it does not. Only then post. | 300 words max, hard cap |
39
39
  | 6. Harvest | Optional, non-blocking, gated: see below. The default is to write nothing. | an issue carrying the entry text, never a commit and never on the PR |
40
40
 
@@ -60,8 +60,9 @@ BLOCK / DISCUSS / DEFER / NIT replace ERROR / WARNING / NOTE. Each is defined by
60
60
 
61
61
  - DISCUSS resolves when the author *answers*, not when the author agrees. Disagreement after an answer goes to the user; neither side rules.
62
62
  - A DISCUSS must state what would settle it. A shrug is not a DISCUSS.
63
- - Anything touching public API shape is a DISCUSS, never a unilateral BLOCK.
63
+ - A public API finding classifies on what you are asserting, never on what the fix touches. A choice among several valid shapes is a DISCUSS, where a reviewer holds no more authority than the author. A demonstrated broken contract is a BLOCK even when the fix changes a signature.
64
64
  - A NIT needs no reply. Collect NITs in one list at the bottom of the verdict, never inline.
65
+ - A cause the overrun pass names carries no class of its own and classifies by the rules above like any other finding, the public-API rule included. Whatever the class, the fix is the design: splitting a PR whose size came from a missing concept moves the bloat rather than removing it.
65
66
  - Cost is folded into the class, not a separate axis. Real, expensive, and not a regression is a DEFER; introduced by this PR is a BLOCK regardless of cost.
66
67
  - DEFER is not a rejection and does not require present actionability: a finding that only informs a later bug fix or feature is still worth filing. NIT means small and optional now; DEFER means real and later.
67
68
  - DEFER is where the promotion loop lives: file `finding: <gap>` with the `finding` label for a real out-of-scope defect, citing evidence. Never file a DEFER proposing a new mechanical guard; guards caught 0 of 8 v5 findings.
@@ -76,6 +77,7 @@ Every comment and the verdict body follow fixed templates: `references/templates
76
77
  - Inline, line-anchored comments (BLOCK, DISCUSS, DEFER; NITs never inline) in Template A form:
77
78
  `gh api repos/{owner}/{repo}/pulls/<n>/comments -f body=... -f commit_id=$(gh pr view <n> --json headRefOid -q .headRefOid) -f path=<file> -F line=<line> -f side=RIGHT`
78
79
  - Post the verdict as a real review in Template B form: `gh pr review <n> --comment --body-file <file>`. Pass requires zero BLOCK and every DISCUSS answered.
80
+ - Post measured against declared with the verdict, one line, so the author sees the delta against the estimate Stage 1 wrote. The raw script output stays in the return to the orchestrator.
79
81
  - The review is only delivered once it is on the PR. A local pass with nothing posted is incomplete.
80
82
  - A push that changes the code needs a new review: nothing enforces that mechanically, so it is on whoever merges.
81
83
  - File DEFER and harness-note issues per the finding-class table above.
@@ -22,9 +22,22 @@ of shallow everywhere.
22
22
  - **Import law:** `import-linter` already gates 3-ring boundaries in `make check`; read its count,
23
23
  do not re-derive it by hand.
24
24
  - **Invalid states the PR claims are impossible:** try to construct the one it says cannot happen.
25
-
26
- A claim with a named consequence you actually reproduced is a BLOCK. Skip the angles that do not
27
- bear on this PR's claims rather than writing something about each for completeness.
25
+ - **The caller's seat:** when the diff changes a public signature or an idiom the docs teach, run the
26
+ doc's own snippet through the type checker rather than reading the annotation. #231 (`TurnResult |
27
+ Any`) read as coherent from inside and did not type-check from outside; two outside reviewers hit
28
+ it and the gate never did, because no shipped example indexes the value the way a user does on
29
+ line one.
30
+ - **Docstring truth:** a docstring asserting a guarantee is a claim, so attack it like the others.
31
+ `slopcheck` measures a docstring's size and shape and never reads what it says. #417, #468 and
32
+ #423 each shipped a sentence describing a mechanism nobody built, and a human reading found all
33
+ three.
34
+
35
+ A claim with a named consequence and evidence behind it is a BLOCK. Reproduce it wherever a
36
+ practical probe discriminates the claim; where none does, the code path is the evidence. #572's
37
+ leak was established by reading `deck.py:784-811` against context-manager semantics and never
38
+ downgraded for it. Mutation testing is untouched by this: a claim that a test covers something is
39
+ settled only by running it. Skip the angles that do not bear on this PR's claims rather than
40
+ writing something about each for completeness.
28
41
 
29
42
  ## Mutation testing
30
43
 
@@ -9,6 +9,16 @@ against a deck whose catalog held `Researcher`. `Writer` with `subagents=["Resea
9
9
  consequence, introduced by this PR, verified by reproducing it: BLOCK, not a DISCUSS. The fix
10
10
  (`self._agents` is already in scope at that line) is the author's, not the reviewer's.
11
11
 
12
+ ## BLOCK, not DISCUSS: #231, `run()`'s `TurnResult | Any`
13
+
14
+ `Deck.run` is annotated `-> TurnResult | Any` (`deck.py:705`), so a checker narrows to the
15
+ `TurnResult` member and rejects `paused["type"] == "interrupt"`, the idiom `concepts/workflows.mdx:100`
16
+ teaches. Two outside reviewers hit it, and no shipped example indexes the value the way a user does
17
+ on line one, so the gate never saw it. The fix changes a public signature, which the old rule read
18
+ as automatically a DISCUSS. It is not: the reviewer is not unsure, the call is not above a
19
+ reviewer's authority, and the consequence is named and reproducible with `pyright`. A demonstrated
20
+ broken contract is a BLOCK; a choice between two workable signatures would have been the DISCUSS.
21
+
12
22
  ## Should have been DISCUSS: #415, "block, narrowly"
13
23
 
14
24
  A re-review at a later SHA read: "block, narrowly. The ERROR is genuinely fixed... What holds the
@@ -7,6 +7,7 @@ Medium freedom. A preferred pattern exists for each concern below; some variatio
7
7
  - Read the `docs/patterns/` file for this PR's concern before judging it (see `docs/patterns/README.md` for the map). A new way of doing something a pattern already covers is a defect, not a style choice.
8
8
  - Pick 2-3 canonical siblings from `uv run scripts/repomap.py` (same package, same responsibility class), read them end to end, and compare naming, error handling, dependency usage, structure, typing, and test style.
9
9
  - Verify the PR's `## Analog` claim against the actual code, not the PR's description of it.
10
+ - Public API documentation must contain the contract a caller needs. Private helpers must not carry contract details absent from the public callable. SLOP013 detects obvious size inversions; judge semantic sufficiency separately.
10
11
 
11
12
  ## The Harvest bar
12
13
 
@@ -0,0 +1,46 @@
1
+ # Overrun: from size to cause
2
+
3
+ Size is a trigger, never a finding. A BLOCK on LOC gives the author one move, splitting the diff,
4
+ and a PR whose size came from a missing concept splits into two PRs that are still the wrong shape.
5
+ The number sends you looking. What you find is the finding.
6
+
7
+ ## The trigger
8
+
9
+ Measured delta exceeds the PR's `## Expected delta` or `## Concept budget` by roughly 2x and the
10
+ body does not explain it. Both were written into the draft body before the first source edit and
11
+ cleared the design gate, so the overrun is against a real prediction. Nothing else fires this pass:
12
+ a large diff landing inside its own declaration is a PR that estimated correctly, and a body with
13
+ no estimate never ran Stage 1, so there is nothing to overrun.
14
+
15
+ ## The pass
16
+
17
+ Pause line-level review and resume Attack and Craft after: an oversized PR must not end up with
18
+ less correctness review than a small one. Read the issue's `## Proposed shape`, the PR's `## Design`
19
+ and `## Analog`, the `docs/design/` entry if there is one, and the decisions recorded on both. The
20
+ question is not "which lines could go" but "what did this design ask for that cost this much".
21
+
22
+ | where the overrun sits | inspect for | remedy |
23
+ |---|---|---|
24
+ | one new module | a concept the design never named | name it in the design first |
25
+ | spread evenly across files | a rename or refactor riding along | split |
26
+ | tests grew faster than behavior | the contract is unclear, or the abstraction is wrong | fix the abstraction |
27
+ | many new public symbols | `## Reuse analysis` missed an existing sibling | cite the sibling |
28
+ | growth arrived in later commits | patched through review rounds, never designed | consolidation pass |
29
+
30
+ Spawning a critic for this pass is fine and it passes `model: "sonnet"` like any other subagent.
31
+
32
+ ## It ends in a smaller design or it ends in nothing
33
+
34
+ The pass returns the shape the code should have had: which concept was missing, which existing
35
+ abstraction covers it, what the public surface becomes. A pass that returns "too big" has not run.
36
+ If the design holds up and the size is simply what the feature costs, say so and record the number
37
+ against the estimate; the estimate was wrong, not the code.
38
+
39
+ ## Classifying what it finds
40
+
41
+ The cause carries no class of its own; it classifies under the finding-class table like anything
42
+ else, the public-API rule included. A defect this PR introduced is a BLOCK whose consequence is the
43
+ code the wrong shape produced. A genuine choice between valid shapes, or a call above a reviewer's
44
+ authority, is a DISCUSS carrying the smaller design. Real but out of this PR's reach is a DEFER
45
+ carrying the design question. Never a NIT: a NIT is small and optional, and a design costing 2x its
46
+ estimate is neither. Whatever the class, the fix is the design rather than the split.
@@ -51,9 +51,15 @@ ALWAYS use this exact template structure:
51
51
  - `service.py:12` ...
52
52
  </details>
53
53
 
54
+ +214 LOC, 3 public symbols, against a declared 150 and 2
55
+
54
56
  0 BLOCK, 1 DISCUSS answered, 1 DEFER #431, 4 NIT
55
57
 
56
- - **300 words maximum**, excluding the rubric table and the collapsed NIT block.
58
+ - **300 words maximum**, excluding the rubric table, the collapsed NIT block and the delta line.
59
+ - The delta line is measured against the PR's `## Expected delta`, one line. It reports; it never
60
+ argues. A body with no estimate reads `+214 LOC, 3 public symbols, no estimate declared`. When it
61
+ triggered the overrun pass (`overrun.md`), the cause that pass named appears in a section above,
62
+ never as commentary on the number.
57
63
  - **Per finding: 25 words. A DISCUSS gets 35**, because it carries `Settled by:`.
58
64
  - Sections in exactly this order. **An empty section is omitted entirely**, never written as
59
65
  "None".
@@ -19,7 +19,7 @@ Read the issue and verify its claims against the tree. **Spec gate first:** if t
19
19
  Update GitHub Project (`PVT_kwHOBHijkM4BgHFZ`): Set **Status = In progress**, record Start Date, comment with start timestamp.
20
20
 
21
21
  ## 2. Implement
22
- Spawn `deck-dev` with the issue number and brief. It runs Stage 0 (Understand) then Stage 1
22
+ Provision the worktree first: `git -C <repo>/dev worktree add <repo>/wrts/<branch> <branch>` (create the branch from its base if it does not exist; on a stack the base is the layer below, otherwise `dev`). Spawn `deck-dev` with the issue number, the brief, the absolute worktree path and the PR base branch. It runs Stage 0 (Understand) then Stage 1
23
23
  (Design, posted to the draft PR body), then stops there and reports back rather than continuing
24
24
  into Stage 2.
25
25
 
@@ -90,9 +90,6 @@ jobs:
90
90
  - uses: astral-sh/setup-uv@v7
91
91
  with:
92
92
  python-version: ${{ matrix.python-version }}
93
- # v6 made this opt-in; without it `uv pip install` below finds no venv, and the
94
- # Makefile's `.venv/bin/*` calls have nothing to run.
95
- activate-environment: true
96
93
  enable-cache: true
97
94
  cache-dependency-glob: "uv.lock"
98
95
  # postgres pulls in the psycopg driver the Postgres event log's tests need: omitting an
@@ -102,7 +99,9 @@ jobs:
102
99
  # #141's keyless-AsyncOpenAI regression shipped green. Install every extra the
103
100
  # suite guards on: a narrower gate is a gate that lies.
104
101
  - name: Install
105
- run: uv pip install -e ".[dev,serve,postgres,observability]"
102
+ # --locked: fails loudly if `uv.lock` is stale instead of resolving fresh and
103
+ # leaving the lockfile to drift (#605).
104
+ run: uv sync --locked --all-extras
106
105
  # Two seconds here beats a full suite that skips the half it was meant to prove: if an
107
106
  # extra silently failed to install, every test guarding on it turns into a skip and the
108
107
  # gate goes green having measured nothing (#33, #142).
@@ -129,11 +128,11 @@ jobs:
129
128
  grep -oE 'needs the \[[a-z]+\] extra|no (Postgres|Redis) at [^"]*' /tmp/pytest-results.xml | sort -u
130
129
  exit 1
131
130
  fi
132
- # `Test` already replayed the goldens once; this second, separate process is what
133
- # proves the snapshots don't depend on process state (in-process stability has its
134
- # own test).
135
- - name: Golden replay (second process)
136
- run: .venv/bin/pytest tests/golden -q
131
+ # `Test` already replayed the event-schema snapshots once; this second, separate process
132
+ # is what proves they don't depend on process state (in-process stability has its own
133
+ # test). The v1 wire goldens this also covered are deleted with that wire (#550).
134
+ - name: Snapshot replay (second process)
135
+ run: .venv/bin/pytest tests/core -q
137
136
  - name: Build
138
137
  run: uv build
139
138
 
@@ -161,7 +160,7 @@ jobs:
161
160
  # Skipped on a `main`-based PR: that diff is the whole release cycle since main's last
162
161
  # advance, re-flagging lines each contributing PR already passed against `dev` (#536).
163
162
  slop:
164
- if: github.event_name == 'pull_request' && github.base_ref != 'main'
163
+ if: github.event_name == 'pull_request' && github.event.pull_request.base.ref != 'main'
165
164
  runs-on: ubuntu-latest
166
165
  timeout-minutes: 5
167
166
  steps:
@@ -169,12 +168,14 @@ jobs:
169
168
  with:
170
169
  fetch-depth: 0
171
170
  - name: Comment slop on lines this PR adds
172
- run: python3 scripts/slopcheck.py --changed --base "origin/${{ github.base_ref }}" < /dev/null
171
+ run: python3 scripts/slopcheck.py --changed --base "origin/${{ github.event.pull_request.base.ref }}" < /dev/null
173
172
  - name: Commit metadata has no agent attribution
174
- run: python3 scripts/check_commit_hygiene.py "origin/${{ github.base_ref }}"
173
+ run: python3 scripts/check_commit_hygiene.py "origin/${{ github.event.pull_request.base.ref }}"
175
174
  - name: Concept budget honored (new classes/symbols/modules/deps declared)
176
175
  env:
177
176
  PR_BODY: ${{ github.event.pull_request.body }}
178
- run: python3 scripts/concept_budget.py "origin/${{ github.base_ref }}"
177
+ run: python3 scripts/concept_budget.py "origin/${{ github.event.pull_request.base.ref }}"
179
178
  - name: Quality delta
180
- run: python3 scripts/quality_delta.py "origin/${{ github.base_ref }}"
179
+ run: python3 scripts/quality_delta.py "origin/${{ github.event.pull_request.base.ref }}"
180
+ - name: Changelog entries land under [Unreleased]
181
+ run: python3 scripts/changelog_position.py "origin/${{ github.event.pull_request.base.ref }}"
@@ -58,9 +58,6 @@ jobs:
58
58
  - uses: astral-sh/setup-uv@v7
59
59
  with:
60
60
  python-version: "3.12"
61
- # v6 made this opt-in; without it `uv pip install` below finds no venv, and the
62
- # Makefile's `.venv/bin/*` calls have nothing to run.
63
- activate-environment: true
64
61
  enable-cache: true
65
62
  cache-dependency-glob: "uv.lock"
66
63
  - name: Verify tag matches pyproject version
@@ -73,9 +70,9 @@ jobs:
73
70
  fi
74
71
  - name: Install and check
75
72
  # Same extras as ci.yml: a release build must run the same gate as a merge, not a
76
- # narrower one.
73
+ # narrower one. --locked: fails loudly if `uv.lock` is stale (#605).
77
74
  run: |
78
- uv pip install -e ".[dev,serve,postgres,observability]"
75
+ uv sync --locked --all-extras
79
76
  .venv/bin/python -c "import fastapi, uvicorn, langfuse, psycopg, redis"
80
77
  .venv/bin/ruff check agentdeck/ tests/
81
78
  .venv/bin/ty check agentdeck
@@ -26,3 +26,4 @@ docs/brand/*.jpg
26
26
 
27
27
  # make check's per-target logs (worktree-scoped, see Makefile's LOG)
28
28
  .make-*.log
29
+ node_modules/
@@ -0,0 +1 @@
1
+ {"agentdeck.mcp": 1788386281.5323403, "agentdeck.authoring": 1788386281.5300634, "agentdeck.adapters.telemetry.langfuse.client": 1788386281.5297182, "agentdeck.adapters.executors.native.executor": 1788386281.527745, "agentdeck.adapters.executors.openai_agents.reconcile": 1788386281.527908, "agentdeck.core.ports.lease": 1788386281.5323403, "agentdeck.core.context": 1788386281.5316947, "agentdeck.adapters.stores.redis": 1788386281.5290263, "agentdeck.adapters.executors.openai_agents.executor": 1788386281.527908, "agentdeck.adapters.control.memory": 1788386281.5273702, "agentdeck.adapters.stores.memory": 1788386281.5288353, "agentdeck.runtime.registry": 1788386281.5329542, "agentdeck.deck": 1788386281.5323403, "agentdeck.adapters.stores.sqlite": 1788386281.5292273, "agentdeck.authoring.runners": 1788386281.5303414, "agentdeck.adapters.control.memory.port": 1788386281.5274227, "agentdeck.adapters.leases.sqlite": 1788386281.5285747, "agentdeck.adapters.tools.mcp.lifecycle": 1788386281.5300634, "agentdeck.adapters.telemetry.langfuse": 1788386281.5296638, "agentdeck.adapters.tools.mcp.transport": 1788386281.5300634, "agentdeck.adapters.executors.openai_agents.sessions": 1788386281.527908, "agentdeck.runtime.discovery": 1788386281.5329542, "agentdeck.adapters.control.sqlite.port": 1788386281.5275404, "agentdeck.cli": 1788386281.5311918, "agentdeck.bindings.terminal": 1788386281.5311918, "agentdeck.adapters.executors.openai_agents": 1788386281.527745, "agentdeck.adapters.bindings.native.binding": 1788386281.5270848, "agentdeck.adapters.tools.mcp": 1788386281.5300107, "agentdeck.runtime.capture": 1788386281.5329542, "agentdeck.core.ports": 1788386281.5316947, "agentdeck.adapters.stores.sqlite.store": 1788386281.529421, "agentdeck.adapters.tools.mcp.wiring": 1788386281.5300634, "agentdeck.adapters.stores.memory.store": 1788386281.5288835, "agentdeck.authoring.agent": 1788386281.5303414, "agentdeck.adapters.bindings.native": 1788386281.526853, "agentdeck.authoring.interrupts": 1788386281.5303414, "agentdeck.core.ports.store": 1788386281.5323403, "agentdeck.authoring.injection": 1788386281.5303414, "agentdeck.adapters.telemetry": 1788386281.529421, "agentdeck.bindings.agui": 1788386281.5311918, "agentdeck.adapters.tools.mcp.source": 1788386281.5300634, "agentdeck.adapters.bindings.terminal": 1788386281.5270848, "agentdeck.composition": 1788386281.5311918, "agentdeck.skills": 1788386281.5329542, "agentdeck.authoring.instructions": 1788386281.5303414, "agentdeck.adapters.telemetry.langfuse.trace": 1788386281.5297182, "agentdeck.core": 1788386281.5311918, "agentdeck.adapters.executors.stub.executor": 1788386281.5283446, "agentdeck.core.events": 1788386281.5316947, "agentdeck.core.ports.control": 1788386281.5323403, "agentdeck.adapters.leases.memory": 1788386281.5284722, "agentdeck.core.ports.sink": 1788386281.5323403, "agentdeck.core.control": 1788386281.5316947, "agentdeck.adapters.stores.postgres": 1788386281.5288835, "agentdeck.adapters.control": 1788386281.5272253, "agentdeck.authoring.skills": 1788386281.5308964, "agentdeck.adapters.executors": 1788386281.5275404, "agentdeck.adapters.stores.redis.store": 1788386281.5292273, "agentdeck.adapters.executors.openai_agents.translate": 1788386281.527908, "agentdeck.authoring.hooks": 1788386281.5303414, "agentdeck.core.ports.tools": 1788386281.5323403, "agentdeck.core.base": 1788386281.5316947, "agentdeck.authoring.tools": 1788386281.5308964, "agentdeck.core.reporting": 1788386281.5323403, "agentdeck.adapters": 1788386281.5266154, "agentdeck.adapters.tools": 1788386281.5297182, "agentdeck.adapters.bindings.agui": 1788386281.5268013, "agentdeck.runtime.dispatch": 1788386281.5329542, "agentdeck.core.ports.executor": 1788386281.5323403, "agentdeck.adapters.control.sqlite": 1788386281.5274227, "agentdeck.adapters.bindings.agui.adapter": 1788386281.526853, "agentdeck.core.workers": 1788386281.5323403, "agentdeck.adapters.executors.stub": 1788386281.527908, "agentdeck.adapters.stores.postgres.store": 1788386281.5290263, "agentdeck.adapters.bindings": 1788386281.5267348, "agentdeck.adapters.bindings.terminal.binding": 1788386281.5272253, "agentdeck.adapters.executors.native": 1788386281.5276952, "agentdeck.authoring.compile": 1788386281.5303414, "agentdeck.adapters.telemetry.langfuse.sink": 1788386281.5297182, "agentdeck.skills.bundle": 1788386281.5343738, "agentdeck.authoring.native": 1788386281.5303414, "agentdeck.bindings.native": 1788386281.5311918, "agentdeck.adapters.leases": 1788386281.5283446, "agentdeck.runtime": 1788386281.5323403, "agentdeck.core.content": 1788386281.5316947, "agentdeck.authoring.runners.agent": 1788386281.5308964, "agentdeck.views": 1788386281.5343738, "agentdeck.runtime.settings": 1788386281.5329542, "agentdeck.testing": 1788386281.5343738, "agentdeck.bindings.binding": 1788386281.5311918, "agentdeck.observers": 1788386281.5323403, "agentdeck.errors": 1788386281.5323403, "agentdeck.runtime.service": 1788386281.5329542, "agentdeck.bindings": 1788386281.5308964, "agentdeck.bindings.gateway": 1788386281.5311918, "agentdeck.adapters.stores": 1788386281.5286853, "agentdeck.bindings.exposure": 1788386281.5311918, "agentdeck.authoring.web_search": 1788386281.5308964, "agentdeck.core.invocable": 1788386281.5316947, "agentdeck.adapters.leases.sqlite.port": 1788386281.5286853, "agentdeck": 1788386281.5266154, "agentdeck.adapters.executors.openai_agents.runconfig": 1788386281.527908, "agentdeck.core.status": 1788386281.5323403, "agentdeck.adapters.bindings.agui.binding": 1788386281.526853, "agentdeck.adapters.leases.memory.port": 1788386281.5285747, "agentdeck.core.errors": 1788386281.5316947}