-
Notifications
You must be signed in to change notification settings - Fork 12
Add RFC for component metadata. #30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…eeting. - clarify how Signature subclasses can have multiple annotations. - add a naming policy for annotations. - rename lib.annotation to lib.meta. - remove mention that ComponentMetadata inherits from Annotation. - expand drawbacks and rationale sections. - move support for clock and reset signals to a later RFC.
Modified as a follow-up to the 2023-11-20 Amaranth meeting. |
…eeting. - clarify how Signature subclasses can have multiple annotations. - add a naming policy for annotations. - rename lib.annotation to lib.meta. - remove mention that ComponentMetadata inherits from Annotation. - expand drawbacks and rationale sections. - move support for clock and reset signals to a later RFC.
844c121
to
20f369c
Compare
…eeting. - clarify how Signature subclasses can have multiple annotations. - add a naming policy for annotations. - rename lib.annotation to lib.meta. - remove mention that ComponentMetadata inherits from Annotation. - expand drawbacks and rationale sections. - move support for clock and reset signals to a later RFC.
20f369c
to
0ac0260
Compare
I propose changing:
to:
|
I propose changing:
to: To ensure this, schema URLs must have the following structure: For these reasons:
|
* Remove restriction to second-level domains to allow providers such as Github Pages. * Move the schema version at the end of its URL, as project versions may not necessarily be synchronized within an organization. * Add a .json suffix to schema URLs, to help servers report the correct MIME type.
Updated with @whitequark's proposed changes for URLs. |
The start date is the date of the merge. |
We have discussed this RFC on the 2023-11-27 weekly meeting. We did not reach unanimous consensus as two reviewees (galibert and Chips4Makers) abstained, without objecting to merging. This isn't a situation we had before so for now the RFC is not actually merged while we figure out what to do next. On the text of the RFC: @whitequark commented that reset values must be strings to avoid exhausting numeric precision in JSON parsers. @zyp commented that it is unclear why reset values should be represented in two's complement, and that they could be just as well represented in signed decimal, which could be easier to parse. |
Would it make sense to enforce package names in schema URLs? The format could become: I think this would give better names to files served at those URLs (e.g. "component.json" instead of "4.0.json"). |
How would you determine the package name? |
The validator would assume that the string between "/schema/" and the next "/" is the package name. I don't think we need to check that it is actually one, though. |
Would the package name for something in |
It would be |
Sounds reasonable to me. |
In previous IRC discussion I abstained when voting on this RFC. Had today a quick chat with @whitequark on this. |
I also had a couple of questions regarding the schema-urls and asked them on IRC today. in @whitequark's words:
|
…eeting. - clarify how Signature subclasses can have multiple annotations. - add a naming policy for annotations. - rename lib.annotation to lib.meta. - remove mention that ComponentMetadata inherits from Annotation. - expand drawbacks and rationale sections. - move support for clock and reset signals to a later RFC.
* Remove restriction to second-level domains to allow providers such as Github Pages. * Move the schema version at the end of its URL, as project versions may not necessarily be synchronized within an organization. * Add a .json suffix to schema URLs, to help servers report the correct MIME type.
d1bd056
to
44d8603
Compare
Updated to add:
|
This RFC was discussed during the 2024-01-15 meeting: (@wanda-phi) The constraint for (@whitequark) Annotation names should be removed in favor of just using
(@whitequark) Annotations can originate from mutable objects (such as a SoC memory map) which would be attached to interfaces rather than signatures, which are immutable. To collect annotations from a |
…e objects. In some cases such as SoC memory maps, the contents of an annotation originates from mutable objects, which cannot be attached to a signature.
Updated to address these issues. |
Done. |
Thanks! |
Rendered