Skip to content

Add first state:new selector slice - #216

Merged
sabino merged 1 commit into
mainfrom
agent/issue-211-compat-first-state-new-selector-from-prior-manif
Jun 21, 2026
Merged

Add first state:new selector slice#216
sabino merged 1 commit into
mainfrom
agent/issue-211-compat-first-state-new-selector-from-prior-manif

Conversation

@sabino

@sabino sabino commented Jun 21, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds a Zig prior-manifest state reader for Manifest v12 resource unique IDs.
  • Supports state:new through the shared selector engine, including graph expansion and --exclude composition.
  • Adds focused CLI coverage, compatibility docs, changelog, and PLAN status updates.

Linked Issue

Closes #211

Scope

  • In scope: state:new membership against --state/manifest.json, deterministic missing/malformed/version errors, graph expansion, and exclude composition.
  • Out of scope: state:modified, state:old, state:unmodified, deferral, checksum comparison, package install state, partial parsing, and Python product runtime behavior.

Source Grounding

  • dbt Core v1: StateSelectorMethod / PreviousState behavior as mapped in the existing YAML selector and state/defer roadmap.
  • Fusion / v2: selector/state references from the same roadmap remain non-overriding context.
  • Not applicable because: this is a narrow current-vs-prior unique-id membership slice, not a broader state diff or defer implementation.

dxt Ownership

  • Zig modules: src/project/state.zig, src/project/selector.zig, src/project.zig, src/root.zig.
  • Artifacts: reads prior manifest.json; no generated artifact shape changes.
  • Commands: selector-backed commands, with focused validation through dxt ls.

Validation

  • zig build
  • zig build test with explicit temp cache
  • Focused pytest: pytest -q tests/test_cli.py -k 'state_new' (2 passed, 1 optional dbt oracle skipped)
  • Focused selector regression pytest: pytest -q tests/test_cli.py -k 'source_status_selector or result_selector or yaml_selector or repeated_selector_flags' (5 passed, 2 optional dbt oracles skipped)
  • Public Jaffle gate
  • python scripts/check_runtime_boundary.py
  • python scripts/check_public_safety.py
  • Not applicable because: public Jaffle gates are outside this selector/artifact slice.

Agent Evidence

Risks

  • Runtime boundary: product behavior remains Zig-only; Python changes are CLI tests only.
  • Public safety: scan passed.
  • Artifact parity: first slice only validates Manifest v12 resource maps and unique IDs; no checksum diffing.
  • Branch overlap: rebased on origin/main; branch is one commit ahead.
  • Follow-up: broader state selectors and defer remain planned.

@sabino
sabino merged commit 096eb0a into main Jun 21, 2026
6 checks passed
@sabino
sabino deleted the agent/issue-211-compat-first-state-new-selector-from-prior-manif branch June 21, 2026 19:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[compat] First state:new selector from prior manifest

1 participant