[Draft - DO NOT MERGE] validate bullets-fix sufficiency for LER ASCII-headers bug (#418)#79
Closed
saurabhrb wants to merge 6 commits into
Closed
[Draft - DO NOT MERGE] validate bullets-fix sufficiency for LER ASCII-headers bug (#418)#79saurabhrb wants to merge 6 commits into
saurabhrb wants to merge 6 commits into
Conversation
added 6 commits
June 1, 2026 22:38
…/query/solution; convert dv_data to new format Adds 3-4 tests per skill using the new generic deterministic-evaluator format introduced in LocalEvalRunner: each test file now enables CortexConfigurations:Common/DeterministicAssertionEvaluator with settings.supported_verbs=CONTAINS,NOT_CONTAINS,SKILL_LOADED alongside the correctness.prompty semantic judge. Ports the dev/evalsV0 baseline tests (connect_001, metadata_001, overview_001, query_001, solution_001) and adds 2-3 natural follow-up tests per skill covering env-file contract, no-hardcoded-secrets, schema create + lookup relationship, filtered/aggregate reads, and solution unpack/import/routing-trap. dv_data.biceval.json is updated in place to add the deterministic evaluator.
…t graded Per LER PR-393 author guidance: DeterministicAssertionEvaluator only grades verb-prefixed assertions (CONTAINS/NOT_CONTAINS/SKILL_LOADED), and correctness.prompty scores against expected_response without seeing individual assertions. Without LMChecklist, natural-language assertions (those without a verb prefix) are unscored. Adds LMChecklist (Common/SEVAL/LMChecklist.prompty) to all six test files using the exact name + passing_score=3 + priority=1 shape the LER author published. Loader registration is already proven against the new format in Dataverse-skills PR #71's draft validation runs (LocalEvalRunner builds 20289122 and 20290419).
…ionService for local-eval mode Bad-PR validation harness. Routes around the pre-existing LER->BICEP ASCII-headers bug by forcing local evaluation: LMChecklist.prompty grades each assertion (verb-prefixed and natural-language alike) via CAPI/AOAI locally. Drops the DeterministicAssertionEvaluator entry because in DisableEvaluationService mode it would fall through to a local file lookup and crash (same root issue LER PR #416 fixes for the service-enabled path). Harness PR is draft and closes unmerged; PR #70 (test files) and PR #416 (LER fixes) are untouched.
…iles for local-eval mode
…d + BICEP HTTP path enabled Empirical test for LER issue #418. Strips U+2022 bullets from pipeline name (matches PR #70 fix), restores DeterministicAssertionEvaluator entry in dv_data.biceval.json, and removes the DisableEvaluationService feature flag so the LER -> BICEP POST happens for real. If pipeline passes -> consumer-side bullets fix is sufficient and LER #418 becomes defense-in-depth. If pipeline fails with the same ASCII headers exception -> the non-ASCII byte is coming from a header other than the correlation ID and LER #418 must ship.
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.
[Draft - DO NOT MERGE] Validate bullets-fix is sufficient for LER ASCII-headers bug (#418)
Throwaway harness. Single purpose: answer "does the consumer-side bullets-fix on PR #70 alone resolve LER issue #418, or do we also need the LER-side header sanitization to ship?"
Setup
This branch combines everything needed to exercise the BICEP HTTP path end-to-end:
LocalEvalRunnerrefrefs/heads/users/sbadenkal/service-only-deterministic-assertion(PR #416 branch)DeterministicAssertionEvaluatoris on theServiceOnlyEvaluatorNamesallow-list. Without #416 the run dies at evaluator load before reaching the BICEP send.useBuildFromSourcetrue+sourceRepoPath: '$(Build.SourcesDirectory)/LocalEvalRunner'name:-(same as PR #70's fix)--feature DisableEvaluationServicePOST /offlineEvaluation/asyncactually happen.dv_data.biceval.jsonDeterministicAssertionEvaluatorentry restored (withsettings.supported_verbs)Expected outcomes (binary)
Request headers must contain only ASCII charactersexception → a non-ASCII byte is leaking from somewhere other thanrunCorrelationId(likely a default User-Agent, framework header, or something injected upstream). LER #418 must ship before Dataverse-skills can use the BICEP path.Either result is publishable evidence — I'll post it on PR #70's description and on issue #418 as a comment.
After validation
Branch and PR close unmerged;
mainof Dataverse-skills never sees these.azdochanges. PR #70 carries only the production-safe bullets-fix.