# Corpus charter: [AREA NAME]

> Team document template. Copy this file, fill every bracketed field, and
> store the result beside the packages it governs. The engine never reads
> this file: it records team intent, not a package format. Nothing here
> replaces the manifest, the lockfile, or a recorded engine run.

How to use: one charter per corpus area (a jurisdiction, a discipline, or a
shared library family). Keep it short: one page of decisions plus pointers
to the filled companion records. Review it whenever the package set changes.

- Area: [area name, e.g. Parcel Registry Lab]
- Owner: [team or person accountable for this area]
- Status: [draft | active | retired]
- Last reviewed: [YYYY-MM-DD]
- Toolchain on record: [output of the version command, e.g. law 0.1.1]

## 1. Scope

In scope (what this area answers):

- [question family 1, e.g. who owns which parcel on a date]
- [question family 2]

Out of scope (what this area never answers; say where those go instead):

- [excluded family 1] -> [area or package that owns it]
- [excluded family 2] -> [area or package that owns it]

## 2. Package set

| Package id | Version pinned | Role |
|---|---|---|
| [e.g. labparcels.iface] | [e.g. 0.1.0] | [shared vocabulary: entities, relations, enums only] |
| [e.g. labparcels.registry] | [e.g. 0.1.0] | [source package: pinned text plus executable rules] |
| [consumer package] | [version] | [reads the shared world; adds no source text] |

Naming rule: [e.g. all ids start with the area prefix; new packages need
owner approval before they join the set above].

## 3. Source rules

- Every source package pins its text before its rules count as anchored:
  each fragment carries its bytes, language, and standing.
- One revision in two languages is two editions; correspondence between
  them is declared explicitly, never assumed.
- The lab fixtures use original fictional text only; real act text is
  never pasted into worked examples.

## 4. Vocabulary rules

- Shared words live in exactly one vocabulary package; consumers import
  them instead of redeclaring.
- Every public declaration carries a label with its language and standing
  (official, unofficial, or translation).
- Identity is stable: renames keep the old name working or ship with a
  recorded decision (see the vocabulary decision record template).
- Public vocabulary contract for this area: [name of the filled contract]

## 5. Dependency rules

- Every dependency is pinned to an exact version; the lockfile records the
  full closure with content hashes.
- Registries are addresses, not authorities: a package is proved by its
  bytes against its recorded hash.
- Intra-package references use explicit blocks regenerated per package;
  mass rewrites across packages are forbidden in a shared tree.
- Shared dependency changes travel with a filled change record (see the
  shared dependency change template).

## 6. Review ladder

Records move through draft, reviewed, verified, approved, disputed. Only
the approved standing admits a fragment as verified. Each step needs a
named reviewer, a date, and the recorded engine runs listed in the review
checklist template.

## 7. Release rules

- Releases follow the release checklist template: version choice, lock
  refresh, recorded verification runs, publication, announcement.
- Language lines never mix inside one world: one closure, one semantics line.
- The canon profile (when this area ships one) pins the package set plus
  calendars as a single versioned artifact.

## 8. Verification commands on record

Record the commands and their exact outputs in fenced blocks when this
charter is approved (fences keep machine text separate from prose):

```text
[paste: version output]
```

```text
[paste: package test output]
```

```text
[paste: pinning check output]
```

## 9. Companion records

| Record | Location (package id plus file name, no directory paths) |
|---|---|
| Public vocabulary contract | [package id, file name] |
| Vocabulary decisions | [package id, file names] |
| Dependency changes | [package id, file names] |
| Reviews | [package id, file names] |
| Releases | [package id, file names] |
