Skip to content

Retire the expected failure on the C++ macro-expanded call - #166

Closed
DavidBakerEffendi wants to merge 1 commit into
mainfrom
dave/164-retire-cpp-macro-xfail
Closed

Retire the expected failure on the C++ macro-expanded call#166
DavidBakerEffendi wants to merge 1 commit into
mainfrom
dave/164-retire-cpp-macro-xfail

Conversation

@DavidBakerEffendi

Copy link
Copy Markdown
Collaborator

Closes #164.

Bifrost v0.10.5 navigates cpp-parity-function-like-macro-expanded-call
correctly, so the annotation asserting it cannot is stale.

v0.10.1 v0.10.5
status expected_failure improved
usage→declaration no_definition, no target okinclude/parity.h:45:20

45:20 is exactly the expectedDeclaration the case authors. improved is
the runner's signal for a case that passes while annotated as an expected
failure — the corpus was already flagging this rather than hiding it.

What changes

Only the expectedFailure block. The declaration, expected usage, and lookup
are untouched — the authored contract is unchanged, and what goes away is the
claim about what Bifrost cannot do.

The retired reason and the evidence for retiring it are recorded in the case's
verification.notes, so the history survives in the corpus rather than being
deleted with the annotation. This is reviewed ground truth; it should say why
it moved.

Testing

validate passes 61 case files. cpp-lsp-parity.yaml against v0.10.5
(d775e3b4) now reports 6 passed, 0 improved, 0 expected failures, with
the pre-existing cpp-parity-using-alias-constructor gap unchanged.

Measurement context in #160. Note that was a native host run — reports
self-label host_specific — so the reference-container run in the freeze is
the authority.

🤖 Generated with Claude Code

The annotation recorded that reverse navigation from the PARITY_CALL macro
argument did not resolve to the expanded_label definition. Bifrost v0.10.5
resolves it to the authored include/parity.h:45:20, so the claim is stale and
the case is now an ordinary pass.

Measured over the 110-case balanced core: under v0.10.1 the usage-to-
declaration lookup returned no_definition and the case reported
expected_failure; under v0.10.5 it returns ok at the expected target and the
runner reports improved, which is exactly the signal that an expectation has
outlived the defect it described.

The authored contract does not change. The declaration, expected usage, and
lookup are untouched -- only the assertion about what Bifrost cannot do goes
away. The review notes keep the retired reason and the evidence for retiring
it, so the record survives rather than the annotation being deleted silently.

Verified: validate passes 61 case files, and cpp-lsp-parity now runs 6 passed,
0 improved, 0 expected failures, with the pre-existing
cpp-parity-using-alias-constructor gap unchanged.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@DavidBakerEffendi

Copy link
Copy Markdown
Collaborator Author

Closing — this approach is forbidden by the promotion tier, and CI was right to
reject it.

Error: historical source document hash changed: benchmarks/cases/cpp-lsp-parity.yaml

benchmarks/promotion/legacy-v1/manifest.json binds that file at
53719e5f6d247915 and lists cpp-parity-function-like-macro-expanded-call
among its promoted cases. Editing the YAML changes it to 9d5a065e1167b8a9
and breaks the binding.

That is not an inconvenience to work around. From
docs/legacy-promotion-manifest.md:

Corrections are append-only: publish a new promotion ID with a
content-addressed supersedes link. Do not overwrite raw review evidence,
adjudication, the historical YAML, or previously generated result pages. A
replacement is a new reviewed entry in a later manifest and cannot change an
already frozen N.

The cohort was frozen in #124. The selection being unpublished does not make it
unfrozen.

I proposed this in #164 without checking whether the case file was hash-bound,
and it is. Reasoning moved to #164; nothing here should be merged.

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.

Retire the expected failure on cpp-parity-function-like-macro-expanded-call

1 participant