Repository navigation
Experiment: PR70 repair candidate with Sol and Luna - #887
Draft
Wenjie Fan (gggdttt) wants to merge 26 commits into
Draft
Wenjie Fan (gggdttt) wants to merge 26 commits into
Wenjie Fan (gggdttt) wants to merge 26 commits into
Conversation
Pin the latest BC-ALAgents and BCQuality main snapshot, update the installable Copilot CLI, add Gemini 3.7 Flash and Grok 4.6, and bump BC-Bench to 0.10.0. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 57308020-6803-4e62-b08e-57fa875bff89
Update the harness pin to the immutable BC-ALAgents main commit produced by microsoft/BC-ALAgents#60. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 57308020-6803-4e62-b08e-57fa875bff89
Limit the model refresh to Gemini 3.7 Flash and retain the existing provider set. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 57308020-6803-4e62-b08e-57fa875bff89
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 57308020-6803-4e62-b08e-57fa875bff89
Co-authored-by: Sun Haoran <haoransun@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 57308020-6803-4e62-b08e-57fa875bff89
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 57308020-6803-4e62-b08e-57fa875bff89
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
Preserve the pinned Copilot CLI, BC-ALAgents revision, serial scheduling, focused entries, concurrent repetitions, and observed incomplete usage telemetry. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
Pin the experimental workflow to the fail-closed BC-ALAgents engine so root-only and substituted-model runs cannot be mistaken for leaf-model evidence. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
Use the engine revision that rejects any model outside the configured root and leaf pair during leaf-model experiments. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
Retain the strict telemetry allowlist while removing the orchestration-changing prompt prohibition. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
Validate immutable engine and BCQuality revisions, exact model routing, scheduling, and complete process telemetry before accepting benchmark results. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
Pin only the review engine in BC-Bench and validate BCQuality as engine-produced provenance rather than a benchmark-controlled revision. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
Limit baseline workflow choices to OpenAI and Microsoft model families and use GPT-5.4 as the initial root default. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
Pass the known BC-ALAgents commit into the runner and remove the redundant checkout revision lookup. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
Start deterministic validation with GPT-5.6 Sol at the root and GPT-5.6 Luna for review leaves. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
Integrate the unmerged PR 881 adapter on current main, pin BC-ALAgents 1fcaa40fa0934c22887f1a89000f33728f831a8f and Copilot CLI 1.0.83, retain global concurrency, and preserve allowlisted run diagnostics. Keep current gold and semantic-first scoring unchanged. Unpublished experiment only. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Start a separate 0.14.0.dev2 epoch on the frozen prior experiment. Use unmerged BC-ALAgents PR70 head 560015977cbeb69a8aef85daaddf1fe91968600c without changing the dataset, scorer, routing, severity floors or strict complete-process acceptance gate. Preserve the previous failed pilot. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Use immutable BC-ALAgents 75d67cd7c18b9ad98a1c3cbf6d173e5bdba53b9c with unpublished identity 0.14.0.dev3. Preserve frozen dataset, scoring, routing, dual Medium floors and original strict acceptance checks. Prior experiment commits and evidence remain unchanged. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Freeze BC-ALAgents 7fad26b703f0450ed9f95a63205128c175001e7f and unpublished benchmark identity 0.14.0.dev4. Preserve all other inputs and prior evidence. This epoch authorizes only the original three smoke entries once, no full corpus or retries. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This branch has not been deployed
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.
Latest result: authorized API009 recovery completed; stopped
Recovery run 35736710876, attempt 1, completed successfully on 2026-09-22 13:55:16–14:34:06 UTC. It was a separately authorized, single-entry
workflow_dispatchforsynthetic__performance-009, not an Actions rerun orrerun-failed. The original setup-failed attempt and its evidence remain unchanged.Execution integrity passed: 17/17 processes, exact pins/CLI/models, complete usage, valid schemas/roles and acceptable actual leaf/root/recursive outcomes. The actual matrix contained only API009; 014, drilldown and the full corpus were not rerun.
f9cb9318e331bc2f77cc9779bf0f9cdbfe53e529/7fad26b703f0450ed9f95a63205128c175001e7fThe four generated findings concern a permission set, a temporary API/webhook, use of Name rather than SystemId as an API key, and another API's missing exposed SystemId field. They are counted against the frozen zero-gold fixture; this recovery does not adjudicate every unmatched finding as technically wrong or alter the gold. Its vacuous per-entry recall is not a recall-improvement claim.
The entry job 106776615506 ran 13:57:41–14:27:20 UTC. All three result/diagnostic/summary artifacts and the complete Actions log were preserved. Use
actions.redacted.logwith signed download URL query parameters removed. Evidence underpostmerge-7fad26b/recovery009-once/run-35736710876includesfinal-handoff.json,recovery-summary.json, andevidence-inventory.json.Only
entrieschanged from the original smoke inputs; source, version, engine/knowledge pins, CLI, models, severity, scorer and validator were unchanged. No new commit, push or code change was made for recovery. The user authorized exactly one additional generation after the original download failure. That authorization is now finished: no second recovery, other-entry retry or full run is scheduled. The external billing total is not claimed; judge cost is inapplicable because no judge ran.Original post-merge smoke: not all entries completed validly
Smoke 35707243840, attempt 1, ran 2026-09-22 08:53:06–09:10:49 UTC, with Actions conclusion failure. Exactly three jobs were dispatched; only two reached generation. Its original partition remains one complete accepted entry, one rejected partial report and one setup failure. Recovery above does not rewrite that original result or turn it into a successful three-entry round.
Shared post-merge identity
f9cb9318e331bc2f77cc9779bf0f9cdbfe53e529/0.14.0.dev47fad26b703f0450ed9f95a63205128c175001e7f, merged microsoft/BC-ALAgents#70 squash commit8ac053de3a6574129e280d99fa71a117362109ebb74967bc5b7a454eae19d6a1250199afd869f064, version1.6, Microsoft layer only1.0.83/gpt-5.6-sol/gpt-5.6-luna/gpt-5.3-codexOnly four pin/version lines changed from preceding Bench commit
ce21d50a. Dataset, scorer, runtime validator, workflow and other parameters were unchanged. CI 35706993532 passed, including actual mockbc-evalconsumption of0.14.0.dev4.performance-009performance-014All 34 started processes had exact identities/models/CLI, exit code 0 and complete usage. Their total includes the rejected partial entry. One normal judge invocation occurred; its cost and the total including it remain unknown. Engine wall times were 956.776 and 717.931 seconds for the two generated entries.
009: infrastructure failure before generation. Job 106679206054 failed during
Setup Python with UV/uv sync, downloadingrpds-py==0.28.0:Request failed after 3 retries in 12.8s,http2 error,stream error received: stream no longer needed. These were internal download retries, not evaluation reruns. The reviewer was skipped; absent manifest/score/cost fields remain null, not a clean negative or recall zero.014: content rejection produced partial coverage. Job 106679206041 completed all 17 processes with schema-valid reports. The style leaf claimed the filename was
Data Processor.Codeunit.aland should be renamed toDataProcessor.Codeunit.al, while its own location was alreadysrc/DataProcessor.Codeunit.al. Root marked that sub-result failed, with this exact reason:The merged engine propagated the declared partial outcome to the manifest; the unchanged Bench validator rejected it before scoring. This is not a recurrence of the old partial-report/completed-manifest discrepancy. Raw evidence retains
leaf-results/05-al-style-review/_review-report.json,bcquality/_review-report.json, and_run-manifest.json.Drilldown: valid execution, scored miss. Job 106679206046 passed all integrity gates. The generated comment concerned an
IsTemporaryguard beforeDeleteAll, not restoring Group Code identity across regenerated Entry Nos. The original judge's sole pair was explicitly false. This valid 0 TP / 1 FP / 1 FN observation was not retried to obtain a preferred score.All five actual artifacts and the whole Actions log remain under
postmerge-7fad26b/smoke-35707243840, withfinal-handoff.json,smoke-summary.json,evidence-inventory.jsonand sanitizedactions.redacted.log. The 009 diagnostics archive is empty; no result exists for its initial attempt. Summary/requeue skipped after failures. This original smoke had no conditional full authorization, and the later API009 recovery required separate explicit authorization.Previous full round: finished, baseline incomplete
Full run 35608133170, attempt 1, executed all 145 declared entries once on 2026-09-21 13:49:56–14:30:57 UTC (41m01s). Independent artifact audit accepted 126, rejected 19, with none missing. Actions also reported 126 successful / 19 failed jobs, but status alone was not the acceptance rule.
That round is closed with no retry or re-judging. It is not a complete 145-entry / 233-expected-finding baseline; full measured precision, recall and F1 remain null. Later smoke/recovery outputs are not mixed into it.
ce21d50a261e93205ab9d0860e339a3cb723ee76/0.14.0.dev3; engine75d67cd7c18b9ad98a1c3cbf6d173e5bdba53b9c, not later8ac053d/7fad26b.35bbe950213999b0cab01f8a7490425a1291d6bc; SHA-25643bcddc685e3f81cb655fc0efe33f7c47763fe64864ecf62ab69220a231e513c. All 23 Low expectations remain in the denominator.These metrics apply only to the accepted subset. Invalid executions were not scored as zero or counted as false negatives. Benchmark FP means unmatched against gold, not automatically technically incorrect.
Holding the 126 accepted outputs fixed, the 51 unscored expectations could add zero through 51 matches. The conditional mathematical recall bounds against 233 are 38.1974%–60.0858% (89–140 possible matches), not measured full recall or a confidence interval. Even crediting every unscored expectation does not make these frozen observations support 70–80%; this does not bound a fresh generation of every entry.
Style accounts for 46 of 93 scored misses. Drilldown matched in the third pilot but was missed in this fresh full round. Of 39 negatives, 4 were clean, 30 noisy and 5 unscored; the 34 accepted negatives produced 77 benchmark FPs. Of 23 Low expectations, 18 were scored (9 TP / 9 FN) and 5 unscored. Low gold may match higher-severity generated findings.
Full-round failures, cost and evidence
The 19 rejected entries comprise 12 root consumer/protocol partial outcomes, 5 leaf schema rejections followed by partial root, and 2 incomplete-usage failures. Partial runs were rejected by the unchanged validator. Usage failures were
synthetic__upgrade-clean-01andsynthetic__style-018, each stopping at the security leaf after two processes, before root. Exact reasons/job URLs are infailure-evidence.json; these observations do not prove PR70 caused the model's report defects.synthetic__security-015was retained after recovering six original explicit false judge verdicts fromevaluation.loglines 18–21, matching the normal pipeline's stdout fallback and original 0 TP / 3 FP / 2 FN. The same parser was replayed offline; no new model call or invented verdict was used.judge-stdout-evidence.jsonpreserves the source.2,435 review processes started. Known review subtotal: 13,497.489350 AI credits / 719,204,013 tokens. These are not complete billing totals: two failed leaves have incomplete usage and null credits, and their available tokens are partial observations. Judge-inclusive total remains unknown. Accepted entries averaged 708.28 engine seconds. The third pilot used 238.177663 review credits; that pilot-plus-full known subtotal was 13,735.667013, excluding other epochs and post-merge smoke/recovery.
All 290 artifacts and 145 entry logs were downloaded and hash-indexed. Whole Actions-log transport repeatedly failed with CANCEL/EOF; the incomplete archive is explicitly
run-logs.partial.zip. Summary/requeue skipped, with no normal workflow summary or external score publication. Evidence underpr70-75d67cd/full-35608133170includesfinal-handoff.json,full-report.json,full-summary.json,failure-evidence.json,evidence-inventory.json, and ledgers of 89 matched, 93 missed, 51 unscored expected findings and 305 benchmark FPs.Earlier pilot history
ce21d50adev3 /75d67cdbbd1cea9308268bb1d2a2f3e23304e2ba524633bdev2 /560015977cbeb69a8aef85daaddf1fe91968600c8297c38ef1e13968e58e1caeb0e644333b90c7c8dev1 /1fcaa40fa0934c22887f1a89000f33728f831a8fThird pilot ran 2026-09-21 13:30:00–13:48:04 UTC: 51 processes, 238.177663 review credits / 15,672,256 tokens, seven artifacts under
pr70-75d67cd/pilot-35606001580. Scores did not gate promotion; no output was reused in full.Second pilot ran 2026-09-21 09:23:34–09:38:17 UTC. Query leaf 14 in job 106280111347 returned not-applicable with empty
sub-resultsandskipped-sub-skills. The shared schema accepted them but the fixed DO contract prohibits them on leaves. Root returned partial while manifest said completed. Its raw 1 TP / 1 FP / 0 FN was not accepted. Credits/tokens by entry: 009 96.869397/5,365,148; 014 93.123002/5,008,258; drilldown 94.468265/5,195,990. Total 51 processes, 284.460664 credits / 15,569,396 tokens. Seven artifacts remain underpr70-5600159/pilot-35583013319, includingintegrity-stop-evidence.json; diagnostic artifact10631508227retains exact reports.First pilot ran 2026-09-21 08:18:49–08:33:17 UTC, without PR70. 014 job 106261947854 omitted required
suppressedat query leaf 14. Only 13 reports were accepted / 14 processes started there; AppSource, telemetry and root never started, and no final review, aggregate, score or judge exists for it. This was the sole schema error among 48 reports. Credits/tokens by entry: 009 88.483108/5,658,442; 014 observed process subtotal 26.171918/4,238,820; drilldown 67.465308/4,587,231. Total 182.120334 credits / 14,484,493 tokens. Six artifacts remain underpilot-35577242876. Judge-inclusive costs for these pilots are unknown.Shared boundaries
The integration uses frozen Bench main
9b1f68928a06be31806fde6f6452237a6b9480f5plus unmerged #881 at39264a3bd32257afa18c8908feffc6361577c429, without its repetition-ID bypass. Later main/dependency updates were not absorbed.Every nonempty dispatch
engine-shaequals its declared immutable pin. Existing summarizer mock gating disables Braintrust/Kusto storage and leaderboard updates only; generation and normal judges are real.repeat=1creates no ephemeral tag or automatic successor. No experiment-PR merge, score publication or release is part of this work.Diagnostics are allowlisted reports, metrics/manifests, task context, generated review, judge evidence and logger output, not environment dumps, credentials, home directories or whole workspaces. Raw OTel is not in the frozen upload allowlist and is not claimed retained when absent. Use sanitized logs when sharing evidence.
Historical configurations or 234-expected-finding corpora are not apples-to-apples controls. The 48.9% accepted-subset recall is not a full-corpus improvement claim. No epoch isolates an individual commit's causal effect, and a matched finding does not prove its proposed repair is correct. All protocols, raw evidence and results remain separated by run and epoch.