[quality]¶
Quality-analysis configuration: AI scoring of needs against criteria
(the [quality] table in ubproject.toml).
Guide: Quality Analysis.
- quality.criteria_file¶
- Type:
- string
Path to the criteria file (relative to the
ubproject.toml, or absolute). When unset, the built-in default criteria are used.
- quality.enabled¶
- Type:
- boolean
- Default:
false
Whether quality analysis is enabled for this project.
- quality.llm¶
- Type:
- table
LLM-run hints for the two-phase editor bridge (
agent.qa.brief/agent.qa.submitRaw).ubcodenever talks to an LLM provider itself for this bridge: the engine builds one prompt per batch of criteria (batch_size; unset means every axis in one prompt) and judges the replies, but the CLIENT (e.g. the VS Code extension, viavscode.lm) runs the actual generation.modelis an advisory hintagent.qa.briefsurfaces verbatim for the client to match against its own transport — which may ignore it.
- quality.llm.batch_size¶
- Type:
- integer
How many scoring criteria to evaluate per language-model request.
When unset, every criterion for a need is scored in a single request. A larger batch sends the need’s content and context once instead of once per request, so it uses far fewer input tokens and fewer requests. A smaller batch produces shorter responses that are less likely to be cut off, and confines a failed response to that batch’s criteria instead of the whole need. Set it to
1to score every criterion in its own request.
- quality.llm.model¶
- Type:
- string
A preferred model NAME hint (e.g.
"gpt-4o"), matched by the client against its own available models.Noneleaves the choice to the client’s own default.
- quality.prompt_template_file¶
- Type:
- string
Path to the prompt-template file (relative to the
ubproject.toml, or absolute). When unset, the built-in default prompt template is used.
- quality.required¶
- Type:
- table of integers
- Default:
{}
Per-axis minimum score floor (“gate policy”): an axis key (a criterion
id, e.g."K1") mapped to the minimum score a need must reach on that axis to pass.Pass/fail is computed at READ time from this floor against a stored verdict’s score, so tuning a floor never invalidates an already-scored verdict. Unset (the default) applies no floor to any axis.
- quality.type_configs¶
- Type:
- table of tables
- Default:
{}
Per-need-type overrides of the criteria / prompt files, keyed by need type.
Each entry: Per-need-type override of the quality-analysis criteria / prompt files.
When a need’s type has an entry in
[quality.type_configs], the paths here take precedence over the generalcriteria_file/prompt_template_file.
- quality.type_configs.<name>.criteria_file¶
- Type:
- string
Path to a criteria file for needs of this type (relative to the
ubproject.toml, or absolute), overriding the generalcriteria_file.
- quality.type_configs.<name>.prompt_template_file¶
- Type:
- string
Path to a prompt-template file for needs of this type, overriding the general
prompt_template_file.
- quality.type_configs.<name>.required¶
- Type:
- table of integers
- Default:
{}
Per-axis minimum score floor (“gate policy”) for needs of this type, keyed by axis id (a criterion
id, e.g."K1").Overrides the general
[quality.required]floor for the SAME axis key; an axis key not present here still falls back to the general floor.