From 02615d89726f99f651b3d30342c36174c5f04f8a Mon Sep 17 00:00:00 2001 From: gyt Date: Thu, 9 Jul 2026 18:07:30 +0100 Subject: [PATCH] Upload files to "/" --- Makefile | 110 +++++++++ glyph-as | Bin 0 -> 25168 bytes glyph-disas | Bin 0 -> 24712 bytes glyph_isa.json | 652 +++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 762 insertions(+) create mode 100644 Makefile create mode 100644 glyph-as create mode 100644 glyph-disas create mode 100644 glyph_isa.json diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..0fad6f1 --- /dev/null +++ b/Makefile @@ -0,0 +1,110 @@ +CC = gcc +CFLAGS = -Wall -Wextra -std=c11 -O2 -D_GNU_SOURCE +LDFLAGS = -lm +BUILDDIR = build + +# Source files +VM_SRCS = src/vm/vm.c src/vm/vm_main.c src/substrate/substrate_engine.c +AS_SRCS = src/assembler/assembler.c src/assembler/as_main.c +DISAS_SRCS = src/disassembler/disas.c +KERNEL_SRCS = src/kernel/kernel.c src/kernel/kernel_main.c src/hal/hal.c src/hal/hal_cpu.c src/substrate/substrate_engine.c +NODE_SRCS = src/glyph/node_main.c src/glyph/glyph_defs.c src/glyph/graph.c src/glyph/resonance.c src/glyph/evaluator.c src/glyph/compiler.c +NET_SRCS = src/glyph/net_main.c src/glyph/network.c src/glyph/glyphbus.c src/glyph/glyph_defs.c src/glyph/graph.c src/glyph/resonance.c src/glyph/evaluator.c src/glyph/compiler.c + +# Include paths +INCLUDES = -Isrc/common -Isrc -Isrc/glyph + +# Targets +TARGETS = $(BUILDDIR)/glyph-vm $(BUILDDIR)/glyph-as $(BUILDDIR)/glyph-disas $(BUILDDIR)/glyph-kernel $(BUILDDIR)/glyph-node $(BUILDDIR)/glyph-net + +.PHONY: all clean test examples + +all: $(BUILDDIR) $(TARGETS) + @echo "" + @echo "=== GlyphOS Build Complete ===" + @echo " $(BUILDDIR)/glyph-vm - Glyph Virtual Machine (standalone)" + @echo " $(BUILDDIR)/glyph-kernel - GlyphOS Kernel (multi-GVM + HAL)" + @echo " $(BUILDDIR)/glyph-as - Glyph Assembler" + @echo " $(BUILDDIR)/glyph-disas - Glyph Disassembler" + @echo " $(BUILDDIR)/glyph-node - Substrate Node (symbolic evaluator)" + @echo " $(BUILDDIR)/glyph-net - Substrate Network (symbolic protocol)" + @echo "" + +$(BUILDDIR): + mkdir -p $(BUILDDIR) + +$(BUILDDIR)/glyph-vm: $(VM_SRCS) + $(CC) $(CFLAGS) $(INCLUDES) -o $@ $^ $(LDFLAGS) + +$(BUILDDIR)/glyph-kernel: $(KERNEL_SRCS) + $(CC) $(CFLAGS) $(INCLUDES) -o $@ $^ $(LDFLAGS) + +$(BUILDDIR)/glyph-as: $(AS_SRCS) + $(CC) $(CFLAGS) $(INCLUDES) -o $@ $^ $(LDFLAGS) + +$(BUILDDIR)/glyph-disas: $(DISAS_SRCS) + $(CC) $(CFLAGS) $(INCLUDES) -o $@ $^ $(LDFLAGS) + +$(BUILDDIR)/glyph-node: $(NODE_SRCS) + $(CC) $(CFLAGS) $(INCLUDES) -o $@ $^ $(LDFLAGS) + +$(BUILDDIR)/glyph-net: $(NET_SRCS) + $(CC) $(CFLAGS) $(INCLUDES) -o $@ $^ $(LDFLAGS) + +$(BUILDDIR)/glyph-bench: src/glyph/benchmark.c src/glyph/glyph_defs.c src/glyph/graph.c src/glyph/resonance.c src/glyph/evaluator.c src/glyph/compiler.c + $(CC) $(CFLAGS) $(INCLUDES) -o $@ $^ $(LDFLAGS) + +# Build and run the hello world example +examples: all + $(BUILDDIR)/glyph-as examples/hello.gasm -o $(BUILDDIR)/hello.gobj + $(BUILDDIR)/glyph-disas $(BUILDDIR)/hello.gobj + @echo "" + @echo "--- Running hello.gobj (standalone VM) ---" + $(BUILDDIR)/glyph-vm -t -d $(BUILDDIR)/hello.gobj + @echo "" + @echo "--- Running hello.gobj (kernel) ---" + $(BUILDDIR)/glyph-kernel -t $(BUILDDIR)/hello.gobj + +# Build and run the substrate demo +substrate-demo: all + $(BUILDDIR)/glyph-as examples/substrate_demo.gasm -o $(BUILDDIR)/substrate_demo.gobj + @echo "" + @echo "--- Running substrate_demo.gobj (standalone VM) ---" + $(BUILDDIR)/glyph-vm -t -d $(BUILDDIR)/substrate_demo.gobj + @echo "" + @echo "--- Running substrate_demo.gobj (kernel) ---" + $(BUILDDIR)/glyph-kernel -t $(BUILDDIR)/substrate_demo.gobj + +# Run multiple GVMs through the kernel +multi-gvm: all + $(BUILDDIR)/glyph-as examples/hello.gasm -o $(BUILDDIR)/hello.gobj + $(BUILDDIR)/glyph-as examples/substrate_demo.gasm -o $(BUILDDIR)/substrate_demo.gobj + @echo "" + @echo "--- Running 2 GVMs through kernel (round-robin) ---" + $(BUILDDIR)/glyph-kernel -t -p 0 $(BUILDDIR)/hello.gobj $(BUILDDIR)/substrate_demo.gobj + @echo "" + @echo "--- Running 2 GVMs through kernel (resonance) ---" + $(BUILDDIR)/glyph-kernel -t -p 2 $(BUILDDIR)/hello.gobj $(BUILDDIR)/substrate_demo.gobj + +clean: + rm -rf $(BUILDDIR) + +# Substrate node demos +node-demo: all + @echo "" + @echo "--- Substrate Node: Built-in Demo ---" + $(BUILDDIR)/glyph-node demo --trace + @echo "" + @echo "--- Substrate Node: Compile and evaluate add.glyph ---" + $(BUILDDIR)/glyph-node run examples/add.glyph --trace + @echo "" + @echo "--- Substrate Node: Compile and evaluate resonance_demo.glyph ---" + $(BUILDDIR)/glyph-node run examples/resonance_demo.glyph --trace + +# List all 64 symbolic glyph definitions +glyphs: all + $(BUILDDIR)/glyph-node glyphs + +test: examples substrate-demo + @echo "" + @echo "=== All tests passed ===" diff --git a/glyph-as b/glyph-as new file mode 100644 index 0000000000000000000000000000000000000000..f9037d7b029c184925e26dabf9bc238422d09afd GIT binary patch literal 25168 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%0A6i)Xu9H_@xLoGNpYJ+P*zrPW&u8Ra3 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 I7#OVjUq-JR2LJ#7 literal 0 HcmV?d00001 diff --git a/glyph-disas b/glyph-disas new file mode 100644 index 0000000000000000000000000000000000000000..a2e0987b21811f20a762bfc6699fe4e731a507be GIT binary patch literal 24712 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 literal 0 HcmV?d00001 diff --git a/glyph_isa.json b/glyph_isa.json new file mode 100644 index 0000000..582800b --- /dev/null +++ b/glyph_isa.json @@ -0,0 +1,652 @@ +{ + "version": "1.0", + "name": "Glyph ISA v1.0", + "description": "64-family symbolic instruction set architecture for GlyphOS", + "encoding": { + "width": 32, + "layout": { + "FAMILY_ID": { "bits": [31, 26], "width": 6, "description": "Father glyph index (0-63)" }, + "SUB_ID": { "bits": [25, 21], "width": 5, "description": "Sub-glyph index (0-31)" }, + "MODE": { "bits": [20, 19], "width": 2, "description": "Privilege level" }, + "OPCLASS": { "bits": [18, 16], "width": 3, "description": "Operation class" }, + "OPCODE_LOCAL": { "bits": [15, 0], "width": 16, "description": "Local opcode (OP_A[15:8] + OP_B[7:0])" } + } + }, + "modes": { + "0": { "name": "user", "description": "Unprivileged user-space" }, + "1": { "name": "kernel", "description": "Kernel privilege" }, + "2": { "name": "system", "description": "System/firmware privilege" }, + "3": { "name": "reserved", "description": "Reserved for future use" } + }, + "opclasses": { + "0": { "name": "MEM", "description": "Memory operations" }, + "1": { "name": "CMP", "description": "Compute operations" }, + "2": { "name": "CTL", "description": "Control/scheduling" }, + "3": { "name": "IPC", "description": "Inter-process communication" }, + "4": { "name": "SYS", "description": "System/HAL/environment" }, + "5": { "name": "APP", "description": "Application extension" }, + "6": { "name": "EXT", "description": "Extended/reserved" }, + "7": { "name": "EXT2", "description": "Extended/reserved 2" } + }, + "ext_kinds": { + "0": { "name": "EXT_NONE", "fields": [] }, + "1": { "name": "EXT_STORE", "fields": ["size", "integrity", "traits"] }, + "2": { "name": "EXT_CMP_PROFILE", "fields": ["profile_id", "dst_handle"] }, + "3": { "name": "EXT_TRAITS", "fields": ["mask"] }, + "4": { "name": "EXT_MISC", "fields": ["a", "b"] } + }, + "families": [ + { + "id": 0, "name": "MEM.STORE_EPHEMERAL", "lineage": "MEM", + "description": "Ephemeral (volatile) memory storage", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "STORE_EPH", "description": "Store ephemeral data", "ext_kind": "EXT_STORE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "STORE_EPH_TRAIT", "description": "Store ephemeral with traits", "ext_kind": "EXT_STORE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "STORE_EPH_FAST", "description": "Fast-path ephemeral store", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 3, "mnemonic": "STORE_EPH_BULK", "description": "Bulk ephemeral store", "ext_kind": "EXT_STORE", "privilege": "user" } + ] + }, + { + "id": 1, "name": "MEM.STORE_PERSISTENT", "lineage": "MEM", + "description": "Persistent (durable) memory storage", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "STORE_PER", "description": "Store persistent data", "ext_kind": "EXT_STORE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "STORE_PER_SYNC", "description": "Store persistent with sync", "ext_kind": "EXT_STORE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "STORE_PER_TRAIT", "description": "Store persistent with traits", "ext_kind": "EXT_STORE", "privilege": "user" }, + { "sub_id": 3, "mnemonic": "STORE_PER_SEALED", "description": "Store persistent sealed/integrity","ext_kind": "EXT_STORE", "privilege": "kernel" } + ] + }, + { + "id": 2, "name": "MEM.LOAD", "lineage": "MEM", + "description": "Memory load/fetch operations", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "LOAD", "description": "Load data from region", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "LOAD_TRAIT", "description": "Load with trait check", "ext_kind": "EXT_TRAITS","privilege": "user" }, + { "sub_id": 2, "mnemonic": "LOAD_RESONANT", "description": "Load with resonance scoring", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 3, "mnemonic": "LOAD_BULK", "description": "Bulk load from region", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 3, "name": "MEM.FREE", "lineage": "MEM", + "description": "Memory deallocation/release", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "FREE", "description": "Free memory region", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "FREE_CASCADE", "description": "Free with cascading lineage", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "FREE_SEALED", "description": "Free sealed region", "ext_kind": "EXT_NONE", "privilege": "kernel" } + ] + }, + { + "id": 4, "name": "MEM.REGION_CREATE", "lineage": "MEM", + "description": "Create new memory region", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "REGION_NEW", "description": "Allocate new memory region", "ext_kind": "EXT_STORE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "REGION_NEW_TRAIT", "description": "Allocate with traits", "ext_kind": "EXT_STORE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "REGION_CLONE", "description": "Clone existing region", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 5, "name": "MEM.REGION_RESIZE", "lineage": "MEM", + "description": "Resize memory region", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "REGION_RESIZE", "description": "Resize region", "ext_kind": "EXT_STORE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "REGION_SHRINK", "description": "Shrink region (release tail)", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "REGION_FILL_ASC", "description": "Fill region with ascending bytes (high coherence)", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 3, "mnemonic": "REGION_FILL_NOISE","description": "Fill region with chaotic noise (low coherence)", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 4, "mnemonic": "REGION_FILL_CONST","description": "Fill region with constant byte from reg", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 6, "name": "MEM.COPY", "lineage": "MEM", + "description": "Memory copy operations", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "MEMCOPY", "description": "Copy between regions", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "MEMCOPY_TRAIT", "description": "Copy with trait propagation", "ext_kind": "EXT_TRAITS","privilege": "user" } + ] + }, + { + "id": 7, "name": "MEM.INTEGRITY", "lineage": "MEM", + "description": "Memory integrity checking", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "MEM_CHECK", "description": "Check region integrity", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "MEM_SEAL", "description": "Seal region (make immutable)", "ext_kind": "EXT_NONE", "privilege": "kernel" } + ] + }, + { + "id": 8, "name": "CMP.ADD", "lineage": "CMP", + "description": "Compute: Addition", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "ADD", "description": "Integer addition", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "ADD_F", "description": "Floating-point addition", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "ADD_SAT", "description": "Saturating addition", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 3, "mnemonic": "ADD_TRAIT", "description": "Addition with trait propagation", "ext_kind": "EXT_TRAITS","privilege": "user" } + ] + }, + { + "id": 9, "name": "CMP.SUB", "lineage": "CMP", + "description": "Compute: Subtraction", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "SUB", "description": "Integer subtraction", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "SUB_F", "description": "Floating-point subtraction", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "SUB_SAT", "description": "Saturating subtraction", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 10, "name": "CMP.MUL", "lineage": "CMP", + "description": "Compute: Multiplication", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "MUL", "description": "Integer multiplication", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "MUL_F", "description": "Floating-point multiplication", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 11, "name": "CMP.DIV", "lineage": "CMP", + "description": "Compute: Division", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "DIV", "description": "Integer division", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "DIV_F", "description": "Floating-point division", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "MOD", "description": "Modulo/remainder", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 12, "name": "CMP.LOGIC", "lineage": "CMP", + "description": "Compute: Bitwise/logic", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "AND", "description": "Bitwise AND", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "OR", "description": "Bitwise OR", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "XOR", "description": "Bitwise XOR", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 3, "mnemonic": "NOT", "description": "Bitwise NOT", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 4, "mnemonic": "SHL", "description": "Shift left", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 5, "mnemonic": "SHR", "description": "Shift right", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 13, "name": "CMP.COMPARE", "lineage": "CMP", + "description": "Compute: Comparison", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "CMP_EQ", "description": "Compare equal", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "CMP_LT", "description": "Compare less than", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "CMP_GT", "description": "Compare greater than", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 3, "mnemonic": "CMP_NEQ", "description": "Compare not equal", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 14, "name": "CMP.NEURAL", "lineage": "CMP", + "description": "Compute: Neural/substrate scoring", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "NEURAL_ENERGY", "description": "Compute neural energy score", "ext_kind": "EXT_CMP_PROFILE","privilege": "user" }, + { "sub_id": 1, "mnemonic": "RESONANCE_SCORE", "description": "Compute resonance between regions","ext_kind": "EXT_CMP_PROFILE","privilege": "user" }, + { "sub_id": 2, "mnemonic": "STABILITY_SCORE", "description": "Compute stability decay", "ext_kind": "EXT_CMP_PROFILE","privilege": "user" } + ] + }, + { + "id": 15, "name": "CMP.CONVERT", "lineage": "CMP", + "description": "Compute: Type conversion", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "ITOF", "description": "Integer to float", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "FTOI", "description": "Float to integer", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 16, "name": "CTL.JUMP", "lineage": "CTL", + "description": "Control: Unconditional jump", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "JMP", "description": "Unconditional jump", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "JMP_REL", "description": "Relative jump", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 17, "name": "CTL.BRANCH", "lineage": "CTL", + "description": "Control: Conditional branch", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "BEQ", "description": "Branch if equal", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "BNE", "description": "Branch if not equal", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "BLT", "description": "Branch if less than", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 3, "mnemonic": "BGT", "description": "Branch if greater than", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 18, "name": "CTL.CALL", "lineage": "CTL", + "description": "Control: Subroutine call/return", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "CALL", "description": "Call subroutine", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "RET", "description": "Return from subroutine", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 19, "name": "CTL.YIELD", "lineage": "CTL", + "description": "Control: Cooperative scheduling", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "YIELD", "description": "Yield to scheduler", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "YIELD_IF", "description": "Conditional yield", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 20, "name": "CTL.HALT", "lineage": "CTL", + "description": "Control: Halt execution", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "HALT", "description": "Halt GVM execution", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "HALT_ERR", "description": "Halt with error code", "ext_kind": "EXT_MISC", "privilege": "user" } + ] + }, + { + "id": 21, "name": "CTL.NOP", "lineage": "CTL", + "description": "Control: No operation", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "NOP", "description": "No operation", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "NOP_TRACE", "description": "NOP with trace output", "ext_kind": "EXT_MISC", "privilege": "user" } + ] + }, + { + "id": 22, "name": "CTL.LOOP", "lineage": "CTL", + "description": "Control: Loop constructs", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "LOOP", "description": "Decrement and branch if nonzero", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "LOOP_TRAIT", "description": "Loop while trait condition met", "ext_kind": "EXT_TRAITS","privilege": "user" } + ] + }, + { + "id": 23, "name": "CTL.TRAP", "lineage": "CTL", + "description": "Control: Trap/exception", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "TRAP", "description": "Software trap/syscall", "ext_kind": "EXT_MISC", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "TRAP_RET", "description": "Return from trap", "ext_kind": "EXT_NONE", "privilege": "kernel" } + ] + }, + { + "id": 24, "name": "IPC.SEND", "lineage": "IPC", + "description": "IPC: Send message", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "MSG_SEND", "description": "Send message to GVM", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "MSG_SEND_TRAIT", "description": "Send with trait filter", "ext_kind": "EXT_TRAITS","privilege": "user" }, + { "sub_id": 2, "mnemonic": "MSG_BROADCAST", "description": "Broadcast to all GVMs", "ext_kind": "EXT_NONE", "privilege": "kernel" } + ] + }, + { + "id": 25, "name": "IPC.RECV", "lineage": "IPC", + "description": "IPC: Receive message", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "MSG_RECV", "description": "Receive next message", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "MSG_RECV_WAIT", "description": "Blocking receive", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "MSG_PEEK", "description": "Peek at next message", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 26, "name": "IPC.CHANNEL", "lineage": "IPC", + "description": "IPC: Channel management", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "CHAN_OPEN", "description": "Open IPC channel", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "CHAN_CLOSE", "description": "Close IPC channel", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "CHAN_STATUS", "description": "Query channel status", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 27, "name": "IPC.SIGNAL", "lineage": "IPC", + "description": "IPC: Signal/event", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "SIG_RAISE", "description": "Raise signal", "ext_kind": "EXT_MISC", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "SIG_WAIT", "description": "Wait for signal", "ext_kind": "EXT_MISC", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "SIG_HANDLER", "description": "Register signal handler", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 28, "name": "IPC.PIPE", "lineage": "IPC", + "description": "IPC: Pipe/stream", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "PIPE_CREATE", "description": "Create data pipe", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "PIPE_WRITE", "description": "Write to pipe", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "PIPE_READ", "description": "Read from pipe", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 29, "name": "IPC.SHARED_MEM", "lineage": "IPC", + "description": "IPC: Shared memory", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "SHM_CREATE", "description": "Create shared region", "ext_kind": "EXT_STORE", "privilege": "kernel" }, + { "sub_id": 1, "mnemonic": "SHM_ATTACH", "description": "Attach to shared region", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "SHM_DETACH", "description": "Detach from shared region", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 30, "name": "IPC.SYNC", "lineage": "IPC", + "description": "IPC: Synchronization primitives", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "MUTEX_LOCK", "description": "Acquire mutex", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "MUTEX_UNLOCK", "description": "Release mutex", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "SEM_WAIT", "description": "Semaphore wait (P)", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 3, "mnemonic": "SEM_POST", "description": "Semaphore signal (V)", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 31, "name": "IPC.AGENT", "lineage": "IPC", + "description": "IPC: Agent personality binding", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "AGENT_BIND", "description": "Bind codebook personality to GVM", "ext_kind": "EXT_MISC", "privilege": "kernel" }, + { "sub_id": 1, "mnemonic": "AGENT_QUERY", "description": "Query agent personality", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "AGENT_MUTATE", "description": "Mutate agent traits", "ext_kind": "EXT_TRAITS","privilege": "kernel" } + ] + }, + { + "id": 32, "name": "SYS.GVM_CREATE", "lineage": "SYS", + "description": "System: Create GVM", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "GVM_NEW", "description": "Create new GVM instance", "ext_kind": "EXT_MISC", "privilege": "kernel" }, + { "sub_id": 1, "mnemonic": "GVM_NEW_CHILD", "description": "Fork child GVM from current", "ext_kind": "EXT_NONE", "privilege": "kernel" } + ] + }, + { + "id": 33, "name": "SYS.GVM_DESTROY", "lineage": "SYS", + "description": "System: Destroy GVM", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "GVM_KILL", "description": "Destroy GVM instance", "ext_kind": "EXT_NONE", "privilege": "kernel" }, + { "sub_id": 1, "mnemonic": "GVM_KILL_CASCADE", "description": "Destroy GVM and children", "ext_kind": "EXT_NONE", "privilege": "kernel" } + ] + }, + { + "id": 34, "name": "SYS.GVM_SCHEDULE", "lineage": "SYS", + "description": "System: GVM scheduling", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "SCHED_RR", "description": "Round-robin schedule", "ext_kind": "EXT_NONE", "privilege": "kernel" }, + { "sub_id": 1, "mnemonic": "SCHED_PRIORITY", "description": "Priority-based schedule", "ext_kind": "EXT_MISC", "privilege": "kernel" }, + { "sub_id": 2, "mnemonic": "SCHED_RESONANCE", "description": "Resonance-aware scheduling", "ext_kind": "EXT_CMP_PROFILE","privilege": "kernel" } + ] + }, + { + "id": 35, "name": "SYS.HAL_DISPATCH", "lineage": "SYS", + "description": "System: HAL dispatch", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "HAL_CALL", "description": "Dispatch to HAL backend", "ext_kind": "EXT_MISC", "privilege": "kernel" }, + { "sub_id": 1, "mnemonic": "HAL_QUERY", "description": "Query HAL capabilities", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "HAL_REGISTER", "description": "Register new HAL backend", "ext_kind": "EXT_MISC", "privilege": "system" } + ] + }, + { + "id": 36, "name": "SYS.ENV", "lineage": "SYS", + "description": "System: Environment query", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "ENV_GET", "description": "Get environment variable", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "ENV_SET", "description": "Set environment variable", "ext_kind": "EXT_NONE", "privilege": "kernel" }, + { "sub_id": 2, "mnemonic": "ENV_ARCH", "description": "Query architecture info", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 37, "name": "SYS.SUBSTRATE", "lineage": "SYS", + "description": "System: Substrate engine interface", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "SUB_QUERY", "description": "Query substrate parameters", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "SUB_TUNE", "description": "Tune substrate constants", "ext_kind": "EXT_MISC", "privilege": "system" }, + { "sub_id": 2, "mnemonic": "SUB_PROFILE", "description": "Profile substrate performance", "ext_kind": "EXT_CMP_PROFILE","privilege": "kernel" } + ] + }, + { + "id": 38, "name": "SYS.TRAIT_GLOBAL", "lineage": "SYS", + "description": "System: Global trait management", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "TRAIT_DEFINE", "description": "Define new trait bit", "ext_kind": "EXT_TRAITS","privilege": "kernel" }, + { "sub_id": 1, "mnemonic": "TRAIT_QUERY", "description": "Query trait registry", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "TRAIT_PROPAGATE", "description": "Run global trait propagation", "ext_kind": "EXT_TRAITS","privilege": "kernel" } + ] + }, + { + "id": 39, "name": "SYS.LINEAGE", "lineage": "SYS", + "description": "System: Lineage tracking", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "LINEAGE_QUERY", "description": "Query lineage chain", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "LINEAGE_BIND", "description": "Bind lineage parent-child", "ext_kind": "EXT_NONE", "privilege": "kernel" }, + { "sub_id": 2, "mnemonic": "LINEAGE_CHECK", "description": "Check lineage propagation", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 40, "name": "SYS.TIMER", "lineage": "SYS", + "description": "System: Timer/clock", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "TIMER_GET", "description": "Get system timer value", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "TIMER_SET", "description": "Set timer alarm", "ext_kind": "EXT_MISC", "privilege": "kernel" }, + { "sub_id": 2, "mnemonic": "TIMER_SLEEP", "description": "Sleep for N ticks", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 41, "name": "SYS.LOG", "lineage": "SYS", + "description": "System: Logging/tracing", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "LOG_INFO", "description": "Log info message", "ext_kind": "EXT_MISC", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "LOG_WARN", "description": "Log warning message", "ext_kind": "EXT_MISC", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "LOG_ERR", "description": "Log error message", "ext_kind": "EXT_MISC", "privilege": "user" }, + { "sub_id": 3, "mnemonic": "LOG_TRACE", "description": "Log trace/debug message", "ext_kind": "EXT_MISC", "privilege": "user" } + ] + }, + { + "id": 42, "name": "SYS.BOOT", "lineage": "SYS", + "description": "System: Boot/firmware interface", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "BOOT_QUERY", "description": "Query boot parameters", "ext_kind": "EXT_NONE", "privilege": "system" }, + { "sub_id": 1, "mnemonic": "BOOT_CHAIN", "description": "Chain to next boot stage", "ext_kind": "EXT_NONE", "privilege": "system" }, + { "sub_id": 2, "mnemonic": "BOOT_HAL_INIT", "description": "Initialize HAL during boot", "ext_kind": "EXT_NONE", "privilege": "system" } + ] + }, + { + "id": 43, "name": "SYS.PANIC", "lineage": "SYS", + "description": "System: Kernel panic/recovery", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "PANIC", "description": "Kernel panic (halt all GVMs)", "ext_kind": "EXT_MISC", "privilege": "kernel" }, + { "sub_id": 1, "mnemonic": "PANIC_RECOVER", "description": "Attempt panic recovery", "ext_kind": "EXT_NONE", "privilege": "kernel" } + ] + }, + { + "id": 44, "name": "SYS.DEBUG", "lineage": "SYS", + "description": "System: Debug support", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "DBG_BREAK", "description": "Debugger breakpoint", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "DBG_DUMP", "description": "Dump VM state", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "DBG_TRACE_ON", "description": "Enable instruction tracing", "ext_kind": "EXT_NONE", "privilege": "kernel" }, + { "sub_id": 3, "mnemonic": "DBG_TRACE_OFF", "description": "Disable instruction tracing", "ext_kind": "EXT_NONE", "privilege": "kernel" } + ] + }, + { + "id": 45, "name": "SYS.PRIVILEGE", "lineage": "SYS", + "description": "System: Privilege management", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "PRIV_ELEVATE", "description": "Request privilege elevation", "ext_kind": "EXT_NONE", "privilege": "kernel" }, + { "sub_id": 1, "mnemonic": "PRIV_DROP", "description": "Drop to lower privilege", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "PRIV_CHECK", "description": "Check current privilege level", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 46, "name": "SYS.HANDLE", "lineage": "SYS", + "description": "System: Handle table management", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "HANDLE_ALLOC", "description": "Allocate new handle", "ext_kind": "EXT_MISC", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "HANDLE_FREE", "description": "Free handle", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "HANDLE_TYPE", "description": "Query handle type", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 47, "name": "SYS.RESERVED", "lineage": "SYS", + "description": "System: Reserved for future SYS extensions", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "SYS_RESERVED_0", "description": "Reserved", "ext_kind": "EXT_NONE", "privilege": "system" } + ] + }, + { + "id": 48, "name": "APP.PRINT", "lineage": "APP", + "description": "Application: Print/output", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "PRINT_INT", "description": "Print integer from OP_A", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "PRINT_STR", "description": "Print string from region", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "PRINT_HEX", "description": "Print hex value", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 3, "mnemonic": "PRINT_FLOAT", "description": "Print float value", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 4, "mnemonic": "PRINT_NEWLINE", "description": "Print newline character", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 49, "name": "APP.INPUT", "lineage": "APP", + "description": "Application: User input", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "INPUT_INT", "description": "Read integer from user", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "INPUT_STR", "description": "Read string from user", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 50, "name": "APP.FILE", "lineage": "APP", + "description": "Application: File I/O", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "FILE_OPEN", "description": "Open file", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "FILE_READ", "description": "Read from file", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "FILE_WRITE", "description": "Write to file", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 3, "mnemonic": "FILE_CLOSE", "description": "Close file", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 51, "name": "APP.NET", "lineage": "APP", + "description": "Application: Network I/O", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "NET_CONNECT", "description": "Open network connection", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "NET_SEND", "description": "Send network data", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "NET_RECV", "description": "Receive network data", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 3, "mnemonic": "NET_CLOSE", "description": "Close network connection", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 52, "name": "APP.GFX", "lineage": "APP", + "description": "Application: Graphics", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "GFX_INIT", "description": "Initialize graphics context", "ext_kind": "EXT_MISC", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "GFX_PIXEL", "description": "Set pixel", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "GFX_CLEAR", "description": "Clear screen/buffer", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 3, "mnemonic": "GFX_FLIP", "description": "Flip/present framebuffer", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 53, "name": "APP.AUDIO", "lineage": "APP", + "description": "Application: Audio", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "AUDIO_INIT", "description": "Initialize audio subsystem", "ext_kind": "EXT_MISC", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "AUDIO_PLAY", "description": "Play audio buffer", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "AUDIO_STOP", "description": "Stop audio playback", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 54, "name": "APP.RANDOM", "lineage": "APP", + "description": "Application: Random number generation", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "RAND_INT", "description": "Generate random integer", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "RAND_FLOAT", "description": "Generate random float [0,1)", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "RAND_SEED", "description": "Seed RNG", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 55, "name": "APP.STRING", "lineage": "APP", + "description": "Application: String operations", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "STR_LEN", "description": "Get string length", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "STR_CAT", "description": "Concatenate strings", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "STR_CMP", "description": "Compare strings", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 3, "mnemonic": "STR_FIND", "description": "Find substring", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 56, "name": "APP.MATH", "lineage": "APP", + "description": "Application: Math library", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "MATH_SQRT", "description": "Square root", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "MATH_SIN", "description": "Sine", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "MATH_COS", "description": "Cosine", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 3, "mnemonic": "MATH_POW", "description": "Power (a^b)", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 4, "mnemonic": "MATH_LOG", "description": "Natural logarithm", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 5, "mnemonic": "MATH_ABS", "description": "Absolute value", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 57, "name": "APP.CRYPTO", "lineage": "APP", + "description": "Application: Cryptographic operations", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "HASH_SHA256", "description": "SHA-256 hash", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "HMAC", "description": "HMAC computation", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "ENCRYPT", "description": "Symmetric encryption", "ext_kind": "EXT_MISC", "privilege": "user" }, + { "sub_id": 3, "mnemonic": "DECRYPT", "description": "Symmetric decryption", "ext_kind": "EXT_MISC", "privilege": "user" } + ] + }, + { + "id": 58, "name": "APP.CODEC", "lineage": "APP", + "description": "Application: Encoding/decoding", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "BASE64_ENC", "description": "Base64 encode", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "BASE64_DEC", "description": "Base64 decode", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "UTF8_VALIDATE", "description": "Validate UTF-8 string", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 59, "name": "APP.TIME", "lineage": "APP", + "description": "Application: Time/date utilities", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "TIME_NOW", "description": "Get current timestamp", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "TIME_DIFF", "description": "Compute time difference", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 60, "name": "APP.COLLECTION", "lineage": "APP", + "description": "Application: Data structures", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "LIST_NEW", "description": "Create new list", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "LIST_PUSH", "description": "Push to list", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "LIST_POP", "description": "Pop from list", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 3, "mnemonic": "MAP_NEW", "description": "Create new map", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 4, "mnemonic": "MAP_SET", "description": "Set map key-value", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 5, "mnemonic": "MAP_GET", "description": "Get value by key", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 61, "name": "APP.GLYPH_META", "lineage": "APP", + "description": "Application: Glyph metadata/introspection", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "META_ISA_VER", "description": "Query ISA version", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 1, "mnemonic": "META_FAMILY_INFO", "description": "Query family information", "ext_kind": "EXT_NONE", "privilege": "user" }, + { "sub_id": 2, "mnemonic": "META_INSTR_INFO", "description": "Introspect instruction encoding", "ext_kind": "EXT_NONE", "privilege": "user" } + ] + }, + { + "id": 62, "name": "APP.USER_EXT1", "lineage": "APP", + "description": "Application: User extension slot 1", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "UEXT1_0", "description": "User extension 1, op 0", "ext_kind": "EXT_MISC", "privilege": "user" } + ] + }, + { + "id": 63, "name": "APP.USER_EXT2", "lineage": "APP", + "description": "Application: User extension slot 2", + "subglyphs": [ + { "sub_id": 0, "mnemonic": "UEXT2_0", "description": "User extension 2, op 0", "ext_kind": "EXT_MISC", "privilege": "user" } + ] + } + ], + "object_format": { + "name": ".gobj", + "description": "Glyph object file format", + "header": { + "magic": "GLYPHOBJ", + "magic_size": 8, + "version": { "type": "uint32", "value": 1 }, + "code_len": { "type": "uint32", "description": "Number of 32-bit instruction words" }, + "ext_len": { "type": "uint32", "description": "Number of ExtSlot entries" } + }, + "sections": [ + { "name": "code", "description": "code_len * 4 bytes of 32-bit instruction words" }, + { "name": "ext", "description": "ext_len * sizeof(ExtSlot) bytes of extended operand data" } + ] + }, + "assembly_syntax": { + "format": "[.] , , ...", + "comment_char": ";", + "operand_types": { + "handle": { "prefix": "%h", "example": "%h0" }, + "id": { "prefix": "@", "example": "@my_region" }, + "integer": { "example": "42" }, + "traits": { "prefix": "traits{", "suffix": "}", "example": "traits{0xFF}" } + } + }, + "substrate_constants": { + "RESONANCE_K": { "value": 1.0, "description": "Logistic curve steepness" }, + "RESONANCE_MU": { "value": 4.0, "description": "Logistic curve midpoint" }, + "STABILITY_LAMBDA": { "value": 0.1, "description": "Exponential decay rate" }, + "LINEAGE_THRESHOLD": { "value": 0.75, "description": "Correlation threshold for lineage propagation" } + } +}