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.
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.agents/skills/open-issue/SKILL.md +6 -0
- {agentdeck_sdk-5.2.0/.claude → agentdeck_sdk-6.0.0/.agents}/skills/release/SKILL.md +20 -8
- {agentdeck_sdk-5.2.0/.claude → agentdeck_sdk-6.0.0/.agents}/skills/ship-issue/SKILL.md +1 -1
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/agents/deck-cleanup.md +2 -1
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/agents/deck-dev.md +7 -3
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/agents/deck-reviewer.md +3 -2
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/agents/docs-reviewer.md +2 -1
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/agents/docs-writer.md +2 -1
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/skills/open-issue/SKILL.md +6 -0
- {agentdeck_sdk-5.2.0/.agents → agentdeck_sdk-6.0.0/.claude}/skills/release/SKILL.md +20 -8
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/skills/review-pr/SKILL.md +5 -3
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/skills/review-pr/references/attack.md +16 -3
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/skills/review-pr/references/classify.md +10 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/skills/review-pr/references/craft.md +1 -0
- agentdeck_sdk-6.0.0/.claude/skills/review-pr/references/overrun.md +46 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/skills/review-pr/references/templates.md +7 -1
- {agentdeck_sdk-5.2.0/.agents → agentdeck_sdk-6.0.0/.claude}/skills/ship-issue/SKILL.md +1 -1
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/workflows/ci.yml +15 -14
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/workflows/release.yml +2 -5
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.gitignore +1 -0
- agentdeck_sdk-6.0.0/.import_linter_cache/agentdeck.meta.json +1 -0
- agentdeck_sdk-6.0.0/.import_linter_cache/cc0de4ae2e5697bf7cf3a0b9c3aff14b2ece24cd.data.json +1 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.importlinter +99 -42
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/CHANGELOG.md +137 -1
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/Makefile +15 -8
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/PKG-INFO +30 -9
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/README.md +21 -5
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/README.md +10 -16
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/__init__.py +4 -16
- agentdeck_sdk-6.0.0/agentdeck/adapters/bindings/__init__.py +1 -0
- agentdeck_sdk-6.0.0/agentdeck/adapters/bindings/agui/__init__.py +7 -0
- agentdeck_sdk-6.0.0/agentdeck/adapters/bindings/agui/adapter.py +306 -0
- agentdeck_sdk-6.0.0/agentdeck/adapters/bindings/agui/binding.py +323 -0
- agentdeck_sdk-6.0.0/agentdeck/adapters/bindings/native/__init__.py +8 -0
- agentdeck_sdk-6.0.0/agentdeck/adapters/bindings/native/binding.py +293 -0
- agentdeck_sdk-6.0.0/agentdeck/adapters/bindings/terminal/__init__.py +7 -0
- agentdeck_sdk-6.0.0/agentdeck/adapters/bindings/terminal/binding.py +234 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/executors/native/executor.py +4 -4
- agentdeck_sdk-6.0.0/agentdeck/bindings/__init__.py +65 -0
- agentdeck_sdk-6.0.0/agentdeck/bindings/agui.py +12 -0
- agentdeck_sdk-6.0.0/agentdeck/bindings/binding.py +79 -0
- agentdeck_sdk-6.0.0/agentdeck/bindings/exposure.py +157 -0
- agentdeck_sdk-6.0.0/agentdeck/bindings/gateway.py +201 -0
- agentdeck_sdk-6.0.0/agentdeck/bindings/native.py +12 -0
- agentdeck_sdk-6.0.0/agentdeck/bindings/terminal.py +11 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/cli.py +26 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/composition.py +1 -1
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/content.py +9 -3
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/errors.py +8 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/events.py +5 -3
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/deck.py +136 -47
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/errors.py +2 -2
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/runtime/discovery.py +19 -5
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/runtime/registry.py +27 -21
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/runtime/service.py +10 -6
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/skills/__init__.py +2 -1
- agentdeck_sdk-6.0.0/docs/brand/refine-brand/agentdeck-a-master.svg +10 -0
- agentdeck_sdk-6.0.0/docs/brand/refine-brand/agentdeck-a-stylized-master.svg +5 -0
- agentdeck_sdk-6.0.0/docs/brand/refine-brand/agentdeck-card-a-preview.svg +16 -0
- agentdeck_sdk-6.0.0/docs/brand/refine-brand/agentdeck-primary-card-a-preview.svg +8 -0
- agentdeck_sdk-6.0.0/docs/brand/refine-brand/agentdeck-primary-cut-r28.svg +17 -0
- agentdeck_sdk-6.0.0/docs/brand/refine-brand/agentdeck-primary-mark-master.svg +18 -0
- agentdeck_sdk-6.0.0/docs/brand/refine-brand/agentdeck-primary-mark-v1-clean-fixed.svg +21 -0
- agentdeck_sdk-6.0.0/docs/brand/refine-brand/agentdeck-primary-mark-v1-clearspace.svg +21 -0
- agentdeck_sdk-6.0.0/docs/brand/refine-brand/agentdeck-primary-mark-v1-knockout.svg +22 -0
- agentdeck_sdk-6.0.0/docs/brand/refine-brand/agentdeck-primary-mark-v1-locked.svg +18 -0
- agentdeck_sdk-6.0.0/docs/brand/refine-brand/agentdeck-primary-mark-v1-monochrome.svg +17 -0
- agentdeck_sdk-6.0.0/docs/brand/refine-brand/agentdeck-spark-master.svg +7 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/design/agentdeck-v2-architecture.md +1 -1
- agentdeck_sdk-6.0.0/docs/design/protocols/README.md +92 -0
- agentdeck_sdk-6.0.0/docs/design/protocols/agui.md +372 -0
- agentdeck_sdk-6.0.0/docs/design/protocols/bindings.md +85 -0
- agentdeck_sdk-6.0.0/docs/design/protocols/exposure.md +69 -0
- agentdeck_sdk-6.0.0/docs/design/protocols/gateway.md +101 -0
- agentdeck_sdk-6.0.0/docs/design/protocols/invariants.md +38 -0
- agentdeck_sdk-6.0.0/docs/design/protocols/native-wire.md +53 -0
- agentdeck_sdk-6.0.0/docs/design/protocols/projection.md +66 -0
- agentdeck_sdk-6.0.0/docs/design/protocols/roadmap.md +64 -0
- agentdeck_sdk-6.0.0/docs/design/protocols/rulings.md +60 -0
- agentdeck_sdk-6.0.0/docs/design/protocols/spi.md +50 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/design/run-lifecycle.md +1 -1
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/engineering/architecture.md +15 -1
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/engineering/coding-agents.md +3 -0
- agentdeck_sdk-6.0.0/docs-site/app/announcement.tsx +60 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/brand.css +513 -1
- agentdeck_sdk-6.0.0/docs-site/app/diagram.tsx +64 -0
- agentdeck_sdk-6.0.0/docs-site/app/generated-version.ts +2 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/hero.css +9 -38
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/hero.tsx +0 -14
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/jack.css +160 -25
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/jack.tsx +72 -17
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/landing-components.tsx +5 -19
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/landing.css +16 -30
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/layout.tsx +39 -7
- agentdeck_sdk-6.0.0/docs-site/app/page-feedback.tsx +63 -0
- agentdeck_sdk-6.0.0/docs-site/app/toc-active.tsx +52 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/_meta.ts +1 -0
- agentdeck_sdk-6.0.0/docs-site/content/bindings/_meta.ts +8 -0
- agentdeck_sdk-6.0.0/docs-site/content/bindings/agui.mdx +78 -0
- agentdeck_sdk-6.0.0/docs-site/content/bindings/index.mdx +57 -0
- agentdeck_sdk-6.0.0/docs-site/content/bindings/native.mdx +67 -0
- agentdeck_sdk-6.0.0/docs-site/content/bindings/serve.mdx +81 -0
- agentdeck_sdk-6.0.0/docs-site/content/bindings/terminal.mdx +50 -0
- agentdeck_sdk-6.0.0/docs-site/content/bindings/write-your-own.mdx +85 -0
- agentdeck_sdk-6.0.0/docs-site/content/build-your-deck/agents.mdx +112 -0
- agentdeck_sdk-6.0.0/docs-site/content/examples/_meta.ts +7 -0
- agentdeck_sdk-6.0.0/docs-site/content/examples/agent-with-a-skill.mdx +52 -0
- agentdeck_sdk-6.0.0/docs-site/content/examples/chat-agent-with-a-tool.mdx +72 -0
- agentdeck_sdk-6.0.0/docs-site/content/examples/chat-in-the-terminal.mdx +76 -0
- agentdeck_sdk-6.0.0/docs-site/content/examples/index.mdx +31 -0
- agentdeck_sdk-6.0.0/docs-site/content/examples/run-events-stream.mdx +60 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/index.mdx +2 -1
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/meet-agentdeck/_meta.ts +1 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/meet-agentdeck/overview.mdx +1 -0
- agentdeck_sdk-6.0.0/docs-site/content/meet-agentdeck/quickstart.mdx +193 -0
- agentdeck_sdk-6.0.0/docs-site/content/meet-agentdeck/whats-new-6.mdx +100 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/operate/deployment.mdx +20 -16
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/reference/cli.mdx +18 -3
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/reference/deck.mdx +53 -18
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/reference/events.mdx +0 -1
- agentdeck_sdk-6.0.0/docs-site/content/reference/python-api.mdx +59 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/reference/run.mdx +3 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/reference/settings.mdx +9 -0
- agentdeck_sdk-6.0.0/docs-site/content/resources/changelog.mdx +177 -0
- agentdeck_sdk-6.0.0/docs-site/content/resources/known-issues.mdx +97 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/resources/migration-guides.mdx +19 -3
- agentdeck_sdk-6.0.0/docs-site/content/resources/troubleshooting.mdx +61 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/runs-and-control/sessions.mdx +2 -1
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/package-lock.json +20 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/package.json +1 -0
- agentdeck_sdk-6.0.0/docs-site/public/brand/a-chevron.svg +9 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/llms-full.txt +1236 -140
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/llms.txt +11 -0
- agentdeck_sdk-6.0.0/examples/chat-in-the-terminal/.agentdeck/workflows/shift_handover/workflow.py +14 -0
- agentdeck_sdk-6.0.0/examples/chat-in-the-terminal/README.md +53 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/jack/jack/agent.py +7 -3
- agentdeck_sdk-6.0.0/examples/run-events-stream/README.md +42 -0
- agentdeck_sdk-6.0.0/examples/run-events-stream/run.py +17 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/pyproject.toml +26 -8
- agentdeck_sdk-6.0.0/scripts/changelog_position.py +83 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/scripts/generate_docs_reference.py +47 -2
- agentdeck_sdk-6.0.0/scripts/release_bump.py +208 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/scripts/slopcheck.py +123 -2
- agentdeck_sdk-6.0.0/tests/bindings/agui_client/package-lock.json +139 -0
- agentdeck_sdk-6.0.0/tests/bindings/agui_client/package.json +9 -0
- agentdeck_sdk-6.0.0/tests/bindings/agui_client/run_scenario.js +58 -0
- agentdeck_sdk-6.0.0/tests/bindings/fixture_plugin/.importlinter +22 -0
- agentdeck_sdk-6.0.0/tests/bindings/fixture_plugin/__init__.py +3 -0
- agentdeck_sdk-6.0.0/tests/bindings/fixture_plugin/channel.py +258 -0
- agentdeck_sdk-6.0.0/tests/bindings/test_agui_binding.py +617 -0
- agentdeck_sdk-6.0.0/tests/bindings/test_agui_client_conformance.py +113 -0
- agentdeck_sdk-6.0.0/tests/bindings/test_contract.py +349 -0
- agentdeck_sdk-6.0.0/tests/bindings/test_deck_verbs.py +217 -0
- agentdeck_sdk-6.0.0/tests/bindings/test_gateway_boundary.py +22 -0
- agentdeck_sdk-6.0.0/tests/bindings/test_native_binding.py +403 -0
- agentdeck_sdk-6.0.0/tests/bindings/test_terminal_binding.py +208 -0
- agentdeck_sdk-6.0.0/tests/bindings/test_three_bindings_one_deck.py +137 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/concurrency_worker.py +1 -1
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/contract/contract_cases.py +1 -1
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/conftest.py +1 -1
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/run.interrupted.json +1 -1
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/test_content.py +5 -2
- agentdeck_sdk-6.0.0/tests/test_bindings_binding.py +58 -0
- agentdeck_sdk-6.0.0/tests/test_bindings_exposure.py +310 -0
- agentdeck_sdk-6.0.0/tests/test_bindings_gateway.py +271 -0
- agentdeck_sdk-6.0.0/tests/test_changelog.py +50 -0
- agentdeck_sdk-6.0.0/tests/test_cli.py +254 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_composition.py +2 -1
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_context_validation.py +6 -3
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_deck.py +158 -35
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_errors.py +138 -27
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_examples.py +60 -1
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_generated_reference.py +14 -6
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_governance_workflows.py +10 -1
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_invocable_registry.py +39 -1
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_jack.py +17 -1
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_langfuse_sink.py +2 -2
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_native_workflow.py +36 -6
- agentdeck_sdk-6.0.0/tests/test_public_surface.py +56 -0
- agentdeck_sdk-6.0.0/tests/test_release_bump.py +183 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_run_reporting.py +1 -53
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_runtime_service.py +11 -10
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_skills.py +2 -1
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_sqlite_store.py +1 -1
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_streaming.py +0 -87
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_sync_tool_workers.py +76 -21
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_uc3_slowpoke.py +6 -14
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/uv.lock +158 -135
- agentdeck_sdk-5.2.0/.import_linter_cache/agentdeck.meta.json +0 -1
- agentdeck_sdk-5.2.0/.import_linter_cache/cc0de4ae2e5697bf7cf3a0b9c3aff14b2ece24cd.data.json +0 -1
- agentdeck_sdk-5.2.0/agentdeck/serve.py +0 -291
- agentdeck_sdk-5.2.0/agentdeck/surfaces/__init__.py +0 -4
- agentdeck_sdk-5.2.0/agentdeck/surfaces/cli/__init__.py +0 -7
- agentdeck_sdk-5.2.0/agentdeck/surfaces/cli/chat.py +0 -84
- agentdeck_sdk-5.2.0/agentdeck/surfaces/serve/__init__.py +0 -7
- agentdeck_sdk-5.2.0/agentdeck/surfaces/serve/app.py +0 -71
- agentdeck_sdk-5.2.0/agentdeck/surfaces/serve/compat.py +0 -104
- agentdeck_sdk-5.2.0/docs-site/app/diagram.tsx +0 -33
- agentdeck_sdk-5.2.0/docs-site/content/build-your-deck/agents.mdx +0 -107
- agentdeck_sdk-5.2.0/docs-site/content/examples/_meta.ts +0 -3
- agentdeck_sdk-5.2.0/docs-site/content/examples/index.mdx +0 -15
- agentdeck_sdk-5.2.0/docs-site/content/meet-agentdeck/quickstart.mdx +0 -115
- agentdeck_sdk-5.2.0/docs-site/content/reference/python-api.mdx +0 -29
- agentdeck_sdk-5.2.0/docs-site/content/resources/changelog.mdx +0 -64
- agentdeck_sdk-5.2.0/docs-site/content/resources/known-issues.mdx +0 -123
- agentdeck_sdk-5.2.0/docs-site/content/resources/troubleshooting.mdx +0 -15
- agentdeck_sdk-5.2.0/tests/golden/README.md +0 -98
- agentdeck_sdk-5.2.0/tests/golden/conftest.py +0 -72
- agentdeck_sdk-5.2.0/tests/golden/fixture_project/.agentdeck/agents/greeter/agent.py +0 -16
- agentdeck_sdk-5.2.0/tests/golden/snapshots/01_health.http +0 -4
- agentdeck_sdk-5.2.0/tests/golden/snapshots/02_chat.http +0 -4
- agentdeck_sdk-5.2.0/tests/golden/snapshots/03_chat_stream.http +0 -14
- agentdeck_sdk-5.2.0/tests/golden/snapshots/04_chat_missing_field.http +0 -4
- agentdeck_sdk-5.2.0/tests/golden/snapshots/05_agent_unknown.http +0 -4
- agentdeck_sdk-5.2.0/tests/golden/test_golden_wire.py +0 -57
- agentdeck_sdk-5.2.0/tests/test_changelog.py +0 -23
- agentdeck_sdk-5.2.0/tests/test_cli.py +0 -63
- agentdeck_sdk-5.2.0/tests/test_cli_render.py +0 -79
- agentdeck_sdk-5.2.0/tests/test_serve.py +0 -192
- agentdeck_sdk-5.2.0/tests/test_serve_compat.py +0 -341
- agentdeck_sdk-5.2.0/tests/test_serve_session_claim.py +0 -120
- agentdeck_sdk-5.2.0/tests/test_uc1_handoff.py +0 -299
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.agentdeck/agents/greeter/agent.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.agents/skills/deck-cleanup/SKILL.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.agents/skills/deck-cleanup/agents/openai.yaml +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.agents/skills/deck-cleanup/references/narrative-prose.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/settings.json +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/skills/milestone-retro/SKILL.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/skills/milestone-retro/references/judging.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/skills/milestone-retro/references/queries.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/skills/ship-pr/SKILL.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/skills/ship-pr/references/design.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/skills/ship-pr/references/implement.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/skills/ship-pr/references/self-review.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.codex/agents/deck-cleanup.toml +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.codex/agents/deck-dev.toml +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.codex/agents/deck-reviewer.toml +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.codex/agents/docs-reviewer.toml +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.codex/agents/docs-writer.toml +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.dockerignore +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.env.example +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.gitattributes +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/CODEOWNERS +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/ISSUE_TEMPLATE/docs_contribution.yml +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/ISSUE_TEMPLATE/finding.yml +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/assets/contributors/merged.png +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/assets/contributors/welcome.png +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/dependabot.yml +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/workflows/docs-check.yml +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/workflows/docs-impact.yml +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/workflows/docs-pages.yml +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/workflows/first-contribution.yml +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.github/workflows/issue-hygiene.yml +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.import_linter_cache/.gitignore +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.import_linter_cache/CACHEDIR.TAG +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.pre-commit-config.yaml +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/AGENTS.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/CLAUDE.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/CODE_OF_CONDUCT.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/CONTRIBUTING.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/Dockerfile +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/LICENSE +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/SECURITY.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/__init__.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/control/__init__.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/control/memory/__init__.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/control/memory/port.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/control/sqlite/__init__.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/control/sqlite/port.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/executors/__init__.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/executors/native/__init__.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/executors/openai_agents/__init__.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/executors/openai_agents/executor.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/executors/openai_agents/reconcile.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/executors/openai_agents/runconfig.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/executors/openai_agents/sessions.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/executors/openai_agents/translate.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/executors/stub/__init__.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/executors/stub/executor.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/leases/__init__.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/leases/memory/__init__.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/leases/memory/port.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/leases/sqlite/__init__.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/leases/sqlite/port.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/stores/__init__.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/stores/memory/__init__.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/stores/memory/store.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/stores/postgres/__init__.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/stores/postgres/store.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/stores/redis/__init__.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/stores/redis/store.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/stores/sqlite/__init__.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/stores/sqlite/store.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/telemetry/__init__.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/telemetry/langfuse/__init__.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/telemetry/langfuse/client.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/telemetry/langfuse/sink.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/telemetry/langfuse/trace.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/tools/__init__.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/tools/mcp/__init__.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/tools/mcp/lifecycle.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/tools/mcp/source.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/tools/mcp/transport.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/adapters/tools/mcp/wiring.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/authoring/__init__.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/authoring/agent.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/authoring/compile.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/authoring/hooks.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/authoring/injection.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/authoring/instructions.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/authoring/interrupts.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/authoring/native.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/authoring/runners/__init__.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/authoring/runners/agent.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/authoring/skills.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/authoring/tools.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/authoring/web_search.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/__init__.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/base.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/context.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/control.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/invocable.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/ports/__init__.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/ports/control.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/ports/executor.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/ports/lease.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/ports/sink.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/ports/store.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/ports/tools.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/reporting.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/status.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/core/workers.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/mcp.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/observers.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/py.typed +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/runtime/__init__.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/runtime/capture.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/runtime/dispatch.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/runtime/settings.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/skills/bundle.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/testing.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/agentdeck/views.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/context7.json +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docker-compose.yml +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/00-project-index.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/agentdeck-prd.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/ai-agents/ai_agent_repository_alignment_research.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/ai-agents/harness_change_log.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/ai-agents/solutions_for_aligning_ai_agents.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/ai-agents/sota_style_alignment_findings.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/README.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/components/card.svg +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/components/spark.svg +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/components/wordmark.svg +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/contributor-merged.svg +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/contributor-welcome.svg +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/favicon.svg +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/logo-black.svg +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/logo-blue.svg +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/logo-full.svg +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/logo-mark.svg +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/logo-traced-original.svg +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/logo-white.svg +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/logo.svg +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/brand/social-card.svg +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/beta-user-report-v3.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/decision-v3-entry-point.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/deck-capability-wrapper-pattern.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/discoverability-baseline.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/docs-site-plan.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/epic-agentdeck-v2-core.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/findings-register.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/milestone-0-findings.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/milestone-0-walking-skeleton.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/plan-166-delivery.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/plan-219-delivery.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/plan-adoption.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/plan-context-injection.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/plan-docs-ia.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/plan-jack-eval.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/plan-multimodal.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/plan-phase4-deck.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/plan-provider-credential-validation.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/plan-skills.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/plan-slop-comment-ratio.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/plan-v2-cutover.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/review-context-injection.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/review-phase4-deck.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/review-v3-outsider.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/roadmap-v3.1.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/roadmap-v3.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/delivery/workflow.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/design/adr-d11-store-assigns-seq-and-time.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/design/adr-d5-two-stores.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/design/event-store-claims.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/design/execution-api-source.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/design/execution-api.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/design/run-identity.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/design/run-operations.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/design/sink-dispatch.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/design-system.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/engineering/README.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/engineering/coding-standards.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/engineering/dependencies.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/engineering/import-boundaries.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/engineering/principles.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/engineering/repository-policy.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/engineering/runtime-contracts.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/engineering/testing.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/patterns/README.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/patterns/comments.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/patterns/errors.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/patterns/lifecycle.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/patterns/tests.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/project-brief.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/prompts/pr0-baseline-prompt.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/prompts/pr0-review-prompt.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/prompts/pr1-event-schema-prompt.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs/spec.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/.env.development +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/.env.production +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/.gitignore +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/README.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/[[...mdxPath]]/page.tsx +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/brand-icons.tsx +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/callout.tsx +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/contribute.tsx +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/deck-figure.tsx +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/design-system.tsx +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/docs-slugs.ts +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/icon.svg +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/install-line.tsx +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/jack-answer-link.tsx +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/jack-citations.ts +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/jack-live.tsx +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/jack-stream.ts +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/kind-icons.tsx +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/mark.tsx +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/not-found.tsx +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/robots.ts +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/site.ts +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/app/sitemap.ts +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/build-your-deck/_meta.ts +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/build-your-deck/context.mdx +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/build-your-deck/deck.mdx +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/build-your-deck/skills.mdx +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/build-your-deck/tools.mdx +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/build-your-deck/workflows.mdx +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/integrations/_meta.ts +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/integrations/existing-agents.mdx +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/integrations/mcp.mdx +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/integrations/openai-agents-sdk.mdx +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/jack/_meta.ts +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/jack/notes.mdx +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/jack.mdx +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/meet-agentdeck/mental-model.mdx +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/operate/_meta.ts +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/reference/_meta.ts +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/resources/_meta.ts +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/runs-and-control/_meta.ts +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/runs-and-control/events.mdx +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/runs-and-control/human-input.mdx +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/runs-and-control/lifecycle-and-control.mdx +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/runs-and-control/pause-resume.mdx +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/content/runs-and-control/runs.mdx +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/mdx-components.tsx +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/next-env.d.ts +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/next.config.mjs +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/brand/card.svg +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/brand/contributor-merged.svg +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/brand/contributor-welcome.svg +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/brand/favicon.svg +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/brand/logo-black.svg +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/brand/logo-blue.svg +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/brand/logo-full.svg +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/brand/logo-mark.svg +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/brand/logo-traced-original.svg +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/brand/logo-white.svg +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/brand/logo.svg +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/brand/social-card.svg +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/brand/spark.svg +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/public/brand/wordmark.svg +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/docs-site/tsconfig.json +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/agent-with-a-skill/.agentdeck/agents/handover_desk/agent.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/agent-with-a-skill/.agentdeck/skills/shift-notes/SKILL.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/agent-with-a-skill/README.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/agent-with-a-skill/run.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/chat-agent-with-a-tool/.agentdeck/agents/order_desk/agent.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/chat-agent-with-a-tool/README.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/chat-agent-with-a-tool/run.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/jack/README.md +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/jack/cloudflared.yml +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/jack/eval.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/jack/evals/__init__.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/jack/evals/judge.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/jack/evals/metrics.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/jack/evals/run.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/jack/evalset.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/jack/jack/__init__.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/jack/jack/corpus.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/jack/jack/server.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/jack/jack/session.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/examples/jack/run.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/scripts/check_commit_hygiene.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/scripts/check_docs_impact.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/scripts/concept_budget.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/scripts/quality_delta.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/scripts/repomap.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/scripts/sync_claude_to_codex.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/scripts/sync_roadmap.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/conftest.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/context_injection_subjects.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/contract/case_types.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/contract/conftest.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/contract/context_subjects.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/contract/live_stores.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/contract/never_yields.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/contract/openai_agents_cases.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/contract/test_context_parity.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/contract/test_control.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/contract/test_control_port.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/contract/test_event_stream.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/contract/test_lease.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/contract/test_resume.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/contract/test_store.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/agent.changed.json +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/answer.refused.json +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/artifact.created.json +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/control.observed.json +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/control.requested.json +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/custom.json +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/input.appended.json +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/message.completed.json +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/report.json +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/run.cancelled.json +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/run.completed.json +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/run.failed.json +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/run.paused.json +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/run.resumed.json +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/run.started.json +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/text.delta.json +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/thought.delta.json +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/tool.call.completed.json +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/tool.call.started.json +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/snapshots/usage.reported.json +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/test_context.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/test_continuation.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/test_events.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/test_golden_json.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/test_import_law.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/test_model_config.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/test_old_reader_block_compat.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/test_old_reader_compat.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/test_reporting.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/test_run_lifecycle_tables.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/core/test_vocabularies_agree.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/crash_worker.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/event_log_checks.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/plays.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/project_executors.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_agent_changed.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_agent_model_resolution.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_authoring.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_brand_assets.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_child_runs.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_commit_hygiene.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_context_injection.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_crash_reconciliation.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_docs_examples.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_docs_impact.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_docs_site.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_executor_plays.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_handoff_ends_on_user_turn.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_handoff_round_trip.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_handoffs.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_instructions_and_hooks.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_jack_server.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_langfuse_tracer.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_mcp.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_mcp_tool_source.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_memory_store.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_model_providers.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_multiprocess_concurrency.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_observability.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_openai_agents_engine.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_openai_agents_reconcile.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_openai_agents_sessions.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_openai_agents_tool_failure.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_package.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_postgres_store.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_redis_store.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_run_config_parity.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_run_control.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_settings.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_sink_dispatch.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_sqlite_control_port.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_subagents.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_tool_compilation.py +0 -0
- {agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/tests/test_views.py +0 -0
- {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
|
|
30
|
-
|
|
31
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
30
|
-
|
|
31
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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`
|
|
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,
|
|
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
|
-
-
|
|
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
|
-
|
|
27
|
-
|
|
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.
|
{agentdeck_sdk-5.2.0 → agentdeck_sdk-6.0.0}/.claude/skills/review-pr/references/templates.md
RENAMED
|
@@ -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
|
|
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
|
|
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
|
-
|
|
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
|
|
133
|
-
# proves
|
|
134
|
-
#
|
|
135
|
-
- name:
|
|
136
|
-
run: .venv/bin/pytest tests/
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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
|
|
@@ -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}
|