dbt-artifacts plugin: snapshot and save artifacts before setup and after agent run#47
Closed
clkao wants to merge 26 commits intodbt-labs:mainfrom
Closed
dbt-artifacts plugin: snapshot and save artifacts before setup and after agent run#47clkao wants to merge 26 commits intodbt-labs:mainfrom
clkao wants to merge 26 commits intodbt-labs:mainfrom
Conversation
…db_type extraction
…ontainer_filename
…owers before we have proper hooks for post-agent-install Also have git otherwise Claude get pretty confused.
Remove the --use-mcp CLI flag and use_mcp parameter throughout the codebase. The used_mcp field in trial results is now derived from whether the dbt-mcp plugin actually ran during the trial, determined by PluginRegistry.did_plugin_run(). Changes: - Remove --use-mcp from both CLI commands (ade run and run_harness.py) - Remove use_mcp parameter from Harness and AbstractInstalledAgent - Add plugins_run tracking set to PluginRegistry - Add did_plugin_run() method to check if specific plugin executed - Update trial result creation to derive used_mcp from plugin execution - Add validation to error out when non-existing plugins are specified 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
The SetupOrchestrator created during trial execution was missing the enabled_plugins parameter, causing plugins to never run. Store enabled_plugins as instance variable and pass to both orchestrator instantiations. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Creates baseline manifest.json and catalog.json in target-base directory for use by tools like recce 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Implements plugin that generates baseline dbt artifacts in post_setup phase. Copies and executes generation script in container. Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Makes dbt-artifacts plugin available via --plugins flag 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Tasks intentionally break dbt projects during setup, so artifacts must be generated before setup.sh runs to capture the working baseline state
Script now installs dbt dependencies before running dbt compile, since pre_setup phase runs before setup.sh which normally installs deps
- Generates final artifacts after agent execution with dbt docs generate - Archives both baseline (target-base) and final (target) artifacts to experiments folder - Creates dbt_artifacts/baseline/ and dbt_artifacts/final/ directories - Copies manifest.json and catalog.json from both directories
Simpler implementation using docker cp CLI command instead of extracting from tar archives via Docker SDK
9d86166 to
4502988
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR depends on #42 for the plugin system. The plugin does two things: