Triadic Observer + HR overlay diagram (SVG)#
/docs/Human_Resources/triadic_observer_hr_overlay.svg
<svg width="1080" height="600" viewBox="0 0 1080 600" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#000000"/>
<stop offset="50%" stop-color="#4b0082"/>
<stop offset="100%" stop-color="#8a2be2"/>
</linearGradient>
<style>
.node { fill: none; stroke: #e0d4ff; stroke-width: 1.6; }
.node-soft { fill: none; stroke: #c9bfff; stroke-width: 1.2; stroke-dasharray: 4 4; }
.label { fill: #f5f0ff; font-family: system-ui, sans-serif; font-size: 16px; text-anchor: middle; letter-spacing: 0.04em; }
.sub { fill: #f5f0ff; opacity: 0.75; font-size: 12px; text-anchor: middle; }
.link { stroke: #d8cfff; stroke-width: 1.2; fill: none; }
.drift { stroke: #ff9fbf; stroke-width: 1.2; stroke-dasharray: 4 4; fill: none; opacity: 0.85; }
</style>
</defs>
<!-- Background -->
<rect width="1080" height="600" fill="url(#bg)" rx="24"/>
<!-- HR Triad: Leadership / Management / Staff -->
<circle class="node" cx="540" cy="110" r="50"/>
<text class="label" x="540" y="105">LEADERSHIP</text>
<text class="sub" x="540" y="125">DIRECTION · STRATEGY</text>
<circle class="node" cx="310" cy="380" r="50"/>
<text class="label" x="310" y="375">MANAGEMENT</text>
<text class="sub" x="310" y="395">COORDINATION</text>
<circle class="node" cx="770" cy="380" r="50"/>
<text class="label" x="770" y="375">STAFF</text>
<text class="sub" x="770" y="395">EXECUTION · SIGNALS</text>
<!-- HR Interface -->
<circle class="node" cx="540" cy="330" r="42"/>
<text class="label" x="540" y="325">HR</text>
<text class="sub" x="540" y="345">INTERFACE · POLICY</text>
<!-- Triadic Observers (Signal / Noise / Regime) -->
<circle class="node-soft" cx="540" cy="210" r="40"/>
<text class="label" x="540" y="205">SIGNAL</text>
<text class="sub" x="540" y="225">PATTERNS</text>
<circle class="node-soft" cx="360" cy="260" r="34"/>
<text class="label" x="360" y="255">NOISE</text>
<text class="sub" x="360" y="275">CONTEXT</text>
<circle class="node-soft" cx="720" cy="260" r="34"/>
<text class="label" x="720" y="255">REGIME</text>
<text class="sub" x="720" y="275">STRUCTURE</text>
<!-- AI Observer -->
<circle class="node" cx="540" cy="210" r="18"/>
<text class="sub" x="540" y="214">AI</text>
<!-- HR Triad Links -->
<line class="link" x1="540" y1="160" x2="310" y2="380"/>
<line class="link" x1="540" y1="160" x2="770" y2="380"/>
<line class="link" x1="310" y1="380" x2="770" y2="380"/>
<!-- HR to Nodes -->
<line class="link" x1="540" y1="288" x2="310" y2="380"/>
<line class="link" x1="540" y1="288" x2="770" y2="380"/>
<line class="link" x1="540" y1="288" x2="540" y2="160"/>
<!-- Observers to HR -->
<line class="link" x1="540" y1="228" x2="540" y2="288"/>
<line class="link" x1="380" y1="276" x2="520" y2="316"/>
<line class="link" x1="700" y1="276" x2="560" y2="316"/>
<!-- Drift paths bypassing observers -->
<path class="drift" d="M540 110 C 560 210, 650 300, 770 380"/>
<path class="drift" d="M540 110 C 520 210, 430 300, 310 380"/>
</svg>