Markdown for LLMs
Team workflow: conventions and check profiles
The source Markdown for this article. Copy it into your assistant or download it as a text file.
# 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](/corpus/#how-this-topic-marks-confidence).
**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
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
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
```text
$ 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
```text
$ 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
```text
$ 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
- 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
- [A package in the corpus](/tutorials/package/) — the per-package
habits: manifest, scenarios, provenance, checks.
- [N. Package, context, snapshots, case, result, and
test](/recipes/n-package/) — the case-work recipes these conventions
protect.
- [**Packages, cases, and worlds**](/corpus/model/) — the architecture the
check scopes are drawn around.