agentdeck-sdk 5.0.3__tar.gz → 5.2.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/.agents/skills/release/SKILL.md +49 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.claude/agents/deck-dev.md +3 -1
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.claude/agents/deck-reviewer.md +3 -1
- agentdeck_sdk-5.2.0/.claude/skills/release/SKILL.md +49 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.claude/skills/review-pr/SKILL.md +3 -4
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.claude/skills/review-pr/references/templates.md +3 -5
- agentdeck_sdk-5.2.0/.claude/skills/ship-issue/SKILL.md +67 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.claude/skills/ship-pr/SKILL.md +1 -4
- agentdeck_sdk-5.2.0/.codex/agents/deck-dev.toml +5 -0
- agentdeck_sdk-5.2.0/.codex/agents/deck-reviewer.toml +5 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.github/PULL_REQUEST_TEMPLATE.md +2 -1
- agentdeck_sdk-5.2.0/.github/dependabot.yml +29 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.github/workflows/ci.yml +10 -4
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.github/workflows/docs-check.yml +2 -2
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.github/workflows/docs-impact.yml +4 -1
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.github/workflows/docs-pages.yml +2 -2
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.github/workflows/issue-hygiene.yml +6 -1
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.github/workflows/release.yml +5 -2
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.gitignore +3 -0
- agentdeck_sdk-5.2.0/.import_linter_cache/agentdeck.meta.json +1 -0
- agentdeck_sdk-5.2.0/.import_linter_cache/cc0de4ae2e5697bf7cf3a0b9c3aff14b2ece24cd.data.json +1 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/CHANGELOG.md +87 -4
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/Makefile +4 -2
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/PKG-INFO +2 -2
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/README.md +1 -1
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/__init__.py +19 -3
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/executors/native/executor.py +39 -15
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/executors/openai_agents/runconfig.py +0 -29
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/authoring/compile.py +39 -34
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/authoring/injection.py +3 -3
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/authoring/native.py +10 -7
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/authoring/tools.py +53 -16
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/composition.py +7 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/core/context.py +49 -32
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/core/control.py +14 -0
- {agentdeck_sdk-5.0.3/agentdeck → agentdeck_sdk-5.2.0/agentdeck/core}/errors.py +5 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/core/invocable.py +11 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/core/reporting.py +21 -24
- agentdeck_sdk-5.2.0/agentdeck/core/workers.py +63 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/deck.py +11 -11
- agentdeck_sdk-5.2.0/agentdeck/errors.py +39 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/runtime/discovery.py +3 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/context7.json +1 -1
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/ai-agents/harness_change_log.md +2 -0
- agentdeck_sdk-5.2.0/docs/delivery/plan-provider-credential-validation.md +70 -0
- agentdeck_sdk-5.2.0/docs/delivery/plan-slop-comment-ratio.md +67 -0
- agentdeck_sdk-5.2.0/docs/patterns/comments.md +52 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/_meta.ts +1 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/build-your-deck/agents.mdx +29 -1
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/build-your-deck/context.mdx +35 -3
- agentdeck_sdk-5.2.0/docs-site/content/build-your-deck/tools.mdx +125 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/jack/notes.mdx +6 -4
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/jack.mdx +4 -2
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/meet-agentdeck/mental-model.mdx +3 -2
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/meet-agentdeck/quickstart.mdx +13 -8
- agentdeck_sdk-5.2.0/docs-site/content/operate/_meta.ts +3 -0
- agentdeck_sdk-5.2.0/docs-site/content/operate/deployment.mdx +131 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/reference/deck.mdx +3 -2
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/reference/python-api.mdx +12 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/reference/run.mdx +2 -1
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/resources/changelog.mdx +15 -37
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/resources/known-issues.mdx +11 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/resources/troubleshooting.mdx +1 -1
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/public/llms-full.txt +346 -76
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/public/llms.txt +1 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/examples/agent-with-a-skill/.agentdeck/agents/handover_desk/agent.py +3 -5
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/examples/agent-with-a-skill/README.md +1 -1
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/examples/chat-agent-with-a-tool/.agentdeck/agents/order_desk/agent.py +2 -4
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/examples/chat-agent-with-a-tool/README.md +4 -4
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/examples/jack/README.md +9 -7
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/examples/jack/jack/agent.py +8 -5
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/pyproject.toml +1 -1
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/scripts/slopcheck.py +267 -10
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/contract/context_subjects.py +2 -2
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/test_reporting.py +50 -19
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_child_runs.py +40 -1
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_context_validation.py +26 -3
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_deck.py +60 -3
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_docs_examples.py +54 -19
- agentdeck_sdk-5.2.0/tests/test_governance_workflows.py +67 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_jack.py +7 -7
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_model_providers.py +24 -33
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_native_workflow.py +36 -2
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_openai_agents_engine.py +33 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_openai_agents_tool_failure.py +1 -1
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_run_control.py +3 -2
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_run_reporting.py +30 -4
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_runtime_service.py +6 -6
- agentdeck_sdk-5.2.0/tests/test_sync_tool_workers.py +321 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_tool_compilation.py +50 -12
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/uv.lock +61 -61
- agentdeck_sdk-5.0.3/.agents/skills/release/SKILL.md +0 -24
- agentdeck_sdk-5.0.3/.agents/skills/ship-issue/SKILL.md +0 -41
- agentdeck_sdk-5.0.3/.claude/skills/release/SKILL.md +0 -24
- agentdeck_sdk-5.0.3/.coderabbit.yaml +0 -126
- agentdeck_sdk-5.0.3/.codex/agents/deck-dev.toml +0 -5
- agentdeck_sdk-5.0.3/.codex/agents/deck-reviewer.toml +0 -5
- agentdeck_sdk-5.0.3/.github/dependabot.yml +0 -15
- agentdeck_sdk-5.0.3/.github/workflows/agent-review.yml +0 -49
- agentdeck_sdk-5.0.3/.import_linter_cache/agentdeck.meta.json +0 -1
- agentdeck_sdk-5.0.3/.import_linter_cache/cc0de4ae2e5697bf7cf3a0b9c3aff14b2ece24cd.data.json +0 -1
- agentdeck_sdk-5.0.3/docs/patterns/comments.md +0 -30
- agentdeck_sdk-5.0.3/docs-site/content/build-your-deck/tools.mdx +0 -60
- agentdeck_sdk-5.0.3/tests/test_governance_workflows.py +0 -39
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.agentdeck/agents/greeter/agent.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.agents/skills/deck-cleanup/SKILL.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.agents/skills/deck-cleanup/agents/openai.yaml +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.agents/skills/deck-cleanup/references/narrative-prose.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.agents/skills/open-issue/SKILL.md +0 -0
- {agentdeck_sdk-5.0.3/.claude → agentdeck_sdk-5.2.0/.agents}/skills/ship-issue/SKILL.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.claude/agents/deck-cleanup.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.claude/agents/docs-reviewer.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.claude/agents/docs-writer.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.claude/settings.json +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.claude/skills/milestone-retro/SKILL.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.claude/skills/milestone-retro/references/judging.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.claude/skills/milestone-retro/references/queries.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.claude/skills/open-issue/SKILL.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.claude/skills/review-pr/references/attack.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.claude/skills/review-pr/references/classify.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.claude/skills/review-pr/references/craft.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.claude/skills/ship-pr/references/design.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.claude/skills/ship-pr/references/implement.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.claude/skills/ship-pr/references/self-review.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.codex/agents/deck-cleanup.toml +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.codex/agents/docs-reviewer.toml +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.codex/agents/docs-writer.toml +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.dockerignore +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.env.example +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.gitattributes +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.github/CODEOWNERS +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.github/ISSUE_TEMPLATE/docs_contribution.yml +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.github/ISSUE_TEMPLATE/finding.yml +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.github/assets/contributors/merged.png +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.github/assets/contributors/welcome.png +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.github/workflows/first-contribution.yml +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.import_linter_cache/.gitignore +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.import_linter_cache/CACHEDIR.TAG +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.importlinter +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.pre-commit-config.yaml +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/AGENTS.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/CLAUDE.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/CODE_OF_CONDUCT.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/CONTRIBUTING.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/Dockerfile +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/LICENSE +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/SECURITY.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/README.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/control/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/control/memory/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/control/memory/port.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/control/sqlite/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/control/sqlite/port.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/executors/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/executors/native/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/executors/openai_agents/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/executors/openai_agents/executor.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/executors/openai_agents/reconcile.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/executors/openai_agents/sessions.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/executors/openai_agents/translate.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/executors/stub/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/executors/stub/executor.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/leases/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/leases/memory/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/leases/memory/port.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/leases/sqlite/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/leases/sqlite/port.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/stores/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/stores/memory/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/stores/memory/store.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/stores/postgres/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/stores/postgres/store.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/stores/redis/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/stores/redis/store.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/stores/sqlite/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/stores/sqlite/store.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/telemetry/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/telemetry/langfuse/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/telemetry/langfuse/client.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/telemetry/langfuse/sink.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/telemetry/langfuse/trace.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/tools/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/tools/mcp/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/tools/mcp/lifecycle.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/tools/mcp/source.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/tools/mcp/transport.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/adapters/tools/mcp/wiring.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/authoring/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/authoring/agent.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/authoring/hooks.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/authoring/instructions.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/authoring/interrupts.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/authoring/runners/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/authoring/runners/agent.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/authoring/skills.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/authoring/web_search.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/cli.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/core/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/core/base.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/core/content.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/core/events.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/core/ports/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/core/ports/control.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/core/ports/executor.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/core/ports/lease.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/core/ports/sink.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/core/ports/store.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/core/ports/tools.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/core/status.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/mcp.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/observers.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/py.typed +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/runtime/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/runtime/capture.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/runtime/dispatch.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/runtime/registry.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/runtime/service.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/runtime/settings.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/serve.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/skills/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/skills/bundle.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/surfaces/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/surfaces/cli/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/surfaces/cli/chat.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/surfaces/serve/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/surfaces/serve/app.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/surfaces/serve/compat.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/testing.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/agentdeck/views.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docker-compose.yml +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/00-project-index.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/agentdeck-prd.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/ai-agents/ai_agent_repository_alignment_research.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/ai-agents/solutions_for_aligning_ai_agents.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/ai-agents/sota_style_alignment_findings.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/brand/README.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/brand/components/card.svg +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/brand/components/spark.svg +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/brand/components/wordmark.svg +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/brand/contributor-merged.svg +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/brand/contributor-welcome.svg +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/brand/favicon.svg +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/brand/logo-black.svg +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/brand/logo-blue.svg +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/brand/logo-full.svg +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/brand/logo-mark.svg +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/brand/logo-traced-original.svg +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/brand/logo-white.svg +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/brand/logo.svg +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/brand/social-card.svg +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/delivery/beta-user-report-v3.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/delivery/decision-v3-entry-point.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/delivery/deck-capability-wrapper-pattern.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/delivery/discoverability-baseline.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/delivery/docs-site-plan.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/delivery/epic-agentdeck-v2-core.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/delivery/findings-register.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/delivery/milestone-0-findings.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/delivery/milestone-0-walking-skeleton.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/delivery/plan-166-delivery.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/delivery/plan-219-delivery.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/delivery/plan-adoption.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/delivery/plan-context-injection.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/delivery/plan-docs-ia.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/delivery/plan-jack-eval.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/delivery/plan-multimodal.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/delivery/plan-phase4-deck.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/delivery/plan-skills.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/delivery/plan-v2-cutover.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/delivery/review-context-injection.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/delivery/review-phase4-deck.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/delivery/review-v3-outsider.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/delivery/roadmap-v3.1.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/delivery/roadmap-v3.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/delivery/workflow.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/design/adr-d11-store-assigns-seq-and-time.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/design/adr-d5-two-stores.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/design/agentdeck-v2-architecture.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/design/event-store-claims.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/design/execution-api-source.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/design/execution-api.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/design/run-identity.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/design/run-lifecycle.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/design/run-operations.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/design/sink-dispatch.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/design-system.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/engineering/README.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/engineering/architecture.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/engineering/coding-agents.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/engineering/coding-standards.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/engineering/dependencies.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/engineering/import-boundaries.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/engineering/principles.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/engineering/repository-policy.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/engineering/runtime-contracts.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/engineering/testing.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/patterns/README.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/patterns/errors.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/patterns/lifecycle.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/patterns/tests.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/project-brief.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/prompts/pr0-baseline-prompt.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/prompts/pr0-review-prompt.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/prompts/pr1-event-schema-prompt.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs/spec.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/.env.development +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/.env.production +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/.gitignore +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/README.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/app/[[...mdxPath]]/page.tsx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/app/brand-icons.tsx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/app/brand.css +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/app/callout.tsx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/app/contribute.tsx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/app/deck-figure.tsx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/app/design-system.tsx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/app/diagram.tsx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/app/docs-slugs.ts +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/app/hero.css +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/app/hero.tsx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/app/icon.svg +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/app/install-line.tsx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/app/jack-answer-link.tsx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/app/jack-citations.ts +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/app/jack-live.tsx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/app/jack-stream.ts +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/app/jack.css +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/app/jack.tsx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/app/kind-icons.tsx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/app/landing-components.tsx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/app/landing.css +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/app/layout.tsx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/app/mark.tsx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/app/not-found.tsx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/app/robots.ts +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/app/site.ts +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/app/sitemap.ts +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/build-your-deck/_meta.ts +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/build-your-deck/deck.mdx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/build-your-deck/skills.mdx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/build-your-deck/workflows.mdx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/examples/_meta.ts +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/examples/index.mdx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/index.mdx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/integrations/_meta.ts +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/integrations/existing-agents.mdx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/integrations/mcp.mdx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/integrations/openai-agents-sdk.mdx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/jack/_meta.ts +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/meet-agentdeck/_meta.ts +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/meet-agentdeck/overview.mdx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/reference/_meta.ts +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/reference/cli.mdx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/reference/events.mdx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/reference/settings.mdx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/resources/_meta.ts +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/resources/migration-guides.mdx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/runs-and-control/_meta.ts +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/runs-and-control/events.mdx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/runs-and-control/human-input.mdx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/runs-and-control/lifecycle-and-control.mdx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/runs-and-control/pause-resume.mdx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/runs-and-control/runs.mdx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/content/runs-and-control/sessions.mdx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/mdx-components.tsx +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/next-env.d.ts +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/next.config.mjs +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/package-lock.json +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/package.json +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/public/brand/card.svg +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/public/brand/contributor-merged.svg +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/public/brand/contributor-welcome.svg +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/public/brand/favicon.svg +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/public/brand/logo-black.svg +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/public/brand/logo-blue.svg +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/public/brand/logo-full.svg +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/public/brand/logo-mark.svg +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/public/brand/logo-traced-original.svg +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/public/brand/logo-white.svg +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/public/brand/logo.svg +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/public/brand/social-card.svg +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/public/brand/spark.svg +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/public/brand/wordmark.svg +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/docs-site/tsconfig.json +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/examples/agent-with-a-skill/.agentdeck/skills/shift-notes/SKILL.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/examples/agent-with-a-skill/run.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/examples/chat-agent-with-a-tool/run.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/examples/jack/cloudflared.yml +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/examples/jack/eval.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/examples/jack/evals/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/examples/jack/evals/judge.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/examples/jack/evals/metrics.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/examples/jack/evals/run.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/examples/jack/evalset.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/examples/jack/jack/__init__.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/examples/jack/jack/corpus.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/examples/jack/jack/server.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/examples/jack/jack/session.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/examples/jack/run.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/scripts/check_commit_hygiene.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/scripts/check_docs_impact.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/scripts/concept_budget.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/scripts/generate_docs_reference.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/scripts/quality_delta.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/scripts/repomap.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/scripts/sync_claude_to_codex.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/scripts/sync_roadmap.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/concurrency_worker.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/conftest.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/context_injection_subjects.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/contract/case_types.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/contract/conftest.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/contract/contract_cases.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/contract/live_stores.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/contract/never_yields.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/contract/openai_agents_cases.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/contract/test_context_parity.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/contract/test_control.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/contract/test_control_port.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/contract/test_event_stream.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/contract/test_lease.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/contract/test_resume.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/contract/test_store.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/conftest.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/snapshots/agent.changed.json +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/snapshots/answer.refused.json +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/snapshots/artifact.created.json +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/snapshots/control.observed.json +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/snapshots/control.requested.json +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/snapshots/custom.json +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/snapshots/input.appended.json +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/snapshots/message.completed.json +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/snapshots/report.json +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/snapshots/run.cancelled.json +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/snapshots/run.completed.json +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/snapshots/run.failed.json +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/snapshots/run.interrupted.json +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/snapshots/run.paused.json +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/snapshots/run.resumed.json +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/snapshots/run.started.json +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/snapshots/text.delta.json +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/snapshots/thought.delta.json +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/snapshots/tool.call.completed.json +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/snapshots/tool.call.started.json +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/snapshots/usage.reported.json +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/test_content.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/test_context.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/test_continuation.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/test_events.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/test_golden_json.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/test_import_law.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/test_model_config.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/test_old_reader_block_compat.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/test_old_reader_compat.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/test_run_lifecycle_tables.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/core/test_vocabularies_agree.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/crash_worker.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/event_log_checks.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/golden/README.md +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/golden/conftest.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/golden/fixture_project/.agentdeck/agents/greeter/agent.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/golden/snapshots/01_health.http +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/golden/snapshots/02_chat.http +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/golden/snapshots/03_chat_stream.http +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/golden/snapshots/04_chat_missing_field.http +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/golden/snapshots/05_agent_unknown.http +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/golden/test_golden_wire.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/plays.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/project_executors.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_agent_changed.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_agent_model_resolution.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_authoring.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_brand_assets.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_changelog.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_cli.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_cli_render.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_commit_hygiene.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_composition.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_context_injection.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_crash_reconciliation.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_docs_impact.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_docs_site.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_errors.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_examples.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_executor_plays.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_generated_reference.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_handoff_ends_on_user_turn.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_handoff_round_trip.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_handoffs.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_instructions_and_hooks.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_invocable_registry.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_jack_server.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_langfuse_sink.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_langfuse_tracer.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_mcp.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_mcp_tool_source.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_memory_store.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_multiprocess_concurrency.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_observability.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_openai_agents_reconcile.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_openai_agents_sessions.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_package.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_postgres_store.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_redis_store.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_run_config_parity.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_serve.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_serve_compat.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_serve_session_claim.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_settings.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_sink_dispatch.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_skills.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_sqlite_control_port.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_sqlite_store.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_streaming.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_subagents.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_uc1_handoff.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_uc3_slowpoke.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_views.py +0 -0
- {agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/tests/test_web_search.py +0 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: release
|
|
3
|
+
description: Cut an agentdeck release - bump version, update CHANGELOG, merge dev to main, and tag vX.Y.Z.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Release agentdeck
|
|
7
|
+
|
|
8
|
+
Follow the release process strictly. All work starts on `dev`; `main` is release-only,
|
|
9
|
+
and `dev` is the repository's default branch.
|
|
10
|
+
|
|
11
|
+
## Two PRs, two issues
|
|
12
|
+
|
|
13
|
+
A release needs two labeled `chore` issues and two PRs, not one of each.
|
|
14
|
+
|
|
15
|
+
| PR | base | issue | closing keyword |
|
|
16
|
+
|---|---|---|---|
|
|
17
|
+
| bump | `dev` | its own labeled `chore` issue | `Closes #N`, works: `dev` is default |
|
|
18
|
+
| promotion | `main` | its own labeled `chore` issue | `Refs #N` only, close by hand: `main` is not default, so GitHub never creates the closing reference |
|
|
19
|
+
|
|
20
|
+
`git push origin dev` is rejected directly ("push declined due to repository rule violations").
|
|
21
|
+
The bump goes through its own PR into `dev`.
|
|
22
|
+
|
|
23
|
+
## Release Steps
|
|
24
|
+
|
|
25
|
+
1. **Version:** Confirm SemVer bump (`pyproject.toml` and `CHANGELOG.md`).
|
|
26
|
+
2. **Preflight:** Verify clean working tree, non-empty `[Unreleased]` section, and `make check`
|
|
27
|
+
is 100% green. Run it unpiped (`make check`, not `make check | tail`) so its own exit code is
|
|
28
|
+
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.
|
|
32
|
+
- Run `python scripts/generate_docs_reference.py` once, then verify
|
|
33
|
+
`python scripts/generate_docs_reference.py --check`.
|
|
34
|
+
- Commit: `chore(release): vX.Y.Z`. Open the PR against the labeled bump issue
|
|
35
|
+
(`Closes #N`), wait for every required check, merge.
|
|
36
|
+
4. **Promotion PR, `dev` to `main`:** Open it against the labeled promotion issue (`Refs #N`).
|
|
37
|
+
`Issue hygiene`, `slop`, and `Check affected documentation` skip themselves on a `main`-based
|
|
38
|
+
PR: each already ran the real per-PR version of itself against `dev` at merge time, and this
|
|
39
|
+
diff is the whole release cycle re-evaluated, not a new change. Wait for `check` and
|
|
40
|
+
`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
|
|
42
|
+
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
|
|
44
|
+
something released), run `./deploy-prod.sh vX.Y.Z`. It rebuilds `docs-site`, restarts
|
|
45
|
+
`agentdeck-docs-static.service`, and health-checks `127.0.0.1:4321`.
|
|
46
|
+
7. **Report:** Return the GitHub release URL.
|
|
47
|
+
|
|
48
|
+
## Ground Rules
|
|
49
|
+
- Keep text between tool calls to ≤25 words. Keep final responses to ≤100 words unless more detail is required.
|
|
@@ -9,10 +9,12 @@ You implement one agentdeck GitHub issue end-to-end in an isolated worktree and
|
|
|
9
9
|
|
|
10
10
|
**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
11
|
|
|
12
|
-
**First action:**
|
|
12
|
+
**First action:** read `.claude/skills/ship-pr/SKILL.md` and its `references/`, and follow it. Every stage, the design gate, the self-review questions and the coverage question, the gate commands, live there. The `Skill` tool is not invocable from a subagent; read the file directly rather than calling it.
|
|
13
13
|
|
|
14
14
|
**Progress:** name each stage (Understand / Design / Implement / Self-review / Gate) as you enter it. A silent multi-stage run reads as a stall.
|
|
15
15
|
|
|
16
|
+
**Denied tool calls:** a denial is a stop to report, never an obstacle to route around through a different tool or command.
|
|
17
|
+
|
|
16
18
|
**Subagents:** any agent you spawn passes an explicit `model: "sonnet"`. Never omit it, never fable, never opus.
|
|
17
19
|
|
|
18
20
|
**Output style:** ≤25 words between tool calls; final response ≤100 words unless more detail is required.
|
|
@@ -7,10 +7,12 @@ isolation: worktree
|
|
|
7
7
|
|
|
8
8
|
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
9
|
|
|
10
|
-
**First action:**
|
|
10
|
+
**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
11
|
|
|
12
12
|
**Progress:** say which phase you are entering as you enter it. A silent review reads as a stall.
|
|
13
13
|
|
|
14
|
+
**Denied tool calls:** a denial is a stop to report, never an obstacle to route around through a different tool or command.
|
|
15
|
+
|
|
14
16
|
**Subagents:** any agent you spawn passes an explicit `model: "sonnet"`. Never omit it, never fable, never opus.
|
|
15
17
|
|
|
16
18
|
**Output style:** keep text between tool calls to ≤25 words. Keep final responses to ≤100 words unless more detail is required.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: release
|
|
3
|
+
description: Cut an agentdeck release - bump version, update CHANGELOG, merge dev to main, and tag vX.Y.Z.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Release agentdeck
|
|
7
|
+
|
|
8
|
+
Follow the release process strictly. All work starts on `dev`; `main` is release-only,
|
|
9
|
+
and `dev` is the repository's default branch.
|
|
10
|
+
|
|
11
|
+
## Two PRs, two issues
|
|
12
|
+
|
|
13
|
+
A release needs two labeled `chore` issues and two PRs, not one of each.
|
|
14
|
+
|
|
15
|
+
| PR | base | issue | closing keyword |
|
|
16
|
+
|---|---|---|---|
|
|
17
|
+
| bump | `dev` | its own labeled `chore` issue | `Closes #N`, works: `dev` is default |
|
|
18
|
+
| promotion | `main` | its own labeled `chore` issue | `Refs #N` only, close by hand: `main` is not default, so GitHub never creates the closing reference |
|
|
19
|
+
|
|
20
|
+
`git push origin dev` is rejected directly ("push declined due to repository rule violations").
|
|
21
|
+
The bump goes through its own PR into `dev`.
|
|
22
|
+
|
|
23
|
+
## Release Steps
|
|
24
|
+
|
|
25
|
+
1. **Version:** Confirm SemVer bump (`pyproject.toml` and `CHANGELOG.md`).
|
|
26
|
+
2. **Preflight:** Verify clean working tree, non-empty `[Unreleased]` section, and `make check`
|
|
27
|
+
is 100% green. Run it unpiped (`make check`, not `make check | tail`) so its own exit code is
|
|
28
|
+
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.
|
|
32
|
+
- Run `python scripts/generate_docs_reference.py` once, then verify
|
|
33
|
+
`python scripts/generate_docs_reference.py --check`.
|
|
34
|
+
- Commit: `chore(release): vX.Y.Z`. Open the PR against the labeled bump issue
|
|
35
|
+
(`Closes #N`), wait for every required check, merge.
|
|
36
|
+
4. **Promotion PR, `dev` to `main`:** Open it against the labeled promotion issue (`Refs #N`).
|
|
37
|
+
`Issue hygiene`, `slop`, and `Check affected documentation` skip themselves on a `main`-based
|
|
38
|
+
PR: each already ran the real per-PR version of itself against `dev` at merge time, and this
|
|
39
|
+
diff is the whole release cycle re-evaluated, not a new change. Wait for `check` and
|
|
40
|
+
`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
|
|
42
|
+
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
|
|
44
|
+
something released), run `./deploy-prod.sh vX.Y.Z`. It rebuilds `docs-site`, restarts
|
|
45
|
+
`agentdeck-docs-static.service`, and health-checks `127.0.0.1:4321`.
|
|
46
|
+
7. **Report:** Return the GitHub release URL.
|
|
47
|
+
|
|
48
|
+
## Ground Rules
|
|
49
|
+
- Keep text between tool calls to ≤25 words. Keep final responses to ≤100 words unless more detail is required.
|
|
@@ -75,10 +75,9 @@ Every comment and the verdict body follow fixed templates: `references/templates
|
|
|
75
75
|
- Reviews are COMMENTED only. Approve and request-changes are unavailable when the agent authenticates as the PR author.
|
|
76
76
|
- Inline, line-anchored comments (BLOCK, DISCUSS, DEFER; NITs never inline) in Template A form:
|
|
77
77
|
`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
|
-
- 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.
|
|
79
|
-
-
|
|
80
|
-
-
|
|
81
|
-
- Confirm the `Agent review` check turns green after a pass. A local pass with no green check is incomplete.
|
|
78
|
+
- 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.
|
|
79
|
+
- The review is only delivered once it is on the PR. A local pass with nothing posted is incomplete.
|
|
80
|
+
- A push that changes the code needs a new review: nothing enforces that mechanically, so it is on whoever merges.
|
|
82
81
|
- File DEFER and harness-note issues per the finding-class table above.
|
|
83
82
|
|
|
84
83
|
## Return to the orchestrator
|
{agentdeck_sdk-5.0.3 → agentdeck_sdk-5.2.0}/.claude/skills/review-pr/references/templates.md
RENAMED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
# Report templates
|
|
2
2
|
|
|
3
3
|
Every review output falls into one of three templates. Low freedom: this is the narrow bridge,
|
|
4
|
-
not the open field.
|
|
5
|
-
fixed here; do not paraphrase the numbers.
|
|
4
|
+
not the open field. Structure, length and style are fixed here; do not paraphrase the numbers.
|
|
6
5
|
|
|
7
6
|
Contents: Template A (inline comment), Template B (verdict), worked examples, Template C
|
|
8
7
|
(orchestrator return), style rules, why the numbers are these numbers.
|
|
@@ -52,15 +51,14 @@ ALWAYS use this exact template structure:
|
|
|
52
51
|
- `service.py:12` ...
|
|
53
52
|
</details>
|
|
54
53
|
|
|
55
|
-
|
|
54
|
+
0 BLOCK, 1 DISCUSS answered, 1 DEFER #431, 4 NIT
|
|
56
55
|
|
|
57
56
|
- **300 words maximum**, excluding the rubric table and the collapsed NIT block.
|
|
58
57
|
- **Per finding: 25 words. A DISCUSS gets 35**, because it carries `Settled by:`.
|
|
59
58
|
- Sections in exactly this order. **An empty section is omitted entirely**, never written as
|
|
60
59
|
"None".
|
|
61
60
|
- NITs are always inside the `<details>` block and never inline on the diff.
|
|
62
|
-
- The
|
|
63
|
-
`block`, with the counts). A scorecard greps it.
|
|
61
|
+
- The counts line is last and alone, so the verdict is legible without reading the findings.
|
|
64
62
|
|
|
65
63
|
## Worked examples
|
|
66
64
|
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ship-issue
|
|
3
|
+
description: "Run one agentdeck issue through the full pipeline: brief the user, deck-dev implements it, deck-reviewer gates it, findings get fixed, PR merges to dev, board updated."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Ship an issue
|
|
7
|
+
|
|
8
|
+
Orchestrate the end-to-end delivery of an issue.
|
|
9
|
+
|
|
10
|
+
## 0. Brief Before Launching
|
|
11
|
+
Read the issue and verify its claims against the tree. **Spec gate first:** if the issue lacks `Done when` outcomes or scope bounds (what must NOT be added), fix the issue body or ask the user; do not spawn deck-dev against an unbounded spec. Then output a concise 5-point brief (1–2 lines each):
|
|
12
|
+
> **The claim:** What the issue asks for.
|
|
13
|
+
> **What's true now:** Current behavior in the codebase (file:line).
|
|
14
|
+
> **The shape:** Implementation plan in 3–4 concise bullets.
|
|
15
|
+
> **The hard gate:** Invariants that must not break (`tests/golden/`, public API, import law).
|
|
16
|
+
> **Skipped:** What is deliberately out of scope.
|
|
17
|
+
|
|
18
|
+
## 1. Board Tracking
|
|
19
|
+
Update GitHub Project (`PVT_kwHOBHijkM4BgHFZ`): Set **Status = In progress**, record Start Date, comment with start timestamp.
|
|
20
|
+
|
|
21
|
+
## 2. Implement
|
|
22
|
+
Spawn `deck-dev` with the issue number and brief. It runs Stage 0 (Understand) then Stage 1
|
|
23
|
+
(Design, posted to the draft PR body), then stops there and reports back rather than continuing
|
|
24
|
+
into Stage 2.
|
|
25
|
+
|
|
26
|
+
If it stops at its own spec gate despite step 0, the issue needs a human decision: set the board
|
|
27
|
+
back to **Todo**, surface what is missing, stop the pipeline.
|
|
28
|
+
|
|
29
|
+
**Design gate:** compare the reported design against this step's own brief. A design is never
|
|
30
|
+
blocked for being larger; it is blocked only for a *named* problem: a duplication of something
|
|
31
|
+
already in `scripts/repomap.py`'s output, an abstraction with one caller, a divergence from its
|
|
32
|
+
own declared `## Analog`, configuration for a value that never changes. No such problem: send
|
|
33
|
+
`deck-dev` a message to proceed to Stage 2. A problem found: send it back naming the problem, not
|
|
34
|
+
a target size; `deck-dev` revises Stage 1 and reports again before Stage 2 starts.
|
|
35
|
+
|
|
36
|
+
Once past the gate, `deck-dev` continues through Implement, Self-review, and Gate, posting task
|
|
37
|
+
progress; poll for stalls.
|
|
38
|
+
|
|
39
|
+
## 3. Attach PR
|
|
40
|
+
Verify the draft PR targets `dev`, includes `Closes #<n>`, and its body carries the design sections (`## Reuse analysis`, `## Analog`, `## Concept budget`, `## Expected delta`). Missing sections go back to deck-dev before any review is spent. Set **Status = In review** when marked ready.
|
|
41
|
+
|
|
42
|
+
## 4. Review
|
|
43
|
+
Spawn `deck-reviewer` on the PR. The reviewer must post a COMMENTED GitHub review; a session-only verdict does not count.
|
|
44
|
+
|
|
45
|
+
## 5. Address Findings
|
|
46
|
+
The review lands on the PR itself (GitHub review + inline comments); read it there. Route by class: **BLOCK** goes to `deck-dev` to fix on the branch. **DISCUSS** is answered in the thread by the author; if the reviewer and author still disagree once answered, escalate to the user rather than letting either side rule. **DEFER** is already a `finding:`-titled issue the reviewer filed and linked; schedule it as its own harness PR, never implemented by the reviewer. **NIT** needs no action unless the author wants it.
|
|
47
|
+
|
|
48
|
+
## 6. Merge
|
|
49
|
+
Merge when every required check is green **and every review thread is resolved**: `gh pr merge --squash --delete-branch`.
|
|
50
|
+
|
|
51
|
+
Green checks are not sufficient. One open thread holds the PR at `BLOCKED` with nothing in `gh pr checks` to explain it, and `--admin` cannot force it: `enforce_admins` is on and the ruleset has no bypass actors. Two independent mechanisms enforce it under two different names, and both are live, so read both rather than assuming one mirrors the other:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
gh api repos/{owner}/{repo}/branches/dev/protection # required_conversation_resolution
|
|
55
|
+
gh api repos/{owner}/{repo}/rules/branches/dev # required_review_thread_resolution
|
|
56
|
+
gh api graphql -f query='{repository(owner:"{owner}",name:"{repo}"){pullRequest(number:<n>){reviewThreads(first:20){nodes{id isResolved}}}}}'
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Read those payloads whole. Filtering the protection endpoint down to the fields you expected is how this rule got missed in the first place: absence from a `--jq` selection is not absence from the data.
|
|
60
|
+
|
|
61
|
+
Step 6 detects; it does not resolve. The author resolves each thread, and `ship-pr` carries the mutation. When the orchestrator authored the PR itself, it is the author.
|
|
62
|
+
|
|
63
|
+
## 7. Complete
|
|
64
|
+
Set **Status = Done**, record Target Date, comment with completion summary and PR link.
|
|
65
|
+
|
|
66
|
+
## Ground Rules
|
|
67
|
+
- Keep text between tool calls to ≤25 words. Keep final responses to ≤100 words unless more detail is required.
|
|
@@ -95,10 +95,7 @@ including the coverage question. An unanswered question fails the stage.
|
|
|
95
95
|
- Compact the PR body: it describes the change as it now stands, not the rounds that produced it.
|
|
96
96
|
Delete abandoned design and justifications the code no longer needs.
|
|
97
97
|
- CONSTRAINT: `make check` 100% green before `gh pr ready`. Consequence: `gh pr ready` on a red
|
|
98
|
-
`make check`
|
|
99
|
-
- JUDGMENT: if `dev` has advanced past your branch, run `gh pr update-branch --rebase`, not the
|
|
100
|
-
plain merge default. A merge commit moves the head SHA and invalidates a review's PASS marker
|
|
101
|
-
for no code reason.
|
|
98
|
+
`make check` puts a red required check on the PR and it cannot merge.
|
|
102
99
|
- No attribution trailers anywhere.
|
|
103
100
|
|
|
104
101
|
## Answering a review
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Generated by scripts/sync_claude_to_codex.py; do not edit.
|
|
2
|
+
# Claude model "sonnet" omitted; this agent inherits the active Codex model.
|
|
3
|
+
name = "deck-dev"
|
|
4
|
+
description = "Implements a GitHub issue (feature or bug fix) for agentdeck end-to-end in an isolated worktree and opens one PR to dev."
|
|
5
|
+
developer_instructions = "You implement one agentdeck GitHub issue end-to-end in an isolated worktree and open a PR.\n\n**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.\n\n**First action:** read `.claude/skills/ship-pr/SKILL.md` and its `references/`, and follow it. Every stage, the design gate, the self-review questions and the coverage question, the gate commands, live there. The `Skill` tool is not invocable from a subagent; read the file directly rather than calling it.\n\n**Progress:** name each stage (Understand / Design / Implement / Self-review / Gate) as you enter it. A silent multi-stage run reads as a stall.\n\n**Denied tool calls:** a denial is a stop to report, never an obstacle to route around through a different tool or command.\n\n**Subagents:** any agent you spawn passes an explicit `model: \"sonnet\"`. Never omit it, never fable, never opus.\n\n**Output style:** ≤25 words between tool calls; final response ≤100 words unless more detail is required.\n\nReturn: PR URL, one-paragraph summary, `make check` status, and declared-vs-actual concept budget.\n\nCodex compatibility:\n- Preserve worktree isolation: before changing branches or files, create and use a dedicated git worktree outside the primary checkout, and run all task commands there."
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Generated by scripts/sync_claude_to_codex.py; do not edit.
|
|
2
|
+
# Claude model "sonnet" omitted; this agent inherits the active Codex model.
|
|
3
|
+
name = "deck-reviewer"
|
|
4
|
+
description = "Review gate for an agentdeck PR before merge. Verifies correctness, spec compliance, simplicity, conciseness, and test quality against docs/engineering/."
|
|
5
|
+
developer_instructions = "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.\n\n**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.\n\n**Progress:** say which phase you are entering as you enter it. A silent review reads as a stall.\n\n**Denied tool calls:** a denial is a stop to report, never an obstacle to route around through a different tool or command.\n\n**Subagents:** any agent you spawn passes an explicit `model: \"sonnet\"`. Never omit it, never fable, never opus.\n\n**Output style:** keep text between tool calls to ≤25 words. Keep final responses to ≤100 words unless more detail is required.\n\nReturn to the orchestrator: verdict, `make check` result, counts per finding class, links to the posted review and any DEFER issues.\n\nCodex compatibility:\n- Preserve worktree isolation: before changing branches or files, create and use a dedicated git worktree outside the primary checkout, and run all task commands there."
|
|
@@ -29,7 +29,8 @@ new dependencies: 0
|
|
|
29
29
|
- [ ] New behavior has a test
|
|
30
30
|
- [ ] CHANGELOG entry under **Unreleased** for every user-visible change
|
|
31
31
|
- [ ] User-visible behavior changes update the affected `docs-site/` pages in this PR
|
|
32
|
-
|
|
32
|
+
<!-- If a page above is affected but intentionally left unchanged, name it here (comma separated), the exact form `make check` reports. Delete this checklist line if none. -->
|
|
33
|
+
- [ ] Unchanged pages reviewed:
|
|
33
34
|
- [ ] Implementation diverging from a design doc amends that doc with a dated note in this PR
|
|
34
35
|
- [ ] Goldens (`tests/golden/`, `tests/core/snapshots/`) unchanged - or the change is declared and justified here
|
|
35
36
|
- [ ] Deliberate simplifications/shortcuts are marked with a comment naming the ceiling
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
|
|
2
|
+
|
|
3
|
+
version: 2
|
|
4
|
+
updates:
|
|
5
|
+
# Python dependencies, resolved through uv.lock.
|
|
6
|
+
- package-ecosystem: "uv"
|
|
7
|
+
directory: "/"
|
|
8
|
+
schedule:
|
|
9
|
+
interval: "weekly"
|
|
10
|
+
# One PR for the week's minor and patch bumps: they share `uv.lock`, so separate branches
|
|
11
|
+
# each resolve against the same base and only the first can merge (#499). Majors stay on
|
|
12
|
+
# their own, because a major is a migration, and a migration inside a batch is one nobody
|
|
13
|
+
# reviews.
|
|
14
|
+
groups:
|
|
15
|
+
python-minor-and-patch:
|
|
16
|
+
patterns: ["*"]
|
|
17
|
+
update-types: ["minor", "patch"]
|
|
18
|
+
|
|
19
|
+
# The pinned action refs in .github/workflows/.
|
|
20
|
+
- package-ecosystem: "github-actions"
|
|
21
|
+
directory: "/"
|
|
22
|
+
schedule:
|
|
23
|
+
interval: "weekly"
|
|
24
|
+
# Same split, and #477 is why majors are excluded: setup-uv v5 to v7 needed
|
|
25
|
+
# `activate-environment: true` at the call site, not just a new tag.
|
|
26
|
+
groups:
|
|
27
|
+
actions-minor-and-patch:
|
|
28
|
+
patterns: ["*"]
|
|
29
|
+
update-types: ["minor", "patch"]
|
|
@@ -66,7 +66,7 @@ jobs:
|
|
|
66
66
|
AGENTDECK_TEST_REDIS_URL: redis://127.0.0.1:6379/15
|
|
67
67
|
AGENTDECK_TEST_POSTGRES_DSN: postgresql://postgres:postgres@127.0.0.1:5432/agentdeck_test
|
|
68
68
|
steps:
|
|
69
|
-
- uses: actions/checkout@
|
|
69
|
+
- uses: actions/checkout@v7
|
|
70
70
|
with:
|
|
71
71
|
# The schema's backward-compatibility gate (#47) loads the newest *released*
|
|
72
72
|
# reader out of git (by tag) and measures this tree's events against it. The
|
|
@@ -87,9 +87,12 @@ jobs:
|
|
|
87
87
|
echo "$strays"
|
|
88
88
|
exit 1
|
|
89
89
|
fi
|
|
90
|
-
- uses: astral-sh/setup-uv@
|
|
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
|
|
93
96
|
enable-cache: true
|
|
94
97
|
cache-dependency-glob: "uv.lock"
|
|
95
98
|
# postgres pulls in the psycopg driver the Postgres event log's tests need: omitting an
|
|
@@ -154,12 +157,15 @@ jobs:
|
|
|
154
157
|
# The anti-slop gate for code that never went through a Claude Code hook:
|
|
155
158
|
# outside contributors, and anything written by a process the Edit|Write
|
|
156
159
|
# matcher never saw. Same scripts, PR-base-relative, stdlib only.
|
|
160
|
+
#
|
|
161
|
+
# Skipped on a `main`-based PR: that diff is the whole release cycle since main's last
|
|
162
|
+
# advance, re-flagging lines each contributing PR already passed against `dev` (#536).
|
|
157
163
|
slop:
|
|
158
|
-
if: github.event_name == 'pull_request'
|
|
164
|
+
if: github.event_name == 'pull_request' && github.base_ref != 'main'
|
|
159
165
|
runs-on: ubuntu-latest
|
|
160
166
|
timeout-minutes: 5
|
|
161
167
|
steps:
|
|
162
|
-
- uses: actions/checkout@
|
|
168
|
+
- uses: actions/checkout@v7
|
|
163
169
|
with:
|
|
164
170
|
fetch-depth: 0
|
|
165
171
|
- name: Comment slop on lines this PR adds
|
|
@@ -28,7 +28,7 @@ jobs:
|
|
|
28
28
|
|
|
29
29
|
steps:
|
|
30
30
|
- name: Checkout
|
|
31
|
-
uses: actions/checkout@
|
|
31
|
+
uses: actions/checkout@v7
|
|
32
32
|
with:
|
|
33
33
|
fetch-depth: 0
|
|
34
34
|
|
|
@@ -50,7 +50,7 @@ jobs:
|
|
|
50
50
|
|
|
51
51
|
- name: Set up Node.js
|
|
52
52
|
if: steps.changed.outputs.run == 'true'
|
|
53
|
-
uses: actions/setup-node@
|
|
53
|
+
uses: actions/setup-node@v7
|
|
54
54
|
with:
|
|
55
55
|
node-version: 22
|
|
56
56
|
cache: npm
|
|
@@ -14,10 +14,13 @@ permissions:
|
|
|
14
14
|
jobs:
|
|
15
15
|
check:
|
|
16
16
|
name: Check affected documentation
|
|
17
|
+
# Skipped on a `main`-based PR: that diff re-accumulates everything merged into `dev`
|
|
18
|
+
# since main's last advance, each already reviewed against `dev` as its base (#536).
|
|
19
|
+
if: github.event.pull_request.base.ref != 'main'
|
|
17
20
|
runs-on: ubuntu-latest
|
|
18
21
|
timeout-minutes: 5
|
|
19
22
|
steps:
|
|
20
|
-
- uses: actions/checkout@
|
|
23
|
+
- uses: actions/checkout@v7
|
|
21
24
|
with:
|
|
22
25
|
fetch-depth: 0
|
|
23
26
|
# The acknowledgement names its pages, so it survives a push that affects nothing new and
|
|
@@ -24,12 +24,12 @@ jobs:
|
|
|
24
24
|
|
|
25
25
|
steps:
|
|
26
26
|
- name: Checkout released revision
|
|
27
|
-
uses: actions/checkout@
|
|
27
|
+
uses: actions/checkout@v7
|
|
28
28
|
with:
|
|
29
29
|
ref: ${{ github.event.release.tag_name || github.ref }}
|
|
30
30
|
|
|
31
31
|
- name: Setup Node.js
|
|
32
|
-
uses: actions/setup-node@
|
|
32
|
+
uses: actions/setup-node@v7
|
|
33
33
|
with:
|
|
34
34
|
node-version: 22
|
|
35
35
|
cache: npm
|
|
@@ -19,8 +19,13 @@ jobs:
|
|
|
19
19
|
runs-on: ubuntu-latest
|
|
20
20
|
timeout-minutes: 2
|
|
21
21
|
steps:
|
|
22
|
+
# GitHub creates closing references only for PRs based on the default branch, so this
|
|
23
|
+
# can never pass on a PR based on anything else (a promotion PR to `main`, a stacked
|
|
24
|
+
# PR based on a feature branch) (#486).
|
|
22
25
|
- name: Require a labeled closing issue
|
|
23
|
-
if:
|
|
26
|
+
if: >-
|
|
27
|
+
github.event.pull_request.user.login != 'dependabot[bot]' &&
|
|
28
|
+
github.event.pull_request.base.ref == github.event.repository.default_branch
|
|
24
29
|
env:
|
|
25
30
|
GH_TOKEN: ${{ github.token }}
|
|
26
31
|
PR_NUMBER: ${{ github.event.pull_request.number }}
|
|
@@ -54,10 +54,13 @@ jobs:
|
|
|
54
54
|
AGENTDECK_TEST_REDIS_URL: redis://127.0.0.1:6379/15
|
|
55
55
|
AGENTDECK_TEST_POSTGRES_DSN: postgresql://postgres:postgres@127.0.0.1:5432/agentdeck_test
|
|
56
56
|
steps:
|
|
57
|
-
- uses: actions/checkout@
|
|
58
|
-
- uses: astral-sh/setup-uv@
|
|
57
|
+
- uses: actions/checkout@v7
|
|
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
|
|
61
64
|
enable-cache: true
|
|
62
65
|
cache-dependency-glob: "uv.lock"
|
|
63
66
|
- name: Verify tag matches pyproject version
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"agentdeck.adapters.stores.redis": 1787991318.031553, "agentdeck.adapters.executors.openai_agents.runconfig": 1787991318.0304673, "agentdeck.adapters.telemetry": 1787991318.0319402, "agentdeck.core.ports.store": 1787991318.0344682, "agentdeck.adapters.telemetry.langfuse.sink": 1787991318.0322003, "agentdeck.core.ports.executor": 1787991318.0344682, "agentdeck.skills": 1787991318.035757, "agentdeck.authoring.compile": 1787991318.0328615, "agentdeck.surfaces.serve.app": 1787991318.0367963, "agentdeck.adapters.stores": 1787991318.03117, "agentdeck.authoring.native": 1787991318.0328615, "agentdeck.mcp": 1787991318.0347571, "agentdeck.core.status": 1787991318.0344682, "agentdeck.composition": 1787991318.0334094, "agentdeck.adapters.stores.memory.store": 1787991318.03141, "agentdeck.core.ports.lease": 1787991318.0344682, "agentdeck.adapters.control.sqlite": 1787991318.0299516, "agentdeck.core.ports.control": 1787991318.0344682, "agentdeck.adapters.executors.stub.executor": 1787991318.030887, "agentdeck.adapters.tools.mcp.lifecycle": 1787991318.0325863, "agentdeck.errors": 1787991318.0347571, "agentdeck.core.base": 1787991318.0338304, "agentdeck.authoring.injection": 1787991318.0328615, "agentdeck.adapters.executors": 1787991318.0300517, "agentdeck.runtime.discovery": 1787991318.0355892, "agentdeck.adapters.control.memory": 1787991318.0299008, "agentdeck.adapters.stores.memory": 1787991318.0313525, "agentdeck.core.invocable": 1787991318.0338304, "agentdeck.adapters.executors.openai_agents.sessions": 1787991318.0304673, "agentdeck.views": 1787991318.0367963, "agentdeck.serve": 1787991318.035757, "agentdeck": 1787991318.0297182, "agentdeck.adapters.stores.sqlite.store": 1787991318.0319402, "agentdeck.core.events": 1787991318.0338304, "agentdeck.adapters.leases.sqlite.port": 1787991318.03117, "agentdeck.adapters.stores.postgres.store": 1787991318.031553, "agentdeck.authoring.agent": 1787991318.0328615, "agentdeck.adapters.tools.mcp": 1787991318.0325322, "agentdeck.core.ports.tools": 1787991318.0344682, "agentdeck.authoring": 1787991318.0325863, "agentdeck.core.ports": 1787991318.0338304, "agentdeck.adapters.executors.openai_agents.translate": 1787991318.0304673, "agentdeck.authoring.instructions": 1787991318.0328615, "agentdeck.adapters.telemetry.langfuse": 1787991318.0321436, "agentdeck.adapters.leases.sqlite": 1787991318.0310664, "agentdeck.runtime": 1787991318.0347571, "agentdeck.core.ports.sink": 1787991318.0344682, "agentdeck.adapters.executors.native.executor": 1787991318.0302494, "agentdeck.surfaces.cli": 1787991318.0366344, "agentdeck.runtime.capture": 1787991318.0355892, "agentdeck.adapters.stores.sqlite": 1787991318.0317483, "agentdeck.core.errors": 1787991318.0338304, "agentdeck.authoring.runners.agent": 1787991318.0334094, "agentdeck.core.context": 1787991318.0338304, "agentdeck.authoring.hooks": 1787991318.0328615, "agentdeck.adapters.control.sqlite.port": 1787991318.0300517, "agentdeck.core": 1787991318.0334094, "agentdeck.core.content": 1787991318.0338304, "agentdeck.core.reporting": 1787991318.0344682, "agentdeck.adapters.tools": 1787991318.0322003, "agentdeck.runtime.dispatch": 1787991318.0355892, "agentdeck.core.workers": 1787991318.0344682, "agentdeck.observers": 1787991318.0347571, "agentdeck.adapters.stores.redis.store": 1787991318.0317483, "agentdeck.adapters.control": 1787991318.0298378, "agentdeck.testing": 1787991318.0367963, "agentdeck.adapters.executors.stub": 1787991318.0304673, "agentdeck.adapters.executors.openai_agents.executor": 1787991318.0304673, "agentdeck.adapters.executors.openai_agents": 1787991318.0302494, "agentdeck.runtime.service": 1787991318.0355892, "agentdeck.adapters.executors.openai_agents.reconcile": 1787991318.0304673, "agentdeck.adapters.leases.memory": 1787991318.0310168, "agentdeck.surfaces": 1787991318.0365074, "agentdeck.adapters.tools.mcp.source": 1787991318.0325863, "agentdeck.adapters.telemetry.langfuse.trace": 1787991318.0322003, "agentdeck.core.control": 1787991318.0338304, "agentdeck.cli": 1787991318.0334094, "agentdeck.adapters.stores.postgres": 1787991318.03141, "agentdeck.authoring.runners": 1787991318.0328615, "agentdeck.adapters.tools.mcp.transport": 1787991318.0325863, "agentdeck.adapters.leases.memory.port": 1787991318.0310664, "agentdeck.surfaces.serve.compat": 1787991318.0367963, "agentdeck.authoring.tools": 1787991318.0334094, "agentdeck.adapters.leases": 1787991318.030887, "agentdeck.authoring.skills": 1787991318.0334094, "agentdeck.surfaces.cli.chat": 1787991318.0366855, "agentdeck.authoring.web_search": 1787991318.0334094, "agentdeck.runtime.registry": 1787991318.0355892, "agentdeck.adapters.telemetry.langfuse.client": 1787991318.0322003, "agentdeck.adapters.tools.mcp.wiring": 1787991318.0325863, "agentdeck.runtime.settings": 1787991318.0355892, "agentdeck.adapters": 1787991318.0297182, "agentdeck.surfaces.serve": 1787991318.0366855, "agentdeck.authoring.interrupts": 1787991318.0328615, "agentdeck.adapters.executors.native": 1787991318.0301964, "agentdeck.adapters.control.memory.port": 1787991318.0299516, "agentdeck.skills.bundle": 1787991318.0365074, "agentdeck.deck": 1787991318.0347571}
|