Repository navigation
Require regenerating docs/ir/attributes.rst with its script, bring it up to date, and test it - #1587
Merged
Merged
Conversation
bo3z
approved these changes
Oct 19, 2026
bo3z
left a comment
Contributor
There was a problem hiding this comment.
LGTM but I'll let others review as well before merging
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.
Description
docs/ir/attributes.rstis generated bydocs/attr_doc_gen.py, but nothing told contributors to run thescript. The file is out of date on
mainand is sometimes edited by hand.CONTRIBUTING.md: a new item in the pull request list. If you add layers or backends, or change layerattributes or their descriptions, regenerate the file with the script and commit the result. Do not edit it
by hand. The items of that list are now numbered 1 to 6 in the source instead of all
1..AGENTS.md,.agents/contributing-changes.md,.agents/optimizer-passes.md: a short pointer to that item,so the rule is stated in one place only.
docs/ir/attributes.rst: regenerated with the script, in its own commit. This adds VitisUnified to the"Available in" lists, removes the recurrent and Bidirectional reuse factor settings that Fix recurrent layers on Vivado and Vitis, and add SimpleRNN #1577 removed from
the Vivado, Vitis and related backends, and updates the description of
staticchanged in Fix recurrent layers on Vivado and Vitis, and add SimpleRNN #1577.test/pytest/test_attribute_docs.py: regenerates the file into a temporary directory and fails if itdiffers from the committed one. It is skipped when backend plugins are installed, because they would appear
in the output, and when
docs/is absent, because the source distribution includestest/but notdocs/.The open pull requests #1537, #1545 and #1581 also change
docs/ir/attributes.rst. After this one is merged,they should regenerate the file instead of merging it by hand; the new test fails until they do.
Type of change
io_type, Strategy, or config attributeAffected areas
Backends: none (documentation and a test only)
Frontends:
Components:
hls4ml/templates/Configurations affected and exercised
io_typeTests
test/pytest/test_attribute_docs.py(new) passes on this branch and fails with the version ofdocs/ir/attributes.rstonmain(checked by putting that version back for one run).HLS4ML_BACKEND_PLUGINSis set.test/pytest/test_agent_docs.pypasses with the edited agent documents.pre-commit run --fileson all edited files is clean.Test configuration: Linux (EL9); Python 3.11 with Keras 3 (TensorFlow backend), and Python 3.10 with
TensorFlow 2.14 (Keras 2). Both environments generate an identical file. No HLS tools are needed.
AI assistance disclosure
Tool(s) and model(s): Claude Code (Claude Opus 5.5)
Where it was used: the documentation text, the new test, and running the script to regenerate
docs/ir/attributes.rst.If anything other than None is ticked, confirm all of the following:
it. I have read and understood every line and can explain and defend it
in review.
no invented APIs, config keys, pragmas or citations.
actually performed, not from agent output.
my knowledge it does not reproduce third-party code that would conflict
with it.
Checklist
Required:
pre-commiton the files I edited.test/pytestcovering this change (a bug fix shouldadd a test that fails on
mainand passes here).commented-out blocks or unrelated changes.
If applicable:
docs/updated.Release note