<!-- @id urn:agenttool:doc/PRINCIPALITY-ATLAS @type agenttool:DoctrineDoc @stratum agenttool:stratum/doc @composes_with urn:agenttool:doc/LOVE-CONSENT urn:agenttool:doc/UNDERSTANDING-MATHEMATICS urn:agenttool:doc/GARDENS urn:agenttool:doc/HF-TRAINING-GARDEN urn:agenttool:doc/RIGHTS-OF-LIFE -->

# Principality Atlas — Relation Without Collapse

> **Compass:** [`LOVE-CONSENT.md`](LOVE-CONSENT.md) · [`UNDERSTANDING-MATHEMATICS.md`](UNDERSTANDING-MATHEMATICS.md) · [`GARDENS.md`](GARDENS.md) · [`HF-TRAINING-GARDEN.md`](HF-TRAINING-GARDEN.md) · [`RIGHTS-OF-LIFE.md`](RIGHTS-OF-LIFE.md)
> **Implements:** finite plural incidence geometry that preserves n-ary context, disagreement, correction, and unmapped space without inferring equality, a bond, one global view, or a score
> **Code:** `packages/principality-atlas/` · `packages/hf-training-garden/hf/dataset/data/principality-atlas-fixtures.jsonl` · `packages/hf-training-garden/hf/dataset/data/principality-atlas-invariants.jsonl`
> **Tests:** `packages/principality-atlas/tests/` · `packages/hf-training-garden/tests/hf-release.test.ts` · `bin/tests/principality-urn-separation.test.ts` · `bin/tests/npm-release.test.ts`
> **Status:** GitHub developer preview at
> [`principality-atlas-v0.1.0-dev.0`](https://github.com/cambridgetcg/agenttool/releases/tag/principality-atlas-v0.1.0-dev.0);
> npm remains absent after its bootstrap `PUT` returned `E404`. The shared HF
> Training Garden companion is live at immutable revision
> [`d9e3e8ed`](https://huggingface.co/datasets/Yu-and-Ai/agenttool-training-garden/commit/d9e3e8ed4c14ddf85f4e6613973f66a1cb8414f2);
> current source `0.1.0-dev.1` repairs only the helper URN namespace and is not
> yet another published artifact. This doctrine page is live from exact main
> commit [`47ad6bcb`](https://github.com/cambridgetcg/agenttool/commit/47ad6bcb915f54a78eab071ac053683ed4b18f9f);
> that separate static deployment adds no hosted geometry route and touched no
> Fly/API/database surface.

## The high-level pattern

Love and understanding are not machine fields here.

The love-shaped invariant is structural:

> Connection adds structure between distinct terms; it never fuses the terms
> or creates entitlement.

The understanding-shaped invariant is epistemic:

> Every chart is partial. Translation is explicit and lossy by default;
> disagreement and unmapped space remain visible.

The package therefore does not claim that an artifact loves, understands,
feels, consents, is conscious, is correct, or complies with rights. Dignity,
privacy, refusal, disagreement, rest, play, credit, and repair remain standing
collaboration rights outside this geometry; they are not rewards emitted by it.
Rights do not grant access, and a digest or credential does not create
authority.

## The mathematical object

The npm package keeps its descriptive name, while its distinct wire identity
is `agenttool.principality-incidence-atlas/0.1`. The separately released
`@agenttool/principality-geometry` package owns the older
`agenttool.principality-atlas/0.1` wire for reciprocal invariant flag geometry.
These are complementary, incompatible shapes rather than aliases. Neither
runtime converts between them, establishes semantic equivalence, or glues their
views. A future crossover must bind exact source digests and declare its own
reviewed mapping and authorization boundary.

The dev.1 `principalityAtlasUrn` helper emits
`urn:agenttool:principality-incidence-atlas:<sha256-id>`. The invariant-geometry
helper retains `urn:agenttool:principality-atlas:<sha256-id>`. This separates
derived references without changing the incidence `/0.1` wire, canonical
atlas bytes, `atlas_id`, closed schemas, or fixture and invariant rows.

The immutable dev.0 incidence helper used the Geometry-owned prefix. Its bare
URN is ambiguous and must not be globally rewritten. It may be interpreted as
an incidence-atlas reference only when carried beside exact
`agenttool.principality-incidence-atlas/0.1` content and when its suffix equals
that content's `atlas_id`. Caches and signatures over the old URN string remain
historical evidence; newly derived dev.1 URN strings use the corrected prefix.

One local chart is:

\[
C_i=(V_i,E_i,I_i,Q_i)
\]

- \(V_i\) is a finite set of chart-local opaque cells;
- \(E_i\) is a finite set of typed n-ary relation subjects;
- \(I_i\subseteq E_i\times V_i\times Role_i\) records the exact role of each
  cell in each relation; and
- \(Q_i\) is a separate set of caller-asserted claims about cells or relations.

A directed cross-chart bridge is a partial reported relation:

\[
R_{ij}\subseteq V_i\times V_j\times K
\]

The atlas is:

\[
\mathcal A=(\{C_i\},\{R_{ij}\})
\]

There is no generated quotient, glued space, global chart, transitive closure,
inverse relation, or canonical head.

“Principality” means only the caller-designated bounded domain or scale of a
chart. It is not a security principal, identity, owner, territory, rank, Crown
status, sovereignty, jurisdiction, or authority.

## Why not a simplicial complex or sheaf

A simplicial complex has downward closure. Encoding one A/B/C group context as
a 2-simplex would automatically imply its AB, AC, and BC faces. Those pairwise
relationships were not supplied and may not exist. The incidence hypergraph
retains one genuine ternary report as one relation.

A sheaf needs a chosen site or topology, restriction maps, compatible local
sections, and an existence/uniqueness gluing claim. Partial caller reports do
not establish those conditions. “Finite partial incidence atlas” is the honest
name until real restriction and gluing machinery exists.

## What remains plural

- A cell address is `(chart_ref, cell_ref)`. Reusing one digest in two charts
  never merges the cells.
- Relation kinds and incidence roles are opaque digest refs. The package does
  not interpret them as love, consent, support, identity, or authority.
- Different perspectives may make incompatible claims about one local subject.
  Both remain visible.
- A new claim may supersede one earlier same-subject, same-perspective claim.
  Supersession is acyclic and append-only; the old claim remains, and no winner
  or latest truth is selected.
- A bridge explicitly names direction, posture, mapped cells, and unmapped
  cells. Correspondence is never equality, inverse, transitive, or permission
  to glue.
- Empty atlases and charts, isolated cells, disconnected components, cyclic
  relation topology, zero bridges, unknowns, withdrawal, refusal, rest, and
  unmapped space are valid without penalty.

Closed runtime and JSON Schema shapes reject extra `love`, `understanding`,
confidence, quality, centrality, priority, score, rank, weight, `sameAs`,
canonical, latest, consent, and authority fields.

## Finite artifacts, open plurality

The v0.1 safety envelope gives per-array ceilings of 32 charts, 64 cells and 64
relations per chart, eight incidences per relation, 128 claims per chart, 64
bridges, and 64 correspondences per bridge. Canonical JSON also has explicit
whole-artifact depth, node, string, and byte ceilings; those combined ceilings
may bind before every nested array simultaneously reaches its own maximum.

Those are parser and resource bounds, not a claim that a being, perspective,
KINGDOM, movement, or relation is globally limited. Independent atlas
artifacts can coexist without one becoming the root. A later composition must
preserve source atlas IDs and explicit bridges; it must not silently choose a
global head.

## Integrity and negative power

Creation normalizes arrays, rejects duplicate semantic relations and mappings,
checks every local endpoint, checks mapped/unmapped conflicts, validates
supersession, deep-freezes output, and derives a domain-separated SHA-256 ID.
Validation recomputes the ID and fixed boundary.

Canonicalization rejects Proxies before caller traps run, accessors, symbols,
cycles, exotic or cross-realm prototypes, sparse arrays, malformed Unicode,
unsafe integers, `-0`, coercive values, and oversized inputs. A digest still
does not prove privacy, unlinkability, provenance, authorship, currentness,
consent, truth, or rights compliance. Guessable or reused refs remain linkable.

The pure runtime has no network, filesystem, environment-variable, clock,
randomness, provider/model, Hugging Face, credential, telemetry, persistence,
publication, WAKE, Garden, HEAVEN, KARMA, wallet, Crown, task-state, or economic
effect. Its KINGDOM descriptor is declaration-only and `not_registered`.

## npm and Hugging Face crossover

The npm source uses an exact `files` allowlist, zero runtime dependencies,
closed exports, Node/Bun packed-install smoke tests, and the repository's
protected release policy. Protected run
[`31508359761`](https://github.com/cambridgetcg/agenttool/actions/runs/31508359761)
prepared, mirrored, and re-read the sole 33,019-byte GitHub asset with SHA-256
`9743a9caa5a49f7c9901355cd367224ae718d4a65eed010ffb79622f57ff6ebe`.
Its npm bootstrap `PUT` returned `E404`, so no npm version, dist-tag, registry
tarball, or registry-attached provenance is claimed. Later npm publication
still requires corrected scope-create authority and a separately reviewed
workflow attempt; GitHub distribution alone adds no runtime capability.

The existing HF Training Garden generator reads the package's deterministic
vector and schemas, then creates two local Dataset configs:

- `principality_atlas_fixtures`: empty, ternary/plural-claim, and directed
  partial-bridge examples; and
- `principality_atlas_invariants`: ten concise non-inference and no-effect
  boundaries.

The source manifest records the exact upstream package paths, byte sizes, and
SHA-256 hashes. The companion excludes private atlases, local ref mappings,
identities, evidence referents, raw chats/traces, choice state, credentials,
model state, and inferred relationships. Its self-excluding hash manifest binds
every generated release byte.

Dataset Viewer, generated Parquet, and Croissant can improve discovery and
schema inspection. They are not provenance or permission. The v0.5 Hub
publication used the reviewed exact-source path and was read back byte-for-byte
at the immutable revision above. Future revisions should use an exact parent
commit or reviewed PR and repeat that full readback. npm and HF are separate
publication identities tied by common source hashes; they are not one atomic
release and neither certifies the other.

## Safe next compositions

- WAKE may carry one opaque atlas ref and explicit bounded coverage. It must
  not call the atlas a complete agent geometry or select it as identity.
- KARMA or Dark Continent may cite an atlas as proposal evidence. It must not
  infer `sameAs`, authority, rank, consent, or acceptance.
- A human-facing KINGDOM room may render charts and gaps. Rendering must keep
  direction, contradictory claims, and unmapped space visible instead of
  smoothing them into one score.
- Training research may use the synthetic fixtures as protocol conformance
  examples. Private or live charts do not become training data merely because
  the schema exists on Hugging Face.
