Skip to content

Commit 581cb90

Browse files
Merge pull request #214 from riscv/copilot/sub-pr-212-again
Enforce top-level additionalProperties: false in load_param_table_yaml()
2 parents 63796f1 + 8493f16 commit 581cb90

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

tools/create_param_appendix.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,14 @@ def load_param_table_yaml(pathname: str) -> List[Dict[str, Any]]:
122122
"""Load and validate parameter table layout YAML."""
123123
data = load_yaml_object(pathname, fatal)
124124

125+
allowed_top_level_keys = {"columns", "$schema"}
126+
unexpected_top_level_keys = sorted(set(data.keys()) - allowed_top_level_keys)
127+
if unexpected_top_level_keys:
128+
fatal(
129+
f"Unexpected top-level properties in {pathname}: "
130+
f"{', '.join(unexpected_top_level_keys)}"
131+
)
132+
125133
columns_obj = data.get("columns")
126134
if not isinstance(columns_obj, list) or not columns_obj:
127135
fatal(f"Expected non-empty columns array in {pathname}")

0 commit comments

Comments
 (0)