svrnty-hermes-webui-plugin/static/umbrella.html
Svrnty f8ce6b21f1
Some checks failed
plugin-tests / test (push) Failing after 6s
feat(umbrella): cortex-os umbrella graph viz panel — Phase 2.E
Per sot/03-PROTOCOLS/CORTEX-OS-UMBRELLA-VIZ-PRD.md. Living-graph panel
inside hermes-webui consuming curator-maintained graph/umbrella.json
(UI-stable v1.0 schema emitted by curator-planb sweep.py v0.2).

routes/umbrella.py — 3 endpoints:
  GET /umbrella                  → redirect to static panel HTML
  GET /api/umbrella              → graph/umbrella.json contents
  GET /api/umbrella/doc?path=X   → markdown body for a node's source_path
                                   (path-traversal guarded; 50KB cap)

static/umbrella.{html,css,js} — Cytoscape.js v3.30.2 (CDN) render:
  - 8 node types: doc/profile/skill/mcp_server/sovereign_api/cortex_tool/
    external_dep/credential — each gets distinct color + shape
  - 5 edge types: depends_on/governs/consumes/produces/supersedes
  - filter chips (toggle node type visibility)
  - layout switcher (force/tier/concentric)
  - search (dim non-matching nodes)
  - click node → side panel w/ frontmatter + markdown body + in/out edges
  - edge-list buttons jump between connected nodes

Plan B brand-aligned dark theme; DESIGN.md 8-property subset
(backgroundColor/textColor/typography/rounded/padding/size/height/width).

svrnty_nav.js bundled (sidebar nav integration — non-umbrella scope).

CONNECTION-MAP.md regenerated via scripts/ast-connection-map.py.
plugin.py route-list extended w/ "umbrella" + injects umbrella assets via
the standard static dir registration.

Module import: ✓ (python3 -c "import routes.umbrella" clean).
Graph artifact verified: 81 nodes / 120 edges live in graph/umbrella.json.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 12:43:29 -04:00

46 lines
1.8 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Cortex-OS Umbrella</title>
<link rel="stylesheet" href="/plugins/svrnty/umbrella.css" />
</head>
<body>
<div id="svrnty-umbrella" class="umbrella-root">
<header class="umbrella-header">
<h1>Cortex-OS Umbrella</h1>
<div class="umbrella-stats" id="stats">loading…</div>
<div class="umbrella-controls">
<input type="search" id="search" placeholder="search nodes…" />
<button data-layout="cose">force</button>
<button data-layout="breadthfirst">tier</button>
<button data-layout="concentric">center</button>
<button id="reset">reset</button>
</div>
<div class="umbrella-filters" id="filters">
<!-- filter chips injected by JS based on node types -->
</div>
</header>
<main class="umbrella-canvas">
<div id="cy" class="umbrella-cy"></div>
<aside id="side" class="umbrella-side" data-open="false">
<button class="close" id="closeSide" title="close">×</button>
<div class="side-content">
<h2 id="sideTitle"></h2>
<div class="side-meta" id="sideMeta"></div>
<div class="side-body" id="sideBody"></div>
<div class="side-edges" id="sideEdges"></div>
</div>
</aside>
</main>
<footer class="umbrella-footer">
<span id="genInfo"></span>
<span class="schema-ref">schema: <a href="/api/umbrella/doc?path=sot/03-PROTOCOLS/CORTEX-OS-UMBRELLA-VIZ-PRD.md">UMBRELLA-VIZ-PRD</a></span>
</footer>
</div>
<script src="https://unpkg.com/cytoscape@3.30.2/dist/cytoscape.min.js"></script>
<script src="/plugins/svrnty/umbrella.js"></script>
</body>
</html>