# SPDX-License-Identifier: PMPL-1.0-or-later
# 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 = "2026-03-21"

[anchor]
schema = "hyperpolymath.anchor/1"
repo = "hyperpolymath/anvomidaviser"
authority = "upstream-canonical"

purpose = [
  "Define canonical semantics and policy boundaries for this repository.",
  "Declare what downstream/satellite repos can extend but not redefine.",
  "Provide a stable golden path and invariant contract for release readiness.",
]

[identity]
project = "anvomidaviser"
kind = "cli-tool"                # language | library | service | tool
one-sentence = "Convert ISU notation to formal figure skating programs"
domain = "figure-skating-notation"

[semantic-authority]
policy = "canonical"

owns = [
  "Project semantics and specification",
  "Invariant definitions and contractiles",
  "Reference implementation behavior",
]

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

[golden-path]
smoke-test-command = [
  "just test",
  "just quality",
]

success-criteria = [
  "Core tests pass",
  "Quality gates pass",
  "No unresolved critical security findings",
]

[satellite-policy]
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"
