Skip to content

updated docs for showing runtime compatibility#2391

Open
rafel-roboflow wants to merge 1 commit into
mainfrom
fix-docs-showing-runtime-compatibility
Open

updated docs for showing runtime compatibility#2391
rafel-roboflow wants to merge 1 commit into
mainfrom
fix-docs-showing-runtime-compatibility

Conversation

@rafel-roboflow
Copy link
Copy Markdown
Contributor

@rafel-roboflow rafel-roboflow commented Jun 1, 2026

What does this PR do?

Adds documentation for the runtime compatibility mechanism that already lives in the workflow-block API (get_restrictions() / get_air_gapped_availability()), so block users can see — and block authors can understand — where each block degrades or fails outright.

grafik

Concretely, three things land together:

  1. Hand-written prose section in docs/workflows/create_workflow_block.md (### Runtime restrictions) explaining Severity.SOFT / Severity.HARD, the three scoping axes (Runtime, StepExecutionMode, RuntimeInputMode), the shared presets (STATEFUL_VIDEO_HTTP_SOFT_RESTRICTION, COOLDOWN_HTTP_SOFT_RESTRICTION, STILL_IMAGE_INPUT_SOFT_RESTRICTION), and two concrete examples (preset reuse + a custom Severity.HARD restriction).
  2. Auto-generated per-block "Runtime compatibility" section in the block gallery. The generator (development/docs/build_block_docs.py) now reads get_restrictions() and get_air_gapped_availability() off each manifest and renders them as a ### Runtime compatibility heading + ??? tip "Restrictions" admonition (matching the existing "Compatible Blocks" pattern), with a definition list inside that uses severity-colored Material icons (red shield for hard, amber alert-circle for soft, blue-grey cloud-off for requires_internet). Pages without caveats render no section at all, so existing blocks gain no boilerplate. Enabled the def_list markdown extension in mkdocs.yml to support the new layout.

And yet found another bug:
qwen3_5vl/v2.py was missing the get_restrictions() override that v1 already declared. v2's manifest extends WorkflowBlockManifest directly (not v1's BlockManifest), so nothing was inherited.

I also audited the rest of blocks trying to find other ones missing.

Related Issue(s): /resolve DG-521

Type of Change

  • Documentation update
  • Bug fix (non-breaking change that fixes an issue) — qwen3_5vl/v2.py missing get_restrictions() override

Testing

  • I have tested this change locally
  • I have added/updated tests for this change

Test details:
Tested and checked locally

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code where necessary, particularly in hard-to-understand areas
  • My changes generate no new warnings or errors
  • I have updated the documentation accordingly (if applicable)

Additional Context

N/A


Note

Low Risk
Mostly documentation and doc generation; the only runtime code change is declarative restrictions on Qwen3.5-VL v2 for schema/gallery surfacing, not execution behavior changes in this PR.

Overview
Documents and surfaces runtime compatibility for workflow blocks: when they fail or degrade by runtime, execution mode, or input mode, and when they are unavailable offline.

Author docs: create_workflow_block.md adds a Runtime restrictions section covering get_restrictions(), Severity.SOFT/HARD, scoping axes, shared presets, and examples—aligned with describe_interface and the execution engine.

Generated gallery: build_block_docs.py injects an optional Runtime compatibility section after Properties by calling get_air_gapped_availability() and get_restrictions() on each manifest (severity icons, scoped notes; omitted when empty). mkdocs.yml enables def_list for that layout.

Bug fix: qwen3_5vl/v2.py now declares get_restrictions() (GPU required for local CPU; hosted remote 404 when QWEN_3_5_ENABLED is false)—matching v1 behavior that v2 did not inherit.

Reviewed by Cursor Bugbot for commit 566a0fa. Bugbot is set up for automated code reviews on this repo. Configure here.

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.

1 participant