Skip to content

MAINT Decompose scorer execution policy and result finalization - #2470

Closed
Haseeb Nazir (iamhaseebn) wants to merge 2 commits into
microsoft:mainfrom
iamhaseebn:fix/decompose-scorer-execution-policy
Closed

MAINT Decompose scorer execution policy and result finalization#2470
Haseeb Nazir (iamhaseebn) wants to merge 2 commits into
microsoft:mainfrom
iamhaseebn:fix/decompose-scorer-execution-policy

Conversation

@iamhaseebn

@iamhaseebn Haseeb Nazir (iamhaseebn) commented Aug 23, 2026

Copy link
Copy Markdown

Description

MessageScorer currently handles message substitution, skipping, objective inference, execution errors, fallbacks, and evidence anchoring in one flow. This separates that work into preparation, execution, and finalization steps while keeping the policy in the scorer layer.

The branch has also been brought onto current main. The conflict resolution preserves the newer scorer architecture: capability-based role handling and undetermined results remain in MessageScorer, while shared score validation and persistence remain in Scorer and occur exactly once.

The refactor preserves behavior for structured refusals, blocked partial content, role and error filtering, explicit and inferred objectives, scorer-owned blocked responses, exception propagation, fallback scores, ephemeral links, persisted evidence, and downstream callers.

Closes #2413.

Tests and Documentation

  • Message scorer tests: 67 passed
  • Scorer and downstream caller coverage: 339 passed
  • Complete scorer suite: 1,760 passed
  • Complete unit suite: 17,176 passed, 10 skipped
  • Feature diff coverage: 100%
  • All-files pre-commit checks passed

No documentation changes are needed because this is an internal refactor with no public API or intended behavior changes.

Signed-off-by: Haseeb Nazir <36381672+iamhaseebn@users.noreply.github.com>
@iamhaseebn

Copy link
Copy Markdown
Author

@microsoft-github-policy-service agree

Preserve the message scorer preparation, execution, and finalization split across the current scorer model and capability architecture.

Signed-off-by: Haseeb Nazir <36381672+iamhaseebn@users.noreply.github.com>
@richlundeen

Copy link
Copy Markdown
Contributor

Haseeb Nazir (@iamhaseebn) this is a good change, but I have a similarly stacked PR to progress with this. They do similar things and right now the conflicts aren't worth it. I'd wait at least a month before looking into non-bug scoring refactor changes.

Thanks for taking a look!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

MAINT Decompose scorer execution policy and result finalization

2 participants