You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@superset.apache.org by "SEPURI-SAI-KRISHNA (via GitHub)" <gi...@apache.org> on 2026/08/31 07:20:59 UTC

[PR] fix(api): advertise only the time grains Prophet can resolve [superset]

SEPURI-SAI-KRISHNA opened a new pull request, #43710:
URL: https://github.com/apache/superset/pull/43710

   ### SUMMARY
   
   Fixes #43356.
   
   `ChartDataProphetOptionsSchema.time_grain` validates against
   `get_time_grain_choices()`, which merges `builtin_time_grains` with the
   operator-configured `TIME_GRAIN_ADDONS`. `prophet()` then resolves the grain
   through `PROPHET_TIME_GRAIN_MAP`, a static map that cannot contain an
   operator's arbitrary addon key. So a configured custom grain passes schema
   validation and then fails at the lookup, the API advertises a forecast it
   cannot serve.
   
   Reproducing on `master` with `TIME_GRAIN_ADDONS = {"PT7M": "7 minute"}`:
   
   ```
   PT7M is a built-in mapped grain? False
   schema.load('PT7M')  : ACCEPTED
   prophet('PT7M')      : InvalidPostProcessingError -> Unsupported time grain: PT7M
   ```
   
   The addon keys are arbitrary ISO-8601 durations, so the static map cannot
   simply be extended to cover them, and converting them to pandas frequencies at
   runtime is not total, `P0.25Y` being the obvious case. That leaves the other
   option the issue identifies: publish only what the operation can resolve.
   
   This adds `get_prophet_time_grain_choices()`, returning the keys of
   `PROPHET_TIME_GRAIN_MAP`, and points the Prophet field's validator at it.
   `get_time_grain_choices()` is deliberately left alone, it is shared with
   `time_grain_sqla` on `ChartDataExtrasSchema`, where addon grains are
   legitimately supported, and narrowing it there would be a regression.
   
   **This widens the published set as well as narrowing it.** `PT0.5H`
   (`HALF_HOUR`) and `P0.25Y` (`QUARTER_YEAR`) are in the map but not in
   `builtin_time_grains`, so they were previously rejected by the schema despite
   resolving fine in `prophet()`. They are now accepted. Net effect on a default
   deployment is 19 advertised grains -> 21, with every one of them resolvable.
   
   No working request changes behaviour: the grains this removes from the spec
   never produced a forecast.
   
   ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
   
   N/A, backend-only fix.
   
   ### TESTING INSTRUCTIONS
   
   ```bash
   pytest tests/unit_tests/charts/test_schemas.py -q
   pytest tests/unit_tests/pandas_postprocessing/test_prophet.py -q
   ```
   
   Three tests are added:
   
   - `test_prophet_schema_advertises_only_resolvable_grains` asserts the field's
     own `OneOf` choices equal the map's keys. It reads the validator rather than
     the helper, so re-pointing the field back at `get_time_grain_choices()` fails
     here rather than silently reintroducing the bug.
   - `test_prophet_rejects_addon_grain_accepted_by_time_grain_sqla` configures
     `TIME_GRAIN_ADDONS = {"PT7M": "7 minute"}` and asserts the addon is still
     advertised by the shared helper while the Prophet schema rejects it. This is
     the reported bug, and it pins the "do not narrow the shared helper"
     constraint.
   - `test_prophet_accepts_every_mapped_grain` covers the five grains that now
     load and resolve, including the two newly advertised aliases.
   
   The three pre-existing `time_grain` assertions are unchanged and still pass —
   `P1D` remains valid and `invalid_grain` remains rejected.
   
   ### ADDITIONAL INFORMATION
   
   - [x] Has associated issue: #43356
   - [ ] Required feature flags:
   - [ ] Changes UI
   - [ ] Includes DB Migration (follow approval process in SIP-59)
     - [ ] Migration is atomic, supports rollback & is backwards-compatible
     - [ ] Confirm DB migration upgrade and downgrade tested
     - [ ] Runtime estimates and downtime expectations provided
   - [ ] Introduces new feature or API
   - [ ] Removes existing feature or API
   
   Note for reviewers: #43206 also edits `ChartDataProphetOptionsSchema`, about
   fifty lines below this change (`monthly_seasonality` -> `daily_seasonality`,
   plus `index`). Separate hunks, so the two should merge cleanly, but whichever
   lands second may want a rebase.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [PR] fix(api): advertise only the time grains Prophet can resolve [superset]

Posted by "bito-code-review[bot] (via GitHub)" <gi...@apache.org>.
bito-code-review[bot] commented on PR #43710:
URL: https://github.com/apache/superset/pull/43710#issuecomment-5610482521

   **Bito Automatic Review Skipped – PR Already Merged**<br/><br/>Bito scheduled an automatic review for this pull request, but the review was skipped because this PR was merged before the review could be run.<br/>No action is needed if you didn't intend to review it. To get a review, you can type `/review` in a comment and save it


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [PR] fix(api): advertise only the time grains Prophet can resolve [superset]

Posted by "rusackas (via GitHub)" <gi...@apache.org>.
rusackas merged PR #43710:
URL: https://github.com/apache/superset/pull/43710


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [PR] fix(api): advertise only the time grains Prophet can resolve [superset]

Posted by "rusackas (via GitHub)" <gi...@apache.org>.
rusackas commented on PR #43710:
URL: https://github.com/apache/superset/pull/43710#issuecomment-5595962150

   I just merged https://github.com/apache/superset/pull/43585 which clearly had some overlap here. Will try to assess what's left here of value to follow up on that PR, and I welcome your assessment too. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [PR] fix(api): advertise only the time grains Prophet can resolve [superset]

Posted by "bito-code-review[bot] (via GitHub)" <gi...@apache.org>.
bito-code-review[bot] commented on PR #43710:
URL: https://github.com/apache/superset/pull/43710#issuecomment-5557981999

   AI Code Review is in progress (usually takes 3 to 15 minutes unless it's a very large PR).
   
   <details>
   <summary>
   Bito Usage Guide
   </summary>
   
   **Commands**
         
   Type the following command in the pull request comment and save the comment.
         
   - `/review` - Manually triggers an incremental AI Review.
   - `/review full` - Manually triggers a full AI Review.
   
   - `/pause` - Pauses automatic reviews on this pull request.
   - `/resume` - Resumes automatic reviews.
   - `/resolve` - Marks all Bito-posted review comments as resolved.
   - `/abort` - Cancels all in-progress reviews.
   
         
   Refer to the <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/available-commands" target="_blank" rel="noopener noreferrer">documentation</a> for additional commands.
         
   **Configuration**
   
   This repository uses `Superset` You can customize the agent settings <a href="https://alpha.bito.ai/home/ai-agents/code-review-agent" target="_blank" rel="noopener noreferrer">here</a> or contact your Bito workspace admin at evan@preset.io.
         
   **Documentation & Help**
   - <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/getting-started/install-run-using-bito-cloud/create-or-customize-an-agent-instance" target="_blank" rel="noopener noreferrer">Customize agent settings</a>
   - <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/implementing-custom-code-review-rules" target="_blank" rel="noopener noreferrer">Review rules</a>
   - <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent" target="_blank" rel="noopener noreferrer">General documentation</a>
   - <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/faqs" target="_blank" rel="noopener noreferrer">FAQ</a>
   
   </details>
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [PR] fix(api): advertise only the time grains Prophet can resolve [superset]

Posted by "bito-code-review[bot] (via GitHub)" <gi...@apache.org>.
bito-code-review[bot] commented on PR #43710:
URL: https://github.com/apache/superset/pull/43710#issuecomment-5475087969

   AI Code Review is in progress (usually takes 3 to 15 minutes unless it's a very large PR).


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [PR] fix(api): advertise only the time grains Prophet can resolve [superset]

Posted by "SEPURI-SAI-KRISHNA (via GitHub)" <gi...@apache.org>.
SEPURI-SAI-KRISHNA commented on PR #43710:
URL: https://github.com/apache/superset/pull/43710#issuecomment-5596371739

   Thanks for the rebase and for catching the second drift, the `ChartDataExtrasSchema`
   enum needed to go for exactly the reason you gave, and I would not have spotted it from
   my side of the conflict.
   
   Worth restating what this PR still does, because #43585 landed the same core narrowing
   while this was open and the title now overstates the change.
   
   **Already fixed by #43585.** The Prophet field validating against
   `PROPHET_TIME_GRAIN_MAP` rather than `get_time_grain_choices()` is master's behaviour.
   My `schemas.py` change is reduced to routing that same set through a named
   `get_prophet_time_grain_choices()` helper, readability, not behaviour. If you would
   rather not carry the extra indirection, dropping that helper and keeping the tests
   would be a reasonable trim; I have no attachment to it.
   
   **Still outstanding before this PR.** #43585 changed the validator but did not
   regenerate the spec, so master publishes a Prophet `time_grain` enum that is narrower
   than what the code accepts:
   
   | | Prophet `time_grain` enum |
   |---|---|
   | master's `openapi.json` | 19 entries |
   | master's `PROPHET_TIME_GRAIN_MAP` | 21 keys |
   | this branch | 21 entries |
   
   The two missing from the published spec are `PT0.5H` and `P0.25Y`. Both load fine
   through the schema on master; they are simply undocumented. That is the `+2` in
   `openapi.json` here, and together with your extras resync it puts the spec back in
   agreement with the code.
   
   **Test coverage.** Three tests, none of which have an equivalent in master:
   
   - `test_prophet_schema_advertises_only_resolvable_grains`, asserts the advertised set
     equals the set `prophet()` can map, so the spec and the operation cannot drift apart
     again silently. This is the one that would have caught the gap above.
   - `test_prophet_accepts_every_mapped_grain`, parametrised over the map, so a grain
     added to `PROPHET_TIME_GRAIN_MAP` without a schema update fails here.
   - `test_prophet_choices_exclude_an_addon_the_shared_helper_includes`, pins the
     intended asymmetry: a `TIME_GRAIN_ADDONS` key stays valid for the shared helper and
     stays out of Prophet's set.
   
   So: a spec resync, a regression guard against the drift that just happened, and an
   optional helper. Happy to retitle it along those lines if you would prefer the history
   to read accurately, or to trim it to just the spec and tests, your call.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [PR] fix(api): advertise only the time grains Prophet can resolve [superset]

Posted by "codecov[bot] (via GitHub)" <gi...@apache.org>.
codecov[bot] commented on PR #43710:
URL: https://github.com/apache/superset/pull/43710#issuecomment-5475139971

   ## [Codecov](https://app.codecov.io/gh/apache/superset/pull/43710?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) Report
   :white_check_mark: All modified and coverable lines are covered by tests.
   :white_check_mark: Project coverage is 57.49%. Comparing base ([`6abab3c`](https://app.codecov.io/gh/apache/superset/commit/6abab3c1cb6c51f36a4b3da4ee5355a2413f6a05?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)) to head ([`29939f4`](https://app.codecov.io/gh/apache/superset/commit/29939f40c62e61d728bb3cbebf7e20581ac27150?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 2 commits behind head on master.
   > :exclamation:  There is a different number of reports uploaded between BASE (6abab3c) and HEAD (29939f4). Click for more details.
   > 
   > <details><summary>HEAD has 76 uploads less than BASE</summary>
   >
   >| Flag | BASE (6abab3c) | HEAD (29939f4) |
   >|------|------|------|
   >|python|60|2|
   >|presto|10|1|
   >|hive|10|1|
   ></details>
   
   <details><summary>Additional details and impacted files</summary>
   
   
   
   ```diff
   @@             Coverage Diff             @@
   ##           master   #43710       +/-   ##
   ===========================================
   - Coverage   79.24%   57.49%   -21.76%     
   ===========================================
     Files        2888     2888               
     Lines      166446   166449        +3     
     Branches    38529    38529               
   ===========================================
   - Hits       131908    95698    -36210     
   - Misses      32045    69855    +37810     
   + Partials     2493      896     -1597     
   ```
   
   | [Flag](https://app.codecov.io/gh/apache/superset/pull/43710/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Coverage Δ | |
   |---|---|---|
   | [hive](https://app.codecov.io/gh/apache/superset/pull/43710/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `37.89% <100.00%> (+<0.01%)` | :arrow_up: |
   | [mysql](https://app.codecov.io/gh/apache/superset/pull/43710/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
   | [postgres](https://app.codecov.io/gh/apache/superset/pull/43710/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
   | [presto](https://app.codecov.io/gh/apache/superset/pull/43710/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `39.80% <100.00%> (+<0.01%)` | :arrow_up: |
   | [python](https://app.codecov.io/gh/apache/superset/pull/43710/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `39.85% <100.00%> (-43.89%)` | :arrow_down: |
   | [sqlite](https://app.codecov.io/gh/apache/superset/pull/43710/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
   | [unit](https://app.codecov.io/gh/apache/superset/pull/43710/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
   
   Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#carryforward-flags-in-the-pull-request-comment) to find out more.
   </details>
   
   [:umbrella: View full report in Codecov by Harness](https://app.codecov.io/gh/apache/superset/pull/43710?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).   
   :loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).
   <details><summary> :rocket: New features to boost your workflow: </summary>
   
   - :snowflake: [Test Analytics](https://docs.codecov.com/docs/test-analytics): Detect flaky tests, report on failures, and find test suite problems.
   - :package: [JS Bundle Analysis](https://docs.codecov.com/docs/javascript-bundle-analysis): Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [PR] fix(api): advertise only the time grains Prophet can resolve [superset]

Posted by "netlify[bot] (via GitHub)" <gi...@apache.org>.
netlify[bot] commented on PR #43710:
URL: https://github.com/apache/superset/pull/43710#issuecomment-5475107892

   ### <span aria-hidden="true">✅</span> Deploy Preview for *superset-docs-preview* ready!
   
   
   |  Name | Link |
   |:-:|------------------------|
   |<span aria-hidden="true">🔨</span> Latest commit | 29939f40c62e61d728bb3cbebf7e20581ac27150 |
   |<span aria-hidden="true">🔍</span> Latest deploy log | https://app.netlify.com/projects/superset-docs-preview/deploys/6a952b0b636ebf0008b81983 |
   |<span aria-hidden="true">😎</span> Deploy Preview | [https://deploy-preview-43710--superset-docs-preview.netlify.app](https://deploy-preview-43710--superset-docs-preview.netlify.app) |
   |<span aria-hidden="true">📱</span> Preview on mobile | <details><summary> Toggle QR Code... </summary><br /><br />![QR Code](https://app.netlify.com/qr-code/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1cmwiOiJodHRwczovL2RlcGxveS1wcmV2aWV3LTQzNzEwLS1zdXBlcnNldC1kb2NzLXByZXZpZXcubmV0bGlmeS5hcHAifQ.MsSUDBpAFuvJ-Wo4GETzpipWqQTlTK8DQQhz1D97Hgk)<br /><br />_Use your smartphone camera to open QR code link._</details> |
   |<span aria-hidden="true">🤖</span> Make changes | [Run an agent on this branch](https://app.netlify.com/projects/superset-docs-preview/agent-runs#DcpNCoAgEEDhu8w6yZJEu0HHcFJTyB_MRRHdvdk9eN8LtZVUO6wAA2AzeQ_UPt4jjRpcZz0mx45mYmbG2pIvgtbVszybJSqNXmbkKIV06DnnCtWklYDvBw) |
   ---
   <!-- [superset-docs-preview Preview](https://deploy-preview-43710--superset-docs-preview.netlify.app) -->
   _To edit notification comments on pull requests, go to your [Netlify project configuration](https://app.netlify.com/projects/superset-docs-preview/configuration/notifications#deploy-notifications)._


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [PR] fix(api): advertise only the time grains Prophet can resolve [superset]

Posted by "rusackas (via GitHub)" <gi...@apache.org>.
rusackas commented on PR #43710:
URL: https://github.com/apache/superset/pull/43710#issuecomment-5546078138

   Thanks @SEPURI-SAI-KRISHNA, a Prophet-only choices source instead of narrowing the shared helper is the right shape, and picking up `PT0.5H`/`P0.25Y` along the way is a nice bonus. It's gone conflicting since, though, just the tail of `test_schemas.py` where master grew another test. Quick rebase and I think we're good; holler if you want a hand with it.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [PR] fix(api): advertise only the time grains Prophet can resolve [superset]

Posted by "rusackas (via GitHub)" <gi...@apache.org>.
rusackas commented on PR #43710:
URL: https://github.com/apache/superset/pull/43710#issuecomment-5596132569

   Rebased on master (conflict was just where #43585 landed nearby in `schemas.py`, kept both). CI's `check-openapi-spec-drift` also caught an unrelated stale enum in `time_grain_sqla` left over from #43585 switching to a custom validator function apispec can't introspect - regenerated that too so the spec matches what's actually in the code now.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [PR] fix(api): advertise only the time grains Prophet can resolve [superset]

Posted by "SEPURI-SAI-KRISHNA (via GitHub)" <gi...@apache.org>.
SEPURI-SAI-KRISHNA commented on PR #43710:
URL: https://github.com/apache/superset/pull/43710#issuecomment-5553041116

   Rebased on master, thanks @rusackas. The conflict was where you said, the tail of `test_schemas.py`: master had grown `test_post_processing_operation_schema_rejects_string_helpers` in the same slot as the prophet tests. Both sides were pure additions, so both are kept. `schemas.py` and the import blocks auto-merged.
   
   One extra file beyond the rebase. `check-openapi-spec-drift` merged in #43841 a few hours after your comment, and it regenerates the spec on every PR, so this change now has to carry the regenerated `docs/static/resources/openapi.json`. The delta is exactly the two grains this PR adds:
   
   ```diff
                  "PT30M",
   +              "PT0.5H",
                  "PT1H",
   ...
                  "P3M",
   +              "P0.25Y",
                  "P1Y",
   ```
   
   Nothing else in the spec moves, and the change is scoped to `ChartDataProphetOptionsSchema.time_grain`. `time_grain_sqla` still publishes the built-ins plus `TIME_GRAIN_ADDONS`, unchanged. The published enum is now key-for-key identical to `PROPHET_TIME_GRAIN_MAP`, in map order, which is the self-maintaining property the fix is aiming for: adding a grain to the map advertises it, with no second list to keep in sync.
   
   Verified locally: the 46 tests in `test_schemas.py` pass, and pre-commit is clean (ruff, ruff-format, pylint, mypy). I also sanity-checked that the guard actually holds by pointing the field back at `get_time_grain_choices()`, which fails
   `test_prophet_schema_advertises_only_resolvable_grains` and both new-grain cases, so a future revert to the shared helper won't pass silently.
   
   CI is green on the rebase, `check-openapi-spec-drift` included, so the committed spec is what the workflow itself regenerates on the pinned `apispec` version and not an artifact of my local environment.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [PR] fix(api): advertise only the time grains Prophet can resolve [superset]

Posted by "bito-code-review[bot] (via GitHub)" <gi...@apache.org>.
bito-code-review[bot] commented on PR #43710:
URL: https://github.com/apache/superset/pull/43710#issuecomment-5553837886

   AI Code Review is in progress (usually takes 3 to 15 minutes unless it's a very large PR).
   
   <details>
   <summary>
   Bito Usage Guide
   </summary>
   
   **Commands**
         
   Type the following command in the pull request comment and save the comment.
         
   - `/review` - Manually triggers an incremental AI Review.
   - `/review full` - Manually triggers a full AI Review.
   
   - `/pause` - Pauses automatic reviews on this pull request.
   - `/resume` - Resumes automatic reviews.
   - `/resolve` - Marks all Bito-posted review comments as resolved.
   - `/abort` - Cancels all in-progress reviews.
   
         
   Refer to the <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/available-commands" target="_blank" rel="noopener noreferrer">documentation</a> for additional commands.
         
   **Configuration**
   
   This repository uses `Superset` You can customize the agent settings <a href="https://alpha.bito.ai/home/ai-agents/code-review-agent" target="_blank" rel="noopener noreferrer">here</a> or contact your Bito workspace admin at evan@preset.io.
         
   **Documentation & Help**
   - <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/getting-started/install-run-using-bito-cloud/create-or-customize-an-agent-instance" target="_blank" rel="noopener noreferrer">Customize agent settings</a>
   - <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/implementing-custom-code-review-rules" target="_blank" rel="noopener noreferrer">Review rules</a>
   - <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent" target="_blank" rel="noopener noreferrer">General documentation</a>
   - <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/faqs" target="_blank" rel="noopener noreferrer">FAQ</a>
   
   </details>
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org