Implement multi-glyph resonance system for XIC v1.5 (6 phases)

Complete end-to-end multi-glyph resonance enabling simultaneous analysis
of multiple glyphs with cross-glyph resonance metrics, guardrails, and
comprehensive telemetry.

## Phase 1: XIC Layer - Context Accumulation

### XICContext Enhancement
- Added glyph_contexts: list field for accumulating glyph IDs

### New Operations
- PUSH_GLYPH_CONTEXT: accumulate glyph with guardrail enforcement
- CLEAR_GLYPH_CONTEXT: reset context for new analysis chains

### Enhanced Existing Operations
- CALL_GLYPH: detects populated glyph_contexts, passes glyph_ids to pipeline
- RUN_PROMPT: supports multi-glyph context via glyph_ids parameter
- STREAM: supports multi-glyph context via glyph_ids parameter

### Guardrail Integration
- max_resonance_glyphs (default 10, configurable)
- enable_resonance_guardrails (default True)
- Enforced at PUSH_GLYPH_CONTEXT to prevent exceeding limit

## Phase 2: Symbolic Pipeline - Multi-Glyph Support

### Extended Signature
- run_symbolic_pipeline now accepts glyph_ids parameter
- Multi-glyph mode detection and routing
- glyph_ids takes precedence over glyph_id if both provided

### Multi-Glyph Processing
- SymbolicStep(kind="multi_glyph_resonance") for glyph_ids
- SymbolicStep(kind="guardrail") when truncation needed
- Guardrail enforcement with pipeline-level truncation to max_resonance_glyphs

### Null-Safety Fixes
- extract_glyph_resonances: handles None resonance_map
- get_dominant_glyphs: handles None resonance_map
- format_glyph_resonance_report: handles None resonance_map

## Phase 3: LAIN Cognitive Kernel - Resonance Computation

### New Method: compute_multi_glyph_resonance
- Takes glyph_ids list and execution result
- Computes 5-dimensional metrics per glyph:
  - weight: relative importance [0.0, 1.0]
  - lineage_score: symbolic ancestry [0.0, 1.0]
  - contributor_score: contribution to fusion [0.0, 1.0]
  - frequency_score: occurrence frequency [0.0, 1.0]
  - grammar_score: structural alignment [0.0, 1.0]
- Returns global_resonance_score as weighted average

### Enhanced execute_symbolic
- Detects context["glyph_ids"] for multi-glyph mode
- Post-processes LAIN result via compute_multi_glyph_resonance
- Merges multi-glyph metrics into fused_symbol
- Maintains backward compatibility (single-glyph unaffected)

## Phase 4: Guardrails & Telemetry

### Guardrail Enforcement
- PUSH_GLYPH_CONTEXT rejects pushes exceeding max_resonance_glyphs
- run_symbolic_pipeline truncates glyph_ids if needed
- Guardrail step recorded in pipeline with reason message

### Telemetry Collection
- ctx._state["last_resonance_stats"] stores:
  - glyph_count: number of glyphs processed
  - global_resonance_score: weighted average [0.0, 1.0]
  - guardrails_triggered: list of guardrail messages
  - timestamp: execution time

## Phase 5: Validation Suite

### 12 Comprehensive Tests (all passing)
1. New operations in OP_TABLE
2. XICContext.glyph_contexts field
3. PUSH_GLYPH_CONTEXT accumulation
4. CLEAR_GLYPH_CONTEXT reset
5. Guardrail enforcement on PUSH
6. run_symbolic_pipeline signature
7. compute_multi_glyph_resonance method
8. Multi-glyph resonance structure
9. execute_symbolic multi-glyph processing
10. Single-glyph backward compatibility
11. Demo programs validity
12. Multi-glyph demo structure

### Test File: test_multi_glyph_resonance.py
- Unit tests for all components
- Integration tests for data flow
- Backward compatibility validation
- Mock-based testing for isolated units

## Phase 6: Documentation

### Updated XIC_SEMANTICS_v1_5.md
- Added PUSH_GLYPH_CONTEXT instruction semantics
- Added CLEAR_GLYPH_CONTEXT instruction semantics
- Added comprehensive Multi-Glyph Resonance section with:
  - Context accumulation model diagram
  - Complete workflow documentation
  - Guardrail specifications
  - Telemetry format definition
  - Three-glyph analysis example with JSON/Python output

### Created demo_multi_glyph_resonance.gx.json
- Two-chain demonstration program
- Chain 1: 3-glyph analysis (compression, entropy, information)
- Chain 2: 4-glyph analysis (cognition, language, symbol, meaning)
- Shows complete resonance query pipeline
- Demonstrates context clearing and reset

### Created XIC_MULTI_GLYPH_RESONANCE_REPORT.md
- Comprehensive implementation documentation
- All 6 phases detailed with code examples
- Architecture overview and data flow diagrams
- Design decisions with rationale
- Backward compatibility guarantees
- Usage examples (CLI, JSON, programmatic)
- Future enhancement suggestions

## Key Features

 Explicit context accumulation (PUSH_GLYPH_CONTEXT)
 Automatic multi-glyph detection in CALL_GLYPH/RUN_PROMPT/STREAM
 Guardrails prevent exceeding max_resonance_glyphs
 Telemetry tracking for analytics
 Full backward compatibility maintained
 Single-glyph mode unaffected
 Comprehensive validation suite (12/12 tests passing)
 Complete formal specification updates
 Demo program showcase

## Backward Compatibility

- All XIC v1 programs work unchanged
- Single-glyph CALL_GLYPH still works identically
- Empty glyph_contexts → single-glyph behavior
- .gx binary format unchanged
- No breaking changes to APIs

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
GlyphRunner System
2026-05-21 02:29:22 -04:00
parent bce6b6fa37
commit 150a036604
7 changed files with 1562 additions and 19 deletions
@@ -0,0 +1,43 @@
{
"magic": "GXIC1",
"version": 1,
"model": "",
"entrypoint": "main",
"symbols": {
"main": 0
},
"instructions": [
{ "op": "LOG", "args": ["=== XIC v1.5 Multi-Glyph Resonance Demo ==="] },
{ "op": "SET_MODE", "args": ["symbolic"] },
{ "op": "LOG", "args": ["Mode set to: symbolic"] },
{ "op": "SET_CONTEXT", "args": ["domain", "cognitive_theory"] },
{ "op": "SET_CONTEXT", "args": ["style", "integrated"] },
{ "op": "LOG", "args": ["Context configured"] },
{ "op": "CHAIN", "args": ["multi_glyph_analysis_1"] },
{ "op": "LOG", "args": ["=== Accumulating glyph context ==="] },
{ "op": "PUSH_GLYPH_CONTEXT", "args": ["glyph://compression"] },
{ "op": "PUSH_GLYPH_CONTEXT", "args": ["glyph://entropy"] },
{ "op": "PUSH_GLYPH_CONTEXT", "args": ["glyph://information"] },
{ "op": "LOG", "args": ["Three glyphs in context: compression, entropy, information"] },
{ "op": "LOG", "args": ["=== Executing with multi-glyph resonance ==="] },
{ "op": "CALL_GLYPH", "args": ["glyph://unified_theory", "How do compression, entropy, and information theory relate as fundamental cognitive glyphs?"] },
{ "op": "LOG", "args": ["Multi-glyph resonance computation complete"] },
{ "op": "LOG", "args": ["=== Querying multi-glyph results ==="] },
{ "op": "GET_GLYPH_RESONANCE", "args": ["glyph://unified_theory", "report"] },
{ "op": "GET_GLYPH_RESONANCE", "args": ["glyph://unified_theory", "global"] },
{ "op": "GET_GLYPH_RESONANCE", "args": ["glyph://unified_theory", "dominant"] },
{ "op": "CHAIN", "args": ["multi_glyph_analysis_2"] },
{ "op": "LOG", "args": ["=== Second multi-glyph chain ==="] },
{ "op": "CLEAR_GLYPH_CONTEXT", "args": [] },
{ "op": "PUSH_GLYPH_CONTEXT", "args": ["glyph://cognition"] },
{ "op": "PUSH_GLYPH_CONTEXT", "args": ["glyph://language"] },
{ "op": "PUSH_GLYPH_CONTEXT", "args": ["glyph://symbol"] },
{ "op": "PUSH_GLYPH_CONTEXT", "args": ["glyph://meaning"] },
{ "op": "LOG", "args": ["Four glyphs accumulated: cognition, language, symbol, meaning"] },
{ "op": "CALL_GLYPH", "args": ["glyph://semiotic_resonance", "Describe the resonance between cognition, language, symbols, and meaning."] },
{ "op": "GET_GLYPH_RESONANCE", "args": ["glyph://semiotic_resonance", "report"] },
{ "op": "LOG", "args": ["=== Multi-Glyph Demo Complete ==="] },
{ "op": "CLEAR_GLYPH_CONTEXT", "args": [] },
{ "op": "LOG", "args": ["Context cleared. Program exit: success"] }
]
}