From 3cb7a4352492853a991bfe079345562b93e744b4 Mon Sep 17 00:00:00 2001 From: gHashTag Date: Wed, 9 Sep 2026 14:12:36 +0000 Subject: [PATCH 1/2] specs/agents: the 27-agent alphabet as first-class .t27 specs (layer 4) Closes #3545 One .t27 module per letter of docs/agents/AGENTS_ALPHABET.md (A..Z + Ti): KIND="agent", ID="t27/", LETTER, ORDINAL, LETTER_NAME, NAME, DOMAIN, ARCHETYPE, REGISTER, LAYER, SUMMARY_EN, SOUL, AGENTS_DOC, ALPHABET, KEY_FILES, ENTRY/EXIT_INVARIANT, CLARA_ROLE, SKILLS + SKILLS_NOTE, EXPERIENCE_LOG, ENABLED. English-only (LANG-EN). Skill bindings are evidence-gated: T alone holds phi-loop and tri-pipeline (.claude/agents/trinity.md); the other 26 carry SKILLS = [] and a note. README: schema, four-layer ladder, binding and attribution rules, source inconsistencies (Ti register, F/U phi, R domain). specs/i18n/agents-ru.t27 SCOPE gains specs/agents; specs/OWNERS.md gains agents/ -> T-Queen; docs/now entry. The site (gHashTag/trinity#976) vendors a byte-identical copy and measures 27/27 typecheck ok under the wasm. --- ...9-09-the-27-agent-alphabet-as-t27-specs.md | 12 ++ specs/OWNERS.md | 1 + specs/agents/README.md | 137 ++++++++++++++++++ specs/agents/a.t27 | 42 ++++++ specs/agents/b.t27 | 42 ++++++ specs/agents/c.t27 | 42 ++++++ specs/agents/d.t27 | 42 ++++++ specs/agents/e.t27 | 42 ++++++ specs/agents/f.t27 | 42 ++++++ specs/agents/g.t27 | 42 ++++++ specs/agents/h.t27 | 42 ++++++ specs/agents/i.t27 | 42 ++++++ specs/agents/j.t27 | 42 ++++++ specs/agents/k.t27 | 42 ++++++ specs/agents/l.t27 | 42 ++++++ specs/agents/m.t27 | 42 ++++++ specs/agents/n.t27 | 42 ++++++ specs/agents/o.t27 | 42 ++++++ specs/agents/p.t27 | 42 ++++++ specs/agents/q.t27 | 42 ++++++ specs/agents/r.t27 | 42 ++++++ specs/agents/s.t27 | 42 ++++++ specs/agents/t.t27 | 42 ++++++ specs/agents/ti.t27 | 43 ++++++ specs/agents/u.t27 | 42 ++++++ specs/agents/v.t27 | 42 ++++++ specs/agents/w.t27 | 42 ++++++ specs/agents/x.t27 | 42 ++++++ specs/agents/y.t27 | 42 ++++++ specs/agents/z.t27 | 42 ++++++ specs/i18n/agents-ru.t27 | 2 +- 31 files changed, 1286 insertions(+), 1 deletion(-) create mode 100644 docs/now/2026-09-09-the-27-agent-alphabet-as-t27-specs.md create mode 100644 specs/agents/README.md create mode 100644 specs/agents/a.t27 create mode 100644 specs/agents/b.t27 create mode 100644 specs/agents/c.t27 create mode 100644 specs/agents/d.t27 create mode 100644 specs/agents/e.t27 create mode 100644 specs/agents/f.t27 create mode 100644 specs/agents/g.t27 create mode 100644 specs/agents/h.t27 create mode 100644 specs/agents/i.t27 create mode 100644 specs/agents/j.t27 create mode 100644 specs/agents/k.t27 create mode 100644 specs/agents/l.t27 create mode 100644 specs/agents/m.t27 create mode 100644 specs/agents/n.t27 create mode 100644 specs/agents/o.t27 create mode 100644 specs/agents/p.t27 create mode 100644 specs/agents/q.t27 create mode 100644 specs/agents/r.t27 create mode 100644 specs/agents/s.t27 create mode 100644 specs/agents/t.t27 create mode 100644 specs/agents/ti.t27 create mode 100644 specs/agents/u.t27 create mode 100644 specs/agents/v.t27 create mode 100644 specs/agents/w.t27 create mode 100644 specs/agents/x.t27 create mode 100644 specs/agents/y.t27 create mode 100644 specs/agents/z.t27 diff --git a/docs/now/2026-09-09-the-27-agent-alphabet-as-t27-specs.md b/docs/now/2026-09-09-the-27-agent-alphabet-as-t27-specs.md new file mode 100644 index 000000000..504fd4539 --- /dev/null +++ b/docs/now/2026-09-09-the-27-agent-alphabet-as-t27-specs.md @@ -0,0 +1,12 @@ +# NOW -- The 27-agent alphabet as first-class .t27 specs (2026-09-09) + +## The 27-agent alphabet as first-class .t27 specs (Closes #3545) + +- `specs/agents/` (27): one `.t27` module per letter of `docs/agents/AGENTS_ALPHABET.md` -- A..Z and the 27th, Ti (`ti.t27`, `LETTER = "TI"`, `ENABLED = false`, register R26 as the site's alphabet table gives it). Every constant is `pub const`; the schema is in `specs/agents/README.md`. Layer four of the ladder Specs -> Skills -> Crons -> Agents: the alphabet table, `docs/agents/AGENTS.md` and `.claude/agents/*.md` were prose; the spec now states the letter (LETTER, ORDINAL, LETTER_NAME, NAME, DOMAIN, ARCHETYPE, REGISTER, LAYER, ENTRY/EXIT_INVARIANT, CLARA_ROLE), the documents that bind it (`SOUL = "SOUL.md"`, `AGENTS_DOC = "AGENTS.md"`, `ALPHABET = "docs/agents/AGENTS_ALPHABET.md"`), its KEY_FILES and its EXPERIENCE_LOG. Transcribed from the alphabet's FULL TABLE and per-agent schema sections; nothing invented. +- Skill binding is evidence-gated. A letter holds a skill (`SKILLS`) only when a source evidently binds it: today **T** alone, via `.claude/agents/trinity.md` (phi-loop, tri-pipeline). The other 26 carry `SKILLS = []` and a `SKILLS_NOTE` saying which sources were checked. `specs/OWNERS.md` rows are catalog ownership, not held skills, and are not read as bindings. `TOOLS`/`TOOLS_NOTE` are optional fields reserved for layer five (tri CLI, MCP) and are absent here. +- The site (gHashTag/trinity#976) vendors a byte-identical copy under `apps/website/public/t27/files/specs/agents/` and generates `public/agents/spec-agents.json` from it through the compiler wasm at build time -- no regex over `.t27`. An unknown `SKILLS` id fails the build; crons are derived as the jobs whose `RUNS` name one of the letter's skills (none today: every cron `RUNS` is `[]`). Measured: **27/27** typecheck ok under the vendored wasm (sha256 `4d9c0447b5ca2887...`), nothing discarded; the same caveat as for skills holds -- `typecheck.ok` is lenient, the generator's field schema is the gate. +- Experience is joined, not assumed. The site reads `.trinity/experience/**` from both checkouts (trinity: 440 files, 383 episodes, 56 unreadable; t27: 2 files, 3 episodes) with an explicit attribution rule (which JSON fields, which letters). Result on this snapshot: **386 episodes, 0 attributed** -- no episode carries an agent letter (`agent` is absent in 385, `claude-opus-4.6` in 1). Every agent card therefore reads "no attributed episodes"; the unattributed count is shown and assigned to nobody. The specs' witness is `spec-only` for all 27 until a log names a letter. +- Language: the specs are English-only (LANG-EN). RU summaries travel through the existing contract: `specs/i18n/agents-ru.t27` `SCOPE` gains `specs/agents` (`[3]str`), and the bundle `trinity:apps/website/i18n/agents.ru.json` gains 27 entries keyed by `ID` (`t27/A` .. `t27/Z`, `t27/TI`). Coverage measured on the site: ru 27/27 agents, 0 orphans. +- Inconsistencies found in the sources are recorded in the README rather than resolved: Ti is r20 / TAW in one place and R19 is Tau's register; F and U both claim phi; `specs/OWNERS.md` says R-Reasoning where the alphabet says R = Runtime. +- Not claimed: no agent is launched by a spec; no register renamed; no episode attributed; `gate-topology` and `untrusted-input` still fail on `master` for already-merged PRs and are not addressed here. +- `specs/OWNERS.md` gains the row `agents/` -> **T-Queen**. diff --git a/specs/OWNERS.md b/specs/OWNERS.md index 4ede582f8..a3e6ae826 100644 --- a/specs/OWNERS.md +++ b/specs/OWNERS.md @@ -20,6 +20,7 @@ | `demos/`, `sandbox/` | **A-Architect** / **Q-QA** | Examples; not ring gold by default | | `isa/` | **C-Compiler** | Register alphabet | | `skills/`, `crons/`, `i18n/` | **T-Queen** | Agent skills and scheduled jobs as `.t27` specs, plus the per-locale translation contracts (`i18n/agents-.t27`) that point at the site's text bundles; the site (gHashTag/trinity) generates its catalogs from a vendored copy | +| `agents/` | **T-Queen** | The 27 agents of `docs/agents/AGENTS_ALPHABET.md` as `.t27` specs (`agents/.t27`, `KIND = "agent"`): letter, domain, archetype, register, invariants, the documents that bind it (`SOUL.md`, `AGENTS.md`, the alphabet) and the skills a source evidently binds; the site joins experience by LETTER | Each subtree with substantial churn should keep a local **`OWNERS.md`** (see below). diff --git a/specs/agents/README.md b/specs/agents/README.md new file mode 100644 index 000000000..889adc218 --- /dev/null +++ b/specs/agents/README.md @@ -0,0 +1,137 @@ +# specs/agents — the 27-agent alphabet as first-class `.t27` specs + +> **Where this lives.** This directory in `gHashTag/t27` is the canonical home of these +> specs — edit them here. `gHashTag/trinity` keeps a vendored copy under +> `apps/website/public/t27/files/specs/agents/` and its build reads that copy through the +> vendored compiler wasm (`t27_compiler.wasm`). The wasm's `typecheck.ok` is necessary, +> not sufficient, so the site's generator (`scripts/agents-from-specs.mjs`) also checks the +> field schema below. The bootstrap compiler on `master` was not run against these files in +> the commit that added them. + + +One file per agent of the Trinity alphabet (`docs/agents/AGENTS_ALPHABET.md`, v3.0): A…Z and +the 27th seat, Ti. The `.t27` file is the source of truth for the agent card on t27.ai; +the JSON the site serves (`public/agents/spec-agents.json`) is generated from these files by +the real compiler (`t27_compiler.wasm`), never by a regex. The agents are bound together by +`SOUL.md` and `AGENTS.md` at the repository root and by their experience log +(`.trinity/experience/`), which is joined to the cards by evidence only (see below). + +File name: `.t27` (lower-case; `ti.t27` for the 27th); module name: `agent_`. +Specs are English-only and ASCII-only (t27 LANG-EN / L3 PURITY): the Greek glyph of a letter +is carried as its name in `LETTER_NAME`, not as a character. + +## The ladder + +``` +Specs -> Skills -> Crons -> Agents +specs/** specs/skills specs/crons specs/agents +what is what a run what starts who holds the skills, under which +declared does a run and law (SOUL.md, AGENTS.md), with which + when entry/exit invariant, and what they + have lived through (experience) +``` + +Each layer is declared in `.t27`, vendored byte-identically into `gHashTag/trinity` +(`apps/website/public/t27/files/specs/...`), compiled by the vendored wasm at build time and +rendered by one explorer per layer (`#/skills`, `#/crons`, `#/agents`). Links go downward +only through declared fields: an agent names its `SKILLS`; a cron names the skills it `RUNS`; +so an agent's crons are *derived* (crons whose `RUNS` intersect the agent's `SKILLS`), never +written by hand. + +## Schema (every constant is `pub const`) + +| constant | type | meaning | +|-------------------|-----------|-------------------------------------------------------------------------------------------| +| `KIND` | `str` | always `"agent"` | +| `ID` | `str` | `t27/` (`t27/A` … `t27/Z`, `t27/TI`) | +| `LETTER` | `str` | `A`…`Z` or `TI` | +| `ORDINAL` | `u8` | 1…27, the row in the alphabet table | +| `LETTER_NAME` | `str` | the Greek/Hebrew letter name from the table (`Alpha`, `Phi`, `Double-Vav`, `Ti`) | +| `NAME` | `str` | display name as in the table, e.g. `Epsilon (Experience)` | +| `DOMAIN` | `str` | the Domain column | +| `ARCHETYPE` | `str` | the Archetype column (`Bull - leader, primary force`) | +| `REGISTER` | `str` | `R0`…`R26` from the table | +| `LAYER` | `str` | `Archetypal` (A–I), `Spiritual` (J–R) or `Physical` (S–Z, Ti) — the three-layer tables | +| `SUMMARY_EN` | `str` | one paragraph: `. ` | +| `SOUL` | `str` | `SOUL.md` — the law every agent is bound by | +| `AGENTS_DOC` | `str` | `AGENTS.md` — the operational rules | +| `ALPHABET` | `str` | `docs/agents/AGENTS_ALPHABET.md` — where the roster is defined | +| `KEY_FILES` | `[N]str` | the Key files column; `[0]str = []` for the reserved seat | +| `ENTRY_INVARIANT` | `str` | the Entry invariant of the schema-details section | +| `EXIT_INVARIANT` | `str` | the Exit invariant | +| `CLARA_ROLE` | `str` | the CLARA role; `""` when the table says `—` | +| `SKILLS` | `[N]str` | skill IDs (`specs/skills`) the agent holds — ONLY when a source binds them (see below) | +| `SKILLS_NOTE` | `str` | where the binding comes from, or why `SKILLS` is empty; required when `SKILLS` is `[]` | +| `TOOLS` | `[N]str` | *optional, layer 5:* tool IDs (`specs/tools`) the agent owns, evidence-bound like SKILLS | +| `TOOLS_NOTE` | `str` | *optional:* source of the tool binding; required when `TOOLS` is present and `[]` | +| `EXPERIENCE_LOG` | `str` | the experience directory the agent's episodes are read from, or `""` | +| `ENABLED` | `bool` | `false` only for the reserved seat (Ti) | + +The generator (`scripts/agents-from-specs.mjs` in trinity) fails the build when: the compiler +verdict is not clean; a constant is missing, not `pub`, or has the wrong annotation / array +length / integer range; `ID` ≠ `t27/`; the file name does not match the letter; +`ORDINAL` is duplicated or outside 1…27; `LAYER` is not one of the three; `SKILLS` names an +ID with no skill spec; `SKILLS` is empty without a `SKILLS_NOTE`; or the directory does not +hold exactly 27 specs. The wasm's `typecheck.ok` alone is necessary, not sufficient. + +## Skill binding rule (evidence, not inference) + +`SKILLS` is filled only when one of these names the skill for that letter: + +1. a row of `specs/OWNERS.md` that assigns a skill directory to the letter; +2. the agent's prompt file `.claude/agents/.md` referencing a skill directory or + `/skill` command; +3. the alphabet's Key files column pointing at a skill directory. + +At the commit these specs were written from, only one binding exists: +`.claude/agents/trinity.md` (the T / Queen prompt) runs `/phi-loop` (L33) and +`/tri-pipeline` (L45), so `T` holds `t27/phi-loop` and `t27/tri-pipeline`. Every other +agent has `SKILLS = []` with a `SKILLS_NOTE` saying so. Nothing is inferred from a domain +name matching a skill name. + +## Experience attribution rule (`public/agents/experience.json`) + +`scripts/sync-agents-experience.mjs` (trinity) reads `.trinity/experience/**` in the trinity +checkout and in the t27 checkout (`T27_ROOT`; default `/home/user/workspace/t27` on the build +box, `/Users/playom/t27` on the owner's machine) and writes a committed snapshot. The rule, +kept identical in the script header: + +1. An episode is one JSON object: a `*.json` file holding an object, each object of a `*.json` + array, or each line of a `*.jsonl` file. `*.md` files are listed as notes, not counted. + Files that do not parse are counted as `unreadable` and listed. +2. The agent is read from the first present field of `agent_letter`, `letter`, `agent`, + `agent_id`, `agents` (array: every member), `owner`. +3. A value attributes to a letter only when, case-insensitively, it is one letter A–Z; or + `ti` / `27th`; or `t27/`; or it starts with `agent-` / `agent_` / + `agent ` followed by a non-letter. A model name (`claude-opus-4.6`), a person or a + repository is **not** a letter: the episode is counted under `unattributed` and the raw + value is tallied in `unattributed.agentValues`. +4. Timestamp from `timestamp` (unix s / ms / ISO-8601) else `date`; outcome from `verdict`, + `status`, `outcome`, or `success`; lessons from `learnings`, `lessons`, `lessons_learned`, + then `mistakes` (prefixed `mistake:`), 160 characters each, at most 12 per agent. +5. Output is sorted so two runs over the same trees differ only in `generatedAt`. + +The generator joins the snapshot by `LETTER`. An agent with zero attributed episodes is shown +as "no attributed episodes" and carries the witness label `spec-only`; one with episodes is +`spec+experience`. At the time of writing, no episode in either repository names an agent +letter (trinity episodes have no agent field; the t27 ring file names a model), so all 27 +agents are `spec-only` and the whole log (386 episodes, 56 unreadable files) is +`unattributed`. That is the measured state, not a gap to paper over. + +## Known inconsistencies in the source document (carried as written, not corrected) + +* The full table gives Ti the register `r20 / TAW`; the detail section gives `υ / R19`. + The specs use `R26` for the 27th seat as the only free register; the table row is quoted in + the alphabet document, not here. +* `F` and `U` are both glyphed `φ` in the table; `LETTER_NAME` keeps `Phi` for F and `Upsilon` + for U from the detail sections. +* `specs/OWNERS.md` names `R-Reasoning`; the alphabet has `R = Rho (Runtime)`. The specs follow + the alphabet (the roster's source of truth); the OWNERS row is unchanged. + +## Editing + +Edit in `gHashTag/t27` (`specs/agents/.t27`), re-vendor the byte-identical copy into +`gHashTag/trinity` `apps/website/public/t27/files/specs/agents/`, then run +`node scripts/agents-from-specs.mjs` and `npm run check:agents` in `apps/website`. Russian +summaries live in the bundle declared by `specs/i18n/agents-ru.t27` +(`apps/website/i18n/agents.ru.json`, entries keyed `t27/`); the spec stays English. diff --git a/specs/agents/a.t27 b/specs/agents/a.t27 new file mode 100644 index 000000000..063fdc06d --- /dev/null +++ b/specs/agents/a.t27 @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: Apache-2.0 +; specs/agents/a.t27 -- agent t27/A, letter A of the 27-agent alphabet +; Source of truth for the agent card on t27.ai (#/agents?agent=t27/A). +; Transcribed from docs/agents/AGENTS_ALPHABET.md (v3.0): the FULL TABLE row and the +; "Agent A - Alpha (Architecture)" schema section. The agent is bound to the others by SOUL.md, +; AGENTS.md and the experience log; the JSON the site serves is generated from this +; file by the real compiler, nothing below is parsed with a regex. ASCII only (L3). +; phi^2 + 1/phi^2 = 3 | TRINITY + +module agent_a; + +pub const KIND : str = "agent"; +pub const ID : str = "t27/A"; +pub const LETTER : str = "A"; +; position in the alphabet, 1..27 (the 27th letter is Ti, register R26) +pub const ORDINAL : u8 = 1; +pub const LETTER_NAME : str = "Alpha"; +pub const NAME : str = "Alpha (Architecture)"; +pub const DOMAIN : str = "Architecture / ADR / SOUL"; +pub const ARCHETYPE : str = "Bull - leader, primary force"; +; Coptic register from the schema section (the ISA register the agent is bound to) +pub const REGISTER : str = "R0"; +; alphabet layer: Archetypal (A-I), Spiritual (J-R), Physical (S-27th) +pub const LAYER : str = "Archetypal"; +pub const SUMMARY_EN : str = "Architecture / ADR / SOUL. SOUL.md is the primary cause and the ADRs are the constitution of the system."; +; The three documents that bind every agent, as repo-root paths in gHashTag/t27. +pub const SOUL : str = "SOUL.md"; +pub const AGENTS_DOC : str = "AGENTS.md"; +pub const ALPHABET : str = "docs/agents/AGENTS_ALPHABET.md"; +; Key files as the alphabet lists them (paths and globs relative to the t27 root). +pub const KEY_FILES : [3]str = ["SOUL.md", "architecture/ADR-*.md", "architecture/CANON_DE_ZIGFICATION.md"]; +pub const ENTRY_INVARIANT : str = "SOUL.md exists, is ASCII-only, and defines L1-L7 laws"; +pub const EXIT_INVARIANT : str = "All ADRs reviewed, consistent with constitution, no conflicts"; +; CLARA role from the alphabet (TA1/TA2 work areas). +pub const CLARA_ROLE : str = "TA1: AR Architecture Design - designs AR module architecture, ensures composability"; +; Skill IDs the agent holds. Bound only where a source names the skill; SKILLS_NOTE +; cites that source or says why the list is empty. +pub const SKILLS : [0]str = []; +pub const SKILLS_NOTE : str = "No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it."; +; Where the agent logs episodes (AGENTS_ALPHABET.md: "Logs to .trinity/experience/"). +pub const EXPERIENCE_LOG : str = ".trinity/experience/"; +pub const ENABLED : bool = true; diff --git a/specs/agents/b.t27 b/specs/agents/b.t27 new file mode 100644 index 000000000..77b881562 --- /dev/null +++ b/specs/agents/b.t27 @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: Apache-2.0 +; specs/agents/b.t27 -- agent t27/B, letter B of the 27-agent alphabet +; Source of truth for the agent card on t27.ai (#/agents?agent=t27/B). +; Transcribed from docs/agents/AGENTS_ALPHABET.md (v3.0): the FULL TABLE row and the +; "Agent B - Beta (Build)" schema section. The agent is bound to the others by SOUL.md, +; AGENTS.md and the experience log; the JSON the site serves is generated from this +; file by the real compiler, nothing below is parsed with a regex. ASCII only (L3). +; phi^2 + 1/phi^2 = 3 | TRINITY + +module agent_b; + +pub const KIND : str = "agent"; +pub const ID : str = "t27/B"; +pub const LETTER : str = "B"; +; position in the alphabet, 1..27 (the 27th letter is Ti, register R26) +pub const ORDINAL : u8 = 2; +pub const LETTER_NAME : str = "Beta"; +pub const NAME : str = "Beta (Build)"; +pub const DOMAIN : str = "Build / Pipeline"; +pub const ARCHETYPE : str = "House - container, dwelling"; +; Coptic register from the schema section (the ISA register the agent is bound to) +pub const REGISTER : str = "R1"; +; alphabet layer: Archetypal (A-I), Spiritual (J-R), Physical (S-27th) +pub const LAYER : str = "Archetypal"; +pub const SUMMARY_EN : str = "Build / Pipeline. build.tri is the house of specifications and the pipeline is its dwelling."; +; The three documents that bind every agent, as repo-root paths in gHashTag/t27. +pub const SOUL : str = "SOUL.md"; +pub const AGENTS_DOC : str = "AGENTS.md"; +pub const ALPHABET : str = "docs/agents/AGENTS_ALPHABET.md"; +; Key files as the alphabet lists them (paths and globs relative to the t27 root). +pub const KEY_FILES : [2]str = ["build.tri", "src/tri/pipeline/"]; +pub const ENTRY_INVARIANT : str = "Build system is clean, no stale artifacts"; +pub const EXIT_INVARIANT : str = "All tests pass, CI pipeline is green"; +; The alphabet lists no CLARA role for this agent ("-"). +pub const CLARA_ROLE : str = ""; +; Skill IDs the agent holds. Bound only where a source names the skill; SKILLS_NOTE +; cites that source or says why the list is empty. +pub const SKILLS : [0]str = []; +pub const SKILLS_NOTE : str = "No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it."; +; Where the agent logs episodes (AGENTS_ALPHABET.md: "Logs to .trinity/experience/"). +pub const EXPERIENCE_LOG : str = ".trinity/experience/"; +pub const ENABLED : bool = true; diff --git a/specs/agents/c.t27 b/specs/agents/c.t27 new file mode 100644 index 000000000..c2698d37b --- /dev/null +++ b/specs/agents/c.t27 @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: Apache-2.0 +; specs/agents/c.t27 -- agent t27/C, letter C of the 27-agent alphabet +; Source of truth for the agent card on t27.ai (#/agents?agent=t27/C). +; Transcribed from docs/agents/AGENTS_ALPHABET.md (v3.0): the FULL TABLE row and the +; "Agent C - Gamma (Compiler Core)" schema section. The agent is bound to the others by SOUL.md, +; AGENTS.md and the experience log; the JSON the site serves is generated from this +; file by the real compiler, nothing below is parsed with a regex. ASCII only (L3). +; phi^2 + 1/phi^2 = 3 | TRINITY + +module agent_c; + +pub const KIND : str = "agent"; +pub const ID : str = "t27/C"; +pub const LETTER : str = "C"; +; position in the alphabet, 1..27 (the 27th letter is Ti, register R26) +pub const ORDINAL : u8 = 3; +pub const LETTER_NAME : str = "Gamma"; +pub const NAME : str = "Gamma (Compiler Core)"; +pub const DOMAIN : str = "Compiler Core / AR Language"; +pub const ARCHETYPE : str = "Camel - carrier across borders"; +; Coptic register from the schema section (the ISA register the agent is bound to) +pub const REGISTER : str = "R2"; +; alphabet layer: Archetypal (A-I), Spiritual (J-R), Physical (S-27th) +pub const LAYER : str = "Archetypal"; +pub const SUMMARY_EN : str = "Compiler Core / AR Language. The compiler carries text across borders, from spec to generated code."; +; The three documents that bind every agent, as repo-root paths in gHashTag/t27. +pub const SOUL : str = "SOUL.md"; +pub const AGENTS_DOC : str = "AGENTS.md"; +pub const ALPHABET : str = "docs/agents/AGENTS_ALPHABET.md"; +; Key files as the alphabet lists them (paths and globs relative to the t27 root). +pub const KEY_FILES : [3]str = ["t27/compiler/parser/", "bootstrap/src/compiler.rs", "specs/ar/*.t27"]; +pub const ENTRY_INVARIANT : str = "Parser can handle all AR syntax (ternary logic, rules, proofs)"; +pub const EXIT_INVARIANT : str = "Generated code compiles, AST is valid"; +; CLARA role from the alphabet (TA1/TA2 work areas). +pub const CLARA_ROLE : str = "TA1: AR Language Implementation - implements AR language features in t27 compiler"; +; Skill IDs the agent holds. Bound only where a source names the skill; SKILLS_NOTE +; cites that source or says why the list is empty. +pub const SKILLS : [0]str = []; +pub const SKILLS_NOTE : str = "No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it."; +; Where the agent logs episodes (AGENTS_ALPHABET.md: "Logs to .trinity/experience/"). +pub const EXPERIENCE_LOG : str = ".trinity/experience/"; +pub const ENABLED : bool = true; diff --git a/specs/agents/d.t27 b/specs/agents/d.t27 new file mode 100644 index 000000000..bc0e2acc4 --- /dev/null +++ b/specs/agents/d.t27 @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: Apache-2.0 +; specs/agents/d.t27 -- agent t27/D, letter D of the 27-agent alphabet +; Source of truth for the agent card on t27.ai (#/agents?agent=t27/D). +; Transcribed from docs/agents/AGENTS_ALPHABET.md (v3.0): the FULL TABLE row and the +; "Agent D - Delta (De-Zigfication)" schema section. The agent is bound to the others by SOUL.md, +; AGENTS.md and the experience log; the JSON the site serves is generated from this +; file by the real compiler, nothing below is parsed with a regex. ASCII only (L3). +; phi^2 + 1/phi^2 = 3 | TRINITY + +module agent_d; + +pub const KIND : str = "agent"; +pub const ID : str = "t27/D"; +pub const LETTER : str = "D"; +; position in the alphabet, 1..27 (the 27th letter is Ti, register R26) +pub const ORDINAL : u8 = 4; +pub const LETTER_NAME : str = "Delta"; +pub const NAME : str = "Delta (De-Zigfication)"; +pub const DOMAIN : str = "De-Zigfication / Migration"; +pub const ARCHETYPE : str = "Door - transition between worlds"; +; Coptic register from the schema section (the ISA register the agent is bound to) +pub const REGISTER : str = "R3"; +; alphabet layer: Archetypal (A-I), Spiritual (J-R), Physical (S-27th) +pub const LAYER : str = "Archetypal"; +pub const SUMMARY_EN : str = "De-Zigfication / Migration. De-Zigfication is the open door from .zig to .t27."; +; The three documents that bind every agent, as repo-root paths in gHashTag/t27. +pub const SOUL : str = "SOUL.md"; +pub const AGENTS_DOC : str = "AGENTS.md"; +pub const ALPHABET : str = "docs/agents/AGENTS_ALPHABET.md"; +; Key files as the alphabet lists them (paths and globs relative to the t27 root). +pub const KEY_FILES : [2]str = ["docs/migration-map.md", "specs/ar/*.t27"]; +pub const ENTRY_INVARIANT : str = "Legacy Zig modules are catalogued and mapped"; +pub const EXIT_INVARIANT : str = "All AR specs are in .t27 format, no Zig hand-editing on AR"; +; The alphabet lists no CLARA role for this agent ("-"). +pub const CLARA_ROLE : str = ""; +; Skill IDs the agent holds. Bound only where a source names the skill; SKILLS_NOTE +; cites that source or says why the list is empty. +pub const SKILLS : [0]str = []; +pub const SKILLS_NOTE : str = "No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it."; +; Where the agent logs episodes (AGENTS_ALPHABET.md: "Logs to .trinity/experience/"). +pub const EXPERIENCE_LOG : str = ".trinity/experience/"; +pub const ENABLED : bool = true; diff --git a/specs/agents/e.t27 b/specs/agents/e.t27 new file mode 100644 index 000000000..237540be7 --- /dev/null +++ b/specs/agents/e.t27 @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: Apache-2.0 +; specs/agents/e.t27 -- agent t27/E, letter E of the 27-agent alphabet +; Source of truth for the agent card on t27.ai (#/agents?agent=t27/E). +; Transcribed from docs/agents/AGENTS_ALPHABET.md (v3.0): the FULL TABLE row and the +; "Agent E - Epsilon (Experience)" schema section. The agent is bound to the others by SOUL.md, +; AGENTS.md and the experience log; the JSON the site serves is generated from this +; file by the real compiler, nothing below is parsed with a regex. ASCII only (L3). +; phi^2 + 1/phi^2 = 3 | TRINITY + +module agent_e; + +pub const KIND : str = "agent"; +pub const ID : str = "t27/E"; +pub const LETTER : str = "E"; +; position in the alphabet, 1..27 (the 27th letter is Ti, register R26) +pub const ORDINAL : u8 = 5; +pub const LETTER_NAME : str = "Epsilon"; +pub const NAME : str = "Epsilon (Experience)"; +pub const DOMAIN : str = "Experience / XAI"; +pub const ARCHETYPE : str = "Window - view into the past"; +; Coptic register from the schema section (the ISA register the agent is bound to) +pub const REGISTER : str = "R4"; +; alphabet layer: Archetypal (A-I), Spiritual (J-R), Physical (S-27th) +pub const LAYER : str = "Archetypal"; +pub const SUMMARY_EN : str = "Experience / XAI. Experience is the window into the past of the system, the breath of its memory."; +; The three documents that bind every agent, as repo-root paths in gHashTag/t27. +pub const SOUL : str = "SOUL.md"; +pub const AGENTS_DOC : str = "AGENTS.md"; +pub const ALPHABET : str = "docs/agents/AGENTS_ALPHABET.md"; +; Key files as the alphabet lists them (paths and globs relative to the t27 root). +pub const KEY_FILES : [3]str = [".trinity/experience/", "specs/ar/explainability.t27", "specs/ar/proof_trace.t27"]; +pub const ENTRY_INVARIANT : str = "Episode log is append-only, no deletions"; +pub const EXIT_INVARIANT : str = "Lessons learned are catalogued, explanations are generated"; +; CLARA role from the alphabet (TA1/TA2 work areas). +pub const CLARA_ROLE : str = "TA2: AR Explanation & XAI - generates human-readable explanations for AR outputs"; +; Skill IDs the agent holds. Bound only where a source names the skill; SKILLS_NOTE +; cites that source or says why the list is empty. +pub const SKILLS : [0]str = []; +pub const SKILLS_NOTE : str = "No source binds a skill to this agent. .claude/agents/agent-e-experience.md mentions phi-loop only as the label of the feedback field (1 = phi-loop, 0 = agent cycle); the alphabet key files point at the experience log and AR specs, not at a skill directory."; +; Where the agent logs episodes (AGENTS_ALPHABET.md: "Logs to .trinity/experience/"). +pub const EXPERIENCE_LOG : str = ".trinity/experience/"; +pub const ENABLED : bool = true; diff --git a/specs/agents/f.t27 b/specs/agents/f.t27 new file mode 100644 index 000000000..97682f39d --- /dev/null +++ b/specs/agents/f.t27 @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: Apache-2.0 +; specs/agents/f.t27 -- agent t27/F, letter F of the 27-agent alphabet +; Source of truth for the agent card on t27.ai (#/agents?agent=t27/F). +; Transcribed from docs/agents/AGENTS_ALPHABET.md (v3.0): the FULL TABLE row and the +; "Agent F - Phi (Formal Conformance)" schema section. The agent is bound to the others by SOUL.md, +; AGENTS.md and the experience log; the JSON the site serves is generated from this +; file by the real compiler, nothing below is parsed with a regex. ASCII only (L3). +; phi^2 + 1/phi^2 = 3 | TRINITY + +module agent_f; + +pub const KIND : str = "agent"; +pub const ID : str = "t27/F"; +pub const LETTER : str = "F"; +; position in the alphabet, 1..27 (the 27th letter is Ti, register R26) +pub const ORDINAL : u8 = 6; +pub const LETTER_NAME : str = "Phi"; +pub const NAME : str = "Phi (Formal Conformance)"; +pub const DOMAIN : str = "Formal Conformance"; +pub const ARCHETYPE : str = "Nail - connection, binding"; +; Coptic register from the schema section (the ISA register the agent is bound to) +pub const REGISTER : str = "R5"; +; alphabet layer: Archetypal (A-I), Spiritual (J-R), Physical (S-27th) +pub const LAYER : str = "Archetypal"; +pub const SUMMARY_EN : str = "Formal Conformance. The conformance JSON files are the nails holding the specs together."; +; The three documents that bind every agent, as repo-root paths in gHashTag/t27. +pub const SOUL : str = "SOUL.md"; +pub const AGENTS_DOC : str = "AGENTS.md"; +pub const ALPHABET : str = "docs/agents/AGENTS_ALPHABET.md"; +; Key files as the alphabet lists them (paths and globs relative to the t27 root). +pub const KEY_FILES : [2]str = ["t27/conformance/*.json", "conformance/FORMAT-SPEC-001.json"]; +pub const ENTRY_INVARIANT : str = "All sacred vectors (G, OmegaLambda, phi) are valid"; +pub const EXIT_INVARIANT : str = "Conformance > 95%, all sacred physics verified"; +; The alphabet lists no CLARA role for this agent ("-"). +pub const CLARA_ROLE : str = ""; +; Skill IDs the agent holds. Bound only where a source names the skill; SKILLS_NOTE +; cites that source or says why the list is empty. +pub const SKILLS : [0]str = []; +pub const SKILLS_NOTE : str = "No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it."; +; Where the agent logs episodes (AGENTS_ALPHABET.md: "Logs to .trinity/experience/"). +pub const EXPERIENCE_LOG : str = ".trinity/experience/"; +pub const ENABLED : bool = true; diff --git a/specs/agents/g.t27 b/specs/agents/g.t27 new file mode 100644 index 000000000..f6b1ae527 --- /dev/null +++ b/specs/agents/g.t27 @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: Apache-2.0 +; specs/agents/g.t27 -- agent t27/G, letter G of the 27-agent alphabet +; Source of truth for the agent card on t27.ai (#/agents?agent=t27/G). +; Transcribed from docs/agents/AGENTS_ALPHABET.md (v3.0): the FULL TABLE row and the +; "Agent G - Gamma (Graph)" schema section. The agent is bound to the others by SOUL.md, +; AGENTS.md and the experience log; the JSON the site serves is generated from this +; file by the real compiler, nothing below is parsed with a regex. ASCII only (L3). +; phi^2 + 1/phi^2 = 3 | TRINITY + +module agent_g; + +pub const KIND : str = "agent"; +pub const ID : str = "t27/G"; +pub const LETTER : str = "G"; +; position in the alphabet, 1..27 (the 27th letter is Ti, register R26) +pub const ORDINAL : u8 = 7; +pub const LETTER_NAME : str = "Gamma (var.)"; +pub const NAME : str = "Gamma (Graph)"; +pub const DOMAIN : str = "Graph / ArchBench"; +pub const ARCHETYPE : str = "Return - feedback"; +; Coptic register from the schema section (the ISA register the agent is bound to) +pub const REGISTER : str = "R6"; +; alphabet layer: Archetypal (A-I), Spiritual (J-R), Physical (S-27th) +pub const LAYER : str = "Archetypal"; +pub const SUMMARY_EN : str = "Graph / ArchBench. The graph is the map of the Trinity world and its distance metric."; +; The three documents that bind every agent, as repo-root paths in gHashTag/t27. +pub const SOUL : str = "SOUL.md"; +pub const AGENTS_DOC : str = "AGENTS.md"; +pub const ALPHABET : str = "docs/agents/AGENTS_ALPHABET.md"; +; Key files as the alphabet lists them (paths and globs relative to the t27 root). +pub const KEY_FILES : [2]str = ["architecture/graph_v2.json", "architecture/graph.tri"]; +pub const ENTRY_INVARIANT : str = "Graph is acyclic, topological sort exists"; +pub const EXIT_INVARIANT : str = "All edges satisfied, no broken dependencies"; +; The alphabet lists no CLARA role for this agent ("-"). +pub const CLARA_ROLE : str = ""; +; Skill IDs the agent holds. Bound only where a source names the skill; SKILLS_NOTE +; cites that source or says why the list is empty. +pub const SKILLS : [0]str = []; +pub const SKILLS_NOTE : str = "No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it."; +; Where the agent logs episodes (AGENTS_ALPHABET.md: "Logs to .trinity/experience/"). +pub const EXPERIENCE_LOG : str = ".trinity/experience/"; +pub const ENABLED : bool = true; diff --git a/specs/agents/h.t27 b/specs/agents/h.t27 new file mode 100644 index 000000000..b38ed4170 --- /dev/null +++ b/specs/agents/h.t27 @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: Apache-2.0 +; specs/agents/h.t27 -- agent t27/H, letter H of the 27-agent alphabet +; Source of truth for the agent card on t27.ai (#/agents?agent=t27/H). +; Transcribed from docs/agents/AGENTS_ALPHABET.md (v3.0): the FULL TABLE row and the +; "Agent H - Eta (HSLM)" schema section. The agent is bound to the others by SOUL.md, +; AGENTS.md and the experience log; the JSON the site serves is generated from this +; file by the real compiler, nothing below is parsed with a regex. ASCII only (L3). +; phi^2 + 1/phi^2 = 3 | TRINITY + +module agent_h; + +pub const KIND : str = "agent"; +pub const ID : str = "t27/H"; +pub const LETTER : str = "H"; +; position in the alphabet, 1..27 (the 27th letter is Ti, register R26) +pub const ORDINAL : u8 = 8; +pub const LETTER_NAME : str = "Eta"; +pub const NAME : str = "Eta (HSLM)"; +pub const DOMAIN : str = "HSLM / NN Architectures"; +pub const ARCHETYPE : str = "Fence - boundary, life"; +; Coptic register from the schema section (the ISA register the agent is bound to) +pub const REGISTER : str = "R7"; +; alphabet layer: Archetypal (A-I), Spiritual (J-R), Physical (S-27th) +pub const LAYER : str = "Archetypal"; +pub const SUMMARY_EN : str = "HSLM / NN Architectures. HSLM is the neural-network architecture, the boundary between brain layers."; +; The three documents that bind every agent, as repo-root paths in gHashTag/t27. +pub const SOUL : str = "SOUL.md"; +pub const AGENTS_DOC : str = "AGENTS.md"; +pub const ALPHABET : str = "docs/agents/AGENTS_ALPHABET.md"; +; Key files as the alphabet lists them (paths and globs relative to the t27 root). +pub const KEY_FILES : [2]str = ["t27/specs/nn/hslm.t27", "t27/specs/nn/attention.t27"]; +pub const ENTRY_INVARIANT : str = "HSLM layers are defined, connections are valid"; +pub const EXIT_INVARIANT : str = "Attention traces are validated, sacred attention holds"; +; The alphabet lists no CLARA role for this agent ("-"). +pub const CLARA_ROLE : str = ""; +; Skill IDs the agent holds. Bound only where a source names the skill; SKILLS_NOTE +; cites that source or says why the list is empty. +pub const SKILLS : [0]str = []; +pub const SKILLS_NOTE : str = "No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it."; +; Where the agent logs episodes (AGENTS_ALPHABET.md: "Logs to .trinity/experience/"). +pub const EXPERIENCE_LOG : str = ".trinity/experience/"; +pub const ENABLED : bool = true; diff --git a/specs/agents/i.t27 b/specs/agents/i.t27 new file mode 100644 index 000000000..c064e8d5a --- /dev/null +++ b/specs/agents/i.t27 @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: Apache-2.0 +; specs/agents/i.t27 -- agent t27/I, letter I of the 27-agent alphabet +; Source of truth for the agent card on t27.ai (#/agents?agent=t27/I). +; Transcribed from docs/agents/AGENTS_ALPHABET.md (v3.0): the FULL TABLE row and the +; "Agent I - Iota (ISA)" schema section. The agent is bound to the others by SOUL.md, +; AGENTS.md and the experience log; the JSON the site serves is generated from this +; file by the real compiler, nothing below is parsed with a regex. ASCII only (L3). +; phi^2 + 1/phi^2 = 3 | TRINITY + +module agent_i; + +pub const KIND : str = "agent"; +pub const ID : str = "t27/I"; +pub const LETTER : str = "I"; +; position in the alphabet, 1..27 (the 27th letter is Ti, register R26) +pub const ORDINAL : u8 = 9; +pub const LETTER_NAME : str = "Iota"; +pub const NAME : str = "Iota (ISA)"; +pub const DOMAIN : str = "ISA / Registers"; +pub const ARCHETYPE : str = "Hand - action, point"; +; Coptic register from the schema section (the ISA register the agent is bound to) +pub const REGISTER : str = "R8"; +; alphabet layer: Archetypal (A-I), Spiritual (J-R), Physical (S-27th) +pub const LAYER : str = "Archetypal"; +pub const SUMMARY_EN : str = "ISA / Registers. The ISA is the hand of the machine, its most basic instruction level."; +; The three documents that bind every agent, as repo-root paths in gHashTag/t27. +pub const SOUL : str = "SOUL.md"; +pub const AGENTS_DOC : str = "AGENTS.md"; +pub const ALPHABET : str = "docs/agents/AGENTS_ALPHABET.md"; +; Key files as the alphabet lists them (paths and globs relative to the t27 root). +pub const KEY_FILES : [1]str = ["t27/specs/isa/registers.t27"]; +pub const ENTRY_INVARIANT : str = "27 registers are defined, Coptic mapping exists"; +pub const EXIT_INVARIANT : str = "Coptic mapping is verified (bijection), all registers accessible"; +; The alphabet lists no CLARA role for this agent ("-"). +pub const CLARA_ROLE : str = ""; +; Skill IDs the agent holds. Bound only where a source names the skill; SKILLS_NOTE +; cites that source or says why the list is empty. +pub const SKILLS : [0]str = []; +pub const SKILLS_NOTE : str = "No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it."; +; Where the agent logs episodes (AGENTS_ALPHABET.md: "Logs to .trinity/experience/"). +pub const EXPERIENCE_LOG : str = ".trinity/experience/"; +pub const ENABLED : bool = true; diff --git a/specs/agents/j.t27 b/specs/agents/j.t27 new file mode 100644 index 000000000..580246ae0 --- /dev/null +++ b/specs/agents/j.t27 @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: Apache-2.0 +; specs/agents/j.t27 -- agent t27/J, letter J of the 27-agent alphabet +; Source of truth for the agent card on t27.ai (#/agents?agent=t27/J). +; Transcribed from docs/agents/AGENTS_ALPHABET.md (v3.0): the FULL TABLE row and the +; "Agent J - Iota-extended (Jobs)" schema section. The agent is bound to the others by SOUL.md, +; AGENTS.md and the experience log; the JSON the site serves is generated from this +; file by the real compiler, nothing below is parsed with a regex. ASCII only (L3). +; phi^2 + 1/phi^2 = 3 | TRINITY + +module agent_j; + +pub const KIND : str = "agent"; +pub const ID : str = "t27/J"; +pub const LETTER : str = "J"; +; position in the alphabet, 1..27 (the 27th letter is Ti, register R26) +pub const ORDINAL : u8 = 10; +pub const LETTER_NAME : str = "Iota-extended"; +pub const NAME : str = "Iota-extended (Jobs)"; +pub const DOMAIN : str = "Jobs / Task Routing"; +pub const ARCHETYPE : str = "Hand with grip - dispatcher"; +; Coptic register from the schema section (the ISA register the agent is bound to) +pub const REGISTER : str = "R9"; +; alphabet layer: Archetypal (A-I), Spiritual (J-R), Physical (S-27th) +pub const LAYER : str = "Spiritual"; +pub const SUMMARY_EN : str = "Jobs / Task Routing. Jobs grab tasks and route them."; +; The three documents that bind every agent, as repo-root paths in gHashTag/t27. +pub const SOUL : str = "SOUL.md"; +pub const AGENTS_DOC : str = "AGENTS.md"; +pub const ALPHABET : str = "docs/agents/AGENTS_ALPHABET.md"; +; Key files as the alphabet lists them (paths and globs relative to the t27 root). +pub const KEY_FILES : [1]str = ["src/tri/dev_commands.zig"]; +pub const ENTRY_INVARIANT : str = "Task queue exists, scheduler is running"; +pub const EXIT_INVARIANT : str = "No stuck jobs > 1 hour, all jobs assigned"; +; The alphabet lists no CLARA role for this agent ("-"). +pub const CLARA_ROLE : str = ""; +; Skill IDs the agent holds. Bound only where a source names the skill; SKILLS_NOTE +; cites that source or says why the list is empty. +pub const SKILLS : [0]str = []; +pub const SKILLS_NOTE : str = "No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it."; +; Where the agent logs episodes (AGENTS_ALPHABET.md: "Logs to .trinity/experience/"). +pub const EXPERIENCE_LOG : str = ".trinity/experience/"; +pub const ENABLED : bool = true; diff --git a/specs/agents/k.t27 b/specs/agents/k.t27 new file mode 100644 index 000000000..afe00dd9d --- /dev/null +++ b/specs/agents/k.t27 @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: Apache-2.0 +; specs/agents/k.t27 -- agent t27/K, letter K of the 27-agent alphabet +; Source of truth for the agent card on t27.ai (#/agents?agent=t27/K). +; Transcribed from docs/agents/AGENTS_ALPHABET.md (v3.0): the FULL TABLE row and the +; "Agent K - Kappa (Kernel)" schema section. The agent is bound to the others by SOUL.md, +; AGENTS.md and the experience log; the JSON the site serves is generated from this +; file by the real compiler, nothing below is parsed with a regex. ASCII only (L3). +; phi^2 + 1/phi^2 = 3 | TRINITY + +module agent_k; + +pub const KIND : str = "agent"; +pub const ID : str = "t27/K"; +pub const LETTER : str = "K"; +; position in the alphabet, 1..27 (the 27th letter is Ti, register R26) +pub const ORDINAL : u8 = 11; +pub const LETTER_NAME : str = "Kappa"; +pub const NAME : str = "Kappa (Kernel)"; +pub const DOMAIN : str = "Kernel / FPGA MAC"; +pub const ARCHETYPE : str = "Palm - open hand"; +; Coptic register from the schema section (the ISA register the agent is bound to) +pub const REGISTER : str = "R10"; +; alphabet layer: Archetypal (A-I), Spiritual (J-R), Physical (S-27th) +pub const LAYER : str = "Spiritual"; +pub const SUMMARY_EN : str = "Kernel / FPGA MAC. Kernel and FPGA are the open palm of the lower hardware level."; +; The three documents that bind every agent, as repo-root paths in gHashTag/t27. +pub const SOUL : str = "SOUL.md"; +pub const AGENTS_DOC : str = "AGENTS.md"; +pub const ALPHABET : str = "docs/agents/AGENTS_ALPHABET.md"; +; Key files as the alphabet lists them (paths and globs relative to the t27 root). +pub const KEY_FILES : [2]str = ["t27/specs/fpga/mac.t27", "specs/math/e8_lie_algebra.t27"]; +pub const ENTRY_INVARIANT : str = "MAC spec is zero-DSP (no digital signal processors)"; +pub const EXIT_INVARIANT : str = "Synthesis is verified, E8 kernel integration works"; +; The alphabet lists no CLARA role for this agent ("-"). +pub const CLARA_ROLE : str = ""; +; Skill IDs the agent holds. Bound only where a source names the skill; SKILLS_NOTE +; cites that source or says why the list is empty. +pub const SKILLS : [0]str = []; +pub const SKILLS_NOTE : str = "No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it."; +; Where the agent logs episodes (AGENTS_ALPHABET.md: "Logs to .trinity/experience/"). +pub const EXPERIENCE_LOG : str = ".trinity/experience/"; +pub const ENABLED : bool = true; diff --git a/specs/agents/l.t27 b/specs/agents/l.t27 new file mode 100644 index 000000000..ef8b7f6f9 --- /dev/null +++ b/specs/agents/l.t27 @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: Apache-2.0 +; specs/agents/l.t27 -- agent t27/L, letter L of the 27-agent alphabet +; Source of truth for the agent card on t27.ai (#/agents?agent=t27/L). +; Transcribed from docs/agents/AGENTS_ALPHABET.md (v3.0): the FULL TABLE row and the +; "Agent L - Lambda (Language)" schema section. The agent is bound to the others by SOUL.md, +; AGENTS.md and the experience log; the JSON the site serves is generated from this +; file by the real compiler, nothing below is parsed with a regex. ASCII only (L3). +; phi^2 + 1/phi^2 = 3 | TRINITY + +module agent_l; + +pub const KIND : str = "agent"; +pub const ID : str = "t27/L"; +pub const LETTER : str = "L"; +; position in the alphabet, 1..27 (the 27th letter is Ti, register R26) +pub const ORDINAL : u8 = 12; +pub const LETTER_NAME : str = "Lambda"; +pub const NAME : str = "Lambda (Language)"; +pub const DOMAIN : str = "Language / Syntax vNEXT"; +pub const ARCHETYPE : str = "Staff - teacher, guide"; +; Coptic register from the schema section (the ISA register the agent is bound to) +pub const REGISTER : str = "R11"; +; alphabet layer: Archetypal (A-I), Spiritual (J-R), Physical (S-27th) +pub const LAYER : str = "Spiritual"; +pub const SUMMARY_EN : str = "Language / Syntax vNEXT. Language is the teacher guiding Trinity speech."; +; The three documents that bind every agent, as repo-root paths in gHashTag/t27. +pub const SOUL : str = "SOUL.md"; +pub const AGENTS_DOC : str = "AGENTS.md"; +pub const ALPHABET : str = "docs/agents/AGENTS_ALPHABET.md"; +; Key files as the alphabet lists them (paths and globs relative to the t27 root). +pub const KEY_FILES : [1]str = ["docs/nona-02-organism/TRI_SYNTAX_VNEXT.md"]; +pub const ENTRY_INVARIANT : str = "Syntax vNEXT is documented, BNF grammar exists"; +pub const EXIT_INVARIANT : str = "Parser implements vNEXT, all syntax tests pass"; +; The alphabet lists no CLARA role for this agent ("-"). +pub const CLARA_ROLE : str = ""; +; Skill IDs the agent holds. Bound only where a source names the skill; SKILLS_NOTE +; cites that source or says why the list is empty. +pub const SKILLS : [0]str = []; +pub const SKILLS_NOTE : str = "No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it."; +; Where the agent logs episodes (AGENTS_ALPHABET.md: "Logs to .trinity/experience/"). +pub const EXPERIENCE_LOG : str = ".trinity/experience/"; +pub const ENABLED : bool = true; diff --git a/specs/agents/m.t27 b/specs/agents/m.t27 new file mode 100644 index 000000000..c25875859 --- /dev/null +++ b/specs/agents/m.t27 @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: Apache-2.0 +; specs/agents/m.t27 -- agent t27/M, letter M of the 27-agent alphabet +; Source of truth for the agent card on t27.ai (#/agents?agent=t27/M). +; Transcribed from docs/agents/AGENTS_ALPHABET.md (v3.0): the FULL TABLE row and the +; "Agent M - Mu (Metrics)" schema section. The agent is bound to the others by SOUL.md, +; AGENTS.md and the experience log; the JSON the site serves is generated from this +; file by the real compiler, nothing below is parsed with a regex. ASCII only (L3). +; phi^2 + 1/phi^2 = 3 | TRINITY + +module agent_m; + +pub const KIND : str = "agent"; +pub const ID : str = "t27/M"; +pub const LETTER : str = "M"; +; position in the alphabet, 1..27 (the 27th letter is Ti, register R26) +pub const ORDINAL : u8 = 13; +pub const LETTER_NAME : str = "Mu"; +pub const NAME : str = "Mu (Metrics)"; +pub const DOMAIN : str = "Metrics / Telemetry"; +pub const ARCHETYPE : str = "Water - flow of data"; +; Coptic register from the schema section (the ISA register the agent is bound to) +pub const REGISTER : str = "R12"; +; alphabet layer: Archetypal (A-I), Spiritual (J-R), Physical (S-27th) +pub const LAYER : str = "Spiritual"; +pub const SUMMARY_EN : str = "Metrics / Telemetry. Metrics are the continuous stream of measurements."; +; The three documents that bind every agent, as repo-root paths in gHashTag/t27. +pub const SOUL : str = "SOUL.md"; +pub const AGENTS_DOC : str = "AGENTS.md"; +pub const ALPHABET : str = "docs/agents/AGENTS_ALPHABET.md"; +; Key files as the alphabet lists them (paths and globs relative to the t27 root). +pub const KEY_FILES : [2]str = [".trinity/bench/", "docs/qualification/TVP.md"]; +pub const ENTRY_INVARIANT : str = "Bench baseline exists, telemetry is running"; +pub const EXIT_INVARIANT : str = "No performance regression > 5%, all benchmarks current"; +; The alphabet lists no CLARA role for this agent ("-"). +pub const CLARA_ROLE : str = ""; +; Skill IDs the agent holds. Bound only where a source names the skill; SKILLS_NOTE +; cites that source or says why the list is empty. +pub const SKILLS : [0]str = []; +pub const SKILLS_NOTE : str = "No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it."; +; Where the agent logs episodes (AGENTS_ALPHABET.md: "Logs to .trinity/experience/"). +pub const EXPERIENCE_LOG : str = ".trinity/experience/"; +pub const ENABLED : bool = true; diff --git a/specs/agents/n.t27 b/specs/agents/n.t27 new file mode 100644 index 000000000..a504fe263 --- /dev/null +++ b/specs/agents/n.t27 @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: Apache-2.0 +; specs/agents/n.t27 -- agent t27/N, letter N of the 27-agent alphabet +; Source of truth for the agent card on t27.ai (#/agents?agent=t27/N). +; Transcribed from docs/agents/AGENTS_ALPHABET.md (v3.0): the FULL TABLE row and the +; "Agent N - Nu (Numeric)" schema section. The agent is bound to the others by SOUL.md, +; AGENTS.md and the experience log; the JSON the site serves is generated from this +; file by the real compiler, nothing below is parsed with a regex. ASCII only (L3). +; phi^2 + 1/phi^2 = 3 | TRINITY + +module agent_n; + +pub const KIND : str = "agent"; +pub const ID : str = "t27/N"; +pub const LETTER : str = "N"; +; position in the alphabet, 1..27 (the 27th letter is Ti, register R26) +pub const ORDINAL : u8 = 14; +pub const LETTER_NAME : str = "Nu"; +pub const NAME : str = "Nu (Numeric)"; +pub const DOMAIN : str = "Numeric / GoldenFloat"; +pub const ARCHETYPE : str = "Fish - offspring, multiplication"; +; Coptic register from the schema section (the ISA register the agent is bound to) +pub const REGISTER : str = "R13"; +; alphabet layer: Archetypal (A-I), Spiritual (J-R), Physical (S-27th) +pub const LAYER : str = "Spiritual"; +pub const SUMMARY_EN : str = "Numeric / GoldenFloat. Numeric is the number-fish swimming toward the golden ratio."; +; The three documents that bind every agent, as repo-root paths in gHashTag/t27. +pub const SOUL : str = "SOUL.md"; +pub const AGENTS_DOC : str = "AGENTS.md"; +pub const ALPHABET : str = "docs/agents/AGENTS_ALPHABET.md"; +; Key files as the alphabet lists them (paths and globs relative to the t27 root). +pub const KEY_FILES : [2]str = ["t27/specs/numeric/", "docs/NUMERIC-STANDARD-001.md"]; +pub const ENTRY_INVARIANT : str = "GF family is defined (GF4, GF8, GF12, GF16, GF20, GF24, GF32)"; +pub const EXIT_INVARIANT : str = "phi identity validated, all numeric tests pass"; +; The alphabet lists no CLARA role for this agent ("-"). +pub const CLARA_ROLE : str = ""; +; Skill IDs the agent holds. Bound only where a source names the skill; SKILLS_NOTE +; cites that source or says why the list is empty. +pub const SKILLS : [0]str = []; +pub const SKILLS_NOTE : str = "No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it."; +; Where the agent logs episodes (AGENTS_ALPHABET.md: "Logs to .trinity/experience/"). +pub const EXPERIENCE_LOG : str = ".trinity/experience/"; +pub const ENABLED : bool = true; diff --git a/specs/agents/o.t27 b/specs/agents/o.t27 new file mode 100644 index 000000000..a1bc350dc --- /dev/null +++ b/specs/agents/o.t27 @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: Apache-2.0 +; specs/agents/o.t27 -- agent t27/O, letter O of the 27-agent alphabet +; Source of truth for the agent card on t27.ai (#/agents?agent=t27/O). +; Transcribed from docs/agents/AGENTS_ALPHABET.md (v3.0): the FULL TABLE row and the +; "Agent O - Omicron (Orchestration)" schema section. The agent is bound to the others by SOUL.md, +; AGENTS.md and the experience log; the JSON the site serves is generated from this +; file by the real compiler, nothing below is parsed with a regex. ASCII only (L3). +; phi^2 + 1/phi^2 = 3 | TRINITY + +module agent_o; + +pub const KIND : str = "agent"; +pub const ID : str = "t27/O"; +pub const LETTER : str = "O"; +; position in the alphabet, 1..27 (the 27th letter is Ti, register R26) +pub const ORDINAL : u8 = 15; +pub const LETTER_NAME : str = "Omicron"; +pub const NAME : str = "Omicron (Orchestration)"; +pub const DOMAIN : str = "Orchestration / Phases"; +pub const ARCHETYPE : str = "Eye - all-seeing oko"; +; Coptic register from the schema section (the ISA register the agent is bound to) +pub const REGISTER : str = "R14"; +; alphabet layer: Archetypal (A-I), Spiritual (J-R), Physical (S-27th) +pub const LAYER : str = "Spiritual"; +pub const SUMMARY_EN : str = "Orchestration / Phases. Orchestration is the all-seeing eye of the phases."; +; The three documents that bind every agent, as repo-root paths in gHashTag/t27. +pub const SOUL : str = "SOUL.md"; +pub const AGENTS_DOC : str = "AGENTS.md"; +pub const ALPHABET : str = "docs/agents/AGENTS_ALPHABET.md"; +; Key files as the alphabet lists them (paths and globs relative to the t27 root). +pub const KEY_FILES : [2]str = ["src/tri/pipeline/", "specs/ar/composition.t27"]; +pub const ENTRY_INVARIANT : str = "All phases (1-6) are defined, phase transitions valid"; +pub const EXIT_INVARIANT : str = "Orchestration completes, no stuck phases"; +; CLARA role from the alphabet (TA1/TA2 work areas). +pub const CLARA_ROLE : str = "TA2: AR Composition Engine - composes ML and AR components, manages interactions"; +; Skill IDs the agent holds. Bound only where a source names the skill; SKILLS_NOTE +; cites that source or says why the list is empty. +pub const SKILLS : [0]str = []; +pub const SKILLS_NOTE : str = "No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it."; +; Where the agent logs episodes (AGENTS_ALPHABET.md: "Logs to .trinity/experience/"). +pub const EXPERIENCE_LOG : str = ".trinity/experience/"; +pub const ENABLED : bool = true; diff --git a/specs/agents/p.t27 b/specs/agents/p.t27 new file mode 100644 index 000000000..81b5f886e --- /dev/null +++ b/specs/agents/p.t27 @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: Apache-2.0 +; specs/agents/p.t27 -- agent t27/P, letter P of the 27-agent alphabet +; Source of truth for the agent card on t27.ai (#/agents?agent=t27/P). +; Transcribed from docs/agents/AGENTS_ALPHABET.md (v3.0): the FULL TABLE row and the +; "Agent P - Pi (Physics)" schema section. The agent is bound to the others by SOUL.md, +; AGENTS.md and the experience log; the JSON the site serves is generated from this +; file by the real compiler, nothing below is parsed with a regex. ASCII only (L3). +; phi^2 + 1/phi^2 = 3 | TRINITY + +module agent_p; + +pub const KIND : str = "agent"; +pub const ID : str = "t27/P"; +pub const LETTER : str = "P"; +; position in the alphabet, 1..27 (the 27th letter is Ti, register R26) +pub const ORDINAL : u8 = 16; +pub const LETTER_NAME : str = "Pi"; +pub const NAME : str = "Pi (Physics)"; +pub const DOMAIN : str = "Physics / SacredPhysics"; +pub const ARCHETYPE : str = "Mouth - speech of universe"; +; Coptic register from the schema section (the ISA register the agent is bound to) +pub const REGISTER : str = "R15"; +; alphabet layer: Archetypal (A-I), Spiritual (J-R), Physical (S-27th) +pub const LAYER : str = "Spiritual"; +pub const SUMMARY_EN : str = "Physics / SacredPhysics. Physics is nature speaking through its constants (phi, G, OmegaLambda)."; +; The three documents that bind every agent, as repo-root paths in gHashTag/t27. +pub const SOUL : str = "SOUL.md"; +pub const AGENTS_DOC : str = "AGENTS.md"; +pub const ALPHABET : str = "docs/agents/AGENTS_ALPHABET.md"; +; Key files as the alphabet lists them (paths and globs relative to the t27 root). +pub const KEY_FILES : [2]str = ["t27/specs/math/sacred_physics.t27", "specs/physics/su2_chern_simons.t27"]; +pub const ENTRY_INVARIANT : str = "phi^2 + phi^-2 = 3 holds in all calculations"; +pub const EXIT_INVARIANT : str = "Sacred constants (G, OmegaLambda, phi, tpresent) are verified"; +; CLARA role from the alphabet (TA1/TA2 work areas). +pub const CLARA_ROLE : str = "TA1: AR Theoretical Foundations - provides mathematical basis for AR reasoning"; +; Skill IDs the agent holds. Bound only where a source names the skill; SKILLS_NOTE +; cites that source or says why the list is empty. +pub const SKILLS : [0]str = []; +pub const SKILLS_NOTE : str = "No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it."; +; Where the agent logs episodes (AGENTS_ALPHABET.md: "Logs to .trinity/experience/"). +pub const EXPERIENCE_LOG : str = ".trinity/experience/"; +pub const ENABLED : bool = true; diff --git a/specs/agents/q.t27 b/specs/agents/q.t27 new file mode 100644 index 000000000..933b64585 --- /dev/null +++ b/specs/agents/q.t27 @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: Apache-2.0 +; specs/agents/q.t27 -- agent t27/Q, letter Q of the 27-agent alphabet +; Source of truth for the agent card on t27.ai (#/agents?agent=t27/Q). +; Transcribed from docs/agents/AGENTS_ALPHABET.md (v3.0): the FULL TABLE row and the +; "Agent Q - Theta (Queue)" schema section. The agent is bound to the others by SOUL.md, +; AGENTS.md and the experience log; the JSON the site serves is generated from this +; file by the real compiler, nothing below is parsed with a regex. ASCII only (L3). +; phi^2 + 1/phi^2 = 3 | TRINITY + +module agent_q; + +pub const KIND : str = "agent"; +pub const ID : str = "t27/Q"; +pub const LETTER : str = "Q"; +; position in the alphabet, 1..27 (the 27th letter is Ti, register R26) +pub const ORDINAL : u8 = 17; +pub const LETTER_NAME : str = "Theta"; +pub const NAME : str = "Theta (Queue)"; +pub const DOMAIN : str = "Queue / Scheduling"; +pub const ARCHETYPE : str = "Needle's eye - bottleneck"; +; Coptic register from the schema section (the ISA register the agent is bound to) +pub const REGISTER : str = "R16"; +; alphabet layer: Archetypal (A-I), Spiritual (J-R), Physical (S-27th) +pub const LAYER : str = "Spiritual"; +pub const SUMMARY_EN : str = "Queue / Scheduling. The queue is the needle's eye for tasks."; +; The three documents that bind every agent, as repo-root paths in gHashTag/t27. +pub const SOUL : str = "SOUL.md"; +pub const AGENTS_DOC : str = "AGENTS.md"; +pub const ALPHABET : str = "docs/agents/AGENTS_ALPHABET.md"; +; Key files as the alphabet lists them (paths and globs relative to the t27 root). +pub const KEY_FILES : [1]str = ["src/tri/dev_commands.zig"]; +pub const ENTRY_INVARIANT : str = "Queue is not empty (work exists)"; +pub const EXIT_INVARIANT : str = "MNL (Most-Numerous-Loss) pattern enforced, no starvation"; +; The alphabet lists no CLARA role for this agent ("-"). +pub const CLARA_ROLE : str = ""; +; Skill IDs the agent holds. Bound only where a source names the skill; SKILLS_NOTE +; cites that source or says why the list is empty. +pub const SKILLS : [0]str = []; +pub const SKILLS_NOTE : str = "No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it."; +; Where the agent logs episodes (AGENTS_ALPHABET.md: "Logs to .trinity/experience/"). +pub const EXPERIENCE_LOG : str = ".trinity/experience/"; +pub const ENABLED : bool = true; diff --git a/specs/agents/r.t27 b/specs/agents/r.t27 new file mode 100644 index 000000000..5434de5b1 --- /dev/null +++ b/specs/agents/r.t27 @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: Apache-2.0 +; specs/agents/r.t27 -- agent t27/R, letter R of the 27-agent alphabet +; Source of truth for the agent card on t27.ai (#/agents?agent=t27/R). +; Transcribed from docs/agents/AGENTS_ALPHABET.md (v3.0): the FULL TABLE row and the +; "Agent R - Rho (Runtime)" schema section. The agent is bound to the others by SOUL.md, +; AGENTS.md and the experience log; the JSON the site serves is generated from this +; file by the real compiler, nothing below is parsed with a regex. ASCII only (L3). +; phi^2 + 1/phi^2 = 3 | TRINITY + +module agent_r; + +pub const KIND : str = "agent"; +pub const ID : str = "t27/R"; +pub const LETTER : str = "R"; +; position in the alphabet, 1..27 (the 27th letter is Ti, register R26) +pub const ORDINAL : u8 = 18; +pub const LETTER_NAME : str = "Rho"; +pub const NAME : str = "Rho (Runtime)"; +pub const DOMAIN : str = "Runtime / Bootstrap"; +pub const ARCHETYPE : str = "Head - beginning of execution"; +; Coptic register from the schema section (the ISA register the agent is bound to) +pub const REGISTER : str = "R17"; +; alphabet layer: Archetypal (A-I), Spiritual (J-R), Physical (S-27th) +pub const LAYER : str = "Spiritual"; +pub const SUMMARY_EN : str = "Runtime / Bootstrap. Runtime is the head of the system during execution."; +; The three documents that bind every agent, as repo-root paths in gHashTag/t27. +pub const SOUL : str = "SOUL.md"; +pub const AGENTS_DOC : str = "AGENTS.md"; +pub const ALPHABET : str = "docs/agents/AGENTS_ALPHABET.md"; +; Key files as the alphabet lists them (paths and globs relative to the t27 root). +pub const KEY_FILES : [2]str = ["t27/compiler/runtime/", "bootstrap/src/compiler.rs"]; +pub const ENTRY_INVARIANT : str = "Runtime is initialized, ABI is defined"; +pub const EXIT_INVARIANT : str = "No memory leaks, no resource exhaustion"; +; The alphabet lists no CLARA role for this agent ("-"). +pub const CLARA_ROLE : str = ""; +; Skill IDs the agent holds. Bound only where a source names the skill; SKILLS_NOTE +; cites that source or says why the list is empty. +pub const SKILLS : [0]str = []; +pub const SKILLS_NOTE : str = "No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it."; +; Where the agent logs episodes (AGENTS_ALPHABET.md: "Logs to .trinity/experience/"). +pub const EXPERIENCE_LOG : str = ".trinity/experience/"; +pub const ENABLED : bool = true; diff --git a/specs/agents/s.t27 b/specs/agents/s.t27 new file mode 100644 index 000000000..f5bb32ad2 --- /dev/null +++ b/specs/agents/s.t27 @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: Apache-2.0 +; specs/agents/s.t27 -- agent t27/S, letter S of the 27-agent alphabet +; Source of truth for the agent card on t27.ai (#/agents?agent=t27/S). +; Transcribed from docs/agents/AGENTS_ALPHABET.md (v3.0): the FULL TABLE row and the +; "Agent S - Sigma (Specs)" schema section. The agent is bound to the others by SOUL.md, +; AGENTS.md and the experience log; the JSON the site serves is generated from this +; file by the real compiler, nothing below is parsed with a regex. ASCII only (L3). +; phi^2 + 1/phi^2 = 3 | TRINITY + +module agent_s; + +pub const KIND : str = "agent"; +pub const ID : str = "t27/S"; +pub const LETTER : str = "S"; +; position in the alphabet, 1..27 (the 27th letter is Ti, register R26) +pub const ORDINAL : u8 = 19; +pub const LETTER_NAME : str = "Sigma"; +pub const NAME : str = "Sigma (Specs)"; +pub const DOMAIN : str = "Specs / Standardization / AR Specs"; +pub const ARCHETYPE : str = "Teeth - sharpness, flame"; +; Coptic register from the schema section (the ISA register the agent is bound to) +pub const REGISTER : str = "R18"; +; alphabet layer: Archetypal (A-I), Spiritual (J-R), Physical (S-27th) +pub const LAYER : str = "Physical"; +pub const SUMMARY_EN : str = "Specs / Standardization / AR Specs. Specs are the teeth of the standard that grind everything into canon."; +; The three documents that bind every agent, as repo-root paths in gHashTag/t27. +pub const SOUL : str = "SOUL.md"; +pub const AGENTS_DOC : str = "AGENTS.md"; +pub const ALPHABET : str = "docs/agents/AGENTS_ALPHABET.md"; +; Key files as the alphabet lists them (paths and globs relative to the t27 root). +pub const KEY_FILES : [3]str = ["specs/", "specs/ar/*.t27", "docs/NUMERIC-*.md"]; +pub const ENTRY_INVARIANT : str = "All specs have TDD (test/invariant/bench)"; +pub const EXIT_INVARIANT : str = "Standards are consistent, naming rules followed"; +; CLARA role from the alphabet (TA1/TA2 work areas). +pub const CLARA_ROLE : str = "TA1: AR Spec Standards - defines and enforces AR spec conventions"; +; Skill IDs the agent holds. Bound only where a source names the skill; SKILLS_NOTE +; cites that source or says why the list is empty. +pub const SKILLS : [0]str = []; +pub const SKILLS_NOTE : str = "No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it."; +; Where the agent logs episodes (AGENTS_ALPHABET.md: "Logs to .trinity/experience/"). +pub const EXPERIENCE_LOG : str = ".trinity/experience/"; +pub const ENABLED : bool = true; diff --git a/specs/agents/t.t27 b/specs/agents/t.t27 new file mode 100644 index 000000000..31e16c4f5 --- /dev/null +++ b/specs/agents/t.t27 @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: Apache-2.0 +; specs/agents/t.t27 -- agent t27/T, letter T of the 27-agent alphabet +; Source of truth for the agent card on t27.ai (#/agents?agent=t27/T). +; Transcribed from docs/agents/AGENTS_ALPHABET.md (v3.0): the FULL TABLE row and the +; "Agent T - Tau (TRINITY Queen)" schema section. The agent is bound to the others by SOUL.md, +; AGENTS.md and the experience log; the JSON the site serves is generated from this +; file by the real compiler, nothing below is parsed with a regex. ASCII only (L3). +; phi^2 + 1/phi^2 = 3 | TRINITY + +module agent_t; + +pub const KIND : str = "agent"; +pub const ID : str = "t27/T"; +pub const LETTER : str = "T"; +; position in the alphabet, 1..27 (the 27th letter is Ti, register R26) +pub const ORDINAL : u8 = 20; +pub const LETTER_NAME : str = "Tau"; +pub const NAME : str = "Tau (TRINITY Queen)"; +pub const DOMAIN : str = "Queen / Lotus Orchestrator"; +pub const ARCHETYPE : str = "CROSS - seal, signature, truth"; +; Coptic register from the schema section (the ISA register the agent is bound to) +pub const REGISTER : str = "R19"; +; alphabet layer: Archetypal (A-I), Spiritual (J-R), Physical (S-27th) +pub const LAYER : str = "Physical"; +pub const SUMMARY_EN : str = "Queen / Lotus Orchestrator. T is the queen: she puts the final seal on everything."; +; The three documents that bind every agent, as repo-root paths in gHashTag/t27. +pub const SOUL : str = "SOUL.md"; +pub const AGENTS_DOC : str = "AGENTS.md"; +pub const ALPHABET : str = "docs/agents/AGENTS_ALPHABET.md"; +; Key files as the alphabet lists them (paths and globs relative to the t27 root). +pub const KEY_FILES : [1]str = ["t27/specs/queen/lotus.t27"]; +pub const ENTRY_INVARIANT : str = "Queen health >= 0.9, graph is loaded"; +pub const EXIT_INVARIANT : str = "All rings are sealed, verdict is clean"; +; CLARA role from the alphabet (TA1/TA2 work areas). +pub const CLARA_ROLE : str = "TA2: AR Orchestrator - coordinates all AR agents for CLARA submission"; +; Skill IDs the agent holds. Bound only where a source names the skill; SKILLS_NOTE +; cites that source or says why the list is empty. +pub const SKILLS : [2]str = ["t27/phi-loop", "t27/tri-pipeline"]; +pub const SKILLS_NOTE : str = ".claude/agents/trinity.md, Phase 2 PLAN: \"Identify required skills (phi-loop, tri-pipeline)\"; Phase 4 VERIFY: \"Run conformance tests via tri-pipeline\". specs/OWNERS.md lists skills/ and crons/ under T-Queen, which is catalog ownership, not a held skill."; +; Where the agent logs episodes (AGENTS_ALPHABET.md: "Logs to .trinity/experience/"). +pub const EXPERIENCE_LOG : str = ".trinity/experience/"; +pub const ENABLED : bool = true; diff --git a/specs/agents/ti.t27 b/specs/agents/ti.t27 new file mode 100644 index 000000000..9e6f0bd51 --- /dev/null +++ b/specs/agents/ti.t27 @@ -0,0 +1,43 @@ +// SPDX-License-Identifier: Apache-2.0 +; specs/agents/ti.t27 -- agent t27/TI, letter TI of the 27-agent alphabet +; Source of truth for the agent card on t27.ai (#/agents?agent=t27/TI). +; Transcribed from docs/agents/AGENTS_ALPHABET.md (v3.0): the FULL TABLE row and the +; "Agent 27th - Ti (Security)" schema section. The agent is bound to the others by SOUL.md, +; AGENTS.md and the experience log; the JSON the site serves is generated from this +; file by the real compiler, nothing below is parsed with a regex. ASCII only (L3). +; phi^2 + 1/phi^2 = 3 | TRINITY + +module agent_ti; + +pub const KIND : str = "agent"; +pub const ID : str = "t27/TI"; +pub const LETTER : str = "TI"; +; position in the alphabet, 1..27 (the 27th letter is Ti, register R26) +pub const ORDINAL : u8 = 27; +pub const LETTER_NAME : str = "Ti"; +pub const NAME : str = "Ti (Security)"; +pub const DOMAIN : str = "Security / Reserve"; +pub const ARCHETYPE : str = "Egyptian cross - \"sacred gift\""; +; Coptic register from the schema section (the ISA register the agent is bound to) +pub const REGISTER : str = "R26"; +; alphabet layer: Archetypal (A-I), Spiritual (J-R), Physical (S-27th) +pub const LAYER : str = "Physical"; +pub const SUMMARY_EN : str = "Security / Reserve. Security and AAIF are what Trinity gifts the world; the seat is reserved (key files: future)."; +; The three documents that bind every agent, as repo-root paths in gHashTag/t27. +pub const SOUL : str = "SOUL.md"; +pub const AGENTS_DOC : str = "AGENTS.md"; +pub const ALPHABET : str = "docs/agents/AGENTS_ALPHABET.md"; +; The alphabet lists no key files for the reserved 27th seat ("- (future)"). +pub const KEY_FILES : [0]str = []; +pub const ENTRY_INVARIANT : str = "Security policy exists"; +pub const EXIT_INVARIANT : str = "AAIF compliance ready, no vulnerabilities"; +; The alphabet lists no CLARA role for this agent ("-"). +pub const CLARA_ROLE : str = ""; +; Skill IDs the agent holds. Bound only where a source names the skill; SKILLS_NOTE +; cites that source or says why the list is empty. +pub const SKILLS : [0]str = []; +pub const SKILLS_NOTE : str = "No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it."; +; Where the agent logs episodes (AGENTS_ALPHABET.md: "Logs to .trinity/experience/"). +pub const EXPERIENCE_LOG : str = ".trinity/experience/"; +; Reserved seat: the alphabet marks its key files as future, so the agent is not enabled. +pub const ENABLED : bool = false; diff --git a/specs/agents/u.t27 b/specs/agents/u.t27 new file mode 100644 index 000000000..30a337dcb --- /dev/null +++ b/specs/agents/u.t27 @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: Apache-2.0 +; specs/agents/u.t27 -- agent t27/U, letter U of the 27-agent alphabet +; Source of truth for the agent card on t27.ai (#/agents?agent=t27/U). +; Transcribed from docs/agents/AGENTS_ALPHABET.md (v3.0): the FULL TABLE row and the +; "Agent U - Upsilon (Universe)" schema section. The agent is bound to the others by SOUL.md, +; AGENTS.md and the experience log; the JSON the site serves is generated from this +; file by the real compiler, nothing below is parsed with a regex. ASCII only (L3). +; phi^2 + 1/phi^2 = 3 | TRINITY + +module agent_u; + +pub const KIND : str = "agent"; +pub const ID : str = "t27/U"; +pub const LETTER : str = "U"; +; position in the alphabet, 1..27 (the 27th letter is Ti, register R26) +pub const ORDINAL : u8 = 21; +pub const LETTER_NAME : str = "Upsilon"; +pub const NAME : str = "Upsilon (Universe)"; +pub const DOMAIN : str = "Universe Levels / Domains"; +pub const ARCHETYPE : str = "Fork - branching"; +; Coptic register from the schema section (the ISA register the agent is bound to) +pub const REGISTER : str = "R20"; +; alphabet layer: Archetypal (A-I), Spiritual (J-R), Physical (S-27th) +pub const LAYER : str = "Physical"; +pub const SUMMARY_EN : str = "Universe Levels / Domains. Universe levels are the branching of domains."; +; The three documents that bind every agent, as repo-root paths in gHashTag/t27. +pub const SOUL : str = "SOUL.md"; +pub const AGENTS_DOC : str = "AGENTS.md"; +pub const ALPHABET : str = "docs/agents/AGENTS_ALPHABET.md"; +; Key files as the alphabet lists them (paths and globs relative to the t27 root). +pub const KEY_FILES : [1]str = ["t27/domains/"]; +pub const ENTRY_INVARIANT : str = "Domain boundaries are defined"; +pub const EXIT_INVARIANT : str = "No circular dependencies, domains are orthogonal"; +; The alphabet lists no CLARA role for this agent ("-"). +pub const CLARA_ROLE : str = ""; +; Skill IDs the agent holds. Bound only where a source names the skill; SKILLS_NOTE +; cites that source or says why the list is empty. +pub const SKILLS : [0]str = []; +pub const SKILLS_NOTE : str = "No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it."; +; Where the agent logs episodes (AGENTS_ALPHABET.md: "Logs to .trinity/experience/"). +pub const EXPERIENCE_LOG : str = ".trinity/experience/"; +pub const ENABLED : bool = true; diff --git a/specs/agents/v.t27 b/specs/agents/v.t27 new file mode 100644 index 000000000..d81995f86 --- /dev/null +++ b/specs/agents/v.t27 @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: Apache-2.0 +; specs/agents/v.t27 -- agent t27/V, letter V of the 27-agent alphabet +; Source of truth for the agent card on t27.ai (#/agents?agent=t27/V). +; Transcribed from docs/agents/AGENTS_ALPHABET.md (v3.0): the FULL TABLE row and the +; "Agent V - Vau (Verdict)" schema section. The agent is bound to the others by SOUL.md, +; AGENTS.md and the experience log; the JSON the site serves is generated from this +; file by the real compiler, nothing below is parsed with a regex. ASCII only (L3). +; phi^2 + 1/phi^2 = 3 | TRINITY + +module agent_v; + +pub const KIND : str = "agent"; +pub const ID : str = "t27/V"; +pub const LETTER : str = "V"; +; position in the alphabet, 1..27 (the 27th letter is Ti, register R26) +pub const ORDINAL : u8 = 22; +pub const LETTER_NAME : str = "Vau (var.)"; +pub const NAME : str = "Vau (Verdict)"; +pub const DOMAIN : str = "Verdict / Bench / AR Validation"; +pub const ARCHETYPE : str = "Hook - connection, conjunction"; +; Coptic register from the schema section (the ISA register the agent is bound to) +pub const REGISTER : str = "R21"; +; alphabet layer: Archetypal (A-I), Spiritual (J-R), Physical (S-27th) +pub const LAYER : str = "Physical"; +pub const SUMMARY_EN : str = "Verdict / Bench / AR Validation. The verdict is the hook that catches the problem."; +; The three documents that bind every agent, as repo-root paths in gHashTag/t27. +pub const SOUL : str = "SOUL.md"; +pub const AGENTS_DOC : str = "AGENTS.md"; +pub const ALPHABET : str = "docs/agents/AGENTS_ALPHABET.md"; +; Key files as the alphabet lists them (paths and globs relative to the t27 root). +pub const KEY_FILES : [3]str = ["src/tri/verdict.zig", "specs/ar/proof_trace.t27", "specs/ar/restraint.t27"]; +pub const ENTRY_INVARIANT : str = "Verdict engine is ready, toxic thresholds defined"; +pub const EXIT_INVARIANT : str = "Toxicity is detected, proof traces are generated"; +; CLARA role from the alphabet (TA1/TA2 work areas). +pub const CLARA_ROLE : str = "TA2: AR Validation & Proof - validates AR reasoning, generates proofs"; +; Skill IDs the agent holds. Bound only where a source names the skill; SKILLS_NOTE +; cites that source or says why the list is empty. +pub const SKILLS : [0]str = []; +pub const SKILLS_NOTE : str = "No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it."; +; Where the agent logs episodes (AGENTS_ALPHABET.md: "Logs to .trinity/experience/"). +pub const EXPERIENCE_LOG : str = ".trinity/experience/"; +pub const ENABLED : bool = true; diff --git a/specs/agents/w.t27 b/specs/agents/w.t27 new file mode 100644 index 000000000..4680a2a0e --- /dev/null +++ b/specs/agents/w.t27 @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: Apache-2.0 +; specs/agents/w.t27 -- agent t27/W, letter W of the 27-agent alphabet +; Source of truth for the agent card on t27.ai (#/agents?agent=t27/W). +; Transcribed from docs/agents/AGENTS_ALPHABET.md (v3.0): the FULL TABLE row and the +; "Agent W - Double-Vav (Workflow)" schema section. The agent is bound to the others by SOUL.md, +; AGENTS.md and the experience log; the JSON the site serves is generated from this +; file by the real compiler, nothing below is parsed with a regex. ASCII only (L3). +; phi^2 + 1/phi^2 = 3 | TRINITY + +module agent_w; + +pub const KIND : str = "agent"; +pub const ID : str = "t27/W"; +pub const LETTER : str = "W"; +; position in the alphabet, 1..27 (the 27th letter is Ti, register R26) +pub const ORDINAL : u8 = 23; +pub const LETTER_NAME : str = "Double-Vav"; +pub const NAME : str = "Double-Vav (Workflow)"; +pub const DOMAIN : str = "Workflow / tri cell"; +pub const ARCHETYPE : str = "Double hook - double seal"; +; Coptic register from the schema section (the ISA register the agent is bound to) +pub const REGISTER : str = "R22"; +; alphabet layer: Archetypal (A-I), Spiritual (J-R), Physical (S-27th) +pub const LAYER : str = "Physical"; +pub const SUMMARY_EN : str = "Workflow / tri cell. Workflow and tri cell are the double hash-seal."; +; The three documents that bind every agent, as repo-root paths in gHashTag/t27. +pub const SOUL : str = "SOUL.md"; +pub const AGENTS_DOC : str = "AGENTS.md"; +pub const ALPHABET : str = "docs/agents/AGENTS_ALPHABET.md"; +; Key files as the alphabet lists them (paths and globs relative to the t27 root). +pub const KEY_FILES : [1]str = ["src/tri/cell.zig"]; +pub const ENTRY_INVARIANT : str = "Cell is sealed, hash is computed"; +pub const EXIT_INVARIANT : str = "Hash is verified, commit is signed"; +; The alphabet lists no CLARA role for this agent ("-"). +pub const CLARA_ROLE : str = ""; +; Skill IDs the agent holds. Bound only where a source names the skill; SKILLS_NOTE +; cites that source or says why the list is empty. +pub const SKILLS : [0]str = []; +pub const SKILLS_NOTE : str = "No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it."; +; Where the agent logs episodes (AGENTS_ALPHABET.md: "Logs to .trinity/experience/"). +pub const EXPERIENCE_LOG : str = ".trinity/experience/"; +pub const ENABLED : bool = true; diff --git a/specs/agents/x.t27 b/specs/agents/x.t27 new file mode 100644 index 000000000..1165a1182 --- /dev/null +++ b/specs/agents/x.t27 @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: Apache-2.0 +; specs/agents/x.t27 -- agent t27/X, letter X of the 27-agent alphabet +; Source of truth for the agent card on t27.ai (#/agents?agent=t27/X). +; Transcribed from docs/agents/AGENTS_ALPHABET.md (v3.0): the FULL TABLE row and the +; "Agent X - Chi (External)" schema section. The agent is bound to the others by SOUL.md, +; AGENTS.md and the experience log; the JSON the site serves is generated from this +; file by the real compiler, nothing below is parsed with a regex. ASCII only (L3). +; phi^2 + 1/phi^2 = 3 | TRINITY + +module agent_x; + +pub const KIND : str = "agent"; +pub const ID : str = "t27/X"; +pub const LETTER : str = "X"; +; position in the alphabet, 1..27 (the 27th letter is Ti, register R26) +pub const ORDINAL : u8 = 24; +pub const LETTER_NAME : str = "Chi"; +pub const NAME : str = "Chi (External)"; +pub const DOMAIN : str = "External Bindings / Interop"; +pub const ARCHETYPE : str = "Intersection - point of exchange"; +; Coptic register from the schema section (the ISA register the agent is bound to) +pub const REGISTER : str = "R23"; +; alphabet layer: Archetypal (A-I), Spiritual (J-R), Physical (S-27th) +pub const LAYER : str = "Physical"; +pub const SUMMARY_EN : str = "External Bindings / Interop. External bindings are the crossroads of Trinity and external systems."; +; The three documents that bind every agent, as repo-root paths in gHashTag/t27. +pub const SOUL : str = "SOUL.md"; +pub const AGENTS_DOC : str = "AGENTS.md"; +pub const ALPHABET : str = "docs/agents/AGENTS_ALPHABET.md"; +; Key files as the alphabet lists them (paths and globs relative to the t27 root). +pub const KEY_FILES : [1]str = ["bindings/"]; +pub const ENTRY_INVARIANT : str = "Bindings are documented"; +pub const EXIT_INVARIANT : str = "Interop tests pass, external APIs are current"; +; The alphabet lists no CLARA role for this agent ("-"). +pub const CLARA_ROLE : str = ""; +; Skill IDs the agent holds. Bound only where a source names the skill; SKILLS_NOTE +; cites that source or says why the list is empty. +pub const SKILLS : [0]str = []; +pub const SKILLS_NOTE : str = "No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it."; +; Where the agent logs episodes (AGENTS_ALPHABET.md: "Logs to .trinity/experience/"). +pub const EXPERIENCE_LOG : str = ".trinity/experience/"; +pub const ENABLED : bool = true; diff --git a/specs/agents/y.t27 b/specs/agents/y.t27 new file mode 100644 index 000000000..381a7c666 --- /dev/null +++ b/specs/agents/y.t27 @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: Apache-2.0 +; specs/agents/y.t27 -- agent t27/Y, letter Y of the 27-agent alphabet +; Source of truth for the agent card on t27.ai (#/agents?agent=t27/Y). +; Transcribed from docs/agents/AGENTS_ALPHABET.md (v3.0): the FULL TABLE row and the +; "Agent Y - Psi (Yield/DePIN)" schema section. The agent is bound to the others by SOUL.md, +; AGENTS.md and the experience log; the JSON the site serves is generated from this +; file by the real compiler, nothing below is parsed with a regex. ASCII only (L3). +; phi^2 + 1/phi^2 = 3 | TRINITY + +module agent_y; + +pub const KIND : str = "agent"; +pub const ID : str = "t27/Y"; +pub const LETTER : str = "Y"; +; position in the alphabet, 1..27 (the 27th letter is Ti, register R26) +pub const ORDINAL : u8 = 25; +pub const LETTER_NAME : str = "Psi"; +pub const NAME : str = "Psi (Yield/DePIN)"; +pub const DOMAIN : str = "Yield / DePIN / Fitness"; +pub const ARCHETYPE : str = "Merging paths - evolutionary selection"; +; Coptic register from the schema section (the ISA register the agent is bound to) +pub const REGISTER : str = "R24"; +; alphabet layer: Archetypal (A-I), Spiritual (J-R), Physical (S-27th) +pub const LAYER : str = "Physical"; +pub const SUMMARY_EN : str = "Yield / DePIN / Fitness. Yield and DePIN are the evolutionary crossroad."; +; The three documents that bind every agent, as repo-root paths in gHashTag/t27. +pub const SOUL : str = "SOUL.md"; +pub const AGENTS_DOC : str = "AGENTS.md"; +pub const ALPHABET : str = "docs/agents/AGENTS_ALPHABET.md"; +; Key files as the alphabet lists them (paths and globs relative to the t27 root). +pub const KEY_FILES : [1]str = ["deploy/contracts/"]; +pub const ENTRY_INVARIANT : str = "DePIN nodes are defined"; +pub const EXIT_INVARIANT : str = "Fitness score > 0.8, yield is optimized"; +; The alphabet lists no CLARA role for this agent ("-"). +pub const CLARA_ROLE : str = ""; +; Skill IDs the agent holds. Bound only where a source names the skill; SKILLS_NOTE +; cites that source or says why the list is empty. +pub const SKILLS : [0]str = []; +pub const SKILLS_NOTE : str = "No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it."; +; Where the agent logs episodes (AGENTS_ALPHABET.md: "Logs to .trinity/experience/"). +pub const EXPERIENCE_LOG : str = ".trinity/experience/"; +pub const ENABLED : bool = true; diff --git a/specs/agents/z.t27 b/specs/agents/z.t27 new file mode 100644 index 000000000..adae4db63 --- /dev/null +++ b/specs/agents/z.t27 @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: Apache-2.0 +; specs/agents/z.t27 -- agent t27/Z, letter Z of the 27-agent alphabet +; Source of truth for the agent card on t27.ai (#/agents?agent=t27/Z). +; Transcribed from docs/agents/AGENTS_ALPHABET.md (v3.0): the FULL TABLE row and the +; "Agent Z - Zeta (Zero-Touch)" schema section. The agent is bound to the others by SOUL.md, +; AGENTS.md and the experience log; the JSON the site serves is generated from this +; file by the real compiler, nothing below is parsed with a regex. ASCII only (L3). +; phi^2 + 1/phi^2 = 3 | TRINITY + +module agent_z; + +pub const KIND : str = "agent"; +pub const ID : str = "t27/Z"; +pub const LETTER : str = "Z"; +; position in the alphabet, 1..27 (the 27th letter is Ti, register R26) +pub const ORDINAL : u8 = 26; +pub const LETTER_NAME : str = "Zeta"; +pub const NAME : str = "Zeta (Zero-Touch)"; +pub const DOMAIN : str = "Zero-Touch UX / Docs"; +pub const ARCHETYPE : str = "Sword - cutting edge, point"; +; Coptic register from the schema section (the ISA register the agent is bound to) +pub const REGISTER : str = "R25"; +; alphabet layer: Archetypal (A-I), Spiritual (J-R), Physical (S-27th) +pub const LAYER : str = "Physical"; +pub const SUMMARY_EN : str = "Zero-Touch UX / Docs. Zero-Touch is the edge of UX and the final polish."; +; The three documents that bind every agent, as repo-root paths in gHashTag/t27. +pub const SOUL : str = "SOUL.md"; +pub const AGENTS_DOC : str = "AGENTS.md"; +pub const ALPHABET : str = "docs/agents/AGENTS_ALPHABET.md"; +; Key files as the alphabet lists them (paths and globs relative to the t27 root). +pub const KEY_FILES : [1]str = ["docs/"]; +pub const ENTRY_INVARIANT : str = "All docs are in English, ASCII-only"; +pub const EXIT_INVARIANT : str = "DX score > 4/5, all docs are current"; +; The alphabet lists no CLARA role for this agent ("-"). +pub const CLARA_ROLE : str = ""; +; Skill IDs the agent holds. Bound only where a source names the skill; SKILLS_NOTE +; cites that source or says why the list is empty. +pub const SKILLS : [0]str = []; +pub const SKILLS_NOTE : str = "No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it."; +; Where the agent logs episodes (AGENTS_ALPHABET.md: "Logs to .trinity/experience/"). +pub const EXPERIENCE_LOG : str = ".trinity/experience/"; +pub const ENABLED : bool = true; diff --git a/specs/i18n/agents-ru.t27 b/specs/i18n/agents-ru.t27 index 319ac4561..8970558e6 100644 --- a/specs/i18n/agents-ru.t27 +++ b/specs/i18n/agents-ru.t27 @@ -16,7 +16,7 @@ pub const LOCALE : str = "ru"; pub const SOURCE_LOCALE : str = "en"; ; Spec directories whose modules this bundle may translate; an entry ID must ; resolve to a spec in one of them. -pub const SCOPE : [2]str = ["specs/skills", "specs/crons"]; +pub const SCOPE : [3]str = ["specs/skills", "specs/crons", "specs/agents"]; ; Spec fields a bundle entry may carry. SUMMARY maps to SUMMARY_EN, NAME to NAME. pub const FIELDS : [2]str = ["SUMMARY", "NAME"]; pub const BUNDLE_REPO : str = "trinity"; From 9874cc6cfd38b768a8792ecc2c2c7afa3abc20e1 Mon Sep 17 00:00:00 2001 From: gHashTag Date: Wed, 9 Sep 2026 14:34:35 +0000 Subject: [PATCH 2/2] docs(specs/agents): no developer home path in README (T27_ROOT / sibling checkout) tools/check_devhome_paths.py flagged specs/agents/README.md; the T27_ROOT example now names the env var and the sibling checkout, not a home directory. Closes #3545 --- specs/agents/README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/specs/agents/README.md b/specs/agents/README.md index 889adc218..201d2d1ac 100644 --- a/specs/agents/README.md +++ b/specs/agents/README.md @@ -92,8 +92,9 @@ name matching a skill name. ## Experience attribution rule (`public/agents/experience.json`) `scripts/sync-agents-experience.mjs` (trinity) reads `.trinity/experience/**` in the trinity -checkout and in the t27 checkout (`T27_ROOT`; default `/home/user/workspace/t27` on the build -box, `/Users/playom/t27` on the owner's machine) and writes a committed snapshot. The rule, +checkout and in the t27 checkout (`T27_ROOT`; when unset, the sibling directory `../t27` of the +trinity repo root, i.e. `$(git rev-parse --show-toplevel)/../t27`) and writes a committed +snapshot. No absolute home path is written anywhere. The rule, kept identical in the script header: 1. An episode is one JSON object: a `*.json` file holding an object, each object of a `*.json`