Failure Recovery¶
Failure recovery starts with knowing which artifacts, interfaces, and tests expose the problem.
This page should help a maintainer stabilize the situation before they try to improve it. The first question is not always how to fix the bug; it is how to locate the right evidence quickly.
Treat the operations pages for bijux-canon-index as the package's explicit operating memory. They should make common tasks repeatable without relearning the workflow from logs or oral history.
Visual Summary¶
flowchart LR
page["Failure Recovery<br/>clarifies: repeat workflows | find diagnostics | release safely"]
classDef page fill:#dbeafe,stroke:#1d4ed8,color:#1e3a8a,stroke-width:2px;
classDef positive fill:#dcfce7,stroke:#16a34a,color:#14532d;
classDef caution fill:#fee2e2,stroke:#dc2626,color:#7f1d1d;
classDef anchor fill:#ede9fe,stroke:#7c3aed,color:#4c1d95;
classDef action fill:#fef3c7,stroke:#d97706,color:#7c2d12;
step1["CLI modules under src/bijux_canon_index/interfaces/cli"]
step1 --> page
step2["HTTP app under src/bijux_canon_index/api"]
step2 --> page
step3["packages/bijux-canon-index/pyproject.toml"]
step3 --> page
run1["tests/unit for API, application, contracts, domain, infra, and tooling"]
page --> run1
run2["tests/e2e for CLI workflows, API smoke, determinism gates, and provenance gates"]
page --> run2
run3["tests/conformance and tests/compat_v01 for compatibility behavior"]
page --> run3
release1["pyproject.toml"]
run1 --> release1
release2["README.md"]
run2 --> release2
release3["CHANGELOG.md"]
run3 --> release3
class page page;
class step1,step2,step3 positive;
class run1,run2,run3 anchor;
class release1,release2,release3 action;
Recovery Anchors¶
- interface surfaces: CLI modules under src/bijux_canon_index/interfaces/cli, HTTP app under src/bijux_canon_index/api, OpenAPI schema files under apis/bijux-canon-index/v1
- artifacts to inspect: vector execution result collections, provenance and replay comparison reports, backend-specific metadata and audit output
- tests to run: tests/unit for API, application, contracts, domain, infra, and tooling, tests/e2e for CLI workflows, API smoke, determinism gates, and provenance gates
Concrete Anchors¶
packages/bijux-canon-index/pyproject.tomlfor package metadatapackages/bijux-canon-index/README.mdfor local package framingpackages/bijux-canon-index/testsfor executable operational backstops
Use This Page When¶
- you are installing, running, diagnosing, or releasing the package
- you need repeatable operational anchors rather than architectural framing
- you are responding to package behavior in local work, CI, or incident pressure
Decision Rule¶
Use Failure Recovery to decide whether a maintainer can repeat the package workflow from checked-in assets instead of memory. If a step works only because someone already knows the trick, the workflow is not documented clearly enough yet.
What This Page Answers¶
- how
bijux-canon-indexis installed, run, diagnosed, and released in practice - which checked-in files and tests anchor the operational story
- where a maintainer should look first when the package behaves differently
Reviewer Lens¶
- verify that setup, workflow, and release statements still match package metadata and current commands
- check that operational guidance still points at real diagnostics and validation paths
- confirm that maintainer advice still works under current local and CI expectations
Honesty Boundary¶
This page explains how bijux-canon-index is expected to be operated, but it does not replace package metadata, actual runtime behavior, or validation in a real environment. A workflow is only trustworthy if a maintainer can still repeat it from the checked-in assets named here.
Next Checks¶
- move to interfaces when the operational path depends on a specific surface contract
- move to quality when the question becomes whether the workflow is sufficiently proven
- move back to architecture when operational complexity suggests a structural problem
Purpose¶
This page gives maintainers a durable frame for triaging package failures.
Stability¶
Keep it aligned with the package entrypoints and diagnostic outputs.