feat(engine/rocky-cli): rocky state clear-schema-cache + --cache-ttl (Arc 7 PR 4)#232
Merged
hugocorreia90 merged 4 commits intomainfrom Apr 22, 2026
Merged
Conversation
…ttl override (PR 4) Arc 7 wave 2 wave-2 PR 4 — user-facing control surface for the schema cache: - `rocky state clear-schema-cache [--dry-run]` — explicit flush of the SCHEMA_CACHE redb table. Missing state store treated as no-op (CI-friendly: safe to run on an ephemeral runner before a build). - `--cache-ttl <seconds>` global CLI flag — overrides `[cache.schemas] ttl_seconds` for this invocation. Precedence: `--cache-ttl` > `rocky.toml` > built-in default (86400s / 24h). Applies to CLI read paths; the `rocky lsp` / `rocky serve` daemons keep the config-derived TTL. - `rocky state` becomes a subcommand group; bare `rocky state` preserved via `Option<StateAction>` defaulting to `Show`. Completes the Arc 7 wave 2 wave-2 sequence (PR 1a #223 infra, PR 1b #228 reads, PR 2 #230 write tap, PR 3 #231 discover warm-up, PR 4 user controls).
…tput doc The doc comment on the output struct flows into schemas/*.schema.json, dagster Pydantic docstrings, and vscode TypeScript jsdoc. Keep the behavioral description; drop the 'Arc 7 wave 2 wave-2 PR 4 / PR 2 / PR 1b' references per monorepo CLAUDE.md (task refs in code rot over time).
…port block Ruff I001 was tripping on the import block order in types.py; the original PR 4 agent inserted ClearSchemaCacheOutput between SourceOutput and StateOutput instead of between CiOutput and ColumnLineageOutput.
7 tasks
hugocorreia90
added a commit
that referenced
this pull request
Apr 22, 2026
* chore: release engine-v1.14.0 + dagster-v1.10.0 + vscode-v1.6.4 Bumps all three artifacts to cover the 16-PR cascade since engine-v1.13.0 / dagster-v1.9.0 / vscode-v1.6.3. Details in each CHANGELOG. Engine headlines (12 PRs): - Arc 7 wave 2 wave-2 complete — cached DESCRIBE end-to-end (#223 infra, #228 reads, #230 write tap, #231 discover warm-up, #232 state controls + --cache-ttl override) - Arc 2 wave 3 complete — bytes_scanned / bytes_written on MaterializationOutput (#219 BQ, #221 Databricks, #220 Snowflake deferred doc, #222 docstring cascade). Real $ on rocky cost for BQ + Databricks - FR-005 Unity Catalog workspace-binding reconcile (#226) - FR-002 Fivetran connector metadata via SourceOutput.metadata (#225) - Housekeeping: compute_backoff dedup into rocky_core::retry (#217) Dagster headlines (4 PRs): - FR-001 RockyComponent Pipes execution mode + FR-006 strict doctor on RockyResource startup (#224) - FR-003 RockyResource.state_health() (#227) + FR follow-up threading doctor(check=state_rw) for sub-second probes (#229) - RockyResource.cost() wiring + fixture (#218) VS Code: regenerated TS bindings for engine 1.14.0 type additions. No extension feature changes. * chore(integrations/dagster): regenerate test fixtures for engine 1.14.0 36 fixtures picked up the new engine version string in their top-level "version" field. No schema changes — just the version bump.
5 tasks
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
rocky state clear-schema-cache [--dry-run]— explicit flush for theSCHEMA_CACHEredb table. Missing state store treated as a no-op (CI-safe on ephemeral runners).--cache-ttl <seconds>global CLI flag — overrides[cache.schemas] ttl_secondsfor this invocation only.rocky statebecomes a subcommand group withOption<StateAction>defaulting toShow, so barerocky state(watermarks view) is preserved.Completes the Arc 7 wave 2 wave-2 sequence (PR 1a #223 infra, PR 1b #228 reads, PR 2 #230 write tap, PR 3 #231 discover warm-up, PR 4 user controls). Design:
~/Developer/rocky-plans/plans/rocky-arc7-wave2-wave2-design.md§4.3 + §6.--cache-ttlprecedence--cache-ttl>[cache.schemas] ttl_secondsinrocky.toml> built-in default (86400 s / 24 h).--cache-ttl 0treats every entry as instantly stale (read path returns an empty map).[cache.schemas] enabled = false— the flag only tunes TTL.rocky compile,rocky run, …);rocky lspandrocky servekeep the config-derived TTL because daemon lifetimes outlive a single-invocation flag.clear-schema-cachesemanticsrocky runwrite tap orrocky discover --with-schemas).entries_deleted = 0, exits zero — safe to drop into a CI pipeline before a strict build.--dry-runcounts the entries that would be removed without touching redb.Test plan
cargo test -p rocky-cli -p rocky-core— 1317 tests green (state.rs adds newtestsmodule, full rocky-cli suite passes)cargo clippy -p rocky-cli -p rocky-core --all-targets -- -D warningscleancargo fmt --all --checkcleancargo build -p rocky-cli -p rocky-core— clean on top of currentorigin/main(which includes PR 2 feat(engine): rocky run schema-cache write tap (Arc 7 wave 2 wave-2 PR 2) #230 + PR 3 feat(engine/rocky-cli): addrocky discover --with-schemas(PR 3) #231)uv run pytestinintegrations/dagster— 374/374 greennpm run compileineditors/vscode— cleanjust codegenre-run after rebase, no drift; codegen-drift CI should passNotes on recovery
The original PR 4 agent hit a rate limit mid-flight before pushing. Recovery:
6678844→08172a0post-rebase).origin/main(which had landed PR 2 + PR 3). Rebase was conflict-free — PR 4's edits touched lines the PR 2/3 changes didn't.just codegento confirm the regenerated bindings are in sync with currentoutput.rs.eb586a1) strippingArc 7 wave 2 wave-2 PR Nreferences from theClearSchemaCacheOutputdoc comment — that comment flows into the public schemas/Pydantic/TS surface, and the monorepo CLAUDE.md forbids task references in code (they rot).12b1b3a).Known follow-ups (not in this PR)
state.rs,source_schemas.rs,main.rs,config.rsstill carry someArc 7 wave 2 wave-2 PR Nmarkers. They don't flow into any public surface, so I left them for reviewer discretion rather than balloon this PR. Happy to strip in a follow-up if preferred.state_pathCLI-vs-LSP divergence flagged in PR 1b / PR 2 is still open and still needs a migration story; untouched here.