Team workflow: conventions and check profiles
Several authors share one tree. These conventions keep parallel work from colliding: explicit imports repaired per package, the right check run for the job, and shared state left untouched. Every rule on this page is a Team convention (T): the team keeps it, the compiler does not enforce it. Marks follow the topic legend.
Requires a source checkout: the check script verify/ci/run_all.sh lives
in the repository, and the commands below run from its root.
Explicit imports, repaired per package
Section titled “Explicit imports, repaired per package”New packages declare explicit intra-package imports, and the use self
blocks are generated, not hand-written: the import-repair command
regenerates them from the resolution journal. Run it per package, for
packages you own. The workspace-wide forms would rewrite the blocks of
every package in the tree — including other authors’ uncommitted work —
so in the shared tree they run only in check mode, never as a rewrite.
(T)
Which check run to use
Section titled “Which check run to use”The shared check script offers three scopes. The plan listings below are
verbatim excerpts of real --plan runs, which print the run plan without
executing it.
The ordinary run: core scope
Section titled “The ordinary run: core scope”$ sh verify/ci/run_all.sh --plan{ "format": "law.core-profile-plan/1", "profile": "core", "corpus": "not_checked", "corpus_regeneration": false, "selected": [ "rust", "vectors", "differential", "ogpo" ], "partial": false,The ordinary run checks the core: engine tests plus the fixed scenario set. The plan names four suites and reports the corpus as not checked — subject-matter packages are out of scope here by design, and a core change never obliges anyone to regenerate them. This is the default after an engine change. (T)
Addressed runs: one suite, marked partial
Section titled “Addressed runs: one suite, marked partial”$ sh verify/ci/run_all.sh --suite rust --plan{ "format": "law.core-profile-plan/1", "profile": "core", "corpus": "not_checked", "corpus_regeneration": false, "selected": [ "rust" ], "partial": true,A suite selector narrows the run to the named suites, and the report
says partial. Use it for fast iteration on one area; the flag repeats
for several suites. (T)
The subject scope: active packages
Section titled “The subject scope: active packages”$ sh verify/ci/run_all.sh --corpus --plan{ "format": "law.work-profile-plan/1", "profile": "kz-ogpo-vts", "active": [ "kz.corpus.ogpovts", "w3c.wasm_core", "nr.electoral_act_2016", ...The subject scope checks the active subject-matter packages from a private snapshot: it never touches the shared compiled outputs, lockfiles, or registries. Use it when the change is a subject-matter package. The full-corpus form runs only on explicit request — never unasked, and never as an automatic finish to unrelated work. (T)
Leave shared state alone
Section titled “Leave shared state alone”- Never shelve, reset, or discard files you do not own; compare against the base without touching the tree.
- Never rewrite published history.
- Never regenerate shared compiled outputs, lockfiles, or registries as a side effect of a check run.
- Frozen packages report as not checked rather than passing; do not edit their sources or expectations to turn a report green.
Where to go next
Section titled “Where to go next”- A package in the corpus — the per-package habits: manifest, scenarios, provenance, checks.
- N. Package, context, snapshots, case, result, and test — the case-work recipes these conventions protect.
- Packages, cases, and worlds — the architecture the check scopes are drawn around.
Documentation for Arxo. Writings — blog.arxo.io.
Anonymous visit counts on stats.arxo.io, no cookies.