Bump spec conformance pin to v0.84.0#197
Merged
Merged
Conversation
Advance the spec submodule to v0.84.0 and defer every conformance fixture the jump pulls in for proposals not yet implemented (0062, 0077-0089), at both the parser and run layers, so the suite is green at the new baseline. Mechanical: no proposal implemented, no src behavior changed. - spec submodule + the three pin constants (pyproject, __init__, test_smoke) move 0.70.1 -> 0.84.0. - conformance.toml: spec_pin -> v0.84.0 + 14 not-yet proposal rows. - The deferral dicts in the parser-level harness and the four per-capability runners gain the new fixtures, each reason naming its proposal; AGENTS.md regenerated. - 008's detached fan-out-instance error-status case (proposal 0061, implemented) is deferred pending a harness-wiring fix tracked separately; the mechanism stays verified by the subgraph case.
There was a problem hiding this comment.
Pull request overview
Bumps the repository’s spec conformance baseline from openarmature-spec v0.70.1 to v0.84.0, updating all pin points and adjusting conformance harness deferrals so CI remains green while newly introduced (but not-yet-implemented) spec proposals are explicitly deferred.
Changes:
- Updated spec pin constants to 0.84.0 across runtime/version-sync checks and project configuration.
- Expanded conformance deferral/accounting lists to cover new fixtures introduced by proposals 0062 and 0077–0089 (not yet implemented in Python).
- Regenerated the packaged
src/openarmature/AGENTS.mdto reflect the new spec version and updated spec text excerpts.
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tests/test_smoke.py | Updates the asserted __spec_version__ and keeps pin-sync assertions aligned with the new spec version. |
| tests/conformance/test_retrieval_provider.py | Defers newly pinned retrieval-provider wire-mapping fixtures (0077–0079) that the current runner cannot exercise. |
| tests/conformance/test_prompt_management.py | Defers new prompt-management fixtures introduced by proposals 0080 and 0086. |
| tests/conformance/test_observability.py | Extends the deferred fixture accounting for newly pinned observability fixtures (0062, 0082–0084, 0087–0089) and adds a temporary per-case bypass in fixture 008. |
| tests/conformance/test_llm_provider.py | Defers new/extended llm-provider fixtures related to streaming (0062) and structured-output diagnostics extensions (0082). |
| tests/conformance/test_fixture_parsing.py | Adds parser-level deferrals for new directive/shape fixtures introduced by the v0.84.0 pin. |
| src/openarmature/AGENTS.md | Regenerated bundled agent guide to reference spec v0.84.0 and updated included spec excerpts/formatting. |
| src/openarmature/init.py | Bumps __spec_version__ to 0.84.0. |
| pyproject.toml | Bumps [tool.openarmature].spec_version to 0.84.0. |
| conformance.toml | Updates [manifest].spec_pin to v0.84.0 and adds not-yet proposal entries for 0062 and 0077–0089. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Per a PR #197 review: _run_fixture_008_case silently skipped the detached fan-out-instance error-status case via a bare return, so the run reported it as passing without exercising it. Proposal 0061 is implemented, so this was a harness-wiring gap, not a not-yet deferral. Set expect_raise for the case and assert ERROR status + the exception event + the error category on both the parent fan-out node span and the raising instance's detached invocation span, mirroring the detached-subgraph error-status case. The case passes.
From a PR #197 review: several deferral reasons and conformance.toml statuses overstated non-implementation for partially-shipped work. - conformance.toml: 0081 not-yet -> textual-only (the <any-string> non-empty matcher is enforced by the adapter; precedent 0055/0071); 0085 not-yet -> partial (the save-side enclosing_fan_out_lineage keying shipped in #194; only the resume consume-side is unshipped), and drop the false "fixture 076 defers with it" claim (076 is number-gated, not deferred); drop the stale "a new case on 008" from the 0084 comment (that case is 0061's and is now wired). - Reword the 132 / 023-027 / 119 / 022-023 deferral reasons to state what actually ships (the 0084 lineage keying, the 0059 embed wire, 0075 callable branches, the structured_output_invalid base mapping) versus what is genuinely deferred. - Extract _assert_detached_raise_both_spans from the two near-identical 008 raise-case blocks, and add the parent openarmature.invocation ERROR assertion the fixtures' span_trees expect.
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.
Summary
Moves the conformance baseline to spec v0.84.0 ahead of the v0.16.0
retrieval / observability work. Purely mechanical: advance the spec
submodule, bump the pin constants, and defer every fixture the jump
pulls in for the not-yet-implemented proposals (0062, 0077-0089). No
proposal is implemented and no
src/behavior changes.Changes
pyproject.toml,src/openarmature/__init__.py,tests/test_smoke.py) move 0.70.1 to0.84.0.
conformance.toml:spec_pinto v0.84.0 + 14not-yetproposal rows.(
test_fixture_parsing.py) and the four per-capability runners, eachreason naming the proposal it belongs to; the fixtures un-defer in
their proposals' impl PRs.
src/openarmature/AGENTS.mdregenerated.Tests
pytest tests/conformance tests/test_smoke.py: 726 passed, 412 skipped.pytest: 1508 passed, 0 failed.Follow-ups (before v0.16.0 ships)
(proposal 0061, implemented; harness-wiring only).
0084/0085 lineage fields (currently pass on core execution, tolerant
on the additive lineage assertions) once those proposals are
implemented.