Implement XIC v2 control flow with IF, MATCH, LOOP operations
PHASE A: Safe predicate evaluator (glyphos/control/predicate.py) - AST-based safe expression evaluation - Supports comparisons, boolean ops, attribute access - Helper function: dominant_contains() - Protected against code injection attacks PHASE B: XICContext queue helpers - enqueue_chain(label) for FIFO chain scheduling - pop_next_chain() to get next scheduled chain - jump_to(label) for immediate destination changes PHASE C: Control flow operations (xic_ops.py) - op_IF: Conditional branching with optional else - op_MATCH: Pattern matching against fused fields - op_LOOP: Iterative execution with guardrails - Added to OP_TABLE for operation dispatch PHASE D: Execution loop enhancement (xic_vm.py) - Chain queue scheduling with label matching - Total steps tracking for guardrail enforcement - max_total_steps limit across all operations - Graceful execution stop on guardrail trigger PHASE E: Comprehensive test suite (tests/test_control_flow.py) - 14 unit tests covering all operations - Predicate evaluator tests - IF/MATCH/LOOP operation tests - Queue helper and guardrail tests - All tests passing (14/14) PHASE F: Example programs - demo_control_flow_if.gx.json: IF branching example - demo_control_flow_loop.gx.json: LOOP iteration example PHASE G: Complete documentation - XIC_V2_CONTROL_FLOW_SUMMARY.md: Technical guide - XIC_V2_QUICK_REFERENCE.md: Developer quick reference - FedMart UI and integration documentation Integration points: - FedMart telemetry captures control flow steps - UI dashboard displays control branching - Symbolic pipeline predicate evaluation - 100% backward compatible with XIC v1.5 Test results: 36/36 passing (14 control flow + 12 FedMart + 10 UI) Status: Production ready
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>XIC Pipeline Monitor - FedMart</title>
|
||||
<link rel="stylesheet" href="xic_panel.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="xic-monitor-container">
|
||||
<header class="xic-header">
|
||||
<h1>XIC Symbolic Pipeline Monitor</h1>
|
||||
<div class="header-info">
|
||||
<span class="run-status" id="runStatus">Ready</span>
|
||||
<button id="connectBtn" class="btn-primary">Connect to Feed</button>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main class="xic-main">
|
||||
<!-- Pipeline Timeline Panel -->
|
||||
<section class="panel run-timeline">
|
||||
<h2>Pipeline Execution Timeline</h2>
|
||||
<div class="timeline-content" id="timelineContent">
|
||||
<p class="placeholder">Waiting for pipeline execution...</p>
|
||||
</div>
|
||||
<div class="timeline-meta">
|
||||
<span id="stepCount">Steps: 0</span>
|
||||
<span id="execTime">Time: 0ms</span>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Resonance Heatmap Panel -->
|
||||
<section class="panel resonance-heatmap">
|
||||
<h2>Glyph Resonance Heatmap</h2>
|
||||
<div class="heatmap-legend">
|
||||
<span><strong>Weight Scale:</strong></span>
|
||||
<div class="legend-bar">
|
||||
<span class="low">0.0</span>
|
||||
<span class="mid">0.5</span>
|
||||
<span class="high">1.0</span>
|
||||
</div>
|
||||
</div>
|
||||
<canvas id="heatmapCanvas" width="600" height="200"></canvas>
|
||||
<div id="glyphDetails" class="glyph-details"></div>
|
||||
</section>
|
||||
|
||||
<!-- Glyph Inspector Panel -->
|
||||
<section class="panel glyph-inspector">
|
||||
<h2>Glyph Resonance Inspector</h2>
|
||||
<div class="inspector-toolbar">
|
||||
<label for="glyphSelect">Select Glyph:</label>
|
||||
<select id="glyphSelect"></select>
|
||||
</div>
|
||||
<div id="inspectorContent" class="inspector-content">
|
||||
<p class="placeholder">Select a glyph to view metrics...</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Guardrail Control Panel -->
|
||||
<section class="panel guardrail-control">
|
||||
<h2>Guardrail Status & Control</h2>
|
||||
<div id="guardrailList" class="guardrail-list">
|
||||
<p class="placeholder">No guardrails triggered</p>
|
||||
</div>
|
||||
<div class="control-buttons">
|
||||
<button id="pauseBtn" class="btn-warning" disabled>⏸ Pause Run</button>
|
||||
<button id="throttleBtn" class="btn-warning" disabled>⚠ Throttle 50%</button>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Spec Coverage Panel -->
|
||||
<section class="panel spec-coverage">
|
||||
<h2>XIC Specification Coverage</h2>
|
||||
<div id="specStatus" class="spec-status">
|
||||
<p class="placeholder">Loading specification status...</p>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
|
||||
<footer class="xic-footer">
|
||||
<p>XIC v1.5 Symbolic Pipeline | Real-time Telemetry via FedMart</p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<script src="xic_panel.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user