sync spec: add fullyResolved param to model yaml GET/POST (#47)#48
Merged
Conversation
Picks up the fullyResolved query/body param on modelsYamlGet and
modelsYamlCreate (only valid with mode=combined). Also pulls in
modelsUpdate (PATCH /api/v1/models/{modelId}) for renames, the
folder_paths content-validator param, and the cursor param on
dbt-exposures as a side effect of the full sync.
Fixes #47
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Captures the spec-sync flow as a reusable slash command: resolve the source spec, preview the diff, branch, sync, build, test, validate the new commands/flags, then commit and open a PR. Replaces the manual sequence we ran for #47. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
n8agrin
commented
Apr 28, 2026
|
|
||
| 1. Path passed in `$ARGUMENTS`. | ||
| 2. `$OMNI_OPENAPI_SPEC` env var. | ||
| 3. `~/src/omni/packages/bi-app/app/types/api/openapi/openapi.json` (common local checkout). |
Contributor
Author
There was a problem hiding this comment.
Remove this, that's my personal checkout.
Contributor
Author
There was a problem hiding this comment.
Done in 856535e — dropped the hardcoded fallback. Resolution is now $ARGUMENTS → $OMNI_OPENAPI_SPEC → ask the user.
n8agrin
commented
Apr 28, 2026
|
|
||
| If the user gave a specific endpoint or param in `$ARGUMENTS`, confirm it actually appears in the new diff. If it doesn't, stop and tell the user — the upstream change probably hasn't been merged into their monorepo checkout yet. | ||
|
|
||
| 3. **Branch** — Create a topic branch off the current default branch: |
Contributor
Author
There was a problem hiding this comment.
What if you're in a worktree? Will this work? No need to branch a branch.
Contributor
Author
There was a problem hiding this comment.
Good catch — fixed in 856535e. The branch step now checks git branch --show-current first: if you're already on a non-default branch (worktree or topic), it stays put. It only creates a new branch when you're on main.
- Drop the hardcoded ~/src/omni fallback. Resolution is now $ARGUMENTS → $OMNI_OPENAPI_SPEC → ask the user. Don't bake one developer's checkout layout into a shared skill. - Make the branch step worktree-aware: if already on a non-default branch (worktree, existing topic), stay on it instead of branching a branch. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds a subsection under "Updating the OpenAPI Spec" so the slash command is discoverable from the dev guide, with example invocations and a pointer to the skill file for editing. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
cmruderman
approved these changes
Apr 28, 2026
Drops the requirement for a local omni-monorepo checkout. `make sync-spec` now fetches openapi.json from exploreomni/omni@main via `gh api` by default. Two overrides remain for the cases that actually need them: - OMNI_OPENAPI_SPEC=/local/path — test an unmerged spec change. - OMNI_OPENAPI_REF=branch-or-sha — pin to a non-default ref. Renames the slash command from /update-from-api-spec to /update-api and rewrites the skill so the make target owns resolution. The skill just drives it. DEVELOPMENT.md updated to match. Co-Authored-By: Claude Opus 4.7 (1M context) <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
fullyResolvedquery/body param onmodelsYamlGetandmodelsYamlCreate(only valid withmode=combined), exposed by the upstream change in exploreomni/omni#48617.modelsUpdate(PATCH/api/v1/models/{modelId}for renames),folder_pathscontent-validator param, and acursorparam ondbt-exposures./update-from-api-spec, a project slash command that captures the spec-sync flow (resolve source spec → branch → sync → build/test → validate--help→ commit → open PR) so future bumps don't have to be redone by hand.Fixes #47
Test plan
make test./bin/omni models yaml-get --helpshows--fullyresolved./bin/omni models yaml-get <model-id> --fullyresolved=true --mode combinedreturns expanded YAML🤖 Generated with Claude Code