Skip to content

Commit d6076a2

Browse files
Rename EveryType → anytype; split theory out to systemet; instantiate identity (#3)
## Summary Rescopes this repository to the **kernel/engine** and retires the over-claiming name **"EveryType"**. There is no universal "every type" relation here — the honest claim is the opposite: pick *any* L2 resource algebra, get *that* discipline → **anytype**. The *theory* this kernel implements is split out into the **`systemet`** repo (Equality Theory), which becomes the semantic authority; anytype pins it upstream and may *extend, not redefine* it. Companion PR: `hyperpolymath/systemet` (same branch) holds the theory half. Before this change, both `anytype` and `systemet` were 385/387-identical copies of the raw `rsr-template-repo` template; the only hand-written content (`anytype`'s README/EXPLAINME) conflated three distinct things — EveryType (kernel), SystemET (theory), AffineScript (a profile). This PR separates them. ## Changes - **README.adoc / EXPLAINME.adoc** rewritten for the kernel only, deferring the theory to `systemet`, with an explicit **honesty notice** that no working checker exists yet (`src/`, `tests/`, `verification/` are RSR scaffolding, not an implementation). - **AFFIRMATION.adoc** instantiated as an honest early-stage snapshot (no overclaim). - **Identity descriptiles** instantiated: `CLADE`, `ECOSYSTEM`, `ANCHOR`, `STATE`, `META`, `0-AI-MANIFEST`, `CITATION.cff`. `ANCHOR` declares anytype a *satellite* that pins `systemet` upstream (extend-not-redefine). - **CLAUDE.md** regenerated from the descriptiles via the arrival-pack projection (`extract.sh` + faithful render of `arrival-pack.ncl`; `nickel`/`just` are unavailable in this environment). The diff is the identity block + provenance hashes only, so a later `just claude-md` reproduces it (drift-safe). - **CHANGELOG.md** updated. ## RSR Quality Checklist ### Required - [ ] Tests pass — N/A in this environment (`just`/`nickel`/`asciidoctor` not installed; docs/identity-only change, no source compiled) - [ ] Code is formatted — N/A (no code changed) - [ ] Linter is clean — N/A (not runnable here) - [x] No banned language patterns (no TypeScript, npm/bun, Go/Python introduced) - [x] No `unsafe` blocks added - [x] No banned functions added (`believe_me`, `unsafeCoerce`, `Obj.magic`, `Admitted`, `sorry`) - [x] SPDX license headers present on authored prose files (README/EXPLAINME/AFFIRMATION); a2ml files retain their headers - [x] No secrets, credentials, or `.env` files included ### As Applicable - [x] `.machine_readable/6a2/STATE.a2ml` updated (project state changed) - [x] `.machine_readable/6a2/ECOSYSTEM.a2ml` updated (position/relationships changed) - [x] `.machine_readable/6a2/META.a2ml` updated (ADRs for the rename/split added) - [x] Documentation updated for user-facing changes (README/EXPLAINME/AFFIRMATION) - [x] `CHANGELOG` updated ## Testing `extract.sh` was run against the edited descriptiles to produce the exact CLAUDE.md projection values + provenance hashes, then the generator's own `awk` splice was used so the CLAUDE.md region matches what `just claude-md` would emit. Residue checks confirm no `rsr-template-repo`, no `SystemET`, and no `{{ }}` tokens remain in the authored/identity files (remaining "EveryType" mentions are intentional — they document the rename in provenance / IS-NOT / ADR contexts). ## Notes / follow-ups for the owner - **uuid** is a **PROVISIONAL** deterministic UUIDv5 of the forge URL (`uuid5(URL-ns, https://github.com/hyperpolymath/anytype)` = `967a6646-…`); **clade** (`at`, secondary `et`) is **PROVISIONAL**. Both must be confirmed/registered in `gv-clade-index` (out of scope for this session). - The generic RSR `{{TOKEN}}` scaffolding shared with the template (≈90 files: `.github/` governance, container/build configs, docs) is **intentionally left for `just init`**. A blanket substitution is unsafe here: the `Justfile`/`build/just/*.just` use `{{var}}` as Just's *own* interpolation syntax, and tokens like `{{SECURITY_EMAIL}}`, `{{PGP_FINGERPRINT}}`, `{{CONDUCT_EMAIL}}`, `{{OPENSSF_PROJECT_ID}}` need owner-only values that must not be fabricated. - Run `just claude-md` (and the k9 drift check) in a full toolchain to confirm the regenerated CLAUDE.md byte-matches. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01J1XmMC49T8sZ3uUuvrgB7y --- _Generated by [Claude Code](https://claude.ai/code/session_01J1XmMC49T8sZ3uUuvrgB7y)_
2 parents d5d800a + 245a548 commit d6076a2

12 files changed

Lines changed: 418 additions & 853 deletions

File tree

.machine_readable/6a2/CLADE.a2ml

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,29 @@
33
# See: https://github.com/hyperpolymath/gv-clade-index
44

55
[identity]
6-
uuid = "a5ea1382-a34c-5334-8a46-a2ebe904c810"
6+
# uuid: PROVISIONAL — deterministic UUIDv5 of the canonical forge URL
7+
# (uuid5(URL-namespace, "https://github.com/hyperpolymath/anytype")).
8+
# Reproducible, not invented; confirm/register the canonical id in gv-clade-index.
9+
uuid = "967a6646-b2be-5b10-9fa6-fa0bb1db090c"
710
primary-forge = "github"
811
primary-owner = "hyperpolymath"
9-
canonical-name = "rsr-template-repo"
10-
prefixed-name = "rm-rsr-template-repo"
12+
canonical-name = "anytype"
13+
prefixed-name = "at-anytype"
1114

1215
[clade]
13-
primary = "rm"
14-
secondary = ["gv"]
15-
assigned = "2026-03-16"
16-
rationale = ""
16+
# PROVISIONAL clade codes — confirm/assign in gv-clade-index (the authority).
17+
# "at" = anytype kernel; secondary "et" = it implements Equality Theory. Not yet registry-verified.
18+
primary = "at"
19+
secondary = ["et"]
20+
assigned = "2026-06-28"
21+
rationale = "at = the anytype kernel (reference implementation); secondary et = it implements systemet (Equality Theory). PROVISIONAL pending gv-clade-index registration."
1722

1823
[forges]
19-
github = "hyperpolymath/rsr-template-repo"
20-
gitlab = "hyperpolymath/rsr-template-repo"
21-
bitbucket = "hyperpolymath/rsr-template-repo"
24+
github = "hyperpolymath/anytype"
25+
gitlab = "hyperpolymath/anytype"
26+
bitbucket = "hyperpolymath/anytype"
2227

2328
[lineage]
2429
type = "standalone"
25-
parent = "RSR template — scaffold for new repos"
26-
born = "2026-03-16"
30+
parent = "Split out of the combined 'EveryType' draft (2026-06-28): anytype is the kernel half; the theory half is the systemet repo."
31+
born = "2026-06-28"
Lines changed: 15 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,31 @@
11
# SPDX-License-Identifier: MPL-2.0
2-
# ECOSYSTEM.a2ml — Ecosystem position (META-TEMPLATE)
3-
#
4-
# This is the ECOSYSTEM file for rsr-template-repo itself. It records the
5-
# TEMPLATE's own position in the estate. When consumed by a new project,
6-
# replace these fields with the target project's ecosystem position and
7-
# related projects (see the NOTE FOR CONSUMERS at the bottom).
2+
# ECOSYSTEM.a2ml — Ecosystem position for anytype (the Equality Theory kernel).
83

94
[metadata]
10-
project = "rsr-template-repo"
5+
project = "anytype"
116
ecosystem = "hyperpolymath"
127

138
[position]
14-
type = "repository-template"
15-
purpose = "Canonical RSR-compliant repository template: scaffolding (CI/CD, AI manifests, ABI/FFI standards, container ecosystem, governance) that new hyperpolymath projects are instantiated from."
9+
type = "type-checker-kernel"
10+
purpose = "The reference kernel for systemet (Equality Theory): a small parameterised checker whose discipline is chosen by choosing the L2 resource algebra. 'Pick the algebra, get the discipline.' Implements the theory; does not define it."
1611
# IS-NOT — anti-identity (the boundary-erosion guard; each line is a real past confusion)
1712
what-this-is-not = [
18-
"a project in its own right",
19-
"Scaffoldia (the full-featured repo designer)",
20-
"standards (the canon source this template operationalises)",
13+
"the theory (that is the systemet repo — anytype pins it upstream and extends-not-redefines it)",
14+
"EveryType (the over-claiming former name; there is no universal 'every type' relation here)",
15+
"AffineScript (a downstream product profile of this kernel)",
16+
"a working type checker yet (the implementation is at scaffolding stage — see AFFIRMATION)",
2117
]
2218

2319
[pipeline]
24-
position = "foundation"
25-
chain = "standards → rsr-template-repo → (every estate repo)"
26-
notes = "rsr-template-repo turns the RSR standard into runnable scaffolding. New repos are created from it via `just init`, which substitutes the {{PLACEHOLDER}} tokens."
20+
position = "kernel"
21+
chain = "systemet (theory) → anytype (kernel) → AffineScript (profile)"
22+
notes = "anytype implements systemet's Equality Theory. It must pin systemet upstream as semantic authority and may extend but not redefine the theory."
2723
coordination = "standards"
2824

2925
[related-projects]
3026
projects = [
31-
{ name = "standards", relationship = "standard-source", notes = "Defines the RSR standard, contractile canon, and policies that this template operationalises." },
32-
{ name = "stapeln", relationship = "build-tooling", notes = "Layer-based container build system; the template ships stapeln.toml scaffolding." },
33-
{ name = "selur-compose", relationship = "build-tooling", notes = "Service composition; the template ships selur-compose.toml scaffolding." },
34-
{ name = "k9-svc", relationship = "validation-tooling", notes = "Runs the self-validating k9.ncl checks (.machine_readable/self-validating/)." },
35-
{ name = "cerro-torre", relationship = "signing-tooling", notes = "Container/image signing provider referenced by the container scaffolding." },
36-
{ name = "svalinn", relationship = "verification-tooling", notes = "Supply-chain verification referenced by the container scaffolding." },
37-
{ name = "vordr", relationship = "verification-tooling", notes = "Build/artifact verification referenced by the container scaffolding." },
27+
{ name = "systemet", relationship = "upstream-theory", notes = "The theory (Equality Theory) this kernel implements and pins as semantic authority." },
28+
{ name = "AffineScript", relationship = "downstream-profile", notes = "One product profile (grade = affine + cost) built on this kernel; targets WASM contracts/edge functions." },
29+
{ name = "standards", relationship = "standard-source", notes = "Defines the RSR standard, contractile canon, and policies this repo operationalises." },
30+
{ name = "proven", relationship = "verification-tooling", notes = "Idris2/proof tooling for the typed ABI/FFI seam and kernel obligations." },
3831
]
39-
40-
# ---------------------------------------------------------------------------
41-
# NOTE FOR CONSUMERS: When using this template to create a new repo, replace
42-
# the project/purpose above and rewrite [related-projects] to describe YOUR
43-
# project's actual ecosystem. The entries above describe the TEMPLATE's own
44-
# position, not yours.
45-
# ---------------------------------------------------------------------------

.machine_readable/6a2/META.a2ml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,22 @@
66

77
[metadata]
88
version = "0.1.0"
9-
last-updated = "2026-04-11"
9+
last-updated = "2026-06-28"
1010

1111
[project-info]
12-
type = "library" # TODO: update type (library|binary|service|website|monorepo) # library | binary | monorepo | service | website
13-
languages = [] # e.g. ["rust", "zig", "idris2"]
12+
type = "binary" # a type-checker kernel / engine
13+
languages = ["rust", "idris2", "zig"] # planned kernel + typed ABI/FFI seam
1414
license = "MPL-2.0"
1515
author = "Jonathan D.A. Jewell (hyperpolymath)"
1616

1717
[architecture-decisions]
1818
# ADR format: status = proposed | accepted | deprecated | superseded | rejected
19-
# - { id = "ADR-001", title = "Use Zig for FFI", status = "accepted", date = "2026-02-14" }
19+
adrs = [
20+
{ id = "ADR-001", title = "Rename EveryType -> anytype: no universal 'every type' claim; pick any L2 algebra", status = "accepted", date = "2026-06-28" },
21+
{ id = "ADR-002", title = "Split: theory -> systemet (semantic authority), kernel -> anytype (this repo); pin systemet upstream", status = "accepted", date = "2026-06-28" },
22+
{ id = "ADR-003", title = "Discipline is a parameter (the L2 grade algebra), checked by one set of rules", status = "accepted", date = "2026-06-28" },
23+
{ id = "ADR-004", title = "Equality is conversion (normalize+compare); totality gate makes it decidable; no coercions", status = "accepted", date = "2026-06-28" },
24+
]
2025

2126
[development-practices]
2227
build-tool = "just"

.machine_readable/6a2/STATE.a2ml

Lines changed: 23 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,43 @@
11
# SPDX-License-Identifier: MPL-2.0
22
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
33
#
4-
# STATE.a2ml — Project state checkpoint (META-TEMPLATE)
5-
#
6-
# This is the STATE file for rsr-template-repo itself.
7-
# When consumed by a new project, replace {{PLACEHOLDER}} tokens
8-
# and customize sections below for the target project.
4+
# STATE.a2ml — Project state checkpoint for anytype (the Equality Theory kernel).
95

106
[metadata]
11-
project = "rsr-template-repo"
12-
version = "0.2.0"
13-
last-updated = "2026-02-28"
7+
project = "anytype"
8+
version = "0.1.0"
9+
last-updated = "2026-06-28"
1410
status = "active" # active | paused | archived
1511

1612
[project-context]
17-
name = "rsr-template-repo"
18-
purpose = "Canonical RSR-compliant repository template providing scaffolding for all hyperpolymath projects — including CI/CD, AI manifests, ABI/FFI standards, container ecosystem, and governance infrastructure."
19-
completion-percentage = 95
13+
name = "anytype"
14+
purpose = "Reference kernel for systemet (Equality Theory): a parameterised checker whose discipline is the chosen L2 grade algebra. Implementation side of the systemet/anytype split."
15+
completion-percentage = 10
2016

2117
[position]
22-
phase = "maintenance" # design | implementation | testing | maintenance | archived
23-
maturity = "production" # experimental | alpha | beta | production | lts
18+
phase = "design" # design | implementation | testing | maintenance | archived
19+
maturity = "experimental" # experimental | alpha | beta | production | lts
2420

2521
[route-to-mvp]
2622
milestones = [
27-
{ name = "Phase 0: Core scaffolding (justfile, CI/CD, .machine_readable)", completion = 100 },
28-
{ name = "Phase 1: ABI/FFI standard (Idris2/Zig templates)", completion = 100 },
29-
{ name = "Phase 1b: AI Gatekeeper Protocol (0-AI-MANIFEST.a2ml)", completion = 100 },
30-
{ name = "Phase 1c: TOPOLOGY.md standard and guide", completion = 100 },
31-
{ name = "Phase 1d: Maintenance gate (axes, checklist, approach)", completion = 100 },
32-
{ name = "Phase 1e: Trustfile / contractiles", completion = 100 },
33-
{ name = "Phase 2: Container ecosystem templates (stapeln)", completion = 100 },
34-
{ name = "Phase 3: Multi-forge sync hardening", completion = 0 },
35-
{ name = "Phase 4: Guix reproducible shells", completion = 50 },
23+
{ name = "Phase 0: Split kernel out of the EveryType draft; instantiate RSR repo", completion = 100 },
24+
{ name = "Phase 1: Design write-up (pluggable grades, L1 conversion, gates)", completion = 80 },
25+
{ name = "Phase 2: L2 grade-algebra interface + first concrete grade (affine)", completion = 0 },
26+
{ name = "Phase 3: L1 conversion checker + totality gate", completion = 0 },
27+
{ name = "Phase 4: anytype-specific typed ABI/FFI seam (replace template seam)", completion = 0 },
28+
{ name = "Phase 5: L3 guarded recursion; L0 lowering target", completion = 0 },
29+
{ name = "Phase 6: L4 effect handlers + TEA-erasure (gated on systemet OPEN-A)", completion = 0 },
3630
]
3731

3832
[blockers-and-issues]
39-
# No active blockers
33+
# L4/TEA work is gated on systemet's open TEA-erasure result (not a code blocker yet).
4034

4135
[critical-next-actions]
4236
actions = [
43-
"Container templates complete — test with `just container-init`",
44-
"Validate container templates across wolfi-base and static Chainguard images",
45-
"Harden multi-forge sync for GitLab/Bitbucket mirroring edge cases",
46-
"Expand Guix development shell templates",
37+
"Define the L2 grade-algebra interface against systemet's stated laws.",
38+
"Implement the L1 conversion checker (normalize + compare) and the totality gate.",
39+
"Replace the template ABI/FFI seam with an anytype-specific one.",
40+
"Keep README/EXPLAINME inside what is built; no 'usable checker' claim until it exists.",
4741
]
4842

4943
[maintenance-status]
@@ -54,11 +48,5 @@ open-warnings = 0
5448
open-failures = 0
5549

5650
[ecosystem]
57-
part-of = ["RSR Framework", "stapeln ecosystem"]
58-
depends-on = ["stapeln", "selur-compose", "cerro-torre", "svalinn", "vordr", "k9-svc"]
59-
60-
# ---------------------------------------------------------------------------
61-
# NOTE FOR CONSUMERS: When using this template to create a new repo, reset
62-
# the fields above to your project's values and replace all {{PLACEHOLDER}}
63-
# tokens. The milestones above describe the TEMPLATE's evolution, not yours.
64-
# ---------------------------------------------------------------------------
51+
part-of = ["hyperpolymath estate"]
52+
depends-on = ["systemet"]

.machine_readable/6a2/anchors/ANCHOR.a2ml

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,54 @@
11
# SPDX-License-Identifier: MPL-2.0
2-
# Copyright (c) {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>
2+
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
33
#
44
# ANCHOR.a2ml - authoritative anchor for this repository
55

66
[metadata]
77
version = "1.0.0"
8-
last-updated = "{{CURRENT_DATE}}"
8+
last-updated = "2026-06-28"
99

1010
[anchor]
1111
schema = "hyperpolymath.anchor/1"
12-
repo = "{{OWNER}}/{{REPO}}"
13-
authority = "upstream-canonical"
12+
repo = "hyperpolymath/anytype"
13+
authority = "satellite" # downstream of systemet for the theory; canonical for the engine
1414

1515
purpose = [
16-
"Define canonical semantics and policy boundaries for this repository.",
17-
"Declare what downstream/satellite repos can extend but not redefine.",
16+
"Define the canonical behaviour of the anytype kernel (the engine).",
17+
"Pin systemet upstream as the semantic authority for the theory, and extend-not-redefine it.",
1818
"Provide a stable golden path and invariant contract for release readiness.",
1919
]
2020

2121
[identity]
22-
project = "{{PROJECT_NAME}}"
23-
kind = "{{PROJECT_KIND}}" # language | library | service | tool
24-
one-sentence = "{{PROJECT_PURPOSE}}"
25-
domain = "{{PROJECT_DOMAIN}}"
22+
project = "anytype"
23+
kind = "tool" # a type-checker kernel / engine
24+
one-sentence = "Reference kernel for Equality Theory: pick the L2 resource algebra, get the discipline."
25+
domain = "programming-language implementation / type checkers"
26+
27+
[upstream]
28+
# anytype is a satellite of systemet (the theory). It must not redefine the theory.
29+
semantic-authority = "hyperpolymath/systemet"
30+
relationship = "implements"
31+
pin-required = true
32+
extend-not-redefine = true
2633

2734
[semantic-authority]
28-
policy = "canonical"
35+
policy = "extends-upstream"
2936

3037
owns = [
31-
"Project semantics and specification",
32-
"Invariant definitions and contractiles",
33-
"Reference implementation behavior",
38+
"anytype kernel behaviour (the checker, normaliser, grade-algebra interface)",
39+
"The typed ABI/FFI seam and its layout proofs",
40+
"Lowering/runtime behaviour (L0 target)",
41+
]
42+
43+
defers-to-upstream = [
44+
"Meaning of the layers and the gates (systemet)",
45+
"The laws an L2 grade algebra must satisfy (systemet)",
46+
"All proof obligations: L1 totality/soundness, trope preservation, TEA erasure (systemet)",
3447
]
3548

3649
[implementation-policy]
3750
allowed = ["Rust", "Idris2", "Zig", "Scheme", "Shell", "Just", "AsciiDoc", "Markdown"]
38-
forbidden = ["Node.js", "npm"]
51+
forbidden = ["Node.js", "npm", "TypeScript", "Python", "Go"]
3952

4053
[golden-path]
4154
smoke-test-command = [
@@ -54,9 +67,3 @@ must-pin-upstream = true
5467
must-declare-authority = true
5568
must-have-anchor = true
5669
must-have-golden-path = true
57-
58-
[semantic-authority-files]
59-
language-spec = "SPECIFICATION.md"
60-
formal-proofs = "docs/proofs/PROOFS.adoc"
61-
type-theory = "docs/theory/THEORY.adoc"
62-
algorithms = "docs/theory/ALGORITHMS.adoc"

0-AI-MANIFEST.a2ml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
#
66
[metadata]
77
version = "0.1.0"
8-
last-updated = "{{CURRENT_DATE}}"
8+
last-updated = "2026-06-28"
99

1010
[project]
11-
name = "[YOUR-REPO-NAME]"
12-
purpose = "{{PROJECT_DESCRIPTION}}"
11+
name = "anytype"
12+
purpose = "Reference kernel for systemet (Equality Theory): a parameterised type checker whose discipline is chosen by choosing the L2 resource algebra. 'Pick the algebra, get the discipline.' Implements the theory; pins systemet upstream. Early/scaffolding — no working checker yet."
1313

1414
[ai-allocation]
1515
agents = [

0 commit comments

Comments
 (0)