Skip to content

Revert "feat(sbd-v6): declare the axis a session graded on, and grade the conc sweep on it too" - #1523

Merged
xiaofei-zheng merged 1 commit into
mainfrom
revert-1520-feat/sbd-v6-agentx-grading-axis
Sep 16, 2026
Merged

xiaofei-zheng merged 1 commit into
mainfrom
revert-1520-feat/sbd-v6-agentx-grading-axis

Conversation

@haishuok0525

Copy link
Copy Markdown
Collaborator

Reverts #1520

@haishuok0525
haishuok0525 requested a review from a team as a code owner September 16, 2026 08:17
@xiaofei-zheng
xiaofei-zheng merged commit a956a9f into main Sep 16, 2026
28 checks passed
@xiaofei-zheng
xiaofei-zheng deleted the revert-1520-feat/sbd-v6-agentx-grading-axis branch September 16, 2026 08:21
lishuoshuo-amd added a commit that referenced this pull request Sep 16, 2026
Picks up the three reverts (#1523, #1524, #1525), which drop #1520, #1511 and
#1495 out of the release.

#1525 is the one that changes this branch. #1495 both re-keyed the Recipe KB on
compute-partition shape and removed --recipe-kb-strict-fingerprint, so reverting
it restores the option: the parser carries it again, and the CLI delta against
v1.1.0 is now one removal (--breakdown-include-transcripts) and one addition
(--extend-hours). Its two changelog entries, which main deleted from
[Unreleased], are dropped from the v1.1.1 section here -- the conflict was the
whole section against an emptied [Unreleased], resolved by keeping the section
and deleting those two. The --breakdown-include-transcripts entry loses the
comparison it drew against the option that is now back.

The release notes lose the same two claims: the partition-key highlight, the
warm-start clause in the opening paragraph, and the upgrade-table row, leaving
one removed option rather than two. #1520 and #1511 needed no entries because
neither ships.

The environment contract is untouched by the reverts: the seven variables are
still absent from .env.template, and the five collective ones still have no read
site.
@lishuoshuo-amd lishuoshuo-amd mentioned this pull request Sep 16, 2026
8 tasks
xiaofei-zheng pushed a commit that referenced this pull request Sep 17, 2026
…c sweep on it too (#1527)

* feat(sbd-v6): declare the axis a session graded on

Reapply the changes from #1520 after the temporary revert in #1523.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(sbd-v6): address review feedback on grading axis wiring

Allow degraded output-axis lifts to promote and record degrade_reason,
read grading from resolved_grading instead of the environment in explore
and report paths, thread session grading into GEAK axis selection, and
sync docs/docstrings with the V6 outcome wire shape.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(sbd-v6): fail closed when AgentX grading cannot apply

AgentX sessions no longer KEEP on the diagnostic output figure when the
interactivity axis pair is missing. Explore and _lift_to_current_best
refuse the promotion instead of degrading to throughput grading.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(sbd-v6): remove remaining AgentX throughput fallback paths

Drop ANCHOR_DEGRADED, force REVERT at the grading resolver when degraded,
check comparability before stack validation verdicts, and align explore tests
with fail-closed AgentX grading.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(sbd-v6): thread the seeded grading into the AgentX workload spec

``build_agentx_workload_spec`` grew a ``grading`` parameter so the spec it
publishes to GEAK would name the axis and band the session was seeded with,
but nothing passed it: the sole call site is inside ``apply_agentx_switch``,
which had no way to reach the live state. ``metric_basis`` and
``intvty_p90_veto_pct`` therefore still came from whichever process happened
to render the recipe, which is the defect the seeded block exists to fix -- a
resume or a re-baseline subprocess can have lost HYPERLOOM_PERF_METRIC, or
hold a different one.

``grading`` now rides the config-materialization chain the way ``agentx_mode``
already does, and the three callers that hold the live state pass it: the
baseline executor, explore, and the conc sweep. A caller that cannot reach the
state passes nothing and keeps the environment-derived fallback byte for byte,
so no existing recipe moves.

Also drops the ``framework_is_scriptable`` import explore no longer uses after
the switch to ``resolved_grading``; it was failing ruff's F401.

Co-authored-by: Cursor <cursoragent@cursor.com>

* test(sbd-v6): a degraded pair asserts REVERT, not a throughput KEEP

These two suites still encoded the fallback the previous commits removed:
``test_report_performance_comparison_snapshots_effective_axes`` expected KEEP
on every missing-axis case, and the stack-validation matrix expected KEEP
whenever the output figure happened to move up. ``resolve_graded_comparison``
now returns REVERT on a degraded pair whichever way output moved, so both
assertions were pinning the old rule and failing CI.

The output figures are still recorded beside the refusal, which is what these
cases check -- they are a diagnostic, not a verdict that could promote.

Co-authored-by: Cursor <cursoragent@cursor.com>

* docs(sbd-v6): state the fail-closed rule where the degrade narrative was

The code has been fail-closed since the two previous commits, but the wire
contract still described degradation as a working path: the ``V6Grading`` and
``_grading`` docstrings and two sections of the breakdown reference all said a
session configured for interactivity "still grades an individual comparison on
output whenever either side cannot supply the axis pair". That is no longer
true at any layer -- such a comparison returns REVERT at the resolver.

``_degraded_adoptions`` and the ``validation.notes`` finding it fed go with
them. The note counted adoptions carrying a ``degrade_reason``, and no
adoption can carry one now: a REVERT never reaches the adoption writeback, so
the finding could not fire. ``test_a_degraded_agentx_lift_is_refused`` already
pins that invariant on the refusal itself, which is where it belongs, so the
note's own test is dropped rather than rewritten against a condition the
orchestrator cannot produce.

CHANGELOG gains the entries this PR's own wire-shape changes were missing: the
``conc_sweep`` pair-column rename, flagged breaking because no alias is kept
and the old names read a latency percentile as a throughput, plus
``metadata.grading``, the ``perf`` axis blocks and the ``graded_on`` fields.

Co-authored-by: Cursor <cursoragent@cursor.com>

* style(sbd-v6): ruff format the degraded-lift assertion

``ruff format --check`` is a separate CI step from ``ruff check``, and the
assertion added with the fail-closed commit was never run through it.
Formatting only.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: kong.haishuo <Kong.Haishuo@amd.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
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.

2 participants