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
9 changes: 0 additions & 9 deletions .hypatia-baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -890,15 +890,6 @@
"file_pattern": "**/zig-gateway/**",
"note": "FFI boundary. A Zig shim crossing into a foreign runtime must reinterpret opaque pointers; the cast is unavoidable in the host language and the guarantee holds on the core's side of the boundary. Architectural, not deferred \u2014 it does not shrink over time."
},
{
"severity": "critical",
"rule_module": "structural_drift",
"type": "SD004",
"file_pattern": ".machine_readable/6a2/*.a2ml",
"note": "TEMPORARY AUTHORITY CONFLICT (2026-08-24): Hypatia says the 6a2 directory is retired, but standards' registry generator, topology generator, readiness rules, template capability gates, and canonical documentation still consume this path. Do not move normative files to satisfy one downstream rule before the authority sources agree.",
"expires_at": "2026-09-30",
"tracking_issue": "hyperpolymath/standards#399"
},
{
"severity": "medium",
"rule_module": "structural_drift",
Expand Down
28 changes: 14 additions & 14 deletions .machine_readable/REGISTRY.a2ml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ name = "A2ML — Attested Markup Language"
stream = "foundation"
home = "a2ml/"
canonical_doc = "a2ml/README.adoc"
source_hash = "sha256:01e65e3c955746526e47b8a313070c13647228a1f6c453ad1b43d147789e664a"
source_hash = "sha256:b5e1457a23b681f7c3eb49e0541f62912d13e2400a0a62e5e06b16235ac0dfa0"
route = "the typed/verified machine-readable document format"

[[spec]]
Expand All @@ -54,7 +54,7 @@ name = "K9 Self-Validating Components"
stream = "foundation"
home = "k9-svc/"
canonical_doc = "k9-svc/README.adoc"
source_hash = "sha256:1c750e457184efd404a92a3faec4989cc4e59fb54302d50040ff88711750a6e6"
source_hash = "sha256:6bcd9a401b27600886129a8b644746fff23e4633b51936b965f51238afb9fa04"
route = "self-validating components with embedded contracts + deploy logic"

[[spec]]
Expand All @@ -72,7 +72,7 @@ name = "META.a2ml spec"
stream = "foundation"
home = "meta-a2ml/"
canonical_doc = "meta-a2ml/README.adoc"
source_hash = "sha256:3398ac0350915f7267fae8ebb6314fcca9d4e8146a25c5396781813bc71851b2"
source_hash = "sha256:d82f71b656ff6e034ba0d6e344bb61dea0bf4a0d3750264ea66e93a87347c6de"
route = "architecture decisions / governance metadata format"

[[spec]]
Expand All @@ -81,7 +81,7 @@ name = "STATE.a2ml spec"
stream = "foundation"
home = "state-a2ml/"
canonical_doc = "state-a2ml/README.adoc"
source_hash = "sha256:a9396d04d530329257d4739b488427383ca4d50ef581c617159cd679e012dd47"
source_hash = "sha256:212feae0be60d3cfd625cfb0c46cc6c501f651d5a4103ea120512162d58ce5d0"
route = "project-state metadata format (drives this registry's topology)"

[[spec]]
Expand All @@ -90,7 +90,7 @@ name = "ECOSYSTEM.a2ml spec"
stream = "foundation"
home = "ecosystem-a2ml/"
canonical_doc = "ecosystem-a2ml/README.adoc"
source_hash = "sha256:258b20df64d5eefb6164ce673f55df24b2336044691a4ffddf4aca62bc925b22"
source_hash = "sha256:a0d9c7728e32a36d4eaa0ddf22bb2fc7b60a85e9b50d267673e1abb2e2ef94c9"
route = "ecosystem-positioning metadata format"

[[spec]]
Expand All @@ -99,7 +99,7 @@ name = "AGENTIC.a2ml spec"
stream = "foundation"
home = "agentic-a2ml/"
canonical_doc = "agentic-a2ml/README.adoc"
source_hash = "sha256:cbfbb9d836e5bd78bb6ec159d5686fbf8488645e2bf0f543690ce2b8cb2e179e"
source_hash = "sha256:8e39bc9402b39341e3b21ca45083f697a00a6618a72c7d85ab0ea852dc26883b"
route = "AI-agent operational gating / entropy budgets"

[[spec]]
Expand All @@ -108,7 +108,7 @@ name = "NEUROSYM.a2ml spec"
stream = "foundation"
home = "neurosym-a2ml/"
canonical_doc = "neurosym-a2ml/README.adoc"
source_hash = "sha256:6597b2a597c3aeb78b16eca98d744ae3b449b1d45a285acd8aa6d0b3b63d7ac6"
source_hash = "sha256:be62099578501b961a948d2218e4ab07ee2b575d8affd03724df493fb63d2e8e"
route = "symbolic semantics / proof obligations"

[[spec]]
Expand All @@ -117,7 +117,7 @@ name = "PLAYBOOK.a2ml spec"
stream = "foundation"
home = "playbook-a2ml/"
canonical_doc = "playbook-a2ml/README.adoc"
source_hash = "sha256:351da5ba66b38d8463a10e94c7b971b7d11aaff451b79ceb8c81f719363762d9"
source_hash = "sha256:5881b4de48735bd0d934342a037a8d83c3eced43c983b11f97f15fc3ef8342b0"
route = "executable operational runbooks"

[[spec]]
Expand All @@ -126,7 +126,7 @@ name = "ANCHOR.a2ml spec"
stream = "foundation"
home = "anchor-a2ml/"
canonical_doc = "anchor-a2ml/README.adoc"
source_hash = "sha256:3e447e1fac78311a9c466abaa9c5995a40783b8a23a12d74ce32c7906b0ee2e9"
source_hash = "sha256:3948f88c03367bd21992dd068b6ea4d0a9c86a98ea6a51567eaff4990df9a70a"
route = "project-recalibration intervention format"

[[spec]]
Expand All @@ -135,7 +135,7 @@ name = "0-AI Gatekeeper Protocol"
stream = "protocol"
home = "0-ai-gatekeeper-protocol/"
canonical_doc = "0-ai-gatekeeper-protocol/README.adoc"
source_hash = "sha256:9e77212dd6a6cc027345bfd9f71cf5bdda5c12d2424515c0d0b838700442cd25"
source_hash = "sha256:e126780b42539020b1214547bb1dd496f1dab6e93cec5b4e531303be77eb071a"
route = "the AI-agent entry/gating protocol behind 0-AI-MANIFEST"

[[spec]]
Expand All @@ -162,16 +162,16 @@ name = "AXEL Protocol"
stream = "protocol"
home = "axel-protocol/"
canonical_doc = "axel-protocol/README.adoc"
source_hash = "sha256:678e7e99899809bfd3211a392ea718446bd80d1bed2650ee7bb090537c88dd21"
source_hash = "sha256:2076ab707c155dddc70601c72380327f49d905ea37d1c67b6eb345bfef628ce6"
route = "age-gating + explicit-content enforcement"

[[spec]]
id = "overlay-protocol"
name = "Overlay Protocol"
stream = "protocol"
home = "overlay-protocol/"
canonical_doc = "overlay-protocol/.machine_readable/6a2/ECOSYSTEM.a2ml"
source_hash = "sha256:b52752056328cc77708e1cbe9446324bc60d8e34d08471318a786d1e732521d3"
canonical_doc = "overlay-protocol/.machine_readable/descriptiles/ECOSYSTEM.a2ml"
source_hash = "sha256:a4864b45d3cc12ca541b09ed7042285d6ff0d4231f89e3438fd1e0045e72becf"
route = "layered overlay composition spec"

[[spec]]
Expand Down Expand Up @@ -216,7 +216,7 @@ name = "RSR — Rhodium Standard Repositories"
stream = "governance"
home = "rhodium-standard-repositories/"
canonical_doc = "rhodium-standard-repositories/README.adoc"
source_hash = "sha256:4e8ff4f5ff07dece3ecd714221e84f2354137e0ded7c291d71c5edac529e696e"
source_hash = "sha256:d1f99236a07a31aaa4395248093558fc20debac359d7f7f1d76c9660cb162aaf"
route = "the repository-compliance standard every repo is graded against"

[[spec]]
Expand Down
4 changes: 2 additions & 2 deletions .machine_readable/contractiles/adjust/adjust.k9.ncl
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ let base = import "../_base.ncl" in
{ kind = 'verisimdb, table = "contractile_executions",
schema = "contractile_execution_v1",
aux_tables = [ "adjust_drift_history" ] },
{ kind = 'drift_log, path = ".machine_readable/6a2/DRIFT.a2ml",
{ kind = 'drift_log, path = ".machine_readable/descriptiles/DRIFT.a2ml",
append_only = true },
],

Expand Down Expand Up @@ -140,7 +140,7 @@ let base = import "../_base.ncl" in
signature_required = true,
},
],
signed_record_destination = ".machine_readable/6a2/ratification-<session-id>.a2ml",
signed_record_destination = ".machine_readable/descriptiles/ratification-<session-id>.a2ml",
must_precede_work = true,
},

Expand Down
4 changes: 2 additions & 2 deletions .machine_readable/contractiles/bust/bust.k9.ncl
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ let base = import "../_base.ncl" in
{ kind = 'verisimdb, table = "contractile_executions",
schema = "contractile_execution_v1",
aux_tables = [ "bust_triggers_history" ] },
{ kind = 'drift_log, path = ".machine_readable/6a2/DRIFT.a2ml",
{ kind = 'drift_log, path = ".machine_readable/descriptiles/DRIFT.a2ml",
append_only = true },
],

Expand Down Expand Up @@ -134,7 +134,7 @@ let base = import "../_base.ncl" in
signature_required = true,
},
],
signed_record_destination = ".machine_readable/6a2/ratification-<session-id>.a2ml",
signed_record_destination = ".machine_readable/descriptiles/ratification-<session-id>.a2ml",
must_precede_work = true,
},

Expand Down
4 changes: 2 additions & 2 deletions .machine_readable/contractiles/dust/dust.k9.ncl
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ let base = import "../_base.ncl" in
{ kind = 'verisimdb, table = "contractile_executions",
schema = "contractile_execution_v1",
aux_tables = [ "dust_retirement_history" ] },
{ kind = 'drift_log, path = ".machine_readable/6a2/DRIFT.a2ml",
{ kind = 'drift_log, path = ".machine_readable/descriptiles/DRIFT.a2ml",
append_only = true },
],

Expand Down Expand Up @@ -144,7 +144,7 @@ let base = import "../_base.ncl" in
signature_required = true,
},
],
signed_record_destination = ".machine_readable/6a2/ratification-<session-id>.a2ml",
signed_record_destination = ".machine_readable/descriptiles/ratification-<session-id>.a2ml",
must_precede_work = true,
},

Expand Down
8 changes: 4 additions & 4 deletions .machine_readable/contractiles/intend/intend.k9.ncl
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
# (feedback_audit_tool_suppression_design.md — structural > markers).
# * Sessional drift detection hooks (on_close, on_open).
# * Ratification at session open; drift log at session close.
# * Evidence sinks: VeriSimDB (queryable) + 6a2/DRIFT.a2ml (repo-local).
# * Evidence sinks: VeriSimDB (queryable) + descriptiles/DRIFT.a2ml (repo-local).
# * Failure-mode defenses cross-referenced to the AI failure catalog.

let base_k9 = import "../k9/template-hunt.k9.ncl" in
Expand Down Expand Up @@ -111,7 +111,7 @@ let base = import "../_base.ncl" in

# Evidence sinks — BOTH written, every execution.
# VeriSimDB = queryable machine record (feedback_verisimdb_policy.md).
# 6a2/DRIFT.a2ml = repo-local append-only drift log (feedback_sessional_
# descriptiles/DRIFT.a2ml = repo-local append-only drift log (feedback_sessional_
# drift_detection.md + user_6a2_is_contractile_ought.md descriptive role).
evidence_sinks = [
{
Expand All @@ -121,7 +121,7 @@ let base = import "../_base.ncl" in
},
{
kind = 'drift_log,
path = ".machine_readable/6a2/DRIFT.a2ml",
path = ".machine_readable/descriptiles/DRIFT.a2ml",
append_only = true,
},
],
Expand Down Expand Up @@ -213,7 +213,7 @@ let base = import "../_base.ncl" in
# the AI is the holder of the line against enthusiasm drift.
},
],
signed_record_destination = ".machine_readable/6a2/ratification-<session-id>.a2ml",
signed_record_destination = ".machine_readable/descriptiles/ratification-<session-id>.a2ml",
must_precede_work = true,
},

Expand Down
4 changes: 2 additions & 2 deletions .machine_readable/contractiles/must/must.k9.ncl
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ let base = import "../_base.ncl" in
},
{
kind = 'drift_log,
path = ".machine_readable/6a2/DRIFT.a2ml",
path = ".machine_readable/descriptiles/DRIFT.a2ml",
append_only = true,
},
],
Expand Down Expand Up @@ -193,7 +193,7 @@ let base = import "../_base.ncl" in
signature_required = true,
},
],
signed_record_destination = ".machine_readable/6a2/ratification-<session-id>.a2ml",
signed_record_destination = ".machine_readable/descriptiles/ratification-<session-id>.a2ml",
must_precede_work = true,
},

Expand Down
6 changes: 3 additions & 3 deletions .machine_readable/contractiles/trust/trust.k9.ncl
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
# * Plain-language translation — user never authors a Nickel schema for
# a cipher suite; AI does the spec work, user reviews in domain
# language ("TLS 1.3 with PQ key exchange, HSTS preload, 1yr").
# * Evidence sinks: VeriSimDB (queryable) + 6a2/DRIFT.a2ml (repo-local).
# * Evidence sinks: VeriSimDB (queryable) + descriptiles/DRIFT.a2ml (repo-local).
# * Failure-mode defenses cross-referenced — trust carries the most
# defenses of any verb because the threat surface is widest.

Expand Down Expand Up @@ -142,7 +142,7 @@ let base = import "../_base.ncl" in
},
{
kind = 'drift_log,
path = ".machine_readable/6a2/DRIFT.a2ml",
path = ".machine_readable/descriptiles/DRIFT.a2ml",
append_only = true,
},
],
Expand Down Expand Up @@ -232,7 +232,7 @@ let base = import "../_base.ncl" in
signature_required = true,
},
],
signed_record_destination = ".machine_readable/6a2/ratification-<session-id>.a2ml",
signed_record_destination = ".machine_readable/descriptiles/ratification-<session-id>.a2ml",
must_precede_work = true,
},

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,4 @@ release-claim-requires-hard-pass = true
[automation-hooks]
# on-enter: Read 0-AI-MANIFEST.a2ml, then STATE.a2ml
# on-exit: Update STATE.a2ml with session outcomes
# on-commit: Run just validate-rsr
# on-commit: Run just validate
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@
[metadata]
project = "standards"
version = "0.3.0"
last-updated = "2026-06-03T00:00:00Z"
last-updated = "2026-08-24T00:00:00Z"
status = "active"
session = "2026-06-03 AffineScript external-pointer registry + registry-verify repair + workflow startup_failure fixes"
session = "2026-08-24 standards descriptiles canonical-path migration"

[project-context]
name = "Standards"
Expand All @@ -39,9 +39,28 @@ actions = [
]

[maintenance-status]
last-run-utc = "2026-06-03T00:00:00Z"
last-run-utc = "2026-08-24T00:00:00Z"
last-result = "pass" # unknown | pass | warn | fail

[session-history-2026-08-24]
session = "2026-08-24 standards descriptiles canonical-path migration"
capabilities-added = [
"Migrated active .machine_readable/6a2 directories to the canonical .machine_readable/descriptiles path throughout the standards monorepo.",
"Repointed live generators, release checks, Hypatia rule definitions, normative RSR/A2ML documentation, examples, and agent entry points to descriptiles.",
"Removed the temporary Hypatia SD004 baseline exception after the authority sources converged on the canonical path."
]
verification = [
"just validate: pass",
"Wave-6 canonical-names regression: 4 passed, 0 failed",
"registry/topology generator --check: pass",
"A2ML Rust tests: 50 passed, 0 failed",
"K9 Rust tests: 45 passed, 0 failed"
]
notes = [
"The archived standards-update/.machine_readable/6scm-archive payload retains its historical pre-descriptiles directory name.",
"Explicit legacy-input readers and banned-token positive controls retain the deprecated spelling by design."
]

[session-history-2026-06-03]
session = "2026-06-03 AffineScript external-pointer registry + registry-verify repair + workflow startup_failure fixes"
prs-merged = [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ effects = "A malformed coordination.k9 (missing id/rule/reason on an invariant)

[[must]]
id = "M4"
text = "The k9-init tool MUST correctly extract languages/banned/practices from existing .machine_readable/6a2 A2ML files and MUST refuse to overwrite an existing coordination.k9 unless --force is passed."
text = "The k9-init tool MUST correctly extract languages/banned/practices from existing .machine_readable/descriptiles A2ML files and MUST refuse to overwrite an existing coordination.k9 unless --force is passed."
system = "tools/k9-init/src/main.rs unit tests (cargo test): extracts_list_from_scheme, extracts_pairs_from_scheme, missing_key_returns_empty, render_includes_header_and_sections, slug_normalises"
status = "pass"
evidence = "Ran cargo test in tools/k9-init: 5 passed, 0 failed (extracts_list_from_scheme, extracts_pairs_from_scheme, missing_key_returns_empty, render_includes_header_and_sections, slug_normalises); overwrite guard implemented at main.rs:42-48 (checks out_path.exists() && !force)"
Expand Down
2 changes: 1 addition & 1 deletion .machine_readable/template-capability-gates.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ known = ["rust", "zig", "agda", "idris2", "haskell", "gleam", "elixir", "affines

[baseline]
# Always carried (gate = empty). Globs/dirs allowed; not capability-gated.
paths = ["README.adoc", "EXPLAINME.adoc", "LICENSE", "SECURITY.md", "CONTRIBUTING.md", "CODE_OF_CONDUCT.md", "CHANGELOG.md", "0-AI-MANIFEST.a2ml", ".machine_readable/6a2/", ".machine_readable/rsr-profile.a2ml", ".well-known/", ".gitignore", "Justfile"]
paths = ["README.adoc", "EXPLAINME.adoc", "LICENSE", "SECURITY.md", "CONTRIBUTING.md", "CODE_OF_CONDUCT.md", "CHANGELOG.md", "0-AI-MANIFEST.a2ml", ".machine_readable/descriptiles/", ".machine_readable/rsr-profile.a2ml", ".well-known/", ".gitignore", "Justfile"]

[gates]
# "module path (file, dir/, or glob)" = "gating capability"
Expand Down
2 changes: 1 addition & 1 deletion .meta/REQUIRED-FILES.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ The following files *MUST* be present and kept up-to-date in every repository:
====
These files use the `.a2ml` extension. Earlier versions of this doc
listed them as `.scm`; that was stale drift. `.scm` is reserved exclusively
for Guix-related files (`guix.scm`, `.guix-channel`). All 6a2 metadata
for Guix-related files (`guix.scm`, `.guix-channel`). All descriptiles metadata
files use `.a2ml`.
====

Expand Down
Loading
Loading