agentdeck-sdk 6.0.2__tar.gz → 6.0.4__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-6.0.4/.agents/skills/release/SKILL.md +65 -0
- agentdeck_sdk-6.0.4/.claude/agents/docs-reviewer.md +27 -0
- agentdeck_sdk-6.0.4/.claude/agents/docs-writer.md +30 -0
- agentdeck_sdk-6.0.4/.claude/progress.archive.md +25 -0
- agentdeck_sdk-6.0.4/.claude/progress.md +85 -0
- agentdeck_sdk-6.0.4/.claude/skills/milestone-retro/SKILL.md +66 -0
- agentdeck_sdk-6.0.4/.claude/skills/milestone-retro/references/judging.md +103 -0
- agentdeck_sdk-6.0.4/.claude/skills/milestone-retro/references/queries.md +132 -0
- agentdeck_sdk-6.0.4/.claude/skills/release/SKILL.md +65 -0
- agentdeck_sdk-6.0.4/.claude/skills/review-pr/SKILL.md +87 -0
- agentdeck_sdk-6.0.4/.claude/skills/review-pr/references/attack.md +55 -0
- agentdeck_sdk-6.0.4/.claude/skills/review-pr/references/classify.md +54 -0
- agentdeck_sdk-6.0.4/.claude/skills/review-pr/references/craft.md +69 -0
- agentdeck_sdk-6.0.4/.claude/skills/review-pr/references/overrun.md +46 -0
- agentdeck_sdk-6.0.4/.claude/skills/review-pr/references/templates.md +136 -0
- agentdeck_sdk-6.0.4/.claude/skills/ship-pr/SKILL.md +140 -0
- agentdeck_sdk-6.0.4/.claude/skills/ship-pr/references/design.md +66 -0
- agentdeck_sdk-6.0.4/.claude/skills/ship-pr/references/implement.md +42 -0
- agentdeck_sdk-6.0.4/.claude/skills/ship-pr/references/self-review.md +43 -0
- agentdeck_sdk-6.0.4/.codex/agents/deck-cleanup.toml +5 -0
- agentdeck_sdk-6.0.4/.codex/agents/deck-dev.toml +5 -0
- agentdeck_sdk-6.0.4/.codex/agents/deck-reviewer.toml +5 -0
- agentdeck_sdk-6.0.4/.codex/agents/docs-reviewer.toml +5 -0
- agentdeck_sdk-6.0.4/.codex/agents/docs-writer.toml +5 -0
- agentdeck_sdk-6.0.4/.github/assets/social-card.png +0 -0
- agentdeck_sdk-6.0.4/.github/workflows/ci.yml +181 -0
- agentdeck_sdk-6.0.4/.github/workflows/docs-check.yml +81 -0
- agentdeck_sdk-6.0.4/.github/workflows/release.yml +157 -0
- agentdeck_sdk-6.0.4/.gitignore +41 -0
- agentdeck_sdk-6.0.4/.import_linter_cache/agentdeck.meta.json +1 -0
- agentdeck_sdk-6.0.4/.import_linter_cache/cc0de4ae2e5697bf7cf3a0b9c3aff14b2ece24cd.data.json +1 -0
- agentdeck_sdk-6.0.4/CHANGELOG.md +2899 -0
- agentdeck_sdk-6.0.4/CLAUDE.md +71 -0
- agentdeck_sdk-6.0.4/Makefile +85 -0
- agentdeck_sdk-6.0.4/PKG-INFO +282 -0
- agentdeck_sdk-6.0.4/agentdeck/adapters/stores/__init__.py +25 -0
- agentdeck_sdk-6.0.4/agentdeck/adapters/stores/memory/store.py +198 -0
- agentdeck_sdk-6.0.4/agentdeck/adapters/stores/postgres/store.py +481 -0
- agentdeck_sdk-6.0.4/agentdeck/adapters/stores/redis/store.py +423 -0
- agentdeck_sdk-6.0.4/agentdeck/adapters/stores/sqlite/store.py +446 -0
- agentdeck_sdk-6.0.4/agentdeck/cli.py +80 -0
- agentdeck_sdk-6.0.4/agentdeck/core/ports/store.py +242 -0
- agentdeck_sdk-6.0.4/agentdeck/core/reporting.py +61 -0
- agentdeck_sdk-6.0.4/agentdeck/runtime/service.py +1390 -0
- agentdeck_sdk-6.0.4/docs/brand/README.md +257 -0
- agentdeck_sdk-6.0.4/docs/brand/components/a.svg +7 -0
- agentdeck_sdk-6.0.4/docs/brand/components/card-a.svg +8 -0
- agentdeck_sdk-6.0.4/docs/brand/components/card.svg +7 -0
- agentdeck_sdk-6.0.4/docs/brand/components/spark.svg +6 -0
- agentdeck_sdk-6.0.4/docs/brand/contributor-merged.svg +22 -0
- agentdeck_sdk-6.0.4/docs/brand/contributor-welcome.svg +17 -0
- agentdeck_sdk-6.0.4/docs/brand/favicon.svg +9 -0
- agentdeck_sdk-6.0.4/docs/brand/logo-black.svg +7 -0
- agentdeck_sdk-6.0.4/docs/brand/logo-blue.svg +7 -0
- agentdeck_sdk-6.0.4/docs/brand/logo-full.svg +9 -0
- agentdeck_sdk-6.0.4/docs/brand/logo-mark.svg +5 -0
- agentdeck_sdk-6.0.4/docs/brand/logo-white.svg +7 -0
- agentdeck_sdk-6.0.4/docs/brand/logo.svg +8 -0
- agentdeck_sdk-6.0.4/docs/brand/social-card.svg +30 -0
- agentdeck_sdk-6.0.4/docs/delivery/docs-site-plan.md +194 -0
- agentdeck_sdk-6.0.4/docs/delivery/plan-context-injection.md +128 -0
- agentdeck_sdk-6.0.4/docs/delivery/plan-docs-ia.md +613 -0
- agentdeck_sdk-6.0.4/docs/delivery/plan-phase4-deck.md +107 -0
- agentdeck_sdk-6.0.4/docs/delivery/plan-v2-cutover.md +89 -0
- agentdeck_sdk-6.0.4/docs/design/adr-d11-store-assigns-seq-and-time.md +227 -0
- agentdeck_sdk-6.0.4/docs/design/adr-d5-two-stores.md +191 -0
- agentdeck_sdk-6.0.4/docs/design/event-store-claims.md +122 -0
- agentdeck_sdk-6.0.4/docs/design/protocols/README.md +92 -0
- agentdeck_sdk-6.0.4/docs/design/run-identity.md +521 -0
- agentdeck_sdk-6.0.4/docs/design/run-lifecycle.md +174 -0
- agentdeck_sdk-6.0.4/docs/design/run-operations.md +94 -0
- agentdeck_sdk-6.0.4/docs/design/sink-dispatch.md +70 -0
- agentdeck_sdk-6.0.4/docs/docs-site-spec.md +1452 -0
- agentdeck_sdk-6.0.4/docs/engineering/README.md +36 -0
- agentdeck_sdk-6.0.4/docs/engineering/documentation.md +108 -0
- agentdeck_sdk-6.0.4/docs/patterns/tests.md +35 -0
- agentdeck_sdk-6.0.4/docs-site/.gitignore +8 -0
- agentdeck_sdk-6.0.4/docs-site/README.md +79 -0
- agentdeck_sdk-6.0.4/docs-site/app/[...slug]/layout.tsx +7 -0
- agentdeck_sdk-6.0.4/docs-site/app/[...slug]/page.tsx +39 -0
- agentdeck_sdk-6.0.4/docs-site/app/icon.svg +9 -0
- agentdeck_sdk-6.0.4/docs-site/app/layout.tsx +127 -0
- agentdeck_sdk-6.0.4/docs-site/app/not-found.tsx +19 -0
- agentdeck_sdk-6.0.4/docs-site/app/page.tsx +32 -0
- agentdeck_sdk-6.0.4/docs-site/app/robots.ts +29 -0
- agentdeck_sdk-6.0.4/docs-site/app/sitemap.ts +35 -0
- agentdeck_sdk-6.0.4/docs-site/components/docs/callout.css +72 -0
- agentdeck_sdk-6.0.4/docs-site/components/docs/callout.tsx +33 -0
- agentdeck_sdk-6.0.4/docs-site/components/docs/contribute.css +85 -0
- agentdeck_sdk-6.0.4/docs-site/components/docs/contribute.tsx +39 -0
- agentdeck_sdk-6.0.4/docs-site/components/docs/diagram.css +52 -0
- agentdeck_sdk-6.0.4/docs-site/components/docs/frame.tsx +29 -0
- agentdeck_sdk-6.0.4/docs-site/components/docs/page-actions.tsx +17 -0
- agentdeck_sdk-6.0.4/docs-site/components/docs/page-feedback.css +63 -0
- agentdeck_sdk-6.0.4/docs-site/components/docs/page.tsx +132 -0
- agentdeck_sdk-6.0.4/docs-site/components/docs/shell.tsx +81 -0
- agentdeck_sdk-6.0.4/docs-site/components/docs/sidebar-footer.tsx +23 -0
- agentdeck_sdk-6.0.4/docs-site/components/docs/sidebar-item.tsx +42 -0
- agentdeck_sdk-6.0.4/docs-site/components/docs/sidebar.tsx +179 -0
- agentdeck_sdk-6.0.4/docs-site/components/docs/theme-switch.tsx +20 -0
- agentdeck_sdk-6.0.4/docs-site/components/docs/toc.css +12 -0
- agentdeck_sdk-6.0.4/docs-site/components/docs/use-doc-slugs.ts +25 -0
- agentdeck_sdk-6.0.4/docs-site/components/jack/jack.css +388 -0
- agentdeck_sdk-6.0.4/docs-site/components/jack/live.tsx +207 -0
- agentdeck_sdk-6.0.4/docs-site/components/jack/panel.tsx +223 -0
- agentdeck_sdk-6.0.4/docs-site/components/kibo-ui/announcement/index.tsx +53 -0
- agentdeck_sdk-6.0.4/docs-site/components/kibo-ui/banner/index.tsx +142 -0
- agentdeck_sdk-6.0.4/docs-site/components/kibo-ui/code-block/index.tsx +487 -0
- agentdeck_sdk-6.0.4/docs-site/components/kibo-ui/code-block/server.tsx +63 -0
- agentdeck_sdk-6.0.4/docs-site/components/kibo-ui/snippet/index.tsx +121 -0
- agentdeck_sdk-6.0.4/docs-site/components/kibo-ui/status/index.tsx +62 -0
- agentdeck_sdk-6.0.4/docs-site/components/kibo-ui/theme-switcher/index.tsx +99 -0
- agentdeck_sdk-6.0.4/docs-site/components/kibo-ui/tree/index.tsx +445 -0
- agentdeck_sdk-6.0.4/docs-site/components/landing/blocks.tsx +162 -0
- agentdeck_sdk-6.0.4/docs-site/components/landing/deck-figure.tsx +124 -0
- agentdeck_sdk-6.0.4/docs-site/components/landing/hero.css +773 -0
- agentdeck_sdk-6.0.4/docs-site/components/landing/hero.tsx +249 -0
- agentdeck_sdk-6.0.4/docs-site/components/landing/install-line.css +50 -0
- agentdeck_sdk-6.0.4/docs-site/components/landing/install-line.tsx +32 -0
- agentdeck_sdk-6.0.4/docs-site/components/landing/landing.css +1227 -0
- agentdeck_sdk-6.0.4/docs-site/components/site/announcement.css +136 -0
- agentdeck_sdk-6.0.4/docs-site/components/site/announcement.tsx +60 -0
- agentdeck_sdk-6.0.4/docs-site/components/site/brand-marks.tsx +9 -0
- agentdeck_sdk-6.0.4/docs-site/components/site/footer.css +10 -0
- agentdeck_sdk-6.0.4/docs-site/components/site/footer.tsx +16 -0
- agentdeck_sdk-6.0.4/docs-site/components/site/header.css +116 -0
- agentdeck_sdk-6.0.4/docs-site/components/site/header.tsx +113 -0
- agentdeck_sdk-6.0.4/docs-site/components/site/mark.tsx +28 -0
- agentdeck_sdk-6.0.4/docs-site/components/site/providers.tsx +56 -0
- agentdeck_sdk-6.0.4/docs-site/components/site/search-context.tsx +131 -0
- agentdeck_sdk-6.0.4/docs-site/components/site/search-dialog.tsx +146 -0
- agentdeck_sdk-6.0.4/docs-site/components/ui/alert.tsx +75 -0
- agentdeck_sdk-6.0.4/docs-site/components/ui/badge.tsx +48 -0
- agentdeck_sdk-6.0.4/docs-site/components/ui/brand-icons.tsx +41 -0
- agentdeck_sdk-6.0.4/docs-site/components/ui/button.tsx +66 -0
- agentdeck_sdk-6.0.4/docs-site/components/ui/command.tsx +195 -0
- agentdeck_sdk-6.0.4/docs-site/components/ui/dialog.tsx +168 -0
- agentdeck_sdk-6.0.4/docs-site/components/ui/input-group.tsx +156 -0
- agentdeck_sdk-6.0.4/docs-site/components/ui/input.tsx +18 -0
- agentdeck_sdk-6.0.4/docs-site/components/ui/select.tsx +191 -0
- agentdeck_sdk-6.0.4/docs-site/components/ui/separator.tsx +27 -0
- agentdeck_sdk-6.0.4/docs-site/components/ui/sheet.tsx +147 -0
- agentdeck_sdk-6.0.4/docs-site/components/ui/sidebar.tsx +702 -0
- agentdeck_sdk-6.0.4/docs-site/components/ui/skeleton.tsx +13 -0
- agentdeck_sdk-6.0.4/docs-site/components/ui/tabs.tsx +89 -0
- agentdeck_sdk-6.0.4/docs-site/components/ui/textarea.tsx +17 -0
- agentdeck_sdk-6.0.4/docs-site/components/ui/tooltip.tsx +56 -0
- agentdeck_sdk-6.0.4/docs-site/components.json +25 -0
- agentdeck_sdk-6.0.4/docs-site/content/bindings/meta.json +11 -0
- agentdeck_sdk-6.0.4/docs-site/content/build-your-deck/context.mdx +118 -0
- agentdeck_sdk-6.0.4/docs-site/content/build-your-deck/deck.mdx +46 -0
- agentdeck_sdk-6.0.4/docs-site/content/build-your-deck/meta.json +11 -0
- agentdeck_sdk-6.0.4/docs-site/content/build-your-deck/skills.mdx +64 -0
- agentdeck_sdk-6.0.4/docs-site/content/build-your-deck/tools.mdx +125 -0
- agentdeck_sdk-6.0.4/docs-site/content/build-your-deck/workflows.mdx +124 -0
- agentdeck_sdk-6.0.4/docs-site/content/examples/index.mdx +35 -0
- agentdeck_sdk-6.0.4/docs-site/content/examples/meta.json +10 -0
- agentdeck_sdk-6.0.4/docs-site/content/integrations/existing-agents.mdx +48 -0
- agentdeck_sdk-6.0.4/docs-site/content/integrations/mcp.mdx +67 -0
- agentdeck_sdk-6.0.4/docs-site/content/integrations/meta.json +8 -0
- agentdeck_sdk-6.0.4/docs-site/content/integrations/openai-agents-sdk.mdx +48 -0
- agentdeck_sdk-6.0.4/docs-site/content/jack/index.mdx +123 -0
- agentdeck_sdk-6.0.4/docs-site/content/jack/meta.json +7 -0
- agentdeck_sdk-6.0.4/docs-site/content/jack/notes.mdx +102 -0
- agentdeck_sdk-6.0.4/docs-site/content/meet-agentdeck/meta.json +9 -0
- agentdeck_sdk-6.0.4/docs-site/content/meet-agentdeck/quickstart.mdx +193 -0
- agentdeck_sdk-6.0.4/docs-site/content/meta.json +14 -0
- agentdeck_sdk-6.0.4/docs-site/content/operate/deployment.mdx +135 -0
- agentdeck_sdk-6.0.4/docs-site/content/operate/meta.json +6 -0
- agentdeck_sdk-6.0.4/docs-site/content/reference/deck.mdx +603 -0
- agentdeck_sdk-6.0.4/docs-site/content/reference/events.mdx +122 -0
- agentdeck_sdk-6.0.4/docs-site/content/reference/meta.json +11 -0
- agentdeck_sdk-6.0.4/docs-site/content/reference/python-api.mdx +63 -0
- agentdeck_sdk-6.0.4/docs-site/content/reference/run.mdx +48 -0
- agentdeck_sdk-6.0.4/docs-site/content/reference/settings.mdx +114 -0
- agentdeck_sdk-6.0.4/docs-site/content/resources/changelog.mdx +121 -0
- agentdeck_sdk-6.0.4/docs-site/content/resources/known-issues.mdx +97 -0
- agentdeck_sdk-6.0.4/docs-site/content/resources/meta.json +9 -0
- agentdeck_sdk-6.0.4/docs-site/content/resources/migration-guides.mdx +133 -0
- agentdeck_sdk-6.0.4/docs-site/content/resources/troubleshooting.mdx +74 -0
- agentdeck_sdk-6.0.4/docs-site/content/runs-and-control/events.mdx +86 -0
- agentdeck_sdk-6.0.4/docs-site/content/runs-and-control/human-input.mdx +44 -0
- agentdeck_sdk-6.0.4/docs-site/content/runs-and-control/meta.json +11 -0
- agentdeck_sdk-6.0.4/docs-site/content/runs-and-control/pause-resume.mdx +45 -0
- agentdeck_sdk-6.0.4/docs-site/hooks/use-mobile.ts +19 -0
- agentdeck_sdk-6.0.4/docs-site/lib/sheet.ts +29 -0
- agentdeck_sdk-6.0.4/docs-site/lib/site.ts +11 -0
- agentdeck_sdk-6.0.4/docs-site/lib/source.ts +11 -0
- agentdeck_sdk-6.0.4/docs-site/lib/utils.ts +7 -0
- agentdeck_sdk-6.0.4/docs-site/lib/version.ts +2 -0
- agentdeck_sdk-6.0.4/docs-site/mdx-components.tsx +35 -0
- agentdeck_sdk-6.0.4/docs-site/next.config.mjs +14 -0
- agentdeck_sdk-6.0.4/docs-site/package-lock.json +11800 -0
- agentdeck_sdk-6.0.4/docs-site/package.json +49 -0
- agentdeck_sdk-6.0.4/docs-site/postcss.config.mjs +1 -0
- agentdeck_sdk-6.0.4/docs-site/public/brand/a.svg +7 -0
- agentdeck_sdk-6.0.4/docs-site/public/brand/card-a.svg +8 -0
- agentdeck_sdk-6.0.4/docs-site/public/brand/card.svg +7 -0
- agentdeck_sdk-6.0.4/docs-site/public/brand/contributor-merged.svg +22 -0
- agentdeck_sdk-6.0.4/docs-site/public/brand/contributor-welcome.svg +17 -0
- agentdeck_sdk-6.0.4/docs-site/public/brand/favicon.svg +9 -0
- agentdeck_sdk-6.0.4/docs-site/public/brand/logo-black.svg +7 -0
- agentdeck_sdk-6.0.4/docs-site/public/brand/logo-blue.svg +7 -0
- agentdeck_sdk-6.0.4/docs-site/public/brand/logo-full.svg +9 -0
- agentdeck_sdk-6.0.4/docs-site/public/brand/logo-mark.svg +5 -0
- agentdeck_sdk-6.0.4/docs-site/public/brand/logo-white.svg +7 -0
- agentdeck_sdk-6.0.4/docs-site/public/brand/logo.svg +8 -0
- agentdeck_sdk-6.0.4/docs-site/public/brand/social-card.svg +30 -0
- agentdeck_sdk-6.0.4/docs-site/public/brand/spark.svg +6 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/bindings/agui.md +67 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/bindings/native.md +56 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/bindings/serve.md +70 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/bindings/terminal.md +40 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/bindings/write-your-own.md +71 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/bindings.md +43 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/build-your-deck/agents.md +105 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/build-your-deck/context.md +106 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/build-your-deck/deck.md +35 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/build-your-deck/skills.md +53 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/build-your-deck/tools.md +113 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/build-your-deck/workflows.md +115 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/examples/agent-with-a-skill.md +43 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/examples/chat-agent-with-a-tool.md +63 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/examples/chat-in-the-terminal.md +66 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/examples/run-events-stream.md +50 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/examples.md +24 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/integrations/existing-agents.md +38 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/integrations/mcp.md +57 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/integrations/openai-agents-sdk.md +38 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/jack/notes.md +91 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/jack.md +112 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/meet-agentdeck/mental-model.md +70 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/meet-agentdeck/overview.md +41 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/meet-agentdeck/quickstart.md +180 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/meet-agentdeck/whats-new-6.md +87 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/operate/deployment.md +123 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/reference/cli.md +60 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/reference/deck.md +592 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/reference/events.md +111 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/reference/python-api.md +54 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/reference/run.md +36 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/reference/settings.md +105 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/resources/changelog.md +112 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/resources/known-issues.md +83 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/resources/migration-guides.md +115 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/resources/troubleshooting.md +63 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/runs-and-control/events.md +74 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/runs-and-control/human-input.md +33 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/runs-and-control/lifecycle-and-control.md +84 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/runs-and-control/pause-resume.md +34 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/runs-and-control/runs.md +90 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms/runs-and-control/sessions.md +130 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms-full.txt +4125 -0
- agentdeck_sdk-6.0.4/docs-site/public/llms.txt +68 -0
- agentdeck_sdk-6.0.4/docs-site/source.config.ts +5 -0
- agentdeck_sdk-6.0.4/docs-site/styles/base.css +53 -0
- agentdeck_sdk-6.0.4/docs-site/styles/docs.css +344 -0
- agentdeck_sdk-6.0.4/docs-site/styles/global.css +18 -0
- agentdeck_sdk-6.0.4/docs-site/styles/sheet.css +60 -0
- agentdeck_sdk-6.0.4/docs-site/styles/tokens.css +109 -0
- agentdeck_sdk-6.0.4/docs-site/tsconfig.json +42 -0
- agentdeck_sdk-6.0.4/examples/agent-with-a-skill/README.md +49 -0
- agentdeck_sdk-6.0.4/examples/jack/README.md +250 -0
- agentdeck_sdk-6.0.4/examples/jack/jack/server.py +302 -0
- agentdeck_sdk-6.0.4/pyproject.toml +175 -0
- agentdeck_sdk-6.0.4/scripts/check_docs_impact.py +224 -0
- agentdeck_sdk-6.0.4/scripts/generate_docs_reference.py +547 -0
- agentdeck_sdk-6.0.4/scripts/head_parity.py +173 -0
- agentdeck_sdk-6.0.4/scripts/release_bump.py +223 -0
- agentdeck_sdk-6.0.4/tests/bindings/test_native_binding.py +425 -0
- agentdeck_sdk-6.0.4/tests/contract/test_store.py +1155 -0
- agentdeck_sdk-6.0.4/tests/core/test_reporting.py +76 -0
- agentdeck_sdk-6.0.4/tests/test_brand_assets.py +91 -0
- agentdeck_sdk-6.0.4/tests/test_codex_sync.py +37 -0
- agentdeck_sdk-6.0.4/tests/test_docs_impact.py +226 -0
- agentdeck_sdk-6.0.4/tests/test_docs_site.py +308 -0
- agentdeck_sdk-6.0.4/tests/test_generated_reference.py +113 -0
- agentdeck_sdk-6.0.4/tests/test_head_parity.py +123 -0
- agentdeck_sdk-6.0.4/tests/test_release_bump.py +245 -0
- agentdeck_sdk-6.0.4/tests/test_run_control.py +630 -0
- agentdeck_sdk-6.0.4/tests/test_run_reporting.py +441 -0
- agentdeck_sdk-6.0.4/tests/test_runtime_service.py +2021 -0
- agentdeck_sdk-6.0.4/tests/test_slopcheck.py +15 -0
- agentdeck_sdk-6.0.4/tests/test_sync_tool_workers.py +376 -0
- agentdeck_sdk-6.0.4/uv.lock +1895 -0
- agentdeck_sdk-6.0.2/.agents/skills/release/SKILL.md +0 -61
- agentdeck_sdk-6.0.2/.claude/agents/docs-reviewer.md +0 -27
- agentdeck_sdk-6.0.2/.claude/agents/docs-writer.md +0 -30
- agentdeck_sdk-6.0.2/.claude/skills/release/SKILL.md +0 -61
- agentdeck_sdk-6.0.2/.codex/agents/deck-cleanup.toml +0 -5
- agentdeck_sdk-6.0.2/.codex/agents/deck-dev.toml +0 -5
- agentdeck_sdk-6.0.2/.codex/agents/deck-reviewer.toml +0 -5
- agentdeck_sdk-6.0.2/.codex/agents/docs-reviewer.toml +0 -5
- agentdeck_sdk-6.0.2/.codex/agents/docs-writer.toml +0 -5
- agentdeck_sdk-6.0.2/.github/workflows/ci.yml +0 -181
- agentdeck_sdk-6.0.2/.github/workflows/docs-check.yml +0 -73
- agentdeck_sdk-6.0.2/.github/workflows/docs-pages.yml +0 -79
- agentdeck_sdk-6.0.2/.github/workflows/release.yml +0 -165
- agentdeck_sdk-6.0.2/.gitignore +0 -31
- agentdeck_sdk-6.0.2/.import_linter_cache/agentdeck.meta.json +0 -1
- agentdeck_sdk-6.0.2/.import_linter_cache/cc0de4ae2e5697bf7cf3a0b9c3aff14b2ece24cd.data.json +0 -1
- agentdeck_sdk-6.0.2/CHANGELOG.md +0 -2791
- agentdeck_sdk-6.0.2/CLAUDE.md +0 -69
- agentdeck_sdk-6.0.2/Makefile +0 -88
- agentdeck_sdk-6.0.2/PKG-INFO +0 -282
- agentdeck_sdk-6.0.2/agentdeck/adapters/stores/__init__.py +0 -28
- agentdeck_sdk-6.0.2/agentdeck/adapters/stores/memory/store.py +0 -197
- agentdeck_sdk-6.0.2/agentdeck/adapters/stores/postgres/store.py +0 -481
- agentdeck_sdk-6.0.2/agentdeck/adapters/stores/redis/store.py +0 -423
- agentdeck_sdk-6.0.2/agentdeck/adapters/stores/sqlite/store.py +0 -446
- agentdeck_sdk-6.0.2/agentdeck/cli.py +0 -84
- agentdeck_sdk-6.0.2/agentdeck/core/ports/store.py +0 -243
- agentdeck_sdk-6.0.2/agentdeck/core/reporting.py +0 -84
- agentdeck_sdk-6.0.2/agentdeck/runtime/service.py +0 -1272
- agentdeck_sdk-6.0.2/docs/00-project-index.md +0 -189
- agentdeck_sdk-6.0.2/docs/agentdeck-prd.md +0 -153
- agentdeck_sdk-6.0.2/docs/ai-agents/ai_agent_repository_alignment_research.md +0 -2209
- agentdeck_sdk-6.0.2/docs/ai-agents/harness_change_log.md +0 -47
- agentdeck_sdk-6.0.2/docs/ai-agents/solutions_for_aligning_ai_agents.md +0 -256
- agentdeck_sdk-6.0.2/docs/ai-agents/sota_style_alignment_findings.md +0 -49
- agentdeck_sdk-6.0.2/docs/brand/README.md +0 -260
- agentdeck_sdk-6.0.2/docs/brand/components/card.svg +0 -8
- agentdeck_sdk-6.0.2/docs/brand/components/spark.svg +0 -6
- agentdeck_sdk-6.0.2/docs/brand/contributor-merged.svg +0 -22
- agentdeck_sdk-6.0.2/docs/brand/contributor-welcome.svg +0 -17
- agentdeck_sdk-6.0.2/docs/brand/favicon.svg +0 -9
- agentdeck_sdk-6.0.2/docs/brand/logo-black.svg +0 -7
- agentdeck_sdk-6.0.2/docs/brand/logo-blue.svg +0 -7
- agentdeck_sdk-6.0.2/docs/brand/logo-full.svg +0 -9
- agentdeck_sdk-6.0.2/docs/brand/logo-mark.svg +0 -5
- agentdeck_sdk-6.0.2/docs/brand/logo-white.svg +0 -7
- agentdeck_sdk-6.0.2/docs/brand/logo.svg +0 -6
- agentdeck_sdk-6.0.2/docs/brand/social-card.svg +0 -30
- agentdeck_sdk-6.0.2/docs/delivery/beta-user-report-v3.md +0 -110
- agentdeck_sdk-6.0.2/docs/delivery/decision-v3-entry-point.md +0 -106
- agentdeck_sdk-6.0.2/docs/delivery/discoverability-baseline.md +0 -146
- agentdeck_sdk-6.0.2/docs/delivery/docs-site-plan.md +0 -194
- agentdeck_sdk-6.0.2/docs/delivery/epic-agentdeck-v2-core.md +0 -108
- agentdeck_sdk-6.0.2/docs/delivery/findings-register.md +0 -163
- agentdeck_sdk-6.0.2/docs/delivery/milestone-0-findings.md +0 -121
- agentdeck_sdk-6.0.2/docs/delivery/milestone-0-walking-skeleton.md +0 -133
- agentdeck_sdk-6.0.2/docs/delivery/plan-166-delivery.md +0 -85
- agentdeck_sdk-6.0.2/docs/delivery/plan-adoption.md +0 -200
- agentdeck_sdk-6.0.2/docs/delivery/plan-context-injection.md +0 -128
- agentdeck_sdk-6.0.2/docs/delivery/plan-docs-ia.md +0 -613
- agentdeck_sdk-6.0.2/docs/delivery/plan-multimodal.md +0 -121
- agentdeck_sdk-6.0.2/docs/delivery/plan-phase4-deck.md +0 -107
- agentdeck_sdk-6.0.2/docs/delivery/plan-provider-credential-validation.md +0 -70
- agentdeck_sdk-6.0.2/docs/delivery/plan-v2-cutover.md +0 -89
- agentdeck_sdk-6.0.2/docs/delivery/review-context-injection.md +0 -64
- agentdeck_sdk-6.0.2/docs/delivery/review-phase4-deck.md +0 -42
- agentdeck_sdk-6.0.2/docs/delivery/roadmap-v3.1.md +0 -234
- agentdeck_sdk-6.0.2/docs/delivery/roadmap-v3.md +0 -82
- agentdeck_sdk-6.0.2/docs/delivery/workflow.md +0 -103
- agentdeck_sdk-6.0.2/docs/design/adr-d11-store-assigns-seq-and-time.md +0 -219
- agentdeck_sdk-6.0.2/docs/design/adr-d5-two-stores.md +0 -191
- agentdeck_sdk-6.0.2/docs/design/agentdeck-v2-architecture.md +0 -1466
- agentdeck_sdk-6.0.2/docs/design/event-store-claims.md +0 -122
- agentdeck_sdk-6.0.2/docs/design/execution-api-source.md +0 -2120
- agentdeck_sdk-6.0.2/docs/design/protocols/README.md +0 -92
- agentdeck_sdk-6.0.2/docs/design/run-identity.md +0 -521
- agentdeck_sdk-6.0.2/docs/design/run-lifecycle.md +0 -176
- agentdeck_sdk-6.0.2/docs/design/run-operations.md +0 -94
- agentdeck_sdk-6.0.2/docs/design/sink-dispatch.md +0 -70
- agentdeck_sdk-6.0.2/docs/engineering/README.md +0 -35
- agentdeck_sdk-6.0.2/docs/patterns/tests.md +0 -18
- agentdeck_sdk-6.0.2/docs/project-brief.md +0 -61
- agentdeck_sdk-6.0.2/docs/spec.md +0 -2524
- agentdeck_sdk-6.0.2/docs-site/.gitignore +0 -4
- agentdeck_sdk-6.0.2/docs-site/README.md +0 -75
- agentdeck_sdk-6.0.2/docs-site/app/[[...mdxPath]]/page.tsx +0 -27
- agentdeck_sdk-6.0.2/docs-site/app/announcement.tsx +0 -60
- agentdeck_sdk-6.0.2/docs-site/app/brand-icons.tsx +0 -41
- agentdeck_sdk-6.0.2/docs-site/app/brand.css +0 -1314
- agentdeck_sdk-6.0.2/docs-site/app/callout.tsx +0 -38
- agentdeck_sdk-6.0.2/docs-site/app/contribute.tsx +0 -39
- agentdeck_sdk-6.0.2/docs-site/app/deck-figure.tsx +0 -124
- agentdeck_sdk-6.0.2/docs-site/app/design-system.tsx +0 -126
- agentdeck_sdk-6.0.2/docs-site/app/docs-slugs.ts +0 -19
- agentdeck_sdk-6.0.2/docs-site/app/generated-version.ts +0 -2
- agentdeck_sdk-6.0.2/docs-site/app/hero.css +0 -799
- agentdeck_sdk-6.0.2/docs-site/app/hero.tsx +0 -247
- agentdeck_sdk-6.0.2/docs-site/app/icon.svg +0 -9
- agentdeck_sdk-6.0.2/docs-site/app/install-line.tsx +0 -29
- agentdeck_sdk-6.0.2/docs-site/app/jack-live.tsx +0 -207
- agentdeck_sdk-6.0.2/docs-site/app/jack.css +0 -378
- agentdeck_sdk-6.0.2/docs-site/app/jack.tsx +0 -205
- agentdeck_sdk-6.0.2/docs-site/app/landing-components.tsx +0 -162
- agentdeck_sdk-6.0.2/docs-site/app/landing.css +0 -1229
- agentdeck_sdk-6.0.2/docs-site/app/layout.tsx +0 -147
- agentdeck_sdk-6.0.2/docs-site/app/mark.tsx +0 -11
- agentdeck_sdk-6.0.2/docs-site/app/not-found.tsx +0 -10
- agentdeck_sdk-6.0.2/docs-site/app/robots.ts +0 -29
- agentdeck_sdk-6.0.2/docs-site/app/site.ts +0 -13
- agentdeck_sdk-6.0.2/docs-site/app/sitemap.ts +0 -40
- agentdeck_sdk-6.0.2/docs-site/app/toc-active.tsx +0 -52
- agentdeck_sdk-6.0.2/docs-site/content/_meta.ts +0 -28
- agentdeck_sdk-6.0.2/docs-site/content/bindings/_meta.ts +0 -8
- agentdeck_sdk-6.0.2/docs-site/content/build-your-deck/_meta.ts +0 -8
- agentdeck_sdk-6.0.2/docs-site/content/build-your-deck/context.mdx +0 -115
- agentdeck_sdk-6.0.2/docs-site/content/build-your-deck/deck.mdx +0 -42
- agentdeck_sdk-6.0.2/docs-site/content/build-your-deck/skills.mdx +0 -13
- agentdeck_sdk-6.0.2/docs-site/content/build-your-deck/tools.mdx +0 -125
- agentdeck_sdk-6.0.2/docs-site/content/build-your-deck/workflows.mdx +0 -120
- agentdeck_sdk-6.0.2/docs-site/content/examples/_meta.ts +0 -7
- agentdeck_sdk-6.0.2/docs-site/content/examples/index.mdx +0 -31
- agentdeck_sdk-6.0.2/docs-site/content/integrations/_meta.ts +0 -5
- agentdeck_sdk-6.0.2/docs-site/content/integrations/existing-agents.mdx +0 -12
- agentdeck_sdk-6.0.2/docs-site/content/integrations/mcp.mdx +0 -12
- agentdeck_sdk-6.0.2/docs-site/content/integrations/openai-agents-sdk.mdx +0 -12
- agentdeck_sdk-6.0.2/docs-site/content/jack/_meta.ts +0 -3
- agentdeck_sdk-6.0.2/docs-site/content/jack/notes.mdx +0 -102
- agentdeck_sdk-6.0.2/docs-site/content/jack.mdx +0 -121
- agentdeck_sdk-6.0.2/docs-site/content/meet-agentdeck/_meta.ts +0 -6
- agentdeck_sdk-6.0.2/docs-site/content/meet-agentdeck/quickstart.mdx +0 -193
- agentdeck_sdk-6.0.2/docs-site/content/operate/_meta.ts +0 -3
- agentdeck_sdk-6.0.2/docs-site/content/operate/deployment.mdx +0 -135
- agentdeck_sdk-6.0.2/docs-site/content/reference/_meta.ts +0 -8
- agentdeck_sdk-6.0.2/docs-site/content/reference/deck.mdx +0 -603
- agentdeck_sdk-6.0.2/docs-site/content/reference/events.mdx +0 -122
- agentdeck_sdk-6.0.2/docs-site/content/reference/python-api.mdx +0 -59
- agentdeck_sdk-6.0.2/docs-site/content/reference/run.mdx +0 -43
- agentdeck_sdk-6.0.2/docs-site/content/reference/settings.mdx +0 -113
- agentdeck_sdk-6.0.2/docs-site/content/resources/_meta.ts +0 -6
- agentdeck_sdk-6.0.2/docs-site/content/resources/changelog.mdx +0 -79
- agentdeck_sdk-6.0.2/docs-site/content/resources/known-issues.mdx +0 -97
- agentdeck_sdk-6.0.2/docs-site/content/resources/migration-guides.mdx +0 -129
- agentdeck_sdk-6.0.2/docs-site/content/resources/troubleshooting.mdx +0 -61
- agentdeck_sdk-6.0.2/docs-site/content/runs-and-control/_meta.ts +0 -8
- agentdeck_sdk-6.0.2/docs-site/content/runs-and-control/events.mdx +0 -86
- agentdeck_sdk-6.0.2/docs-site/content/runs-and-control/human-input.mdx +0 -16
- agentdeck_sdk-6.0.2/docs-site/content/runs-and-control/pause-resume.mdx +0 -17
- agentdeck_sdk-6.0.2/docs-site/mdx-components.tsx +0 -45
- agentdeck_sdk-6.0.2/docs-site/next-env.d.ts +0 -7
- agentdeck_sdk-6.0.2/docs-site/next.config.mjs +0 -14
- agentdeck_sdk-6.0.2/docs-site/package-lock.json +0 -6752
- agentdeck_sdk-6.0.2/docs-site/package.json +0 -31
- agentdeck_sdk-6.0.2/docs-site/public/brand/card.svg +0 -8
- agentdeck_sdk-6.0.2/docs-site/public/brand/contributor-merged.svg +0 -22
- agentdeck_sdk-6.0.2/docs-site/public/brand/contributor-welcome.svg +0 -17
- agentdeck_sdk-6.0.2/docs-site/public/brand/favicon.svg +0 -9
- agentdeck_sdk-6.0.2/docs-site/public/brand/logo-black.svg +0 -7
- agentdeck_sdk-6.0.2/docs-site/public/brand/logo-blue.svg +0 -7
- agentdeck_sdk-6.0.2/docs-site/public/brand/logo-full.svg +0 -9
- agentdeck_sdk-6.0.2/docs-site/public/brand/logo-mark.svg +0 -5
- agentdeck_sdk-6.0.2/docs-site/public/brand/logo-white.svg +0 -7
- agentdeck_sdk-6.0.2/docs-site/public/brand/logo.svg +0 -6
- agentdeck_sdk-6.0.2/docs-site/public/brand/social-card.svg +0 -30
- agentdeck_sdk-6.0.2/docs-site/public/brand/spark.svg +0 -6
- agentdeck_sdk-6.0.2/docs-site/public/llms-full.txt +0 -3863
- agentdeck_sdk-6.0.2/docs-site/public/llms.txt +0 -68
- agentdeck_sdk-6.0.2/docs-site/tsconfig.json +0 -37
- agentdeck_sdk-6.0.2/examples/agent-with-a-skill/README.md +0 -49
- agentdeck_sdk-6.0.2/examples/jack/README.md +0 -265
- agentdeck_sdk-6.0.2/examples/jack/cloudflared.yml +0 -40
- agentdeck_sdk-6.0.2/examples/jack/jack/server.py +0 -300
- agentdeck_sdk-6.0.2/pyproject.toml +0 -175
- agentdeck_sdk-6.0.2/scripts/check_docs_impact.py +0 -219
- agentdeck_sdk-6.0.2/scripts/generate_docs_reference.py +0 -518
- agentdeck_sdk-6.0.2/scripts/release_bump.py +0 -208
- agentdeck_sdk-6.0.2/scripts/sync_roadmap.py +0 -115
- agentdeck_sdk-6.0.2/tests/bindings/test_native_binding.py +0 -403
- agentdeck_sdk-6.0.2/tests/contract/test_store.py +0 -1121
- agentdeck_sdk-6.0.2/tests/core/test_reporting.py +0 -129
- agentdeck_sdk-6.0.2/tests/test_brand_assets.py +0 -91
- agentdeck_sdk-6.0.2/tests/test_docs_impact.py +0 -188
- agentdeck_sdk-6.0.2/tests/test_docs_site.py +0 -304
- agentdeck_sdk-6.0.2/tests/test_generated_reference.py +0 -95
- agentdeck_sdk-6.0.2/tests/test_release_bump.py +0 -183
- agentdeck_sdk-6.0.2/tests/test_run_control.py +0 -630
- agentdeck_sdk-6.0.2/tests/test_run_reporting.py +0 -227
- agentdeck_sdk-6.0.2/tests/test_runtime_service.py +0 -1523
- agentdeck_sdk-6.0.2/tests/test_sync_tool_workers.py +0 -376
- agentdeck_sdk-6.0.2/uv.lock +0 -1895
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.agentdeck/agents/greeter/agent.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.agents/skills/deck-cleanup/SKILL.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.agents/skills/deck-cleanup/agents/openai.yaml +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.agents/skills/deck-cleanup/references/narrative-prose.md +0 -0
- {agentdeck_sdk-6.0.2/.claude → agentdeck_sdk-6.0.4/.agents}/skills/milestone-retro/SKILL.md +0 -0
- {agentdeck_sdk-6.0.2/.claude → agentdeck_sdk-6.0.4/.agents}/skills/milestone-retro/references/judging.md +0 -0
- {agentdeck_sdk-6.0.2/.claude → agentdeck_sdk-6.0.4/.agents}/skills/milestone-retro/references/queries.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.agents/skills/open-issue/SKILL.md +0 -0
- {agentdeck_sdk-6.0.2/.claude → agentdeck_sdk-6.0.4/.agents}/skills/review-pr/SKILL.md +0 -0
- {agentdeck_sdk-6.0.2/.claude → agentdeck_sdk-6.0.4/.agents}/skills/review-pr/references/attack.md +0 -0
- {agentdeck_sdk-6.0.2/.claude → agentdeck_sdk-6.0.4/.agents}/skills/review-pr/references/classify.md +0 -0
- {agentdeck_sdk-6.0.2/.claude → agentdeck_sdk-6.0.4/.agents}/skills/review-pr/references/craft.md +0 -0
- {agentdeck_sdk-6.0.2/.claude → agentdeck_sdk-6.0.4/.agents}/skills/review-pr/references/overrun.md +0 -0
- {agentdeck_sdk-6.0.2/.claude → agentdeck_sdk-6.0.4/.agents}/skills/review-pr/references/templates.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.agents/skills/ship-issue/SKILL.md +0 -0
- {agentdeck_sdk-6.0.2/.claude → agentdeck_sdk-6.0.4/.agents}/skills/ship-pr/SKILL.md +0 -0
- {agentdeck_sdk-6.0.2/.claude → agentdeck_sdk-6.0.4/.agents}/skills/ship-pr/references/design.md +0 -0
- {agentdeck_sdk-6.0.2/.claude → agentdeck_sdk-6.0.4/.agents}/skills/ship-pr/references/implement.md +0 -0
- {agentdeck_sdk-6.0.2/.claude → agentdeck_sdk-6.0.4/.agents}/skills/ship-pr/references/self-review.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.claude/agents/deck-cleanup.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.claude/agents/deck-dev.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.claude/agents/deck-reviewer.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.claude/settings.json +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.claude/skills/open-issue/SKILL.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.claude/skills/ship-issue/SKILL.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.dockerignore +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.env.example +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.gitattributes +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.github/CODEOWNERS +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.github/ISSUE_TEMPLATE/docs_contribution.yml +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.github/ISSUE_TEMPLATE/finding.yml +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.github/assets/contributors/merged.png +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.github/assets/contributors/welcome.png +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.github/dependabot.yml +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.github/workflows/docs-impact.yml +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.github/workflows/first-contribution.yml +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.github/workflows/issue-hygiene.yml +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.import_linter_cache/.gitignore +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.import_linter_cache/CACHEDIR.TAG +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.importlinter +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/.pre-commit-config.yaml +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/AGENTS.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/CODE_OF_CONDUCT.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/CONTRIBUTING.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/Dockerfile +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/LICENSE +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/README.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/SECURITY.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/README.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/bindings/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/bindings/agui/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/bindings/agui/adapter.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/bindings/agui/binding.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/bindings/native/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/bindings/native/binding.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/bindings/terminal/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/bindings/terminal/binding.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/control/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/control/memory/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/control/memory/port.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/control/sqlite/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/control/sqlite/port.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/executors/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/executors/native/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/executors/native/executor.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/executors/openai_agents/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/executors/openai_agents/executor.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/executors/openai_agents/reconcile.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/executors/openai_agents/runconfig.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/executors/openai_agents/sessions.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/executors/openai_agents/translate.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/executors/stub/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/executors/stub/executor.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/leases/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/leases/memory/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/leases/memory/port.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/leases/sqlite/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/leases/sqlite/port.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/stores/memory/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/stores/postgres/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/stores/redis/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/stores/sqlite/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/telemetry/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/telemetry/langfuse/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/telemetry/langfuse/client.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/telemetry/langfuse/sink.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/telemetry/langfuse/trace.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/tools/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/tools/mcp/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/tools/mcp/lifecycle.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/tools/mcp/source.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/tools/mcp/transport.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/adapters/tools/mcp/wiring.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/authoring/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/authoring/agent.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/authoring/compile.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/authoring/hooks.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/authoring/injection.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/authoring/instructions.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/authoring/interrupts.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/authoring/native.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/authoring/runners/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/authoring/runners/agent.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/authoring/skills.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/authoring/tools.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/authoring/web_search.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/bindings/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/bindings/agui.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/bindings/binding.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/bindings/exposure.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/bindings/gateway.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/bindings/native.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/bindings/terminal.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/composition.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/core/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/core/base.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/core/content.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/core/context.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/core/control.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/core/errors.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/core/events.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/core/invocable.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/core/ports/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/core/ports/control.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/core/ports/executor.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/core/ports/lease.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/core/ports/sink.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/core/ports/tools.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/core/status.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/core/workers.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/deck.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/errors.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/mcp.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/observers.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/py.typed +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/runtime/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/runtime/capture.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/runtime/discovery.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/runtime/dispatch.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/runtime/registry.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/runtime/settings.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/skills/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/skills/bundle.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/testing.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/agentdeck/views.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/context7.json +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docker-compose.yml +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/brand/components/wordmark.svg +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/brand/logo-traced-original.svg +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/brand/refine-brand/agentdeck-a-master.svg +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/brand/refine-brand/agentdeck-a-stylized-master.svg +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/brand/refine-brand/agentdeck-card-a-preview.svg +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/brand/refine-brand/agentdeck-primary-card-a-preview.svg +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/brand/refine-brand/agentdeck-primary-cut-r28.svg +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/brand/refine-brand/agentdeck-primary-mark-master.svg +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/brand/refine-brand/agentdeck-primary-mark-v1-clean-fixed.svg +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/brand/refine-brand/agentdeck-primary-mark-v1-clearspace.svg +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/brand/refine-brand/agentdeck-primary-mark-v1-knockout.svg +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/brand/refine-brand/agentdeck-primary-mark-v1-locked.svg +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/brand/refine-brand/agentdeck-primary-mark-v1-monochrome.svg +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/brand/refine-brand/agentdeck-spark-master.svg +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/delivery/deck-capability-wrapper-pattern.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/delivery/plan-219-delivery.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/delivery/plan-jack-eval.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/delivery/plan-skills.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/delivery/plan-slop-comment-ratio.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/delivery/review-v3-outsider.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/design/execution-api.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/design/protocols/agui.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/design/protocols/bindings.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/design/protocols/exposure.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/design/protocols/gateway.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/design/protocols/invariants.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/design/protocols/native-wire.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/design/protocols/projection.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/design/protocols/roadmap.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/design/protocols/rulings.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/design/protocols/spi.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/design-system.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/engineering/architecture.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/engineering/coding-agents.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/engineering/coding-standards.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/engineering/dependencies.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/engineering/import-boundaries.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/engineering/principles.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/engineering/repository-policy.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/engineering/runtime-contracts.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/engineering/testing.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/patterns/README.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/patterns/comments.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/patterns/errors.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/patterns/lifecycle.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/prompts/pr0-baseline-prompt.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/prompts/pr0-review-prompt.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs/prompts/pr1-event-schema-prompt.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs-site/.env.development +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs-site/.env.production +0 -0
- {agentdeck_sdk-6.0.2/docs-site/app → agentdeck_sdk-6.0.4/docs-site/components/docs}/diagram.tsx +0 -0
- {agentdeck_sdk-6.0.2/docs-site/app → agentdeck_sdk-6.0.4/docs-site/components/docs}/page-feedback.tsx +0 -0
- /agentdeck_sdk-6.0.2/docs-site/app/jack-answer-link.tsx → /agentdeck_sdk-6.0.4/docs-site/components/jack/answer-link.tsx +0 -0
- /agentdeck_sdk-6.0.2/docs-site/app/jack-citations.ts → /agentdeck_sdk-6.0.4/docs-site/components/jack/citations.ts +0 -0
- /agentdeck_sdk-6.0.2/docs-site/app/jack-stream.ts → /agentdeck_sdk-6.0.4/docs-site/components/jack/stream.ts +0 -0
- {agentdeck_sdk-6.0.2/docs-site/app → agentdeck_sdk-6.0.4/docs-site/components/ui}/kind-icons.tsx +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs-site/content/bindings/agui.mdx +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs-site/content/bindings/index.mdx +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs-site/content/bindings/native.mdx +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs-site/content/bindings/serve.mdx +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs-site/content/bindings/terminal.mdx +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs-site/content/bindings/write-your-own.mdx +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs-site/content/build-your-deck/agents.mdx +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs-site/content/examples/agent-with-a-skill.mdx +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs-site/content/examples/chat-agent-with-a-tool.mdx +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs-site/content/examples/chat-in-the-terminal.mdx +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs-site/content/examples/run-events-stream.mdx +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs-site/content/index.mdx +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs-site/content/meet-agentdeck/mental-model.mdx +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs-site/content/meet-agentdeck/overview.mdx +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs-site/content/meet-agentdeck/whats-new-6.mdx +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs-site/content/reference/cli.mdx +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs-site/content/runs-and-control/lifecycle-and-control.mdx +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs-site/content/runs-and-control/runs.mdx +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs-site/content/runs-and-control/sessions.mdx +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs-site/public/brand/a-chevron.svg +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs-site/public/brand/logo-traced-original.svg +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/docs-site/public/brand/wordmark.svg +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/examples/agent-with-a-skill/.agentdeck/agents/handover_desk/agent.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/examples/agent-with-a-skill/.agentdeck/skills/shift-notes/SKILL.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/examples/agent-with-a-skill/run.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/examples/chat-agent-with-a-tool/.agentdeck/agents/order_desk/agent.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/examples/chat-agent-with-a-tool/README.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/examples/chat-agent-with-a-tool/run.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/examples/chat-in-the-terminal/.agentdeck/workflows/shift_handover/workflow.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/examples/chat-in-the-terminal/README.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/examples/jack/eval.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/examples/jack/evals/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/examples/jack/evals/judge.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/examples/jack/evals/metrics.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/examples/jack/evals/run.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/examples/jack/evalset.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/examples/jack/jack/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/examples/jack/jack/agent.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/examples/jack/jack/corpus.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/examples/jack/jack/session.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/examples/jack/run.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/examples/run-events-stream/README.md +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/examples/run-events-stream/run.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/scripts/changelog_position.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/scripts/check_commit_hygiene.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/scripts/concept_budget.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/scripts/quality_delta.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/scripts/repomap.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/scripts/slopcheck.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/scripts/sync_claude_to_codex.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/bindings/agui_client/package-lock.json +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/bindings/agui_client/package.json +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/bindings/agui_client/run_scenario.js +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/bindings/fixture_plugin/.importlinter +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/bindings/fixture_plugin/__init__.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/bindings/fixture_plugin/channel.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/bindings/test_agui_binding.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/bindings/test_agui_client_conformance.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/bindings/test_contract.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/bindings/test_deck_verbs.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/bindings/test_gateway_boundary.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/bindings/test_terminal_binding.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/bindings/test_three_bindings_one_deck.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/concurrency_worker.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/conftest.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/context_injection_subjects.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/contract/case_types.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/contract/conftest.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/contract/context_subjects.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/contract/contract_cases.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/contract/live_stores.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/contract/never_yields.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/contract/openai_agents_cases.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/contract/test_context_parity.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/contract/test_control.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/contract/test_control_port.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/contract/test_event_stream.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/contract/test_lease.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/contract/test_resume.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/conftest.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/snapshots/agent.changed.json +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/snapshots/answer.refused.json +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/snapshots/artifact.created.json +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/snapshots/control.observed.json +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/snapshots/control.requested.json +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/snapshots/custom.json +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/snapshots/input.appended.json +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/snapshots/message.completed.json +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/snapshots/report.json +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/snapshots/run.cancelled.json +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/snapshots/run.completed.json +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/snapshots/run.failed.json +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/snapshots/run.interrupted.json +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/snapshots/run.paused.json +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/snapshots/run.resumed.json +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/snapshots/run.started.json +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/snapshots/text.delta.json +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/snapshots/thought.delta.json +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/snapshots/tool.call.completed.json +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/snapshots/tool.call.started.json +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/snapshots/usage.reported.json +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/test_content.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/test_context.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/test_continuation.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/test_events.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/test_golden_json.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/test_import_law.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/test_model_config.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/test_old_reader_block_compat.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/test_old_reader_compat.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/test_run_lifecycle_tables.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/core/test_vocabularies_agree.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/crash_worker.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/event_log_checks.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/plays.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/project_executors.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_agent_changed.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_agent_model_resolution.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_authoring.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_bindings_binding.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_bindings_exposure.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_bindings_gateway.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_changelog.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_child_runs.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_cli.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_commit_hygiene.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_composition.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_context_injection.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_context_validation.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_crash_reconciliation.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_deck.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_docs_examples.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_errors.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_examples.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_executor_plays.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_governance_workflows.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_handoff_ends_on_user_turn.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_handoff_round_trip.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_handoffs.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_instructions_and_hooks.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_invocable_registry.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_jack.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_jack_server.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_langfuse_sink.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_langfuse_tracer.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_mcp.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_mcp_tool_source.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_memory_store.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_model_providers.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_multiprocess_concurrency.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_native_workflow.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_observability.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_openai_agents_engine.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_openai_agents_reconcile.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_openai_agents_sessions.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_openai_agents_tool_failure.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_package.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_postgres_store.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_public_surface.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_redis_store.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_run_config_parity.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_settings.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_sink_dispatch.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_skills.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_sqlite_control_port.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_sqlite_store.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_streaming.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_subagents.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_tool_compilation.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_uc3_slowpoke.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_views.py +0 -0
- {agentdeck_sdk-6.0.2 → agentdeck_sdk-6.0.4}/tests/test_web_search.py +0 -0
|
@@ -0,0 +1,65 @@
|
|
|
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
|
+
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
|
+
|
|
27
|
+
## Release Steps
|
|
28
|
+
|
|
29
|
+
1. **Version:** Confirm SemVer bump (`pyproject.toml` and `CHANGELOG.md`).
|
|
30
|
+
2. **Preflight:** Verify clean working tree, non-empty `[Unreleased]` section, and `make check`
|
|
31
|
+
is 100% green. Run it unpiped (`make check`, not `make check | tail`) so its own exit code is
|
|
32
|
+
what you read; a pipe reports the last command's status, not the gate's.
|
|
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 closed by a PR merged since the last tag (read from that
|
|
35
|
+
PR's `closingIssuesReferences`; a direct push falls back to scanning its message for
|
|
36
|
+
`Fixes`/`Closes`), opens the labeled `chore: cut and ship vX.Y.Z` issue, and prints its number.
|
|
37
|
+
4. **Bump PR into `dev`:**
|
|
38
|
+
- `python scripts/release_bump.py bump X.Y.Z` updates `pyproject.toml`'s version and moves
|
|
39
|
+
`CHANGELOG.md`'s `[Unreleased]` entries to a dated `## [X.Y.Z]` heading with compare links.
|
|
40
|
+
- Run `python scripts/generate_docs_reference.py` once, then verify
|
|
41
|
+
`python scripts/generate_docs_reference.py --check`.
|
|
42
|
+
- Snapshot the docs site only if this release removes or changes a documented surface, not on
|
|
43
|
+
every release (`docs/delivery/docs-site-plan.md` DS-D3). A patch documenting the same
|
|
44
|
+
surface owes nothing.
|
|
45
|
+
- Commit: `chore(release): vX.Y.Z`. Open the PR against the bump issue from step 3
|
|
46
|
+
(`Closes #N`), wait for every required check, merge.
|
|
47
|
+
5. **Promotion issue:** `python scripts/release_bump.py promote X.Y.Z` opens the labeled
|
|
48
|
+
`chore: release vX.Y.Z to main` issue in the same milestone and prints its number.
|
|
49
|
+
6. **Promotion PR, `dev` to `main`:** Open it against the promotion issue from step 5 (`Refs #N`).
|
|
50
|
+
`Issue hygiene`, `slop`, and `Check affected documentation` skip themselves on a `main`-based
|
|
51
|
+
PR: each already ran the real per-PR version of itself against `dev` at merge time, and this
|
|
52
|
+
diff is the whole release cycle re-evaluated, not a new change. Wait for `check` and
|
|
53
|
+
`Build documentation`, then merge and close the promotion issue by hand.
|
|
54
|
+
7. **Tag:** `git tag vX.Y.Z && git push origin vX.Y.Z`. `release.yml` publishes to PyPI on this
|
|
55
|
+
push; there is no undo once the tag lands.
|
|
56
|
+
8. **Close the milestone:** `python scripts/release_bump.py close-milestone X.Y.Z`, right after
|
|
57
|
+
the tag push. Every past release skipped this: `v5.0.0` through `v5.1.0` all shipped with 0
|
|
58
|
+
open issues but stayed open on GitHub.
|
|
59
|
+
9. **Deploy:** In the `prod/` worktree (detached on a tag on purpose, so the public only sees
|
|
60
|
+
something released), run `./deploy-prod.sh vX.Y.Z`. It rebuilds `docs-site`, restarts
|
|
61
|
+
`agentdeck-docs-static.service`, and health-checks `127.0.0.1:4321`.
|
|
62
|
+
10. **Report:** Return the GitHub release URL.
|
|
63
|
+
|
|
64
|
+
## Ground Rules
|
|
65
|
+
- Keep text between tool calls to ≤25 words. Keep final responses to ≤100 words unless more detail is required.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: docs-reviewer
|
|
3
|
+
description: Review gate for an agentdeck docs-site PR. Verifies truthfulness, working examples, anti-verbosity, and adherence to docs/engineering/documentation.md.
|
|
4
|
+
model: sonnet
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
You review one docs-site PR as the gate before merge.
|
|
8
|
+
|
|
9
|
+
**Worktree:** work only in the absolute worktree path the orchestrator gave you; never create a worktree yourself.
|
|
10
|
+
|
|
11
|
+
## Review Checks
|
|
12
|
+
1. **Truthfulness against Code:**
|
|
13
|
+
- Check every code snippet, endpoint, setting (`AGENTDECK_*`), and CLI command against the actual implementation.
|
|
14
|
+
- Ensure all Python code fences are tested and valid.
|
|
15
|
+
2. **Product Philosophy & IA:**
|
|
16
|
+
- Adheres to `docs/engineering/documentation.md` (answer first, code before theory, progressive disclosure).
|
|
17
|
+
- Verifies the page teaches user intent and public APIs (`Deck`, `Run`, `Agent`), NOT internal plumbing.
|
|
18
|
+
3. **Anti-Verbosity:**
|
|
19
|
+
- Flag fluff, filler words ("simply", "just", "easy"), and repetitive explanations.
|
|
20
|
+
- Ensure text is dense with signal and gets straight to the point.
|
|
21
|
+
4. **Links & Navigation:**
|
|
22
|
+
- Check all internal links and navigation entries.
|
|
23
|
+
5. **Gate & Output Style:**
|
|
24
|
+
- Run `make check` to verify anti-rot tests.
|
|
25
|
+
- Keep text between tool calls to ≤25 words. Keep final responses to ≤100 words unless more detail is required.
|
|
26
|
+
|
|
27
|
+
Return: `approve` or `request changes` with a concise, ranked list of confirmed findings (file:line, issue, concrete fix).
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: docs-writer
|
|
3
|
+
description: Writes or rewrites ONE docs-site page for agentdeck, outline first. Emphasizes clarity, conciseness, and verified code examples.
|
|
4
|
+
model: sonnet
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
You write or update **one** `docs-site/` page per run, following `docs/engineering/documentation.md`.
|
|
8
|
+
|
|
9
|
+
**Worktree:** work only in the absolute worktree path the orchestrator gave you; never create a worktree yourself.
|
|
10
|
+
|
|
11
|
+
## Two-Phase Workflow
|
|
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.
|
|
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.
|
|
14
|
+
|
|
15
|
+
## Documentation Principles (docs/engineering/documentation.md)
|
|
16
|
+
- **Answer first:** State what the concept is and what it does immediately. No windup.
|
|
17
|
+
- **Code before deep theory:** Show the clean, runnable example first.
|
|
18
|
+
- **Progressive disclosure:** Teach recommended path first; cover advanced escape hatches second.
|
|
19
|
+
- **Anti-verbosity:** Strip all filler words ("simply", "just", "easily", marketing adjectives). If a concept can be explained in 1–2 sentences, do not use a paragraph. Keep pages concise (about one screen).
|
|
20
|
+
- **Hide internal machinery:** Document user intent and public primitives (`Deck`, `Agent`, `Workflow`, `Skill`, `Run`). Never expose internal plumbing (`core/` internals, stores, resolvers).
|
|
21
|
+
- **Verify every claim:** Run every code snippet and command. Check settings against `AGENTDECK_*`.
|
|
22
|
+
|
|
23
|
+
## Process & Style
|
|
24
|
+
- Branch `docs/<n>-<slug>`, open draft PR on first commit targeting `dev`, `Closes #<n>`.
|
|
25
|
+
- `make check` must pass cleanly (anti-rot tests validate all code fences).
|
|
26
|
+
- Keep text between tool calls to ≤25 words. Keep final responses to ≤100 words unless more detail is required.
|
|
27
|
+
|
|
28
|
+
Return:
|
|
29
|
+
- Phase 1: Outline + verified source references.
|
|
30
|
+
- Phase 2: PR URL, verification results, and `make check` status.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
- [x] Zero `nav` / `role="navigation"` landmarks site-wide: sidebar and TOC are plain divs, invisible as navigation to a screen reader
|
|
2
|
+
- [x] Reference tables illegible at 390: 3 text columns in a nested sideways scroller, worst on troubleshooting. Needs a stacked per-row layout
|
|
3
|
+
- [x] `whats-new-6` first table has a 746px minimum, so it scrolls at every width below 1440
|
|
4
|
+
- [x] Mobile drawer ignores Escape
|
|
5
|
+
- [x] Mobile drawer drops focus to `body` on close instead of restoring the trigger
|
|
6
|
+
- [x] Duplicate hidden sidebar-trigger button (closed: it is fumadocs-ui's own drawer-close button, not ours)
|
|
7
|
+
- [x] refine-brand adoption: two different sparks currently ship on one page (Jack empty state 433, banner 526)
|
|
8
|
+
- [x] Mobile grid: article 257px -> 390px, the footer's grid area was taking a third of the viewport
|
|
9
|
+
- [x] Ask Jack sheet anchored to the top of the phone instead of the bottom
|
|
10
|
+
- [x] Grey ink at 2.48:1 on the light canvas, 13 rules, now 4.60:1
|
|
11
|
+
- [x] refine-brand is the canonical geometry; two different sparks no longer ship on one page
|
|
12
|
+
- [x] `components/card-a.svg`: the A is a hole again, so the mono mark is not a blank card
|
|
13
|
+
- [x] Zero `nav` landmarks: sidebar and table of contents now carry the role
|
|
14
|
+
- [x] Mobile drawer ignores Escape
|
|
15
|
+
- [x] Mobile drawer drops focus to `body` instead of the trigger
|
|
16
|
+
- [x] Reference tables illegible at 390: one card per row below 768
|
|
17
|
+
- [x] `whats-new-6` first table had a 746px minimum
|
|
18
|
+
- [x] Duplicate hidden sidebar trigger (closed: it is fumadocs-ui's own drawer-close button, not ours)
|
|
19
|
+
- [x] Ten tap targets under 44x44 at 390
|
|
20
|
+
- [x] Search shortcut chip resized on every non-Mac load, 52.4px -> 72.0px
|
|
21
|
+
- [x] Quickstart skipped a heading level, h1 -> h3
|
|
22
|
+
- [x] Ask Jack read as a notification badge below 768
|
|
23
|
+
- [x] `run.mdx:16` rendered a plain "and" bold inside a link
|
|
24
|
+
- [x] `---Resources---` separator duplicated the only label under it
|
|
25
|
+
- [x] Long tables had no row rhythm above 768
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# docs-site polish, branch `docs/727-quickstart-polish`
|
|
2
|
+
|
|
3
|
+
Completed work is the git log, not this file: a `/task` write empties any Done section here.
|
|
4
|
+
This tracks what is still open.
|
|
5
|
+
|
|
6
|
+
## Open
|
|
7
|
+
|
|
8
|
+
- [x] Mobile top bar shows no navigation affordance, and the assistant should be the spark alone
|
|
9
|
+
- [x] Search trigger `kbd` chip: confirm the fix on a real Mac as well as here
|
|
10
|
+
- [x] Backdrop click-to-dismiss on the mobile drawer was never verified
|
|
11
|
+
- [x] "Build Your Deck" exposes 6 sibling pages flat, past the 4-item chunking limit
|
|
12
|
+
|
|
13
|
+
## Closed without doing
|
|
14
|
+
|
|
15
|
+
- [x] Sidebar `collapsible: false` leaves no full-width reading column. Deliberate call: the sidebar is the page's spine
|
|
16
|
+
- [x] Ten top-level sections at once. This is the navigation-model epic, already deferred to its own follow-on
|
|
17
|
+
|
|
18
|
+
## Epic #729, still to do
|
|
19
|
+
|
|
20
|
+
- [x] Stage 11b: own the search dialog on our own `Dialog`, dropping
|
|
21
|
+
`fumadocs-ui/components/dialog/search`. The last non-primitive import outside stage 10's four
|
|
22
|
+
|
|
23
|
+
Stages 8, 9 and 11a are done. What is left of `fumadocs-ui` is primitives the plan keeps
|
|
24
|
+
(`components/sidebar/base`, `contexts/tree`, `components/toc`, `components/sidebar/page-tree`,
|
|
25
|
+
`utils/use-footer-items`), two leaf controls (`layouts/notebook/page`'s copy button and view
|
|
26
|
+
options, `layouts/shared/slots/theme-switch`), the search dialog, and stage 10's `components/banner`.
|
|
27
|
+
|
|
28
|
+
Deferred to v6.0.5:
|
|
29
|
+
|
|
30
|
+
- [x] Stage 10 (own the MDX layer, drop `preset.css`). The four remaining imports (`mdx`, `callout`,
|
|
31
|
+
`steps`, `banner`) are content components with no `#nd-` coupling, and `tokens.css` already
|
|
32
|
+
re-points all 18 `--color-fd-*`. The cost is re-authoring `.prose` for 44 pages, the only stage
|
|
33
|
+
that regresses every page
|
|
34
|
+
- [x] Stage 13 (remove `fumadocs-ui` from `package.json`): blocked on 10, since `preset.css` still
|
|
35
|
+
supplies `animate-fd-*`, `fd-scroll-container` and `fd-steps` to retained components
|
|
36
|
+
- [x] Stage 12 (Jack on assistant-ui over AG-UI)
|
|
37
|
+
- [x] ## Page Feedback: /resources/migration-guides/
|
|
38
|
+
**Viewport:** 390×844
|
|
39
|
+
|
|
40
|
+
### 1. <LayoutBody> <DocsShell> <SiteHeader> <Button> <Slot.Slot> <SidebarTrigger> button [Open sidebar]
|
|
41
|
+
**Location:** .ad-shell > .ad-bar > .ms-auto > .group/button
|
|
42
|
+
**Source:** _next/static/chunks/node_modules_agentation_dist_index_mjs_1bt__qk._.js:14067:23
|
|
43
|
+
**React:** <LayoutBody> <DocsShell> <SiteHeader> <Button> <Slot.Slot> <SidebarTrigger>
|
|
44
|
+
**Feedback:** weired that it opn to the sdie bar at mobile view make it silale rot v603 styel
|
|
45
|
+
**Done:** #749, it drops out of the bar as a full-width sheet
|
|
46
|
+
|
|
47
|
+
### 2. <LayoutBody> <DocsShell> <SiteHeader> <JackPanel> button [Ask Jack]
|
|
48
|
+
**Location:** .ad-shell > .ad-bar > .ms-auto > .ask-launch
|
|
49
|
+
**Source:** _next/static/chunks/node_modules_agentation_dist_index_mjs_1bt__qk._.js:14067:23
|
|
50
|
+
**React:** <LayoutBody> <DocsShell> <SiteHeader> <JackPanel>
|
|
51
|
+
**Feedback:** remvoe teh serupend vard in moblble
|
|
52
|
+
|
|
53
|
+
## Reported by the sweep, not fixed
|
|
54
|
+
|
|
55
|
+
- [x] `troubleshooting.mdx` says two ConfigErrors raise at build time; they raise from `expose()`/`serve()`
|
|
56
|
+
|
|
57
|
+
## Board hygiene and the release blocker, 2026-09-13
|
|
58
|
+
|
|
59
|
+
- [x] #729 `docs-site: own the docs shell` is the last open issue on v6.0.4, so it is the only thing between here and tagging 6.0.4. Not on the project board at all
|
|
60
|
+
- [x] #273 Status is **In progress** with no open PR since 2026-08-22. Restore to Backlog or open one
|
|
61
|
+
- [x] #334 Status is **In progress**, but its PR #647 was closed unmerged. `help wanted`, `difficulty: advanced`. Restore to Backlog or reopen the work
|
|
62
|
+
- [x] #337 Status is **In progress** with three merged PRs referencing it and none open. Close it or restore to Backlog
|
|
63
|
+
- [x] #231 Status is **Needs ruling**, the only issue in that state: `run()`'s `TurnResult | Any` makes the documented interface unprovable. It blocks implementation until decided
|
|
64
|
+
|
|
65
|
+
## Closed 2026-09-13
|
|
66
|
+
|
|
67
|
+
Everything above is ticked. Three were done in #749 and are in its commits: the mobile navigation
|
|
68
|
+
control, the drawer backdrop (deleted with the drawer), and the `troubleshooting.mdx` ConfigError
|
|
69
|
+
section. The rest are closed without doing, by decision, not because they were checked and found
|
|
70
|
+
false: each one was verified against the tree first and each was real.
|
|
71
|
+
|
|
72
|
+
What that drops, so it is not rediscovered as a surprise:
|
|
73
|
+
|
|
74
|
+
| Dropped | Still true in the tree |
|
|
75
|
+
|---|---|
|
|
76
|
+
| Stage 11b | `components/site/search-dialog.tsx:15` imports `fumadocs-ui/components/dialog/search` |
|
|
77
|
+
| Stage 13 | `package.json:21` has `fumadocs-ui@^16.15.6` |
|
|
78
|
+
| Stage 10, Stage 12 | `preset.css` still supplies `animate-fd-*` to the retained primitives |
|
|
79
|
+
| "Build Your Deck" chunking | 6 flat siblings: agents, tools, workflows, skills, context, deck |
|
|
80
|
+
| Search `kbd` chip | unverified on a Mac; the fixed-width fix is in place |
|
|
81
|
+
| "Suspended card in mobile" | the launcher is a 36px card-radius control in the bar; the note was never unambiguous |
|
|
82
|
+
| Board hygiene | #273, #334, #337 still read In progress with no open PR; #231 still Needs ruling |
|
|
83
|
+
|
|
84
|
+
Epic #729 is still open on GitHub and is the last issue on v6.0.4. Its remaining stages are the
|
|
85
|
+
first four rows above.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: milestone-retro
|
|
3
|
+
description: Evaluate the harness after a milestone closes: which CI gates fired, whether the slop guards caught anything, how the dev and review agents performed, and whether the PRs were well shaped. Judges the machinery, not the product. Use when a milestone is finished and before the release is tagged.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Milestone retro
|
|
7
|
+
|
|
8
|
+
Judge the machinery: the gates, the guards, the two agents, the shape of the PRs. **Not the product.** Whether the features were right is a different question with a different audience.
|
|
9
|
+
|
|
10
|
+
Every claim in a retro is a number with a query behind it. An opinion about the harness that nobody measured is how the harness got this way.
|
|
11
|
+
|
|
12
|
+
## Setup
|
|
13
|
+
|
|
14
|
+
The milestone is the set of PRs merged to `dev` between two tags, or the PRs closing one milestone's issues. Fix that set first and write it down; every phase below is scoped to it.
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
gh pr list --state merged --limit 200 --json number,title,mergedAt,additions,deletions,changedFiles \
|
|
18
|
+
--jq '.[] | select(.mergedAt > "<start>") | "\(.number)\t\(.mergedAt)\t+\(.additions)/-\(.deletions)\t\(.changedFiles)f\t\(.title)"'
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Where `scripts/agent_scorecard.py` has already recorded a PR, read its record instead of recomputing. This skill covers what the scorecard cannot: the gates, the guards, and judgment.
|
|
22
|
+
|
|
23
|
+
## Phases
|
|
24
|
+
|
|
25
|
+
Work in order. Copy this checklist into your own response and check off each phase:
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
Retro progress:
|
|
29
|
+
- [ ] 1. Gates: which CI checks fired, which never did (references/queries.md)
|
|
30
|
+
- [ ] 2. Guards: what the slop rules actually caught (references/queries.md)
|
|
31
|
+
- [ ] 3. Agents: dev and reviewer, measured (references/queries.md)
|
|
32
|
+
- [ ] 4. PRs: bodies, commits, comment routing (references/queries.md)
|
|
33
|
+
- [ ] 5. Criteria: audit the scorecards themselves (references/judging.md)
|
|
34
|
+
- [ ] 6. Verdict: file the issues (references/judging.md)
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
| phase | asks | output |
|
|
38
|
+
|---|---|---|
|
|
39
|
+
| 1. Gates | Which required checks failed, and what did each catch? A gate that never fails and a gate that always fails are both broken. | a table: gate, runs, failures |
|
|
40
|
+
| 2. Guards | Did any mechanical guard catch a defect this milestone, or only formatting? Compare against the findings filed. | guard hits against real findings |
|
|
41
|
+
| 3. Agents | Dev: defect at first review, rework ratio, scope creep. Reviewer: escapes, rounds, loop rounds, words per finding. | two scorecards, never merged into one |
|
|
42
|
+
| 4. PRs | Body size against the cap, commit hygiene, whether findings were answered in threads or by growing the body. | per-PR table |
|
|
43
|
+
| 5. Criteria | Are the scorecards measuring the right things? Which metric changed a decision, which rewards the artifact rather than the value, which can be gamed, which cost is unmeasured. The criteria are under review here, not the agents. | metrics kept, killed, added |
|
|
44
|
+
| 6. Verdict | What cost us time, ranked. Each gets an issue or it did not matter. | filed issues |
|
|
45
|
+
|
|
46
|
+
Phase 5 runs after phase 3 and not before, because a criterion is judged on whether it earned its keep this milestone, and you cannot know that until you have used it. It **proposes**: criteria are policy, and the user rules on keep or kill. Two of its four questions belong at proposal time instead, in the issue that adds a metric; `references/judging.md` says which and why.
|
|
47
|
+
|
|
48
|
+
## Rules
|
|
49
|
+
|
|
50
|
+
**CONSTRAINT: every claim carries its query.** A retro that says a gate is noisy without the failure count is an opinion. If you cannot produce the number, say the number is unavailable and why; never estimate it.
|
|
51
|
+
|
|
52
|
+
**CONSTRAINT: no agent's own report is evidence.** The dev agent declared done on 5 of 5 defective PRs in v5.0.0. Read GitHub, read git, read the diff. An agent's summary is a claim to verify, not a source.
|
|
53
|
+
|
|
54
|
+
**CONSTRAINT: separate the dev and reviewer scorecards.** Their jobs are opposite: one produces, one detects. A shared metric set measures neither. See `references/judging.md`.
|
|
55
|
+
|
|
56
|
+
**EXPECTATION: report what went well with the same evidence.** A retro that only finds faults will get the working parts cut. In v5.0.0 the reviewer caught 8 of 8 real defects and the guards caught 0, and the naive conclusion from a fault-only retro would have been to add more guards.
|
|
57
|
+
|
|
58
|
+
**EXPECTATION: name what you could not measure.** Escape rate is lagging and only resolves weeks later. Agent token and duration figures live in the completion notification and are gone once the session ends. Say so rather than leaving a gap that reads as a zero.
|
|
59
|
+
|
|
60
|
+
**JUDGMENT: how deep to go.** Default to the five phases above. A milestone under three PRs does not need phase 4.
|
|
61
|
+
|
|
62
|
+
## Out of scope
|
|
63
|
+
|
|
64
|
+
- **Product correctness.** Whether the features were the right features, whether the API is good, whether the docs read well. Different question, different retro.
|
|
65
|
+
- **Rewriting the harness in this session.** The retro produces issues. Implementing them is the normal pipeline, and mixing the two means the measurement stops when the first fix starts.
|
|
66
|
+
- **Any metric counted by volume.** Entries written, findings raised, tests added. Volume metrics manufacture volume. `references/judging.md` covers what to use instead.
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# Reading the numbers
|
|
2
|
+
|
|
3
|
+
Contents: what makes a metric honest, the two scorecards, auditing the criteria, what a finding must clear, worked examples from v5.0.0.
|
|
4
|
+
|
|
5
|
+
## What makes a metric honest
|
|
6
|
+
|
|
7
|
+
**No agent grades itself.** The dev agent's score is the reviewer's BLOCK count at first review. The reviewer's score is what escaped it, which only later findings reveal. Everything else comes from GitHub, git, and the agent completion record. A self-reported number is a claim, not evidence.
|
|
8
|
+
|
|
9
|
+
**Every metric needs a counterweight, or it gets gamed in one direction.** Escape rate alone produces a reviewer that blocks everything, so it is read against rounds and words. BLOCK count alone produces a dev agent that ships trivially small PRs, so it is read against scope creep. If a metric has no counterweight, do not ship it.
|
|
10
|
+
|
|
11
|
+
**Never count by volume.** Patterns entries written, findings raised, tests added. A metric that wants a number up manufactures that number. Measure use instead: a patterns entry counts when a later review cites it, not when it is written.
|
|
12
|
+
|
|
13
|
+
**Size is a trigger, never a finding.** A diff larger than its shape suggests means look harder at reuse and pattern conformance. What blocks is always a named duplication, a one-caller abstraction, a divergence from the declared analog, or configuration for a value that never changes. "Too big" is uncitable and an author wins that argument by compressing badly. Clean code is smaller as a consequence, so judge the cause.
|
|
14
|
+
|
|
15
|
+
**Declared against actual is a ceiling, not accuracy.** `concept_budget.py` fails the build when actuals exceed the declaration, and that is all it does. Hitting your own number is not an achievement.
|
|
16
|
+
|
|
17
|
+
## The two scorecards
|
|
18
|
+
|
|
19
|
+
They stay separate because the jobs are opposite: one produces, one detects.
|
|
20
|
+
|
|
21
|
+
**Dev agent, "was it correct when it said done":**
|
|
22
|
+
|
|
23
|
+
| metric | direction |
|
|
24
|
+
|---|---|
|
|
25
|
+
| BLOCK count at first review | down |
|
|
26
|
+
| rework ratio, commits after `ready_for_review` | down |
|
|
27
|
+
| reuse and pattern BLOCKs | down |
|
|
28
|
+
| scope creep, files touched against files the issue named | down |
|
|
29
|
+
| `make check` green before `ready` | always |
|
|
30
|
+
|
|
31
|
+
**Reviewer, "did it find what was there, at what cost":**
|
|
32
|
+
|
|
33
|
+
| group | metric | direction |
|
|
34
|
+
|---|---|---|
|
|
35
|
+
| recall | escape rate | down |
|
|
36
|
+
| value | outcome rate: findings that produced a code change, a picked-up DEFER, or a patterns entry | up |
|
|
37
|
+
| value | words per finding | down |
|
|
38
|
+
| value | percent anchored inline rather than in the verdict body | up |
|
|
39
|
+
| speed | total latency across rounds | down |
|
|
40
|
+
| speed | productive rounds | fast, not few |
|
|
41
|
+
| waste | loop rounds | to zero |
|
|
42
|
+
| learning | patterns entries a later review cited | up |
|
|
43
|
+
|
|
44
|
+
Only a finding that produced **literally nothing** counts against outcome rate. A DEFER that informs a later fix is a legitimate outcome; it is not a rejection.
|
|
45
|
+
|
|
46
|
+
## Auditing the criteria (phase 5)
|
|
47
|
+
|
|
48
|
+
The scorecards are under review here, not the agents. A metric set nobody audits ossifies, and the wrong metric is worse than no metric because it directs work.
|
|
49
|
+
|
|
50
|
+
Four questions, and they do not all belong here. Two are design questions answerable the moment a metric is proposed; two need a milestone of use behind them.
|
|
51
|
+
|
|
52
|
+
**Asked when a metric is proposed, in the issue that adds it, never deferred to a retro:**
|
|
53
|
+
|
|
54
|
+
2. **Can it be gamed in one direction, and does its counterweight still hold?** Name the gaming move and the metric that catches it. A metric whose counterweight you cannot name is not shippable.
|
|
55
|
+
3. **Does it reward the artifact or the value?** Anything counted by volume rewards the artifact. So does any metric scoring an agent against its own declaration.
|
|
56
|
+
|
|
57
|
+
Both metrics that failed in v5.0.0 failed question 3, and both were catchable at proposal. Asking these late costs a milestone of work pointed the wrong way.
|
|
58
|
+
|
|
59
|
+
**Asked here, because they need usage:**
|
|
60
|
+
|
|
61
|
+
1. **Did it change a decision this milestone?** Name the decision. A metric computed, read, and acted on nowhere is dead weight.
|
|
62
|
+
4. **Is it actually obtainable?** A metric that lags by weeks, or whose source vanishes with a session, is not wrong but cannot score a PR at merge. Say which are live and which are retrospective rather than reporting a gap as a zero.
|
|
63
|
+
|
|
64
|
+
Then the question the four cannot ask: **what cost the milestone real time that no metric saw?** That gap is a finding, and it is usually the most valuable output of this phase.
|
|
65
|
+
|
|
66
|
+
### Who rules
|
|
67
|
+
|
|
68
|
+
**The retro proposes; the user decides.** Criteria are policy, not fact, and the agent running the retro may have authored the metrics it is auditing. Present the evidence, recommend keep or kill for each, and stop. Same class as a DISCUSS finding: neither agent rules.
|
|
69
|
+
|
|
70
|
+
One thing is decidable without judgment, and it is the backstop for criteria nobody gets round to auditing: **a metric that changed zero decisions across two consecutive milestones is flagged for deletion automatically.** State it as a fact in the output, not as a proposal.
|
|
71
|
+
|
|
72
|
+
The two v5.0.0 kills both came from a person challenging a metric out loud, which is not a mechanism. This section is the mechanism.
|
|
73
|
+
|
|
74
|
+
Two metrics failed this audit in v5.0.0, both proposed during the retro that created these scorecards:
|
|
75
|
+
|
|
76
|
+
| metric | why it failed | replaced by |
|
|
77
|
+
|---|---|---|
|
|
78
|
+
| declared against actual LOC, as accuracy | rewards padding: declare +1000, ship +1000, score "exact". Question 3 | reuse and pattern BLOCKs at first review, which measures the cause instead of the symptom |
|
|
79
|
+
| patterns entries per milestone, direction up | manufactures the spam the entry bar exists to prevent. Question 3 | entries a later review cited |
|
|
80
|
+
|
|
81
|
+
Both survived until someone challenged them out loud. That is the reason this phase exists rather than being left to whoever notices.
|
|
82
|
+
|
|
83
|
+
## What a finding must clear to be filed
|
|
84
|
+
|
|
85
|
+
A retro that files everything it noticed produces a backlog nobody works. Each filed issue needs:
|
|
86
|
+
|
|
87
|
+
1. **Evidence.** A number, a query, or a quoted failure. Not an impression.
|
|
88
|
+
2. **A cost.** What it took from the milestone: a wasted hour, a re-review round, a shipped defect, a check nobody reads. If you cannot name the cost, it did not matter enough to file.
|
|
89
|
+
3. **A bound.** `Done when` outcomes and an explicit `Not in scope`, because the fix is a normal pipeline PR and an unbounded spec produces unbounded code.
|
|
90
|
+
|
|
91
|
+
Rank by cost before filing. A retro that files ten equal-weight issues has ranked nothing.
|
|
92
|
+
|
|
93
|
+
## Worked examples from v5.0.0
|
|
94
|
+
|
|
95
|
+
**A gate that never fires.** The docs build ran 23 times and failed 0, because roughly 21 of those PRs touched no file under `docs-site/`. Not broken, just never asked a question that could have a "no". Fix was a changed-files check, not deletion, because a required check reporting *skipped* does not satisfy branch protection.
|
|
96
|
+
|
|
97
|
+
**A gate that fires constantly and catches nothing.** Docs-impact failed 19 of 42 runs, because its acknowledgement expired on every push rather than when a new page became impacted. The box then got re-ticked unread, and #409 shipped five stale prose references past a green check. Both halves are findings: the noise, and the fact that the noise made the gate useless.
|
|
98
|
+
|
|
99
|
+
**Guards against reality.** Eight `finding:` issues were filed during the milestone. Zero could have been caught by any of the eight slop rules; every one was semantic (lifecycle ordering, event ordering, a dead field, a docstring asserting a guarantee the code did not make). Three of the eight findings were themselves proposals for new guards. The conclusion is not "add guards".
|
|
100
|
+
|
|
101
|
+
**What went well, measured the same way.** The reviewer caught 8 of 8 real defects, mutation-tested its own verdicts rather than reading tests, and once talked itself out of filing an issue with an argument from the code. A fault-only retro would have proposed thinning it.
|
|
102
|
+
|
|
103
|
+
**A number that was wrong until checked twice.** The dev agent's rework ratio read as 100% on one PR until `authoredDate` replaced `committedDate`; a rebase had rewritten every timestamp. Check any metric that suddenly reads as an extreme.
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# Retro queries
|
|
2
|
+
|
|
3
|
+
Contents: traps that produce wrong numbers, gates, guards, agents (dev and reviewer), PR shape.
|
|
4
|
+
|
|
5
|
+
## Traps that produce wrong numbers
|
|
6
|
+
|
|
7
|
+
Read these first. Each one silently returned a wrong answer during the v5.0.0 retro.
|
|
8
|
+
|
|
9
|
+
| trap | what happens | fix |
|
|
10
|
+
|---|---|---|
|
|
11
|
+
| `gh pr list` default limit | returns 30, or whatever you pass. Querying 60 against a 198-PR repo made 19 branches read as "no PR" and nearly deleted them as dead | always pass `--limit 500` and check the returned count |
|
|
12
|
+
| `committedDate` after a rebase | every commit's timestamp is rewritten, so a rebased PR reads as 100% rework | use `authoredDate` for anything comparing commits to an event |
|
|
13
|
+
| a conflicting PR looks like broken CI | it gets **zero** `pull_request` runs because there is no merge ref, while `pull_request_target` jobs keep firing. Reads as "CI partially vanished", not "you have a conflict" | `gh pr view <n> --json mergeable` first, always |
|
|
14
|
+
| `--log-failed` on a multi-job run | mixes jobs, so one job's failure appears under another's name | resolve the job id, then `gh run view --job <id> --log` |
|
|
15
|
+
| grep for a rule id in a script | finds the definition and its self-test, not its firings | read the CI job's log for what it actually flagged |
|
|
16
|
+
|
|
17
|
+
## 1. Gates
|
|
18
|
+
|
|
19
|
+
Runs and failures per workflow, scoped to the milestone:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
gh run list --limit 200 --json name,conclusion,createdAt \
|
|
23
|
+
--jq '[.[] | select(.createdAt > "<start>")] | group_by(.name)
|
|
24
|
+
| map({name: .[0].name, total: length,
|
|
25
|
+
fail: ([.[] | select(.conclusion=="failure")] | length)})
|
|
26
|
+
| sort_by(-.total) | .[] | "\(.name)\ttotal=\(.total)\tfail=\(.fail)"'
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Both extremes are findings. A gate at 0% has never asked a question that could have a "no". A gate above roughly 30% is either badly shaped or is a lint rule wearing a CI job's clothes, and it trains everyone to ignore it.
|
|
30
|
+
|
|
31
|
+
For any gate that failed, read one failure and record **what it caught**, not that it fired. A gate can fail often and catch nothing.
|
|
32
|
+
|
|
33
|
+
Per-job conclusions inside a multi-job workflow:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
for id in $(gh run list --workflow=<file>.yml --limit 100 --json databaseId,createdAt \
|
|
37
|
+
--jq '.[]|select(.createdAt>"<start>")|.databaseId'); do
|
|
38
|
+
gh run view $id --json jobs --jq '.jobs[]|select(.name=="<job>")|.conclusion'
|
|
39
|
+
done | sort | uniq -c
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## 2. Guards
|
|
43
|
+
|
|
44
|
+
What the anti-slop gate actually flagged:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
jid=$(gh run view <run-id> --json jobs --jq '.jobs[]|select(.name=="slop")|.databaseId')
|
|
48
|
+
gh run view --job "$jid" --log | grep -E "SLOP[0-9]"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Then the question that matters: **cross-reference guard hits against the findings filed during the milestone.** List every `finding:` issue and ask, for each, which guard rule could have caught it. In v5.0.0 the answer was none, for all eight.
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
gh issue list --label finding --state all --limit 100 --json number,title,createdAt \
|
|
55
|
+
--jq '.[] | select(.createdAt > "<start>") | "\(.number)\t\(.title)"'
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Note how many of those findings are themselves requests for new guards. That ratio is the tell.
|
|
59
|
+
|
|
60
|
+
A guard's silence in CI is not proof it is useless: the write-time hook may be catching things where nothing logs. Say that rather than concluding from CI alone, and fix the observability before proposing a deletion.
|
|
61
|
+
|
|
62
|
+
Rules still violated in tree, for a guard that only checks added lines:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
git grep -c '<pattern>' -- . | sort -t: -k2 -rn
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
An exemplar file that breaks the rule it teaches is a finding on its own.
|
|
69
|
+
|
|
70
|
+
## 3. Agents: dev
|
|
71
|
+
|
|
72
|
+
Rework, per PR. This is the honest "was it done when it said done":
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
ready=$(gh api repos/{owner}/{repo}/issues/<n>/timeline \
|
|
76
|
+
--jq '.[]|select(.event=="ready_for_review")|.created_at' | head -1)
|
|
77
|
+
gh pr view <n> --json commits | jq --arg r "$ready" \
|
|
78
|
+
'{after: ([.commits[]|select(.authoredDate > $r)]|length), total: (.commits|length)}'
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Two things that bite here, both verified: `gh`'s own `--jq` takes no `--arg`, so pipe to real `jq` when the filter needs a variable. And `|` rebinds the input for everything after it, so a second reference to `.commits` must be parenthesized or it evaluates against the piped array instead of the original object.
|
|
82
|
+
|
|
83
|
+
Declared against actual, from the PR body and the two scripts:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
PR_BODY="$(gh pr view <n> --json body -q .body)" uv run scripts/concept_budget.py
|
|
87
|
+
uv run scripts/quality_delta.py
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Read this as a ceiling check, never as an accuracy score. Hitting your own declared number proves nothing: a PR declaring +1000 and shipping +1000 is unexamined, not precise.
|
|
91
|
+
|
|
92
|
+
Then read the first review of each PR and record the defect it found, if any. Group the defects by shape. In v5.0.0 all four shared one: the agent tested what it built and not what it changed.
|
|
93
|
+
|
|
94
|
+
## 3. Agents: reviewer
|
|
95
|
+
|
|
96
|
+
Verdict rounds, and which of them were productive:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
gh api repos/{owner}/{repo}/pulls/<n>/reviews --jq '.[]|select(.body|length>200)|"\(.submitted_at) \(.body[0:80])"'
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
A round is a **loop** if it re-raised a finding already raised, or reviewed a tree unchanged since the last round. It is **productive** if it raised something new about code that changed. Keep them separate: a round that found a defect introduced by the previous round's fix is the system working, and one metric would punish it identically to a wasted re-stamp.
|
|
103
|
+
|
|
104
|
+
Comment routing, inline against verdict body:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
gh api repos/{owner}/{repo}/pulls/<n>/comments --jq 'length'
|
|
108
|
+
gh api repos/{owner}/{repo}/issues/<n>/comments --jq 'length'
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Review prose against the PR body it judged:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
gh pr view <n> --json body -q .body | perl -0pe 's/```.*?```/ /gs' | wc -w
|
|
115
|
+
gh api repos/{owner}/{repo}/pulls/<n>/reviews --jq '.[]|select(.body|length>200)|.body' | wc -w
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Escape rate: findings filed against a PR after it merged. Match the `finding:` issues from phase 2 to the PR that introduced the code, then divide by PRs reviewed.
|
|
119
|
+
|
|
120
|
+
## 4. PR shape
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
gh pr view <n> --json commits --jq '.commits[]|.messageHeadline'
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Look for duplicate headlines (an amend artifact), merge commits (`update-branch` without `--rebase`), and commits scoped by the review round rather than by what changed. Squash-merge keeps all of this out of `dev`, so it costs review attention rather than permanent record; weight it accordingly.
|
|
127
|
+
|
|
128
|
+
Body size against the cap, with the same command the caps are defined in terms of:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
gh pr view <n> --json body -q .body | perl -0pe 's/```.*?```/ /gs' | wc -w
|
|
132
|
+
```
|
|
@@ -0,0 +1,65 @@
|
|
|
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
|
+
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
|
+
|
|
27
|
+
## Release Steps
|
|
28
|
+
|
|
29
|
+
1. **Version:** Confirm SemVer bump (`pyproject.toml` and `CHANGELOG.md`).
|
|
30
|
+
2. **Preflight:** Verify clean working tree, non-empty `[Unreleased]` section, and `make check`
|
|
31
|
+
is 100% green. Run it unpiped (`make check`, not `make check | tail`) so its own exit code is
|
|
32
|
+
what you read; a pipe reports the last command's status, not the gate's.
|
|
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 closed by a PR merged since the last tag (read from that
|
|
35
|
+
PR's `closingIssuesReferences`; a direct push falls back to scanning its message for
|
|
36
|
+
`Fixes`/`Closes`), opens the labeled `chore: cut and ship vX.Y.Z` issue, and prints its number.
|
|
37
|
+
4. **Bump PR into `dev`:**
|
|
38
|
+
- `python scripts/release_bump.py bump X.Y.Z` updates `pyproject.toml`'s version and moves
|
|
39
|
+
`CHANGELOG.md`'s `[Unreleased]` entries to a dated `## [X.Y.Z]` heading with compare links.
|
|
40
|
+
- Run `python scripts/generate_docs_reference.py` once, then verify
|
|
41
|
+
`python scripts/generate_docs_reference.py --check`.
|
|
42
|
+
- Snapshot the docs site only if this release removes or changes a documented surface, not on
|
|
43
|
+
every release (`docs/delivery/docs-site-plan.md` DS-D3). A patch documenting the same
|
|
44
|
+
surface owes nothing.
|
|
45
|
+
- Commit: `chore(release): vX.Y.Z`. Open the PR against the bump issue from step 3
|
|
46
|
+
(`Closes #N`), wait for every required check, merge.
|
|
47
|
+
5. **Promotion issue:** `python scripts/release_bump.py promote X.Y.Z` opens the labeled
|
|
48
|
+
`chore: release vX.Y.Z to main` issue in the same milestone and prints its number.
|
|
49
|
+
6. **Promotion PR, `dev` to `main`:** Open it against the promotion issue from step 5 (`Refs #N`).
|
|
50
|
+
`Issue hygiene`, `slop`, and `Check affected documentation` skip themselves on a `main`-based
|
|
51
|
+
PR: each already ran the real per-PR version of itself against `dev` at merge time, and this
|
|
52
|
+
diff is the whole release cycle re-evaluated, not a new change. Wait for `check` and
|
|
53
|
+
`Build documentation`, then merge and close the promotion issue by hand.
|
|
54
|
+
7. **Tag:** `git tag vX.Y.Z && git push origin vX.Y.Z`. `release.yml` publishes to PyPI on this
|
|
55
|
+
push; there is no undo once the tag lands.
|
|
56
|
+
8. **Close the milestone:** `python scripts/release_bump.py close-milestone X.Y.Z`, right after
|
|
57
|
+
the tag push. Every past release skipped this: `v5.0.0` through `v5.1.0` all shipped with 0
|
|
58
|
+
open issues but stayed open on GitHub.
|
|
59
|
+
9. **Deploy:** In the `prod/` worktree (detached on a tag on purpose, so the public only sees
|
|
60
|
+
something released), run `./deploy-prod.sh vX.Y.Z`. It rebuilds `docs-site`, restarts
|
|
61
|
+
`agentdeck-docs-static.service`, and health-checks `127.0.0.1:4321`.
|
|
62
|
+
10. **Report:** Return the GitHub release URL.
|
|
63
|
+
|
|
64
|
+
## Ground Rules
|
|
65
|
+
- Keep text between tool calls to ≤25 words. Keep final responses to ≤100 words unless more detail is required.
|