feat: snapshot CLI, Airbyte pull, fixture seeding, Jira + Salesforce services#33
Open
feat: snapshot CLI, Airbyte pull, fixture seeding, Jira + Salesforce services#33
Conversation
- Reset: add --hard flag to clear baseline snapshot (not just overlay) - Seed: add --fixture flag to resolve fixture files from the service's fixtures/ directory (e.g. `doubleagent seed github --fixture startup`) - Seed: make positional file argument optional (either --fixture or file path required) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add --fixture flag to resolve fixture files from the service's fixtures/ directory (e.g. `doubleagent seed github --fixture startup` resolves to services/github/fixtures/startup.yaml). Make positional file argument optional — either --fixture or explicit file path is required. Reset command unchanged (no --hard flag). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…' into feat/consolidated-snapshot-and-seeding
Resolve conflicts between the snapshot and fixture features: - --snapshot flag seeds from a snapshot profile - --fixture flag resolves fixtures from service fixtures/ dir - Mutual exclusion: only one of --snapshot, --fixture, or file path Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Cherry-picked from feat/airbyte-services (#16): - Jira fake service (8 streams, snapshot-backed) - Salesforce fake service (8 streams, snapshot-backed) - CI: discover only services with contracts/ dir - .gitignore: snapshot and venv patterns - _lib/pyproject.toml for snapshot_pull package Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This was referenced Feb 23, 2026
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Collaborator
|
Why a huge PR when we can merge small ones ? |
Add focused Rust and Python unit tests for snapshot storage helpers, seed source resolution, relational filtering, and incremental snapshot merge semantics to improve confidence in PR #33 behavior. Co-authored-by: Cursor <cursoragent@cursor.com>
Resolve fixture lookup via local-aware service resolution so `doubleagent seed <service> --fixture ...` works when services are present in the repo but not installed in cache. Co-authored-by: Cursor <cursoragent@cursor.com>
Cover email anonymization (deterministic, unique per address), secret-like string detection, normal string passthrough, non-string passthrough, and recursive nested object redaction. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ice table - Add python-unit-tests job to CI (runs snapshot_pull tests) - Document --fixture flag in README CLI section - Update Available Services: Jira and Salesforce now available (snapshot-backed) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.
Summary
Consolidates #16, #22, and #30 into one PR while preserving all functionality:
doubleagent snapshot pull|list|inspect|delete--snapshot,--fixture, or explicit file path (mutually exclusive)contracts/Supersedes
Test Plan
Local
cargo fmt --allcargo test --allpython3 -m unittest discover -s services/_lib/tests -p "test_*.py"CI