Browse curated developer references below with quick summaries to help you choose the right guide.
Folder:
development/
·
Up one level
Folder · Browse documents in testing.
This project now includes a shared **admin UI framework** for consistent spacing, control sizing, and action layout in custom admin templates. - Ensure buttons and action links render at a predictable, uniform height. -…
This repository supports two app structure modes: 1. **Web-capable apps** (default) include `views.py`, `urls.py`, and `routes.py`. 2. **Backend-only/service apps** may intentionally omit `views.py`, `urls.py`, and…
`Charger.auto_accept_offered_certificates` has been removed from the Django model and database schema. This flag had already been a runtime no-op before removal: certificate-status handling rejected unknown certificates…
This Git error appears when the workflow tries to compute the merge base between the branch under test (`HEAD`) and the requested base ref (for example `origin/main`), but the local checkout does not contain a common…
Arthexis uses an advanced CodeQL workflow with a dedicated configuration file at `.github/codeql/codeql-config.yml`. GitHub's default setup is intentionally not used because it does not let us tune scan scope. The…
Use the one-word `create` management command to scaffold either: - new local apps (`create app ...`) - new models inside existing local apps (`create model ...`)
The initial rollout targets the heaviest data-only transforms that either scan entire tables or update large swaths of rows while remaining safe to execute after schema apply. The first ten transforms are:
`pyproject.toml` is the canonical source for dependency declarations. `[project].dependencies` contains the production runtime set, while optional groups such as `[project.optional-dependencies].dev`, `.preview`, and…
Developer launcher modules under `utils/devtools/` should be invoked through the module entrypoints directly from the repository root so the checkout is available on `sys.path`: - `cd /path/to/arthexis &&…
The repository now includes a `compose.yaml` that maps Arthexis role presets to Compose profiles. - `terminal`: `web` only.
The suite no longer maintains dual migration tracks. Migration maintenance now uses a single canonical `apps/*/migrations/` graph. Run a full baseline rebuild with:
`manage.py health` is the central interface for operational checks. Run individual targets: ```bash
This manual explains how to deploy, operate, and retire an Arthexis node with the platform's shell and batch helpers. It is organised in the order you typically run them: installation, runtime start/stop helpers,…
Arthexis no longer ships runtime shims for deprecated management commands. When a command is absorbed into a newer surface, keep the compatibility guidance in documentation and release notes instead of importing…
This page defines how Arthexis maintains test markers over time. Markers keep suite feedback loops fast and trustworthy by separating must-pass gates from broader integration coverage. Use marker updates to keep…
`BranchSplinterOperation`, `BranchMergeOperation`, and `BranchTagOperation` remain in the repository for historical context only. The current migration baseline reset workflow does not use branch-tag or
Use this checklist to expand Django-aware MyPy coverage in a monotonic way. The current MyPy-owned paths are recorded in `pyproject.toml` under `[tool.mypy].files` so coverage only grows by explicit review: -…
Reference map for `apps.nodes.admin`. - `forms.py` — admin-only forms such as `NodeAdminForm`, firmware/DataTransfer helpers, and NetMessage forms. Admin classes import shared forms from here instead of defining them…
This manual documents how the Arthexis control system implements each Open Charge Point Protocol (OCPP) 1.6 call that is currently supported. The focus is on the behaviour of the WebSocket consumer that represents our…
The publish workflow coordinates multiple guarded steps to move a package version from source control to public repositories. The flow below mirrors the `PUBLISH_STEPS` sequence used by the release UI and the headless…
The release workflow reads package metadata from `apps.core.release.Package` instances. Administrators can override the default behavior through the `apps.core.Package` model, which now exposes additional optional…
The CI pipeline runs automated secret scans to prevent accidental exposure of credentials. The `Secret Scan` workflow is triggered on pull requests for these activity types: - `opened`
Use these conventions when tightening types in existing modules so MyPy gains signal without forcing a large rewrite. - Model external payloads with `TypedDict` when the code expects named keys from subprocesses, HTTP…
The video device change form in the Django admin includes a **LATEST** panel that summarizes the most recent camera snapshot for the selected device. When the camera is already saved and no snapshot exists yet, the…
Use this playbook to run controlled internet-style attacks against a Watchtower node in a lab so you can validate that basic defenses are working. This guide focuses on high-frequency, low-complexity attacks that are…
Arthexis no longer executes stored shell-style cURL samplers from the content app. - The `WebRequestSampler` and `WebRequestStep` models were retired. - The generic scheduler hook that executed…
Folder · Browse documents in cookbooks.