docs(typed-policies): a store read failure is 503 storage_unavailable - #266
Merged
Merged
Conversation
A v11.0.0 platform answers a document store it cannot read with 503 storage_unavailable, not nothing_active (getaxonflow/axonflow-enterprise#4255, closed by getaxonflow/axonflow-enterprise#4266). The active() docstring, the README and the CHANGELOG say so, and the refusal table gains the row that a 503 storage_unavailable from active() is a TypedPolicyRefusal carrying that status and reason. The v11_examples README keeps the line for a stack built before the change. Closes #265 Signed-off-by: Saurabh Jain <saurabh.jain@getaxonflow.com>
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
A v11.0.0 platform answers a document store it cannot read with 503
storage_unavailable, notnothing_active(getaxonflow/axonflow-enterprise#4255, closed by getaxonflow/axonflow-enterprise#4266;platform/orchestrator/typed_authoring_route.go:979at axonflow-enterprise main8a1e2d312). This SDK's docs still said the platform answersnothing_activefor a store read failure. This change says what a v11.0.0 platform does, in the places #265 lists, pins it with a unit test, and keeps one accurate line for a stack built before the change:active()'s docstring (axonflow/typed_policies.py, the same three lines, so the line-keyed falsey-clobber baseline does not move), the README'sactive()bullet and the CHANGELOG entry (in[Unreleased]): a 503storage_unavailablefromactive()raisesTypedPolicyRefusal, citing getaxonflow/axonflow-enterprise#4255.TestTheRefusals::test_every_documented_refusal_is_typedgainsactive-503-storage-unavailable:active()'s 503storage_unavailableis aTypedPolicyRefusalcarrying that status and reason.runtime-e2e/v11_examples/README.md: "And on a stack built before getaxonflow/axonflow-enterprise#4255, an unreadable document store also answersnothing_active."active()already raised every answer other than404 nothing_activeas a typed refusal, so there is no code change: no behaviour change; nothing a stack could observe moved, and there is no live leg. The TypeScript SDK carries the same change (getaxonflow/axonflow-sdk-typescript#290), and so does the Java SDK (getaxonflow/axonflow-sdk-java#248).Closes #265
Part of getaxonflow/axonflow-enterprise#3746
Local round
Every step at the head
fd7f4fc, each under its own build-slot ticket, in a Python 3.11 virtual environment with the SDK installed editable from this tree (checked before the round), mirroring sdk-python's required contexts; before each step the round checks that the head is unchanged and the tree clean.ruff check .andruff format --check .mypy axonflow(strict)scripts/lint_no_falsey_clobber.py axonflow/ --baseline .lint_baselines/falsey_clobber.json(the docstring keeps its line count, so the line-keyed baseline does not move)scripts/gen_authzen_types.py --checkpytest: 1616 passed, 30 skipped; coverage 85.80% against the configured 75%scripts/lint-no-mocks-in-runtime-e2e.shpytest tests/test_wire_shape.py -m wire_shapeagainsttests/fixtures/openapipy_compileand import of both examplesThe new row ran by name:
PASSED tests/test_typed_policies.py::TestTheRefusals::test_every_documented_refusal_is_typed[active-503-storage-unavailable].CI notes
The board at the head is read by name once it completes; this section is filled in then.