Skip to content

Commit 8fd6cb2

Browse files
committed
fix(dogfood): add identity fields to a2ml manifests and k9 templates
Dogfood Gate's A2ML and K9 validators require a top-level identity field (name / agent-id / project for a2ml, pedigree.metadata.name for k9). Filling them in with filename-derived names.
1 parent 9cdacd9 commit 8fd6cb2

15 files changed

Lines changed: 88 additions & 3 deletions

File tree

.machine_readable/6a2/AGENTIC.a2ml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,23 @@
22
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
33
#
44
# AGENTIC.a2ml — AI agent constraints and capabilities
5+
name = "AGENTIC"
6+
57
[metadata]
68
version = "0.1.0"
79
last-updated = "2026-04-11"
810

11+
name = "AGENTIC"
12+
913
[agent-permissions]
1014
can-edit-source = true
1115
can-edit-tests = true
1216
can-edit-docs = true
1317
can-edit-config = true
1418
can-create-files = true
1519

20+
name = "AGENTIC"
21+
1622
[agent-constraints]
1723
# What AI agents must NOT do:
1824
# - Never use banned language patterns (believe_me, unsafeCoerce, etc.)
@@ -21,13 +27,17 @@ can-create-files = true
2127
# - Never place state files in repository root (must be in .machine_readable/)
2228
# - Never use AGPL license (use PMPL-1.0-or-later)
2329

30+
name = "AGENTIC"
31+
2432
[maintenance-integrity]
2533
fail-closed = true
2634
require-evidence-per-step = true
2735
allow-silent-skip = false
2836
require-rerun-after-fix = true
2937
release-claim-requires-hard-pass = true
3038

39+
name = "AGENTIC"
40+
3141
[automation-hooks]
3242
# on-enter: Read 0-AI-MANIFEST.a2ml, then STATE.a2ml
3343
# on-exit: Update STATE.a2ml with session outcomes

.machine_readable/6a2/META.a2ml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,20 @@
22
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
33
#
44
# META.a2ml — Reasonably Good Token Vault meta-level information
5+
name = "META"
6+
57
[metadata]
68
version = "0.2.0"
79
last-updated = "2026-04-12"
810

11+
name = "META"
12+
913
[project-info]
1014
license = "PMPL-1.0-or-later"
1115
author = "Jonathan D.A. Jewell (hyperpolymath)"
1216

17+
name = "META"
18+
1319
[architecture-decisions]
1420
decisions = [
1521
{ id = "ADR-001", title = "Cloudflare Workers as production target (not Fly.io)", status = "accepted", date = "2026-04-12",
@@ -43,6 +49,8 @@ decisions = [
4349
consequences = "All tokens share the same privilege level. Per-agent tokens are a future enhancement." },
4450
]
4551

52+
name = "META"
53+
4654
[development-practices]
4755
versioning = "SemVer"
4856
documentation = "AsciiDoc"
@@ -51,6 +59,8 @@ rust-edition = "2021"
5159
wasm-target = "wasm32-unknown-unknown"
5260
worker-build = "worker-build (cargo install worker-build)"
5361

62+
name = "META"
63+
5464
[maintenance-axes]
5565
scoping-first = true
5666
axis-1 = "must > intend > like"

.machine_readable/6a2/NEUROSYM.a2ml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,27 @@
22
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
33
#
44
# NEUROSYM.a2ml — Neurosymbolic integration metadata
5+
name = "NEUROSYM"
6+
57
[metadata]
68
version = "0.1.0"
79
last-updated = "2026-04-11"
810

11+
name = "NEUROSYM"
12+
913
[hypatia-config]
1014
scan-enabled = true
1115
scan-depth = "standard" # quick | standard | deep
1216
report-format = "json" # Logtalk removed from Hypatia 2026-04-12; JSON AssailReport consumed by Elixir rules
1317

18+
name = "NEUROSYM"
19+
1420
[symbolic-rules]
1521
# Custom symbolic rules for this project
1622
# - { name = "no-unsafe-ffi", pattern = "believe_me|unsafeCoerce", severity = "critical" }
1723

24+
name = "NEUROSYM"
25+
1826
[neural-config]
1927
# Neural pattern detection settings
2028
# confidence-threshold = 0.85

.machine_readable/6a2/PLAYBOOK.a2ml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,16 @@
22
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
33
#
44
# PLAYBOOK.a2ml — Operational runbook for RGTV
5+
name = "PLAYBOOK"
6+
57
[metadata]
68
version = "0.2.0"
79
last-updated = "2026-04-12"
810

911
# ── Production: Cloudflare Workers ───────────────────────────────────────────
1012

13+
name = "PLAYBOOK"
14+
1115
[deployment.cloudflare-workers]
1216
worker-name = "rgtv-vault"
1317
crate = "vault-worker"
@@ -22,13 +26,17 @@ logs = "just worker-logs"
2226
creds-list = "just worker-creds-list"
2327
creds-put = "just worker-cred-put HINT value"
2428

29+
name = "PLAYBOOK"
30+
2531
[deployment.fly-io-spot-test]
2632
app-name = "rgtv-nesy"
2733
purpose = "Internal flycast spot-testing via nesy-solver-api only. NOT production."
2834
deploy = "NESY_INGEST_TOKEN=<tok> ./deploy-fly.sh rgtv"
2935
token-persistence = "~/.config/nesy-solver/rgtv-agent-token"
3036
url = "http://rgtv-nesy.flycast:9100 (private 6PN; not .internal)"
3137

38+
name = "PLAYBOOK"
39+
3240
[deployment.local-dev]
3341
start = "just broker-dev (requires RGTV_AGENT_TOKEN + RGTV_CRED_<HINT>=<value>)"
3442
daemon-start = "just broker-start"
@@ -38,6 +46,8 @@ logs = "just broker-logs"
3846

3947
# ── CLI (rgtv) ────────────────────────────────────────────────────────────────
4048

49+
name = "PLAYBOOK"
50+
4151
[cli]
4252
binary = "rgtv"
4353
build = "just build-cli"
@@ -53,6 +63,8 @@ log-file = "~/.local/state/rgtv/vault-broker.log"
5363

5464
# ── Incident response ─────────────────────────────────────────────────────────
5565

66+
name = "PLAYBOOK"
67+
5668
[incident-response]
5769
steps = [
5870
"1. rgtv status — check broker reachable",
@@ -69,6 +81,8 @@ unauthorized = "401 — check RGTV_AGENT_TOKEN matches worker secret."
6981

7082
# ── Release process ───────────────────────────────────────────────────────────
7183

84+
name = "PLAYBOOK"
85+
7286
[release-process]
7387
steps = [
7488
"1. Update version in STATE.a2ml, META.a2ml, Cargo.toml files",

.machine_readable/CLADE.a2ml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,32 @@
22
# Clade declaration — part of the gv-clade-index registry
33
# See: https://github.com/hyperpolymath/gv-clade-index
44

5+
name = "CLADE"
6+
57
[identity]
68
uuid = "b4db4006-f93d-5651-a2ef-b38cddcb5281"
79
primary-forge = "github"
810
primary-owner = "hyperpolymath"
911
canonical-name = "reasonably-good-token-vault"
1012
prefixed-name = "sc-reasonably-good-token-vault"
1113

14+
name = "CLADE"
15+
1216
[clade]
1317
primary = "sc"
1418
secondary = []
1519
assigned = "2026-03-16"
1620
rationale = ""
1721

22+
name = "CLADE"
23+
1824
[forges]
1925
github = "hyperpolymath/reasonably-good-token-vault"
2026
gitlab = "hyperpolymath/reasonably-good-token-vault"
2127
bitbucket = "hyperpolymath/reasonably-good-token-vault"
2228

29+
name = "CLADE"
30+
2331
[lineage]
2432
type = "standalone"
2533
parent = "Token/secret management vault"

.machine_readable/agent_instructions/coverage.a2ml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
#
88
# Reference: ADR-002 in standards/agentic-a2ml/docs/
99

10+
name = "coverage"
11+
1012
[metadata]
1113
version = "1.0.0"
1214
last-updated = "2026-03-24"
@@ -17,6 +19,8 @@ last-updated = "2026-03-24"
1719
# Updated by agents at session end. Tracks which components have been
1820
# visited and which have known MUSTs that were skipped.
1921

22+
name = "coverage"
23+
2024
[coverage]
2125
total-components = 0
2226
visited-components = 0

.machine_readable/agent_instructions/debt.a2ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
#
88
# Reference: ADR-002 in standards/agentic-a2ml/docs/
99

10+
name = "debt"
11+
1012
[metadata]
1113
version = "1.0.0"
1214
last-updated = "2026-03-24"

.machine_readable/agent_instructions/methodology.a2ml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
#
88
# Reference: ADR-002 in standards/agentic-a2ml/docs/
99

10+
name = "methodology"
11+
1012
[metadata]
1113
version = "1.0.0"
1214
last-updated = "2026-03-24"
@@ -19,6 +21,8 @@ spec = "https://github.com/hyperpolymath/standards/blob/main/agentic-a2ml/docs/A
1921
# divergent: find what's strongest, push it further (for research/creative)
2022
# hybrid: audit 20% of budget, then focus 80% on top MUSTs (default for most)
2123

24+
name = "methodology"
25+
2226
[methodology]
2327
default-mode = "hybrid"
2428
ring-ceiling = 2 # Hard ceiling for ring expansion (0-3)
@@ -32,6 +36,8 @@ spike-required = true # Every session must ship code, not just designs
3236
# SHOULD (2x): Degrading quality of current work → fix if in zone
3337
# COULD (1x): Improving quality of adjacent work → add to debt list
3438

39+
name = "methodology"
40+
3541
[methodology.priority-weights]
3642
must = 3
3743
should = 2
@@ -43,6 +49,8 @@ could = 1
4349
# How to allocate effort across work types.
4450
# Prevents over-polishing docs while structural work waits.
4551

52+
name = "methodology"
53+
4654
[methodology.convergent-budget]
4755
structural = 70 # % for new modules, compilation fixes, wiring, integration
4856
corrective = 20 # % for bugs found, broken imports, stale references
@@ -54,6 +62,8 @@ perfective = 10 # % for SPDX headers, doc updates, formatting, style
5462
# What makes this project special. Agents should DEEPEN this, not broaden it.
5563
# Customise this per project — the template default is generic.
5664

65+
name = "methodology"
66+
5767
[methodology.unique-strength]
5868
description = "{{PROJECT_UNIQUE_STRENGTH}}"
5969
deepen-not-broaden = true
@@ -69,6 +79,8 @@ deepen-not-broaden = true
6979
# "Does this deepen the existing strength, or add a parallel strength?"
7080
# If parallel → stop. Note as cross-project insight.
7181

82+
name = "methodology"
83+
7284
[methodology.divergent-invariants]
7385
rules = [
7486
# Customise per project. Examples:
@@ -87,6 +99,8 @@ rules = [
8799
# Help Phase 0 find the critical chain faster.
88100
# Updated at session end with newly discovered constraints.
89101

102+
name = "methodology"
103+
90104
[methodology.known-constraints]
91105
constraints = [
92106
# Customise per project. Examples:
@@ -100,6 +114,8 @@ constraints = [
100114
# Phase 0 reads STATE.a2ml first but it may be broken.
101115
# These rules detect corrupt/template/stale state files.
102116

117+
name = "methodology"
118+
103119
[methodology.state-validation]
104120
reject-if-contains = ["{{PLACEHOLDER}}", "{{PROJECT}}", "rsr-template-repo"]
105121
reject-if-project-name-mismatch = true

.machine_readable/anchors/ANCHOR.a2ml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# ⚓ ANCHOR: reasonably-good-token-vault
22
# This is the canonical authority for the reasonably-good-token-vault repository.
33

4+
name: "ANCHOR"
45
id: "org.hyperpolymath.reasonably-good-token-vault"
56
version: "1.0.0"
67
clade: "unknown"

.machine_readable/contractiles/bust/Bustfile.a2ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
// Bustfile.a2ml — meta-repo bust contractile (breakage / rollback)
22
// SPDX-License-Identifier: PMPL-1.0-or-later
33

4+
name = "Bustfile"
5+
46
Bust {
57
name: "reasonably-good-token-vault"
68
version: "1.0.0"

0 commit comments

Comments
 (0)