Glyph System
Dieser Inhalt ist noch nicht in deiner Sprache verfügbar.
mashin has a visual language. Every runtime event, governance decision, and platform component is represented by a bracket-framed symbol. The same symbols appear in execution traces, the IDE, terminal output, error messages, and documentation. If you learn the symbols, you can read any mashin trace in any human language.
The rule
Every symbol has exactly one meaning. No symbol appears in two contexts.
The bracket frame [ ] is the governance boundary made visual. Nothing escapes the brackets. The frame is the brand.
Quick reference
IDENTITY EXECUTION GOVERNANCE SIGNALS[*] machine [≡] compute [√] allow [!] signal[□] krate [◎] reason [⊘] deny[∴] koda [○] mem read [?] hold[~] kortex [◉] mem write [x] terminate[#] kanon [→] call [+] recorded[⊞] kura [⊳] decide[◇] kore […] await[Ξ] kodex [⇄] network[▷] kanvas[♡] kardiaIdentity glyphs
These identify platform components. They appear in navigation, documentation, and architecture diagrams.
| Glyph | Name | What it is |
|---|---|---|
[*] | machine | The universal unit. The asterisk is a wildcard: machines can be anything. |
[□] | krate | A packaged machine. The outlined square: sealed, self-contained. |
[∴] | koda | The reasoning engine. “Therefore”: the conclusion drawn from premises. |
[~] | kortex | The network fabric. The wave: data flowing between machines. |
[#] | kanon | The governance ledger. The hash mark: the cryptographic chain. |
[⊞] | kura | The registry. A grid of cells: a structured catalog. |
[◇] | kore | The verified kernel. The diamond: formally verified, unbreakable. |
[Ξ] | kodex | The text-first rendering surface. Three lines on a page. |
[▷] | kanvas | The graphical interface layer. Outward-facing, presenting. |
[♡] | kardia | koda’s core personality. The heart of cognition. |
Execution glyphs
These represent step types at runtime. They appear in Kine traces, step timelines, and monitoring. Color indicates status: blue = running, green = completed, red = failed.
| Glyph | Step type | What it means |
|---|---|---|
[≡] | :compute | Pure computation. Structured evaluation, no effects. |
[◎] | :reason | Focused reasoning. An LLM, symbolic planner, or solver is thinking. |
[○] | :remember read | Memory recall. Reaching into stored knowledge. |
[◉] | :remember write | Memory store. Writing new knowledge. |
[→] | :call | Invoking another machine. Directed action, delegation. |
[⊳] | :decide | Branch point. Forking into paths based on a condition. |
[…] | :await | Suspended. Waiting for external input, webhook, or timer. |
[⇄] | network | Data exchange. Bidirectional communication via kortex. |
Governance glyphs
These represent what the runtime decided. They appear alongside execution glyphs in traces and audit logs.
| Glyph | What it means |
|---|---|
[√] | Allow. All governance checks passed. |
[⊘] | Deny. Governance intercepted. Capability not declared, budget exceeded, or policy violated. |
[?] | Hold. Requires human review before proceeding. |
[x] | Terminate. Forced stop. Circuit breaker, timeout, or kill signal. |
[+] | Recorded. A ledger event was written. The hash chain extended. |
Signal glyph
| Glyph | What it means |
|---|---|
[!] | Signal. Something needs attention. Run failure, governance alert, or system event. |
Reading a trace
An execution trace is a sequence of glyphs. Each line tells you what happened, what was checked, and what decided what.
[*] emailTriager run started [○] recall previous_context reading memory [√] governance: allowed [◎] classify reasoning with claude-sonnet [√] governance: allowed [⊳] route deciding: urgency == "high"? [?] send_reply hold: awaiting human approval [√] approved by [email protected] governance: approved [→] @mashin/actions/slack/post calling external machine [[*]] slack_post nested execution [⇄] POST api.slack.com/chat network call [√] governance: allowed [[*]] done nested execution complete [+] behavioral ledger hash chain event recorded [→] {escalated: true, response: ...} final output[*] emailTriager run complete (1.2s, $0.003)A person unfamiliar with mashin can read this trace and understand what happened. That is the test.
In terminal output
Every glyph has an ASCII fallback for terminals without Unicode:
$ mashin run emailTriager --input '{"email": "..."}'[*] emailTriager [o] recall previous_context [v] [@@] classify [v] [|>] route [?] send_reply hold: awaiting approval... [v] approved [->] slack/post [[.]] [<>] POST api.slack.com [v] [+] ledger [->] {escalated: true}[*] done (1.2s, $0.003)In error messages
The glyph tells you the category before you read the text:
[⊘] Governance denied: capability "net.http" not declared Machine: emailTriager Step: fetch_data (line 23)
[x] Run terminated: budget exceeded ($0.50 limit, $0.51 spent) Machine: research_agent
[?] Hold: awaiting approval for send_email Machine: emailTriager Approve: mashin approve run_01JQ... step send_email
[!] Signal: run failed Machine: emailTriager Error: SMTP connection refusedColor mapping
Colors are symbolic. Each carries a single meaning. Color reinforces but is never required; the glyph alone must be sufficient.
| Color | Hex | Symbolic meaning | Used with |
|---|---|---|---|
| Emerald green (brand) | #10B981 | Identity, life, intelligence | [*] [∴] [◇] all identity glyphs |
| Green | Allowed, verified, completed | [√] | |
| Amber | Attention, governance, hold | [?] […] [!] | |
| Red | Denied, terminated, boundary | [⊘] [x] | |
| Blue | Active, thinking, in motion | [◎] [≡] [→] [⊳] | |
| Gray | Recorded, structural, at rest | [+] |
Neutrals (structure) + Emerald green (intent) + Amber (governance) + Red (boundaries) = meaningful system.
Design constraints
- Bracket frame: every glyph is contained in
[ ]. The governance boundary made visual. - Typographic only: interior symbols are mathematical, geometric, or punctuation. No emoji, no pictographs.
- Monochrome capable: every glyph works in a single color.
- Terminal renderable: every glyph has a plain-text ASCII fallback.
- 1:1 mapping: every symbol has exactly one meaning across all contexts.
Implementation
React:
import { Glyph } from '@mashin/kodex'
<Glyph type="reason" state="active" /> // [◎] in blue, pulsing<Glyph type="verified" state="success" /> // [√] in green<Glyph type="denied" state="blocked" /> // [⊘] in redSwiftUI:
GlyphView(glyph: .reason, state: .active, size: .compact)GlyphView(glyph: .verified, state: .success)Terminal (Elixir):
IO.puts("[@@] classify [v]")IO.puts("[|>] route")IO.puts(" [?] send_reply hold: awaiting approval")