Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 17 additions & 12 deletions .machine_readable/6a2/CLADE.a2ml
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,29 @@
# See: https://github.com/hyperpolymath/gv-clade-index

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

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

[forges]
github = "hyperpolymath/rsr-template-repo"
gitlab = "hyperpolymath/rsr-template-repo"
bitbucket = "hyperpolymath/rsr-template-repo"
github = "hyperpolymath/anytype"
gitlab = "hyperpolymath/anytype"
bitbucket = "hyperpolymath/anytype"

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

[metadata]
project = "rsr-template-repo"
project = "anytype"
ecosystem = "hyperpolymath"

[position]
type = "repository-template"
purpose = "Canonical RSR-compliant repository template: scaffolding (CI/CD, AI manifests, ABI/FFI standards, container ecosystem, governance) that new hyperpolymath projects are instantiated from."
type = "type-checker-kernel"
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."
# IS-NOT — anti-identity (the boundary-erosion guard; each line is a real past confusion)
what-this-is-not = [
"a project in its own right",
"Scaffoldia (the full-featured repo designer)",
"standards (the canon source this template operationalises)",
"the theory (that is the systemet repo — anytype pins it upstream and extends-not-redefines it)",
"EveryType (the over-claiming former name; there is no universal 'every type' relation here)",
"AffineScript (a downstream product profile of this kernel)",
"a working type checker yet (the implementation is at scaffolding stage — see AFFIRMATION)",
]

[pipeline]
position = "foundation"
chain = "standards → rsr-template-repo → (every estate repo)"
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."
position = "kernel"
chain = "systemet (theory) → anytype (kernel) → AffineScript (profile)"
notes = "anytype implements systemet's Equality Theory. It must pin systemet upstream as semantic authority and may extend but not redefine the theory."
coordination = "standards"

[related-projects]
projects = [
{ name = "standards", relationship = "standard-source", notes = "Defines the RSR standard, contractile canon, and policies that this template operationalises." },
{ name = "stapeln", relationship = "build-tooling", notes = "Layer-based container build system; the template ships stapeln.toml scaffolding." },
{ name = "selur-compose", relationship = "build-tooling", notes = "Service composition; the template ships selur-compose.toml scaffolding." },
{ name = "k9-svc", relationship = "validation-tooling", notes = "Runs the self-validating k9.ncl checks (.machine_readable/self-validating/)." },
{ name = "cerro-torre", relationship = "signing-tooling", notes = "Container/image signing provider referenced by the container scaffolding." },
{ name = "svalinn", relationship = "verification-tooling", notes = "Supply-chain verification referenced by the container scaffolding." },
{ name = "vordr", relationship = "verification-tooling", notes = "Build/artifact verification referenced by the container scaffolding." },
{ name = "systemet", relationship = "upstream-theory", notes = "The theory (Equality Theory) this kernel implements and pins as semantic authority." },
{ name = "AffineScript", relationship = "downstream-profile", notes = "One product profile (grade = affine + cost) built on this kernel; targets WASM contracts/edge functions." },
{ name = "standards", relationship = "standard-source", notes = "Defines the RSR standard, contractile canon, and policies this repo operationalises." },
{ name = "proven", relationship = "verification-tooling", notes = "Idris2/proof tooling for the typed ABI/FFI seam and kernel obligations." },
]

# ---------------------------------------------------------------------------
# NOTE FOR CONSUMERS: When using this template to create a new repo, replace
# the project/purpose above and rewrite [related-projects] to describe YOUR
# project's actual ecosystem. The entries above describe the TEMPLATE's own
# position, not yours.
# ---------------------------------------------------------------------------
13 changes: 9 additions & 4 deletions .machine_readable/6a2/META.a2ml
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,22 @@

[metadata]
version = "0.1.0"
last-updated = "2026-04-11"
last-updated = "2026-06-28"

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

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

[development-practices]
build-tool = "just"
Expand Down
58 changes: 23 additions & 35 deletions .machine_readable/6a2/STATE.a2ml
Original file line number Diff line number Diff line change
@@ -1,49 +1,43 @@
# SPDX-License-Identifier: MPL-2.0
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
#
# STATE.a2ml — Project state checkpoint (META-TEMPLATE)
#
# This is the STATE file for rsr-template-repo itself.
# When consumed by a new project, replace {{PLACEHOLDER}} tokens
# and customize sections below for the target project.
# STATE.a2ml — Project state checkpoint for anytype (the Equality Theory kernel).

[metadata]
project = "rsr-template-repo"
version = "0.2.0"
last-updated = "2026-02-28"
project = "anytype"
version = "0.1.0"
last-updated = "2026-06-28"
status = "active" # active | paused | archived

[project-context]
name = "rsr-template-repo"
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."
completion-percentage = 95
name = "anytype"
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."
completion-percentage = 10

[position]
phase = "maintenance" # design | implementation | testing | maintenance | archived
maturity = "production" # experimental | alpha | beta | production | lts
phase = "design" # design | implementation | testing | maintenance | archived
maturity = "experimental" # experimental | alpha | beta | production | lts

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

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

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

[maintenance-status]
Expand All @@ -54,11 +48,5 @@ open-warnings = 0
open-failures = 0

[ecosystem]
part-of = ["RSR Framework", "stapeln ecosystem"]
depends-on = ["stapeln", "selur-compose", "cerro-torre", "svalinn", "vordr", "k9-svc"]

# ---------------------------------------------------------------------------
# NOTE FOR CONSUMERS: When using this template to create a new repo, reset
# the fields above to your project's values and replace all {{PLACEHOLDER}}
# tokens. The milestones above describe the TEMPLATE's evolution, not yours.
# ---------------------------------------------------------------------------
part-of = ["hyperpolymath estate"]
depends-on = ["systemet"]
49 changes: 28 additions & 21 deletions .machine_readable/6a2/anchors/ANCHOR.a2ml
Original file line number Diff line number Diff line change
@@ -1,41 +1,54 @@
# SPDX-License-Identifier: MPL-2.0
# Copyright (c) {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
#
# ANCHOR.a2ml - authoritative anchor for this repository

[metadata]
version = "1.0.0"
last-updated = "{{CURRENT_DATE}}"
last-updated = "2026-06-28"

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

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

[identity]
project = "{{PROJECT_NAME}}"
kind = "{{PROJECT_KIND}}" # language | library | service | tool
one-sentence = "{{PROJECT_PURPOSE}}"
domain = "{{PROJECT_DOMAIN}}"
project = "anytype"
kind = "tool" # a type-checker kernel / engine
one-sentence = "Reference kernel for Equality Theory: pick the L2 resource algebra, get the discipline."
domain = "programming-language implementation / type checkers"

[upstream]
# anytype is a satellite of systemet (the theory). It must not redefine the theory.
semantic-authority = "hyperpolymath/systemet"
relationship = "implements"
pin-required = true
extend-not-redefine = true

[semantic-authority]
policy = "canonical"
policy = "extends-upstream"

owns = [
"Project semantics and specification",
"Invariant definitions and contractiles",
"Reference implementation behavior",
"anytype kernel behaviour (the checker, normaliser, grade-algebra interface)",
"The typed ABI/FFI seam and its layout proofs",
"Lowering/runtime behaviour (L0 target)",
]

defers-to-upstream = [
"Meaning of the layers and the gates (systemet)",
"The laws an L2 grade algebra must satisfy (systemet)",
"All proof obligations: L1 totality/soundness, trope preservation, TEA erasure (systemet)",
]

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

[golden-path]
smoke-test-command = [
Expand All @@ -54,9 +67,3 @@ must-pin-upstream = true
must-declare-authority = true
must-have-anchor = true
must-have-golden-path = true

[semantic-authority-files]
language-spec = "SPECIFICATION.md"
formal-proofs = "docs/proofs/PROOFS.adoc"
type-theory = "docs/theory/THEORY.adoc"
algorithms = "docs/theory/ALGORITHMS.adoc"
6 changes: 3 additions & 3 deletions 0-AI-MANIFEST.a2ml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@
#
[metadata]
version = "0.1.0"
last-updated = "{{CURRENT_DATE}}"
last-updated = "2026-06-28"

[project]
name = "[YOUR-REPO-NAME]"
purpose = "{{PROJECT_DESCRIPTION}}"
name = "anytype"
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."

[ai-allocation]
agents = [
Expand Down
Loading
Loading