Skip to content

Local Development

Local development should happen inside packages/bijux-canon-index 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-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["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["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["README.md"]
    run1 --> release1
    release2["CHANGELOG.md"]
    run2 --> release2
    release3["pyproject.toml"]
    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 API, application, contracts, domain, infra, and tooling
  • tests/e2e for CLI workflows, API smoke, determinism gates, and provenance gates
  • tests/conformance and tests/compat_v01 for compatibility behavior
  • tests/stress and tests/scenarios for operational pressure checks

Concrete Anchors

  • packages/bijux-canon-index/pyproject.toml for package metadata
  • packages/bijux-canon-index/README.md for local package framing
  • packages/bijux-canon-index/tests for 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-index is 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 records the package-local development posture.

Stability

Keep it aligned with the actual test layout and maintenance workflow.