fusion_author_report
Convert a SQL query into a persistent BI Publisher report registered for future runs, eliminating repeated catalog round trips. Verify binds before registration to reject broken reports.
Instructions
Mint a PERSISTENT report from SQL and register it for future runs.
Use this when a question will be asked again: an ad-hoc query costs catalog round trips every time, a registered report only once. The SQL becomes a BI Publisher data model + report under /Custom/MCP/, and the entry lands in the dynamic registry file (not config.yaml), immediately runnable via fusion_run_report / fusion_validate_report.
Same statement rules as fusion_adhoc_query: single guarded SELECT, every
projection aliased, parameters as :bind names (discovered from the SQL
automatically). Write description for the NEXT agent: say what the
report returns and what each parameter means -- it is read through
fusion_list_reports.
Strongly recommended: pass verify_binds with values that should return
rows. The report is then run once through the normal pipeline (echo check
included) before being registered, so a broken report is refused instead
of registered.
Gated behind fusion.allow_report_authoring in config.yaml. A name that
exists in config.yaml is never touched; force=True only overwrites
reports this tool itself created.
Args:
name: Registry key, lower_snake_case, e.g. open_pos_by_bu.
sql: The SELECT with :bind parameters, every projection aliased.
description: For the next agent -- returns what, parameters mean what.
defaults: Values used for binds a caller omits, e.g. {"p_type": "%"}.
verify_binds: Bind values for a one-off verification run after upload.
force: Overwrite this tool's own earlier report of the same name.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sql | Yes | ||
| name | Yes | ||
| force | No | ||
| defaults | No | ||
| description | Yes | ||
| verify_binds | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||