Emit human-readable domain label on review findings#54
Draft
JesperSchulz wants to merge 1 commit into
Draft
Conversation
Add an optional findings[].domain field to the DO review output contract so each finding carries its own human-readable review-domain display label. Leaf review skills set it on every finding they emit; the al-code-review super-skill copies it verbatim during rollup and sets it to "Agent" for its own cross-cutting agent findings. This decouples consumers from BCQuality's domain taxonomy: they render finding.domain verbatim instead of maintaining a sub-skill-id -> label map. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.
What & why
Today a review finding does not carry its own review-domain label. Consumers (notably the BCApps PR-review orchestrator) hardcode a map from sub-skill id → human display label, which has to be edited every time BCQuality adds a domain. This couples consumers to BCQuality's internal taxonomy.
This change makes the producer emit the label:
findings[].domainto the DO review output contract (skills/do.md): a short, human-readable display label for the review domain that produced the finding.domainon every finding it emits, to the fixed label for that skill.al-code-reviewsuper-skill copies each sub-skill finding'sdomainverbatim during rollup (right where it already setsfrom-sub-skill), and setsdomain: "Agent"for the cross-cutting agent findings it emits itself.finding.domainas-is.Label list
Two judgment calls for reviewers
domainis a human display label (e.g.Security), not a stable kebab id (e.g.security). This keeps consumers zero-transform but means the producer owns wording. This can be revisited (e.g. emit both a stable id and a label) if a stable machine key is wanted.Accessibilityto preserve the consumer's current rendered output. Also revisitable.Backward compatibility
The field is additive and optional:
domainare unaffected.finding.domainwhen present and otherwise falls back to its legacy sub-skill-id → label map, so nothing breaks until the BCApps BCQuality pin is bumped to include this commit.domainremain contract-valid.Scope
Only
skills/do.mdand the 12 files undermicrosoft/skills/review/are touched. No knowledge articles changed. Docs/contract only — no AL/build tooling involved.Fixes: AB#640493