Local Development¶
Local development should happen inside packages/bijux-canon-ingest with tests and docs updated
in the same change series as the code.
The point is not to prescribe one favorite workflow. It is to keep local work close enough to the owning package that changes remain easy to explain and easy to validate before they spread outward.
Treat the operations pages for bijux-canon-ingest 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 RL
page["Local Development<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["HTTP boundaries under src/bijux_canon_ingest/interfaces"]
step1 --> page
step2["packages/bijux-canon-ingest/pyproject.toml"]
step2 --> page
step3["CLI entrypoint in src/bijux_canon_ingest/interfaces/cli/entrypoint.py"]
step3 --> page
run1["tests/e2e for package boundary coverage"]
page --> run1
run2["tests/invariants for long-lived repository promises"]
page --> run2
run3["tests/unit for module-level behavior across processing, retrieval, and interfaces"]
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;
Development Anchors¶
- tests/unit for module-level behavior across processing, retrieval, and interfaces
- tests/e2e for package boundary coverage
- tests/invariants for long-lived repository promises
- tests/eval for corpus-backed behavior checks
Concrete Anchors¶
packages/bijux-canon-ingest/pyproject.tomlfor package metadatapackages/bijux-canon-ingest/README.mdfor local package framingpackages/bijux-canon-ingest/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 Local Development 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-ingestis 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-ingest 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 records the package-local development posture.
Stability¶
Keep it aligned with the actual test layout and maintenance workflow.