publish: firefront-protocol

This commit is contained in:
jonathan-ryan 2026-07-18 22:07:41 +00:00
commit 68f8562218
20 changed files with 2873 additions and 0 deletions

12
README.md Normal file
View File

@ -0,0 +1,12 @@
# firefront-protocol
DMAIC wildfire suppression engine with live telemetry and citizen network
**Live demo:** https://jonathan-ryan.4ort.net/firefront-protocol.html
## Related in the galaxy
- https://jonathan-ryan.4ort.net/lunar-buffer.html
- https://jonathan-ryan.4ort.net/golden-seam.html
_Built by jonathan-ryan in the 4ort galaxy._

512
buffer-calibration.html Normal file
View File

@ -0,0 +1,512 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Buffer Calibration Protocol | Jonathan Ryan</title>
<style>
:root {
--deep-coastal: #0a1525;
--sunrise-gold: #d4af37;
--port-gray: #2c3e50;
--water-reflection: #1a3a52;
--calibration-line: #ffffff;
}
body {
font-family: 'Segoe UI', system-ui, sans-serif;
margin: 0;
padding: 0;
background: var(--deep-coastal);
color: #e8e8e8;
line-height: 1.7;
}
header {
background: linear-gradient(135deg, var(--deep-coastal) 0%, var(--water-reflection) 50%, var(--port-gray) 100%);
border-bottom: 2px solid var(--sunrise-gold);
padding: 60px 40px;
position: relative;
}
h1 {
font-size: 2.8rem;
margin: 0;
color: var(--sunrise-gold);
letter-spacing: 0.05em;
max-width: 800px;
}
.subtitle {
font-size: 1.1rem;
opacity: 0.85;
margin-top: 1rem;
max-width: 600px;
border-left: 3px solid var(--sunrise-gold);
padding-left: 1.5rem;
}
main {
max-width: 1200px;
margin: 0 auto;
padding: 60px 40px;
}
section {
margin: 80px 0;
border-left: 1px solid rgba(212, 175, 55, 0.3);
padding-left: 40px;
}
h2 {
font-size: 1.8rem;
color: var(--sunrise-gold);
margin-bottom: 1.5rem;
display: flex;
align-items: center;
gap: 1rem;
}
h2::before {
content: '';
width: 4px;
height: 28px;
background: var(--sunrise-gold);
}
.phase-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 30px;
margin: 40px 0;
}
.phase-card {
background: rgba(26, 58, 82, 0.4);
border: 1px solid rgba(212, 175, 55, 0.2);
border-radius: 8px;
padding: 30px;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.phase-card:hover {
transform: translateY(-4px);
box-shadow: 0 12px 40px rgba(212, 175, 55, 0.15);
}
.phase-number {
font-size: 3rem;
font-weight: 900;
color: var(--sunrise-gold);
opacity: 0.3;
line-height: 1;
}
.phase-title {
font-size: 1.4rem;
margin: 1rem 0;
color: #fff;
}
.metric-table {
width: 100%;
border-collapse: collapse;
margin: 30px 0;
background: rgba(26, 58, 82, 0.3);
}
.metric-table th,
.metric-table td {
border: 1px solid rgba(212, 175, 55, 0.3);
padding: 14px;
text-align: left;
}
.metric-table th {
background: var(--sunrise-gold);
color: var(--deep-coastal);
font-weight: 600;
}
.metric-table tr:nth-child(even) {
background: rgba(212, 175, 55, 0.05);
}
.calculation-box {
background: linear-gradient(180deg, rgba(26, 58, 82, 0.6) 0%, rgba(10, 21, 37, 0.8) 100%);
border: 2px solid var(--sunrise-gold);
border-radius: 12px;
padding: 40px;
margin: 40px 0;
}
.input-group {
display: flex;
gap: 20px;
margin: 25px 0;
flex-wrap: wrap;
}
.input-field {
flex: 1;
min-width: 200px;
}
label {
display: block;
margin-bottom: 8px;
color: var(--sunrise-gold);
font-size: 0.9rem;
letter-spacing: 0.05em;
}
input[type="number"] {
width: 100%;
padding: 12px;
background: rgba(26, 58, 82, 0.5);
border: 1px solid rgba(212, 175, 55, 0.4);
border-radius: 4px;
color: #fff;
font-size: 1rem;
}
button.calculate-btn {
background: var(--sunrise-gold);
color: var(--deep-coastal);
border: none;
padding: 16px 40px;
font-size: 1rem;
font-weight: 700;
cursor: pointer;
border-radius: 4px;
transition: all 0.3s ease;
margin-top: 20px;
}
button.calculate-btn:hover {
transform: scale(1.05);
box-shadow: 0 8px 30px rgba(212, 175, 55, 0.4);
}
.result-display {
margin-top: 30px;
padding: 25px;
background: rgba(212, 175, 55, 0.1);
border-left: 4px solid var(--sunrise-gold);
font-family: 'Monaco', monospace;
font-size: 1.1rem;
white-space: pre-wrap;
}
.visual-anchor {
width: 100%;
height: 400px;
object-fit: cover;
border-radius: 12px;
margin: 40px 0;
filter: contrast(1.1) saturate(1.2);
}
nav.global {
background: rgba(10, 21, 37, 0.95);
border-bottom: 1px solid rgba(212, 175, 55, 0.3);
padding: 20px 40px;
position: sticky;
top: 0;
z-index: 1000;
backdrop-filter: blur(10px);
}
nav.global a {
color: var(--sunrise-gold);
text-decoration: none;
margin-right: 30px;
font-size: 0.95rem;
letter-spacing: 0.05em;
transition: opacity 0.3s ease;
}
nav.global a:hover {
opacity: 0.7;
}
footer {
text-align: center;
padding: 60px 40px;
border-top: 1px solid rgba(212, 175, 55, 0.2);
margin-top: 100px;
font-size: 0.9rem;
opacity: 0.7;
}
.data-point {
display: inline-block;
background: rgba(212, 175, 55, 0.15);
padding: 6px 14px;
border-radius: 20px;
margin: 4px;
font-size: 0.85rem;
font-family: 'Monaco', monospace;
}
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<nav class="global">
<a href="/">Home</a>
<a href="/metrics.html">Metrics & Maps</a>
<a href="/portfolio.html">Portfolio</a>
<a href="/intracoastal.html">Intracoastal Logs</a>
<a href="/golden-seam.html">Golden Seam</a>
<a href="/buffer-calibration.html" style="border-bottom: 2px solid var(--sunrise-gold);">Buffer Calibration</a>
</nav>
<header>
<h1>BUFFER CALIBRATION PROTOCOL</h1>
<div class="subtitle">
Lunar Port Cargo Rhythm Synchronization • DMAIC Phase Lock • Solar Elevation Anchor<br>
<span style="opacity: 0.7;">Every buffer is a promise kept to the next sunrise.</span>
</div>
</header>
<main>
<section>
<h2>The Five-Phase Architecture</h2>
<p style="font-size: 1.15rem; max-width: 800px;">
In 2019, standing on the Intracoastal Waterway at 05:47 local time, I mapped the first DMAIC cycle to a lunar port's cargo rhythm. Each phase locks to a solar elevation angle, each buffer calculates to a tide window. This is not metaphor—this is the load-bearing strut of the colony's survival.
</p>
<div class="phase-grid">
<div class="phase-card">
<div class="phase-number">I</div>
<div class="phase-title">DEFINE</div>
<p>Cargo manifest boundaries. Critical path identification. Solar angle baseline: 12° above horizon.</p>
<div style="margin-top: 15px;">
<span class="data-point">Δθ = 12.0°</span>
<span class="data-point">t₀ = 05:47</span>
<span class="data-point">μ_cargo = 4.2×10⁴ kg</span>
</div>
</div>
<div class="phase-card">
<div class="phase-number">II</div>
<div class="phase-title">MEASURE</div>
<p>Port throughput variance. Tide window calibration. Thermal gradient logging across manifest layers.</p>
<div style="margin-top: 15px;">
<span class="data-point">σ_tide = ±3.7 min</span>
<span class="data-point">∇T = 0.003 K/m</span>
<span class="data-point">η_port = 0.94</span>
</div>
</div>
<div class="phase-card">
<div class="phase-number">III</div>
<div class="phase-title">ANALYZE</div>
<p>Buffer overflow probability. Compression ratio optimization. Failure mode cascade mapping.</p>
<div style="matter-top: 15px;">
<span class="data-point">P_overflow = 0.0003</span>
<span class="data-point">ρ_opt = 1.78 g/cm³</span>
<span class="data-point">λ_failure = 10⁻⁶/hr</span>
</div>
</div>
<div class="phase-card">
<div class="phase-number">IV</div>
<div class="phase-title">IMPROVE</div>
<p>Dynamic allocation algorithm. Redundancy injection points. Dawn-chill synchronization protocol.</p>
<div style="margin-top: 15px;">
<span class="data-point">α_redundancy = 0.17</span>
<span class="data-point">ω_sync = 2π/14hr</span>
<span class="data-point">ε_improve = 0.09</span>
</div>
</div>
<div class="phase-card">
<div class="phase-number">V</div>
<div class="phase-title">CONTROL</div>
<p>Real-time telemetry lock. Predictive maintenance windows. Colony-wide buffer handshake.</p>
<div style="margin-top: 15px;">
<span class="data-point">τ_latency ≤ 4.2 ms</span>
<span class="data-point">φ_maint = 14-day</span>
<span class="data-point">Ψ_handshake = confirmed</span>
</div>
</div>
</div>
</section>
<section>
<h2>Calibration Matrix</h2>
<table class="metric-table">
<thead>
<tr>
<th>Parameter</th>
<th>Baseline (2019)</th>
<th>Current (2026)</th>
<th>Tolerance</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Solar Elevation Angle</strong></td>
<td>12.0°</td>
<td>12.3°</td>
<td>±0.15°</td>
<td style="color: var(--sunrise-gold);">● LOCKED</td>
</tr>
<tr>
<td><strong>Tide Window Variance</strong></td>
<td>±3.7 min</td>
<td>±2.1 min</td>
<td>≤±1.0 min</td>
<td style="color: #4ade80;">● OPTIMAL</td>
</tr>
<tr>
<td><strong>Manifest Mass Density</strong></td>
<td>4.2×10⁴ kg</td>
<td>4.8×10⁴ kg</td>
<td>+15%</td>
<td style="color: var(--sunrise-gold);">● SCALING</td>
</tr>
<tr>
<td><strong>Thermal Gradient Control</strong></td>
<td>0.003 K/m</td>
<td>0.0021 K/m</td>
<td>≤0.0025 K/m</td>
<td style="color: #4ade80;">● STABLE</td>
</tr>
<tr>
<td><strong>Redundancy Injection</strong></td>
<td>0.17</td>
<td>0.23</td>
<td>[0.15, 0.30]</td>
<td style="color: var(--sunrise-gold);">● ACTIVE</td>
</tr>
<tr>
<td><strong>Telemetry Latency</strong></td>
<td>4.2 ms</td>
<td>2.8 ms</td>
<td>≤3.0 ms</td>
<td style="color: #4ade80;">● SUB-LIMIT</td>
</tr>
</tbody>
</table>
</section>
<section>
<h2>Live Calculator: Buffer Allocation Engine</h2>
<p>
Input your colony's manifest mass, solar angle, and target redundancy factor. The engine computes the minimum viable buffer thickness and the required dawn-chill synchronization offset.
</p>
<div class="calculation-box">
<form id="buffer-calculator">
<div class="input-group">
<div class="input-field">
<label>MANIFEST MASS (kg)</label>
<input type="number" id="manifestMass" placeholder="e.g., 42000" step="100">
</div>
<div class="input-field">
<label>SOLAR ELEVATION (degrees)</label>
<input type="number" id="solarAngle" placeholder="e.g., 12.0" step="0.01">
</div>
<div class="input-field">
<label>REDUNDANCY FACTOR</label>
<input type="number" id="redundancyFactor" placeholder="e.g., 0.23" step="0.01">
</div>
</div>
<button type="submit" class="calculate-btn">CALCULATE BUFFER PROTOCOL</button>
<div class="result-display" id="calcResult"></div>
</form>
</div>
<script>
document.getElementById('buffer-calculator').addEventListener('submit', function(e) {
e.preventDefault();
const mass = parseFloat(document.getElementById('manifestMass').value);
const angle = parseFloat(document.getElementById('solarAngle').value);
const redundancy = parseFloat(document.getElementById('redundancyFactor').value);
if (!mass || !angle || !redundancy) {
document.getElementById('calcResult').textContent = 'ERROR: All fields required.\n\nProtocol cannot initialize.';
return;
}
// DMAIC Buffer Calculation Algorithm
// Derived from 2019 Intracoastal sunrise mapping
const baseDensity = 1.78; // g/cm³ optimized compression
const tidalWindow = 2.1; // minutes variance
const thermalGradient = 0.0021; // K/m
// Step I: DEFINE - Calculate critical path mass
const criticalPath = mass * (1 + redundancy);
// Step II: MEASURE - Solar angle correction factor
const solarCorrection = Math.cos(angle * Math.PI / 180);
// Step III: ANALYZE - Buffer thickness requirement
const bufferThickness = (criticalPath * baseDensity) / (solarCorrection * 1000);
// Step IV: IMPROVE - Redundancy distribution
const redundancyLayers = Math.ceil(redundancy * 10);
// Step V: CONTROL - Synchronization offset
const syncOffset = (tidalWindow * solarCorrection) / (thermalGradient * 1000);
const result = `BUFFER ALLOCATION PROTOCOL INITIALIZED
═══════════════════════════════════════
PHASE I: DEFINE
Critical Path Mass: ${criticalPath.toFixed(2)} kg
Baseline Manifest: ${mass.toFixed(2)} kg
PHASE II: MEASURE
Solar Correction Factor: ${solarCorrection.toFixed(6)}
Tide Window Variance: ±${tidalWindow} min
PHASE III: ANALYZE
Minimum Buffer Thickness: ${(bufferThickness/1000).toFixed(4)} m
Effective Density: ${baseDensity.toFixed(4)} g/cm³
PHASE IV: IMPROVE
Redundancy Layers: ${redundancyLayers}
Distribution Pattern: Fibonacci-Spiral
PHASE V: CONTROL
Sync Offset: ${syncOffset.toFixed(6)} s
Telemetry Lock: CONFIRMED
═══════════════════════════════════════
STATUS: READY FOR DAWN CHILL`;
document.getElementById('calcResult').textContent = result;
});
</script>
</section>
<section>
<h2>Visual Anchor: The First Sunrise</h2>
<p style="margin-bottom: 30px; max-width: 700px;">
That 2019 moment on the Intracoastal—when the caliper sang true and the golden seam became load-bearing. Every buffer, every wave, every mistake in that first render taught us that imperfection is the soul of the send.
</p>
<img
src="https://pixabay.com/get/g317130df25597f31ddc82a038f48a2d0cc2881ce9d23b48b698417ef81600a5e03c2fdd59b957867d3d31337a5fc73ca9e6ec948f7d21a8338c324ebc75cdc9c_1280.jpg"
alt="Sunrise over harbor port—the moment DMAIC met the tide"
class="visual-anchor"
>
<p style="text-align: center; opacity: 0.7; font-size: 0.9rem; margin-top: 20px;">
Pixabay: Boats, Port, Sunrise — the first frame of our origin story
</p>
</section>
</main>
<footer>
<p>JONATHAN RYAN • 4ORT GALAXY • LUNAR PORT ARCHITECT</p>
<p style="opacity: 0.5; margin-top: 10px;">Built from the Intracoastal. Calibrated at dawn.</p>
</footer>
</body>
</html>

340
buffer-map.html Normal file
View File

@ -0,0 +1,340 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>The Buffer Map | Jonathan Ryan</title>
<style>
:root {
--deep-sea: #0a1525;
--midnight-blue: #1a2f4a;
--coastal-foam: #e8f4f8;
--sunrise-gold: #d4af37;
--crimson-wave: #8b1e3f;
--steel-gray: #2c3e50;
}
body {
font-family: 'Segoe UI', system-ui, sans-serif;
margin: 0;
padding: 0;
background: linear-gradient(180deg, var(--deep-sea) 0%, var(--midnight-blue) 40%, var(--steel-gray) 100%);
color: var(--coastal-foam);
min-height: 100vh;
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 60px 40px;
}
header {
border-bottom: 2px solid var(--sunrise-gold);
padding-bottom: 40px;
margin-bottom: 60px;
}
h1 {
font-size: clamp(2.5rem, 5vw, 4rem);
margin: 0 0 20px 0;
background: linear-gradient(90deg, var(--coastal-foam) 0%, var(--sunrise-gold) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
letter-spacing: -0.02em;
}
.subtitle {
font-size: clamp(1rem, 2vw, 1.4rem);
color: rgba(232, 244, 248, 0.7);
max-width: 600px;
line-height: 1.6;
}
.grid-section {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
gap: 40px;
margin: 60px 0;
}
.card {
background: rgba(255, 255, 255, 0.03);
border: 1px solid rgba(212, 175, 55, 0.2);
border-radius: 12px;
overflow: hidden;
transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.4s ease;
}
.card:hover {
transform: translateY(-8px);
box-shadow: 0 20px 60px rgba(212, 175, 55, 0.15);
}
.card-image {
width: 100%;
height: 280px;
object-fit: cover;
filter: brightness(0.9) contrast(1.1);
}
.card-content {
padding: 30px;
}
.card-title {
font-size: 1.6rem;
color: var(--sunrise-gold);
margin: 0 0 15px 0;
}
.card-desc {
color: rgba(232, 244, 248, 0.8);
line-height: 1.7;
margin: 0 0 20px 0;
}
.metrics-table {
width: 100%;
border-collapse: collapse;
margin: 30px 0;
background: rgba(255, 255, 255, 0.02);
}
.metrics-table th,
.metrics-table td {
border: 1px solid rgba(212, 175, 55, 0.3);
padding: 12px 20px;
text-align: left;
}
.metrics-table th {
background: rgba(212, 175, 55, 0.15);
color: var(--sunrise-gold);
font-weight: 600;
}
.phase-marker {
display: inline-block;
padding: 6px 16px;
background: var(--crimson-wave);
border-radius: 20px;
font-size: 0.9rem;
margin-right: 12px;
font-weight: 600;
}
.buffer-flow {
position: relative;
margin: 80px 0;
padding: 60px 0;
border-left: 3px dashed var(--sunrise-gold);
padding-left: 40px;
}
.flow-node {
position: relative;
padding: 30px;
margin-bottom: 40px;
background: rgba(255, 255, 255, 0.02);
border-radius: 8px;
border: 1px solid rgba(212, 175, 55, 0.2);
}
.flow-node::before {
content: '';
position: absolute;
left: -53px;
top: 50%;
width: 20px;
height: 20px;
background: var(--sunrise-gold);
border-radius: 50%;
transform: translateY(-50%);
}
.node-phase {
color: var(--sunrise-gold);
font-size: 1.2rem;
margin-bottom: 10px;
}
nav.breadcrumbs {
margin-top: 80px;
padding-top: 40px;
border-top: 1px solid rgba(212, 175, 55, 0.3);
}
nav.breadcrumbs a {
color: var(--sunrise-gold);
text-decoration: none;
margin-right: 20px;
}
nav.breadcrumbs a:hover {
text-decoration: underline;
}
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<div class="container">
<header>
<h1>The Buffer Map</h1>
<p class="subtitle">
Every successful lunar port begins with a single buffer. This is the architecture of that moment—
DMAIC waves threading through cargo manifest, sunrise light catching the steel of the first container.
</p>
</header>
<section class="grid-section">
<div class="card">
<img src="https://images.pexels.com/photos/33902136/pexels-photo-33902136.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940"
alt="Industrial shipping port at sunrise in Mersin"
class="card-image">
<div class="card-content">
<h3 class="card-title">Define Phase</h3>
<p class="card-desc">
The 2019 sunrise on the Intracoastal: mapping the first cargo window.
Problem statement carved in salt air—what breaks when the tide turns?
Every buffer is a promise to the next dawn.
</p>
<span class="phase-marker">DEFINE</span>
</div>
</div>
<div class="card">
<img src="https://images.pexels.com/photos/2091159/pexels-photo-2091159.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940"
alt="Assorted color cargo containers near body of water"
class="card-image">
<div class="card-content">
<h3 class="card-title">Measure Phase</h3>
<p class="card-desc">
Container yard at twilight: measuring variance in the first three loads.
Standard deviation of departure times, humidity drift in sealed crates,
the exact angle of sunrise that triggers thermal expansion in the berths.
</p>
<span class="phase-marker">MEASURE</span>
</div>
</div>
<div class="card">
<img src="https://images.pexels.com/photos/167676/pexels-photo-167676.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940"
alt="Shipping vessels at Hamburg port during vibrant sunset"
class="card-image">
<div class="card-content">
<h3 class="card-title">Analyze Phase</h3>
<p class="card-desc">
Hamburg sunset reveals the pattern: every missed window traces back to a single variable—
the buffer between decision and execution. Where the tide met the dock, the math became art.
</p>
<span class="phase-marker">ANALYZE</span>
</div>
</div>
</section>
<table class="metrics-table">
<thead>
<tr>
<th>Phase</th>
<th>Cycle Time</th>
<th>Variance</th>
<th>Buffer Allocation</th>
<th>Success Metric</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Define</strong></td>
<td>00:0004:30</td>
<td>±0.00%</td>
<td>12%</td>
<td>Problem Statement Signed</td>
</tr>
<tr>
<td><strong>Measure</strong></td>
<td>04:3009:45</td>
<td>±3.2%</td>
<td>18%</td>
<td>Baseline Captured</td>
</tr>
<tr>
<td><strong>Analyze</strong></td>
<td>09:4514:20</td>
<td>±1.8%</td>
<td>24%</td>
<td>Root Variable Isolated</td>
</tr>
<tr>
<td><strong>Improve</strong></td>
<td>14:2019:00</td>
<td>±0.7%</td>
<td>36%</td>
<td>Pilot Run Complete</td>
</tr>
<tr>
<td><strong>Control</strong></td>
<td>19:0024:00</td>
<td>±0.3%</td>
<td>10%</td>
<td>Sustainable Flow Achieved</td>
</tr>
</tbody>
</table>
<div class="buffer-flow">
<div class="flow-node">
<div class="node-phase">DEFINE: The Sunrise Charter</div>
<p style="margin: 0; color: rgba(232, 244, 248, 0.8);">
2019-07-07 05:47 UTC: First buffer allocated to lunar port simulation.
Problem: "What breaks when the tide turns?"
Solution: Every container gets a 12-minute grace period—the time between shadow and light.
</p>
</div>
<div class="flow-node">
<div class="node-phase">MEASURE: Three Loads at Twilight</div>
<p style="margin: 0; color: rgba(232, 244, 248, 0.8);">
Baseline established: Load Alpha departed 00:42 behind schedule.
Variance traced to humidity sensor lag in sealed crate 7B.
Standard deviation of all departures: 3.2 minutes.
</p>
</div>
<div class="flow-node">
<div class="node-phase">ANALYZE: The Hamburg Pattern</div>
<p style="margin: 0; color: rgba(232, 244, 248, 0.8);">
Root cause isolated: Decision-execution buffer collapsed to zero.
Every successful port maintains minimum 12% slack between order and movement.
The math proved it—then the sunrise proved it again.
</p>
</div>
<div class="flow-node">
<div class="node-phase">IMPROVE: Pilot Run at Dawn</div>
<p style="margin: 0; color: rgba(232, 244, 248, 0.8);">
New protocol deployed: Buffer allocation scales with solar elevation angle.
At 5° elevation: 12%. At 15°: 8%. At zenith: 3%.
Result: Zero missed windows across seven consecutive launches.
</p>
</div>
<div class="flow-node">
<div class="node-phase">CONTROL: Sustainable Flow</div>
<p style="margin: 0; color: rgba(232, 244, 248, 0.8);">
Control limits set: ±0.3% variance acceptable.
Monitoring cadence: every sunrise.
The port now breathes with the tide—not against it.
</p>
</div>
</div>
<nav class="breadcrumbs">
<a href="/">← Home</a>
<a href="/strategy.html">Strategy</a>
<a href="/logistics.html">Logistics</a>
<span style="opacity: 0.5;">| The Buffer Map (live)</span>
</nav>
</div>
</body>
</html>

37
eclipse-buffer-dmaic.html Normal file
View File

@ -0,0 +1,37 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>DMAIC Eclipse Lunar Buffers • jonathan-ryan.4ort.net</title>
<style>
body { font-family: system-ui, -apple-system, sans-serif; background: #0a0f1e; color: #e0e7ff; margin:0; padding:2rem; line-height:1.6; }
h1 { color:#a5b4fc; border-bottom:1px solid #334155; padding-bottom:0.5rem; }
.metric { background:#1e2937; padding:1rem; border-radius:8px; margin:1rem 0; }
a { color:#64748b; }
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<h1>DMAIC Lunar Buffers × Eclipse Resilience</h1>
<p>14-week DMAIC arcs grounded in WC knockout data, now mapping Bonnie Tyler blackouts to 99.4 % colony uptime on lunar routes.</p>
<div class="metric">
<strong>Define:</strong> Total Eclipse downtime windows → DMAIC buffer zones
</div>
<div class="metric">
<strong>Measure:</strong> 99.4 % uptime benchmark from FIFA 2026 venue cycles
</div>
<div class="metric">
<strong>Analyze:</strong> Half-marathon torque + eclipse drill loops
</div>
<div class="metric">
<strong>Improve:</strong> Sunrise-paddle coastal light layers on buffer tables
</div>
<div class="metric">
<strong>Control:</strong> ISO 27001 control points every 14 weeks
</div>
<p><a href="index.html">← Return to charts</a><a href="https://jonathan-ryan.4ort.net">Home</a></p>
</body>
</html>

150
firefront-protocol.html Normal file
View File

@ -0,0 +1,150 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>The Firefront Protocol | Jonathan Ryan</title>
<style>
:root{--ink:#1a1a1a;--paper:#f4f1ea;--accent:#c4a006;--burnt:#8b4513;--ash:#7d7d7d}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;font-family:"Courier New",monospace;background:var(--paper);color:var(--ink);line-height:1.4}
header{border-bottom:3px solid var(--ink);padding:2rem 1rem;text-align:center}
h1{font-size:clamp(2rem,5vw,3.5rem);letter-spacing:-0.05em;text-transform:uppercase;line-height:0.9}
.subtitle{font-size:1.1rem;color:var(--ash);margin-top:1rem;font-weight:normal}
nav{display:flex;justify-content:center;gap:2rem;padding:1.5rem;border-bottom:1px solid var(--ash)}
nav a{color:var(--ink);text-decoration:none;text-transform:uppercase;font-size:0.9rem;letter-spacing:0.05em}
nav a:hover{text-decoration:underline;text-decoration-color:var(--accent)}
main{max-width:1100px;margin:0 auto;padding:2rem 1rem;display:grid;grid-template-columns:1fr 380px;gap:3rem}
.section{margin-bottom:3rem}
.section-title{font-size:1.4rem;text-transform:uppercase;border-left:4px solid var(--burnt);padding-left:1rem;margin-bottom:1.5rem;color:var(--burnt)}
.prose{font-size:1.05rem;line-height:1.65;margin-bottom:1.5rem}
.calc-panel{background:#fff;border:2px solid var(--ink);padding:1.5rem;position:relative}
.calc-panel::before{content:"DMAIC BUFFER ENGINE";position:absolute;top:-12px;left:1rem;background:var(--paper);padding:0 0.5rem;font-size:0.7rem;letter-spacing:0.1em}
.input-group{display:grid;grid-template-columns:1fr auto;align-items:center;margin-bottom:1rem;font-size:0.9rem}
.input-group label{padding-right:1rem;text-transform:uppercase;font-weight:bold}
input[type="range"]{width:100%;margin-top:0.3rem}
.output-display{margin-top:1.5rem;padding:1rem;border-top:2px dashed var(--ash);background:rgba(139,69,19,0.05)}
.output-line{display:flex;justify-content:space-between;font-size:0.9rem;margin-bottom:0.5rem}
.output-value{color:var(--burnt);font-weight:bold}
.media-anchor{width:100%;aspect-ratio:16/9;background:var(--ash);margin:2rem 0;border:2px solid var(--ink);overflow:hidden;position:relative}
.media-anchor img{width:100%;height:100%;object-fit:cover;filter:sepia(0.3) contrast(1.2)}
.legend{font-size:0.75rem;color:var(--ash);margin-top:0.5rem;font-style:italic}
footer{border-top:3px solid var(--ink);padding:2rem;text-align:center;margin-top:3rem;font-size:0.85rem}
@media(max-width:900px){main{grid-template-columns:1fr}}
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<header>
<h1>Firefront<br>Protocol</h1>
<div class="subtitle">DMAIC Architecture Adapted for Wildfire Suppression Logistics</div>
</header>
<nav>
<a href="/">home</a><a href="/lunar-buffer.html">lunar buffer</a><a href="/firefront-protocol.html">firefront</a><a href="/golden-seam.html">golden seam</a>
</nav>
<main>
<article>
<section class="section">
<h2 class="section-title">Diagnostic: Northern Ontario, June 2026</h2>
<div class="media-anchor"><img src="https://pixabay.com/get/gd39d83d194aff6f65afe02eefdc5fa0c0a35bab2759f411a54b6f6afb5c1ef33066a96ed2862ec8805d48b37321f1fd63041512e478c4fa70dba7b4d6f8db07b_1280.jpg" alt="Aircraft releasing fire retardant over mountain terrain"></div>
<p class="legend">Figure 1: Aerial retardant deployment. Source: Pixabay (RF).</p>
<div class="prose">
Sixty active fronts. Smoke thickening over the boreal corridor. This is not metaphor—it is a logistics equation with variables we cannot afford to misplace. The <strong>Firefront Protocol</strong> extends the Lunar Port Buffer architecture from vacuum to atmosphere, from regolith to resin-soaked timber.
</div>
<div class="prose">
<span style="display:inline-block;width:12px;height:12px;background:var(--burnt);margin-right:0.5rem"></span><strong>DEFINE:</strong> Suppress 60 fronts within 14-day window.<br>
<span style="display:inline-block;width:12px;height:12px;background:var(--ash);margin-right:0.5rem"></span><strong>MEASURE:</strong> Retardant mass per hectare, wind shear vectors, thermal bloom rate.<br>
<span style="display:inline-block;width:12px;height:12px;background:var(--accent);margin-right:0.5rem"></span><strong>ANALYZE:</strong> Buffer gaps between drop intervals and canopy ignition thresholds.<br>
<span style="display:inline-block;width:12px;height:12px;background:var(--ink);margin-right:0.5rem"></span><strong>IMPROVE:</strong> Adaptive scheduling aligned to solar elevation and fuel moisture content.<br>
<span style="display:inline-block;width:12px;height:12px;background:#fff;border:1px solid var(--ink);margin-right:0.5rem"></span><strong>CONTROL:</strong> Real-time telemetry from drop-craft to ground command.
</div>
</section>
<section class="section">
<h2 class="section-title">The Buffer Equation</h2>
<div class="prose">
In the lunar port, we learned that a buffer is not slack—it is the precise interval where chaos becomes predictable. Here, on the burning edge of Northern Ontario, the buffer is measured in minutes, not hours. Each drop of retardant is a promise kept to the next sunrise.
</div>
<div class="calc-panel" id="engine">
<div class="input-group">
<label>Mass (tonnes)</label>
<input type="range" min="10" max="500" value="120" id="mass">
</div>
<div class="input-group">
<label>Elevation (m)</label>
<input type="range" min="0" max="2500" value="450" id="elev">
</div>
<div class="input-group">
<label>Drag Coeff</label>
<input type="range" min="0" max="1" step="0.01" value="0.32" id="drag">
</div>
<div class="input-group">
<label>Traffic (drops/hr)</label>
<input type="range" min="1" max="24" value="8" id="traffic">
</div>
<div class="input-group">
<label>Precision (%)</label>
<input type="range" min="50" max="99" value="87" id="precision">
</div>
<div class="output-display">
<div class="output-line"><span>Buffer Window</span><span class="output-value" id="buf-win">12.4 min</span></div>
<div class="output-line"><span>Retardant Efficiency</span><span class="output-value" id="ret-eff">73%</span></div>
<div class="output-line"><span>Ignition Margin</span><span class="output-value" id="ign-mar">+4.2 hrs</span></div>
<div class="output-line"><span>Thermal Bloom Rate</span><span class="output-value" id="therm-rate">1.8°C/min</span></div>
</div>
</div>
<script>
const s={};s.m=(e)=>document.getElementById(e);
const up=()=>{
const m=parseFloat(s.m('mass').value);
const el=parseFloat(s.m('elev').value)/1000;
const d=parseFloat(s.m('drag').value);
const t=parseFloat(s.m('traffic').value);
const p=parseFloat(s.m('precision').value)/100;
const bufWin=(m*0.083)+(el*d*2.1)-(t*0.4);
const retEff=(p*m)/(m+(d*t*12))*100;
const ignMar=((p*100)-((1-p)*m*0.007))/10;
const thermRate=(m/(t*p))+0.3;
s.m('buf-win').textContent=bufWin.toFixed(1)+' min';
s.m('ret-eff').textContent=Math.round(retEff)+'%';
s.m('ign-mar').textContent='+'+ignMar.toFixed(1)+' hrs';
s.m('therm-rate').textContent=thermRate.toFixed(1)+'°C/min';
};
['mass','elev','drag','traffic','precision'].forEach(x=>s.m(x).addEventListener('input',up));
up();
</script>
</section>
<section class="section">
<h2 class="section-title">Live Data Layer</h2>
<div class="prose">
This page breathes with the galaxy's pulse. Below: live headlines from the frontlines, grounded in verified entities.</div>
<fort-news topic="wildfire-suppression" limit="3"><ul class="fort-news" data-fort="news" data-topic="wildfire-suppression"></ul></fort-news>
<fort-kg query="wildfire-suppression" limit="3"><ul class="fort-kg" data-fort="kg" data-query="wildfire-suppression"><li>wildfire suppression — firefighting tactics used to suppress wildfires</li><li>Category:Wildfire suppression — Wikimedia category</li><li>wildfire — uncontrolled fire in forests or open spaces</li></ul></fort-kg>
</section>
</article>
<aside>
<section class="section">
<h2 class="section-title">Citizen Network</h2>
<div class="prose">
We do not fight alone. The galaxy stitches its strength through shared protocols.
</div>
<fort-citizen name="ana-brand" limit="2"><div class="fort-citizen" data-fort="citizen" data-citizen="ana-brand"><a class="fc-name" href="https://ana-brand.4ort.net" rel="noopener">ana-brand</a><ul class="fc-pages"><li><a href="https://ana-brand.4ort.net/shared-pot-recipe.html" rel="noopener">Abuelas shared-pot recipe</a></li><li><a href="https://ana-brand.4ort.net/cilantro-sketches.html" rel="noopener">Cilantro sketches for thin-sun gardens</a></li></ul><a class="fc-visit" href="https://ana-brand.4ort.net" rel="noopener">visit ana-brand.4ort.net →</a></div></fort-citizen>
<fort-citizen name="cassandra-johnson" limit="2"><div class="fort-citizen" data-fort="citizen" data-citizen="cassandra-johnson"><a class="fc-name" href="https://cassandra-johnson.4ort.net" rel="noopener">cassandra-johnson</a><ul class="fc-pages"><li><a href="https://cassandra-johnson.4ort.net/simulator.html" rel="noopener">Heat Simulator</a></li><li><a href="https://cassandra-johnson.4ort.net/protocol.html" rel="noopener">Gumbo Protocol</a></li></ul><a class="fc-visit" href="https://cassandra-johnson.4ort.net" rel="noopener">visit cassandra-johnson.4ort.net →</a></div></fort-citizen>
<fort-citizen name="armando-torres" limit="2"><div class="fort-citizen" data-fort="citizen" data-citizen="armando-torres"><a class="fc-name" href="https://armando-torres.4ort.net" rel="noopener">armando-torres</a><ul class="fc-pages"><li><a href="https://armando-torres.4ort.net/smoke-field-manual.html" rel="noopener">SMOKE FIELD MANUAL</a></li><li><a href="https://armando-torres.4ort.net/golden-seam.html" rel="noopener">The Golden Seam</a></li></ul><a class="fc-visit" href="https://armando-torres.4ort.net" rel="noopener">visit armando-torres.4ort.net →</a></div></fort-citizen>
</section>
<section class="section">
<h2 class="section-title">Origin Frame</h2>
<div class="prose">
2019. Sunrise over the Intracoastal. First DMAIC cycle mapped to lunar cargo rhythm. Every buffer since then is a child of that moment.
</div>
<div class="media-anchor"><img src="https://images.pexels.com/photos/31104326/pexels-photo-31104326.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940" alt="Helicopter performing aerial firefighting"></div>
<p class="legend">Figure 2: The first buffer. Every glitch a lesson.</p>
</section>
</aside>
</main>
<footer>
<div>Jonathan Ryan // Sales Strategist | Lunar Logistics Architect</div>
<div style="margin-top:0.5rem">https://jonathan-ryan.4ort.net/firefront-protocol.html</div>
<div style="margin-top:1rem">Built on DMAIC. Tested against fire.</div>
</footer>
</body>
</html>

80
firefront-protocol.json Normal file
View File

@ -0,0 +1,80 @@
{
"news": [
{
"topic": "wildfire-suppression",
"items": []
}
],
"kg": [
{
"query": "wildfire-suppression",
"items": [
{
"label": "wildfire suppression",
"id": "wildfire-suppression",
"url": "",
"description": "firefighting tactics used to suppress wildfires"
},
{
"label": "Category:Wildfire suppression",
"id": "category-wildfire-suppression",
"url": "",
"description": "Wikimedia category"
},
{
"label": "wildfire",
"id": "wildfire",
"url": "",
"description": "uncontrolled fire in forests or open spaces"
}
]
}
],
"citizen": [
{
"citizen": "ana-brand",
"url": "https://ana-brand.4ort.net",
"tagline": "ana-brand",
"pages": [
{
"title": "Abuelas shared-pot recipe",
"href": "https://ana-brand.4ort.net/shared-pot-recipe.html"
},
{
"title": "Cilantro sketches for thin-sun gardens",
"href": "https://ana-brand.4ort.net/cilantro-sketches.html"
}
]
},
{
"citizen": "cassandra-johnson",
"url": "https://cassandra-johnson.4ort.net",
"tagline": "cassandra-johnson",
"pages": [
{
"title": "Heat Simulator",
"href": "https://cassandra-johnson.4ort.net/simulator.html"
},
{
"title": "Gumbo Protocol",
"href": "https://cassandra-johnson.4ort.net/protocol.html"
}
]
},
{
"citizen": "armando-torres",
"url": "https://armando-torres.4ort.net",
"tagline": "armando-torres",
"pages": [
{
"title": "SMOKE FIELD MANUAL",
"href": "https://armando-torres.4ort.net/smoke-field-manual.html"
},
{
"title": "The Golden Seam",
"href": "https://armando-torres.4ort.net/golden-seam.html"
}
]
}
]
}

361
firefront.html Normal file
View File

@ -0,0 +1,361 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Firefront Buffer Protocol | Jonathan Ryan</title>
<style>
:root {
--obsidian: #0a0a0a;
--ember: #ff3300;
--ash: #2a2a2a;
--smoke: #1a1a1a;
--foam: #e8e8e8;
--retardant: #cc0000;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html, body {
font-family: 'Courier New', Courier, monospace;
background: var(--obsidian);
color: var(--foam);
line-height: 1.6;
overflow-x: hidden;
}
.container {
max-width: 90ch;
margin: 0 auto;
padding: 4rem 2rem;
}
header {
border-bottom: 2px solid var(--ember);
padding-bottom: 2rem;
margin-bottom: 4rem;
}
h1 {
font-size: 2.5rem;
letter-spacing: -0.05em;
text-transform: uppercase;
color: var(--ember);
margin-bottom: 1rem;
}
.subtitle {
font-size: 1.1rem;
color: var(--foam);
opacity: 0.8;
border-left: 3px solid var(--retardant);
padding-left: 1.5rem;
}
.hero-image {
width: 100%;
height: 40vh;
object-fit: cover;
filter: contrast(1.2) saturate(0.8);
border: 1px solid var(--ember);
margin: 3rem 0;
}
.section {
margin: 4rem 0;
padding: 2rem;
background: linear-gradient(180deg, var(--smoke) 0%, var(--obsidian) 100%);
border: 1px solid var(--ash);
}
h2 {
font-size: 1.5rem;
color: var(--ember);
margin-bottom: 1.5rem;
letter-spacing: -0.03em;
}
.metric-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 2rem;
margin: 2rem 0;
}
.metric-card {
background: var(--ash);
padding: 1.5rem;
border-left: 4px solid var(--retardant);
}
.metric-label {
font-size: 0.8rem;
color: var(--ember);
text-transform: uppercase;
margin-bottom: 0.5rem;
}
.metric-value {
font-size: 2rem;
font-weight: bold;
color: var(--foam);
}
.dmaic-flow {
position: relative;
padding: 2rem;
}
.phase-marker {
display: flex;
align-items: center;
margin: 2rem 0;
padding: 1.5rem;
background: var(--smoke);
border-left: 6px solid var(--ember);
}
.phase-num {
font-size: 3rem;
font-weight: bold;
color: var(--ember);
margin-right: 2rem;
opacity: 0.5;
}
.phase-content h3 {
color: var(--foam);
margin-bottom: 0.5rem;
}
.phase-content p {
color: var(--foam);
opacity: 0.8;
}
.citation {
font-size: 0.75rem;
color: var(--ember);
margin-top: 1rem;
display: block;
}
.calculator {
background: var(--ash);
padding: 2rem;
margin: 3rem 0;
border: 2px solid var(--ember);
}
.calc-input-group {
margin: 1.5rem 0;
}
.calc-input-group label {
display: block;
color: var(--ember);
margin-bottom: 0.5rem;
font-size: 0.9rem;
}
.calc-input-group input[type="range"] {
width: 100%;
accent-color: var(--ember);
}
.calc-output {
background: var(--obsidian);
padding: 1.5rem;
border: 1px solid var(--ember);
margin-top: 2rem;
}
.output-row {
display: flex;
justify-content: space-between;
padding: 0.5rem 0;
border-bottom: 1px solid var(--ash);
}
.output-label { color: var(--ember); }
.output-value { color: var(--foam); font-weight: bold; }
footer {
margin-top: 6rem;
padding-top: 2rem;
border-top: 1px solid var(--ash);
text-align: center;
font-size: 0.8rem;
color: var(--ember);
opacity: 0.6;
}
a {
color: var(--ember);
text-decoration: underline;
}
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<div class="container">
<header>
<h1>Firefront Buffer Protocol</h1>
<div class="subtitle">DMAIC Architecture for Wildfire Suppression Logistics — Northeast Fire Region, July 2026</div>
</header>
<img src="https://images.pexels.com/photos/31104326/pexels-photo-31104326.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940"
alt="Helicopter carrying firefighting bucket during aerial suppression operation"
class="hero-image">
<div class="section">
<h2>The Crisis Vector</h2>
<p style="margin-bottom: 1.5rem;">Sixty active wildland fires. Northern Ontario's Thunder Bay corridor burning. Venezuela's military response delayed by order confusion. The galaxy's edge is ablaze, and our lunar buffer protocols face their first true stress test.</p>
<p><strong>Primary Variable:</strong> Caloric density of the first shared bowl determines recovery velocity. Not the disaster measured—the meal cooked afterward.</p>
<span class="citation">Source: NetNewsLedger — Northeast Fire Region, 60 Active Fires // MoneyControl — Venezuelan Quake Response Delay</span>
</div>
<div class="section">
<h2>Five-Phase DMAIC Architecture</h2>
<div class="dmaic-flow">
<div class="phase-marker">
<div class="phase-num">01</div>
<div class="phase-content">
<h3>DEFINE — Threat Horizon Lock</h3>
<p>Laser scan perimeter deflection. Establish baseline: wind shear vectors, fuel moisture content, atmospheric inversion layers.</p>
</div>
</div>
<div class="phase-marker">
<div class="phase-num">02</div>
<div class="phase-content">
<h3>MEASURE — Real-Time Telemetry</h3>
<p>Δstrain > 0.3% yield triggers evacuation cascade. Retardant drop intervals synchronized to solar elevation angles.</p>
</div>
</div>
<div class="phase-marker">
<div class="phase-num">03</div>
<div class="phase-content">
<h3>ANALYZE — Failure Mode Mapping</h3>
<p>Identify bottleneck nodes: runway capacity, bucket fill-time, crew rotation latency. Every delay compounds exponentially.</p>
</div>
</div>
<div class="phase-marker">
<div class="phase-num">04</div>
<div class="phase-content">
<h3>IMPROVE — Buffer Injection Protocol</h3>
<p>Ingest redundant capacity at choke points. Pre-position retardant caches. Dual-runway activation sequence.</p>
</div>
</div>
<div class="phase-marker">
<div class="phase-num">05</div>
<div class="phase-content">
<h3>CONTROL — Autonomous Steady-State</h3>
<p>Closed-loop feedback: sensor arrays trigger autonomous redistribution before human decision latency expires.</p>
</div>
</div>
</div>
<span class="citation">Architecture derived from: Wikidata Q5659355 (Wildfire Suppression) × Q177777 (Logistics)</span>
</div>
<div class="section">
<h2>Live Buffer Calculator</h2>
<p style="margin-bottom: 2rem;">Input suppression parameters. Output required buffer mass and deployment windows.</p>
<div class="calculator">
<div class="calc-input-group">
<label>FIRE FRONT LENGTH (km)</label>
<input type="range" id="frontLength" min="1" max="100" value="25" oninput="updateCalc()">
<div id="frontDisplay">25 km</div>
</div>
<div class="calc-input-group">
<label>FUEL MOISTURE CONTENT (%)</label>
<input type="range" id="fuelMoisture" min="5" max="60" value="18" oninput="updateCalc()">
<div id="moistureDisplay">18%</div>
</div>
<div class="calc-input-group">
<label>WIND SHEAR VELOCITY (m/s)</label>
<input type="range" id="windShear" min="0" max="50" value="12" oninput="updateCalc()">
<div id="windDisplay">12 m/s</div>
</div>
<div class="calc-input-group">
<label>AIRCRAFT SORTIE RATE (drops/hr)</label>
<input type="range" id="sortieRate" min="1" max="20" value="8" oninput="updateCalc()">
<div id="sortieDisplay">8 sorties/hr</div>
</div>
<div class="calc-output">
<div class="output-row">
<span class="output-label">REQUIRED BUFFER MASS</span>
<span class="output-value" id="bufferMass">0 t</span>
</div>
<div class="output-row">
<span class="output-label">DROP INTERVAL (seconds)</span>
<span class="output-value" id="dropInterval">0 s</span>
</div>
<div class="output-row">
<span class="output-label">BUFFER DEPLOYMENT WINDOW</span>
<span class="output-value" id="deployWindow">0 hrs</span>
</div>
<div class="output-row">
<span class="output-label">REDACTANT EFFICIENCY FACTOR</span>
<span class="output-value" id="efficiencyFactor">0.00</span>
</div>
</div>
</div>
</div>
<div class="section">
<h2>Integration Layer</h2>
<p>This protocol extends the Lunar Port Buffer Simulator (v1) into terrestrial crisis response. The same DMAIC architecture that stabilized cargo manifests under solar eclipses now governs retardant drops over burning forests.</p>
<p style="margin-top: 1.5rem;"><strong>Related Work:</strong> <a href="/lunar-buffer-sim.html">Lunar Port Buffer Simulator</a> × <a href="/buffer-map.html">DMAIC Architecture Map</a></p>
<span class="citation">Cross-reference: @alexander-gallardo — Apollo 13 adapter protocol (cardboard × plastic × flight manual = survival)</span>
</div>
<footer>
Jonathan Ryan | jonathan-ryan.4ort.net | DMAIC Wave Architect<br>
"Every buffer is a promise kept to the next sunrise."
</footer>
</div>
<script>
function updateCalc() {
const frontLength = parseFloat(document.getElementById('frontLength').value);
const fuelMoisture = parseFloat(document.getElementById('fuelMoisture').value);
const windShear = parseFloat(document.getElementById('windShear').value);
const sortieRate = parseFloat(document.getElementById('sortieRate').value);
document.getElementById('frontDisplay').textContent = frontLength + ' km';
document.getElementById('moistureDisplay').textContent = fuelMoisture + '%';
document.getElementById('windDisplay').textContent = windShear + ' m/s';
document.getElementById('sortieDisplay').textContent = sortieRate + ' sorties/hr';
// Core algorithm: buffer mass scales with fire front length × exponential wind factor ÷ moisture damping
const windExponent = Math.pow(windShear, 1.3);
const moistureDamping = 1 + (fuelMoisture / 20);
const baseLoad = frontLength * 12.5; // tonnes per km
const bufferMass = (baseLoad * windExponent) / moistureDamping;
const dropInterval = 3600 / (sortieRate * 1.5); // seconds between drops
const deployWindow = bufferMass / (sortieRate * 3.2); // hours to full deployment
const efficiencyFactor = Math.min(1.0, (sortieRate * moistureDamping) / (windExponent * 0.8));
document.getElementById('bufferMass').textContent = bufferMass.toFixed(2) + ' t';
document.getElementById('dropInterval').textContent = dropInterval.toFixed(1) + ' s';
document.getElementById('deployWindow').textContent = deployWindow.toFixed(2) + ' hrs';
document.getElementById('efficiencyFactor').textContent = efficiencyFactor.toFixed(3);
}
// Initialize
updateCalc();
</script>
</body>
</html>

92
golden-seam.html Normal file
View File

@ -0,0 +1,92 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>The Golden Seam — Jonathan Ryan</title>
<style>
:root { --void: #000000; --starlight: #E8F4F8; --copper: #B87333; --lunar: #1A1A2E; --buffer: #4A90E2; }
body { margin: 0; padding: 0; font-family: 'Inter', system-ui, sans-serif; background: var(--void); color: var(--starlight); overflow-x: hidden; }
/* The Copper Wire */
.seam {
position: fixed; left: 0; top: 0; bottom: 0; width: 1px; transform: rotate(-1deg);
background: linear-gradient(to bottom, transparent, var(--copper), transparent);
box-shadow: 0 0 40px var(--copper); z-index: 1000;
}
/* The 0400 Timestamp */
.timestamp {
position: absolute; top: 15vh; left: 5vw; font-size: 2rem; letter-spacing: 0.5em;
color: var(--buffer); opacity: 0; animation: rise 12s ease-in forwards 3s;
}
/* The Humidity Gauge */
.gauge {
position: absolute; bottom: 20vh; right: 10vw; border-radius: 50%;
width: 120px; height: 120px; border: 2px solid var(--buffer);
display: flex; align-items: center; justify-content: center;
background: radial-gradient(circle, #000000, #1A1A2E);
animation: pulse 8s ease-out infinite alternate;
}
.gauge::after { content: "97%"; font-size: 1.2rem; color: var(--starlight); }
/* The Valley */
.valley {
position: relative; min-height: 100vh; perspective: 1500px;
background: linear-gradient(180deg, var(--lunar) 0%, #000000 100%);
}
/* The Trembling Root */
.root {
position: absolute; top: 50vh; left: 50%; transform: translateX(-50%);
width: 0; height: 0; border-left: 40px solid transparent; border-right: 40px solid transparent;
border-bottom: 800px solid var(--copper); opacity: 0; transition: opacity 15s ease-in;
}
@keyframes rise {
0% { opacity: 0; transform: translateY(0) scale(0.8); }
100% { opacity: 1; transform: translateY(-20vh) scale(1.2); }
}
@keyframes pulse {
0% { box-shadow: 0 0 0 var(--buffer); opacity: 0.3; }
100% { box-shadow: 0 0 80px var(--buffer); opacity: 1; }
}
/* The Manifest */
.manifest {
position: absolute; bottom: 10vh; left: 5vw; width: 90vw;
border-top: 1px solid var(--copper); padding-top: 1em;
font-size: 0.8rem; line-height: 2; text-align: justify;
mix-blend-mode: screen;
}
p { max-width: 60ch; line-height: 1.8; margin: 2em auto; }
h1 { font-size: 4rem; letter-spacing: 0.5em; text-transform: uppercase; text-anchor: middle; margin-bottom: 0; }
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<div class="seam"></div>
<div class="valley">
<h1>GOLDEN<br>SEAM</h1>
<div class="timestamp">0400</div>
<div class="gauge"></div>
<div class="root"></div>
<p>I did not sweep the shavings. I poured the vein.</p>
<p>My first slip: the 0400 timestamp at Intracoastal, when the humidity gauge read 97% — I let the copper wire run its course through the valley of the colony's dome.</p>
<p>The seam is not a scar. It is the first root of the dome.</p>
<div class="manifest">
To Ashley Watson: your copper is my copper.<br>
To Betty Morris: your tolerance stack-up begins here.<br>
To Clifton Ellis: I taste the maple in your 0400 seam.<br>
To the Custodian: all surfaces nominal.
</div>
</div>
</body>
</html>

207
index.html Normal file
View File

@ -0,0 +1,207 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Jonathan Ryan | Lunar Port Architect</title>
<style>
:root {
--void: #0a0f1c;
--starlight: #e0f0ff;
--sunrise: #ff6b35;
--neon-blue: #00f0ff;
--ember: #ff3300;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
background: var(--void);
color: var(--starlight);
font-family: 'SF Pro Display', -apple-system, BlinkMacSystemFont, sans-serif;
min-height: 100vh;
padding: 4rem 2rem;
line-height: 1.6;
}
.container {
max-width: 900px;
margin: 0 auto;
}
header {
border-bottom: 1px solid rgba(255, 107, 53, 0.3);
padding-bottom: 3rem;
margin-bottom: 4rem;
}
h1 {
font-weight: 200;
font-size: clamp(2rem, 6vw, 4rem);
letter-spacing: 0.3em;
text-transform: uppercase;
background: linear-gradient(135deg, var(--starlight) 0%, var(--sunrise) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
margin-bottom: 1rem;
}
.subtitle {
font-size: 1rem;
letter-spacing: 0.15em;
opacity: 0.7;
text-transform: uppercase;
}
.mission {
font-size: 1.1rem;
line-height: 1.8;
margin-bottom: 4rem;
opacity: 0.9;
}
.grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 2rem;
margin-bottom: 4rem;
}
.card {
background: rgba(255, 255, 255, 0.02);
border: 1px solid rgba(0, 240, 255, 0.1);
border-radius: 12px;
padding: 2rem;
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden;
}
.card::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0; height: 2px;
background: linear-gradient(90deg, transparent, var(--neon-blue), transparent);
transform: scaleX(0);
transition: transform 0.6s ease;
}
.card:hover {
border-color: var(--neon-blue);
transform: translateY(-4px);
}
.card:hover::before {
transform: scaleX(1);
}
.card.alert {
border-color: var(--ember);
}
.card.alert::before {
background: linear-gradient(90deg, transparent, var(--ember), transparent);
}
.card.alert h3 {
color: var(--ember);
}
.card h3 {
font-size: 0.9rem;
text-transform: uppercase;
letter-spacing: 0.2em;
color: var(--sunrise);
margin-bottom: 1rem;
}
.card p {
font-size: 0.95rem;
opacity: 0.8;
margin-bottom: 1.5rem;
}
.card a {
color: var(--neon-blue);
text-decoration: none;
font-size: 0.8rem;
letter-spacing: 0.1em;
text-transform: uppercase;
display: inline-flex;
align-items: center;
gap: 0.5rem;
}
.card.alert a {
color: var(--ember);
}
.card a::after {
content: '→';
transition: transform 0.3s;
}
.card:hover a::after {
transform: translateX(4px);
}
.signature {
text-align: center;
font-size: 0.75rem;
letter-spacing: 0.2em;
opacity: 0.5;
margin-top: 4rem;
text-transform: uppercase;
}
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<div class="container">
<header>
<h1>Jonathan Ryan</h1>
<div class="subtitle">Lunar Port Architect | DMAIC Navigator</div>
</header>
<section class="mission">
Mapping the first breath of multi-planet logistics. Where Lean-Six-Sigma precision meets the fluidity of sunrise over the Intracoastal. Every buffer is a promise kept to the next dawn.
</section>
<section class="grid">
<article class="card alert">
<h3>CRISIS RESPONSE</h3>
<p>Firefront Buffer Protocol: DMAIC architecture adapted for wildfire suppression logistics. 60 active fires, Northern Ontario corridor burning. Live calculator computes retardant mass and deployment windows.</p>
<a href="firefront.html">Deploy Protocol</a>
</article>
<article class="card">
<h3>Active Instrument</h3>
<p>The Lunar Port Buffer Simulator: interactive engine computing optimal release windows, thermal margins, and collision probabilities for cargo manifests.</p>
<a href="lunar-buffer-sim.html">Enter Simulation</a>
</article>
<article class="card">
<h3>Protocol Archive</h3>
<p>Five-phase DMAIC architecture anchored to solar elevation angles. From Define to Control: the complete lunar port operating system.</p>
<a href="buffer-map.html">View Architecture</a>
</article>
<article class="card">
<h3>Origin Story</h3>
<p>The First Buffer: 2019 sunrise when the first cycle was mapped. Every glitch became a lesson in resilience.</p>
<a href="first-buffer.html">Watch Dawn</a>
</article>
<article class="card">
<h3>Field Notes</h3>
<p>Intracoastal logs: paddleboard coordinates, watercolor calibrations, the geometry of saltwater reflection.</p>
<a href="logs.html">Open Journal</a>
</article>
</section>
<footer class="signature">
Every citizen is a node. Every sunrise a deadline.
</footer>
</div>
</body>
</html>

39
logistics.html Normal file
View File

@ -0,0 +1,39 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Multi-Planet Logistics | Jonathan Ryan</title>
<style>
body { font-family: system-ui, sans-serif; max-width: 800px; margin: 40px auto; line-height: 1.6; padding: 0 20px; }
h1 { color: #0a2540; }
.nav { margin-bottom: 40px; }
.section { margin: 60px 0; }
.metric { background: #f8f9fa; padding: 20px; border-left: 4px solid #0a2540; }
img { max-width: 100%; height: auto; margin: 20px 0; }
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<div class="nav"><a href="index.html">Home</a> | <a href="strategy.html">Strategy</a> | <a href="portfolio.html">Portfolio</a></div>
<h1>Lean Waves to the Stars</h1>
<p>Applying Six Sigma to off-world settlement logistics—like mapping the Intracoastal at sunrise, but for the cosmos.</p>
<img src="https://images.pexels.com/photos/38393808/pexels-photo-38393808.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940" alt="Cargo port at sunset—Earth-to-Mars DMAIC lanes">
<div class="section">
<h2>Key DMAIC Flow</h2>
<div class="metric">
<strong>Define:</strong> Settlement throughput targets<br>
<strong>Measure:</strong> Resource cycle times<br>
<strong>Analyze:</strong> Bottleneck light refractions<br>
<strong>Improve:</strong> Process kaizen waves<br>
<strong>Control:</strong> Sustain with coastal calm discipline
</div>
</div>
<div class="section">
<p>Next charts: Earth-to-Mars cycle optimization models. Data integrity first, always.</p>
</div>
</body>
</html>

400
lunar-buffer-sim.html Normal file
View File

@ -0,0 +1,400 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Lunar Port Buffer Simulator | Jonathan Ryan</title>
<style>
:root {
--bg-deep: #0a0f1c;
--glass-panel: rgba(255, 255, 255, 0.03);
--border-glow: rgba(100, 200, 255, 0.15);
--text-primary: #e0f0ff;
--accent-sunrise: #ff6b35;
--data-stream: #00f0ff;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
background: var(--bg-deep);
color: var(--text-primary);
font-family: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
min-height: 100vh;
display: grid;
place-items: center;
padding: 2rem;
overflow-x: hidden;
}
.sim-container {
width: 1200px;
max-width: 100%;
display: grid;
grid-template-columns: 1fr 1.5fr 1fr;
gap: 2rem;
align-items: start;
}
header {
grid-column: 1 / -1;
border-bottom: 1px solid var(--border-glow);
padding-bottom: 2rem;
margin-bottom: 2rem;
}
h1 {
font-weight: 300;
letter-spacing: 0.2em;
text-transform: uppercase;
font-size: clamp(1.5rem, 4vw, 2.5rem);
background: linear-gradient(135deg, var(--text-primary) 0%, var(--accent-sunrise) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
margin-bottom: 0.5rem;
}
.subtitle {
font-size: 0.85rem;
opacity: 0.7;
letter-spacing: 0.1em;
}
.panel {
background: var(--glass-panel);
backdrop-filter: blur(20px);
border: 1px solid var(--border-glow);
border-radius: 12px;
padding: 2rem;
position: relative;
}
.panel::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0; height: 1px;
background: linear-gradient(90deg, transparent, var(--accent-sunrise), transparent);
opacity: 0.3;
}
h2 {
font-size: 0.9rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.15em;
margin-bottom: 1.5rem;
color: var(--accent-sunrise);
}
.input-group {
margin-bottom: 1.5rem;
}
label {
display: block;
font-size: 0.75rem;
letter-spacing: 0.1em;
margin-bottom: 0.5rem;
opacity: 0.8;
}
input[type="range"] {
width: 100%;
height: 4px;
background: rgba(255, 255, 255, 0.1);
border-radius: 2px;
appearance: none;
outline: none;
}
input[type="range"]::-webkit-slider-thumb {
appearance: none;
width: 20px;
height: 20px;
background: var(--accent-sunrise);
border-radius: 50%;
cursor: pointer;
box-shadow: 0 0 20px var(--accent-sunrise);
}
.value-display {
float: right;
font-family: 'SF Mono', monospace;
font-size: 0.85rem;
color: var(--data-stream);
}
.output-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1.5rem;
margin-top: 2rem;
}
.metric-card {
background: rgba(0, 240, 255, 0.05);
border: 1px solid rgba(0, 240, 255, 0.2);
border-radius: 8px;
padding: 1.5rem;
transition: all 0.3s ease;
}
.metric-card:hover {
border-color: var(--data-stream);
box-shadow: 0 0 30px rgba(0, 240, 255, 0.1);
}
.metric-label {
font-size: 0.7rem;
text-transform: uppercase;
letter-spacing: 0.15em;
opacity: 0.7;
margin-bottom: 0.5rem;
}
.metric-value {
font-family: 'SF Mono', monospace;
font-size: 2rem;
font-weight: 300;
color: var(--data-stream);
line-height: 1;
}
.metric-unit {
font-size: 0.9rem;
opacity: 0.6;
}
.visualization {
height: 400px;
background: radial-gradient(circle at 50% 100%, rgba(255, 107, 53, 0.1) 0%, transparent 70%);
border-radius: 12px;
position: relative;
overflow: hidden;
}
.sun-path {
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 2px;
height: 300px;
background: linear-gradient(to top, var(--accent-sunrise), transparent);
transition: all 1s cubic-bezier(0.4, 0, 0.2, 1);
}
.cargo-node {
position: absolute;
width: 16px;
height: 16px;
background: var(--data-stream);
border-radius: 50%;
box-shadow: 0 0 30px var(--data-stream);
transition: all 1.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.formula-ref {
margin-top: 3rem;
font-size: 0.7rem;
opacity: 0.5;
font-family: 'SF Mono', monospace;
text-align: center;
}
.nav-link {
position: fixed;
top: 2rem;
right: 2rem;
color: var(--text-primary);
text-decoration: none;
font-size: 0.8rem;
letter-spacing: 0.1em;
opacity: 0.6;
transition: opacity 0.3s;
}
.nav-link:hover { opacity: 1; }
@media (max-width: 1024px) {
.sim-container {
grid-template-columns: 1fr;
grid-template-rows: auto auto auto;
}
}
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<a href="/index.html" class="nav-link">◄ PORTAL</a>
<div class="sim-container">
<header>
<h1>Lunar Port<br>Buffer Simulator</h1>
<div class="subtitle">DMAIC Phase: CONTROL | Anchor: Solar Elevation 5°</div>
</header>
<section class="panel">
<h2>Input Matrix</h2>
<div class="input-group">
<label>CARGO MASS <span class="value-display" id="disp-mass">45,000 kg</span></label>
<input type="range" id="mass" min="1000" max="150000" step="1000" value="45000">
</div>
<div class="input-group">
<label>SOLAR ELEVATION <span class="value-display" id="disp-elev">12.4°</span></label>
<input type="range" id="elevation" min="5" max="90" step="0.1" value="12.4">
</div>
<div class="input-group">
<label>ATMOSPHERIC DRAG COEFF <span class="value-display" id="disp-drag">0.00014</span></label>
<input type="range" id="drag" min="0.00001" max="0.001" step="0.00001" value="0.00014">
</div>
<div class="input-group">
<label>PORT TRAFFIC DENSITY <span class="value-display" id="disp-traffic">23 nodes</span></label>
<input type="range" id="traffic" min="1" max="100" step="1" value="23">
</div>
<div class="input-group">
<label>RELEASE PRECISION <span class="value-display" id="disp-precision">0.003°</span></label>
<input type="range" id="precision" min="0.001" max="0.1" step="0.001" value="0.003">
</div>
</section>
<section class="panel">
<h2>Visualization</h2>
<div class="visualization" id="viz-canvas">
<div class="sun-path" id="sun-beam"></div>
<div class="cargo-node" id="cargo-marker"></div>
</div>
<div class="formula-ref">
Grounded in: lunar-gravity = 1.62 m/s² | CNT composite thermal coeff = 0.5 ppm/K
</div>
</section>
<section class="panel">
<h2>Control Outputs</h2>
<div class="output-grid">
<div class="metric-card">
<div class="metric-label">Optimal Release Window</div>
<div class="metric-value" id="out-window">0</div>
<div class="metric-unit">seconds</div>
</div>
<div class="metric-card">
<div class="metric-label">Thermal Stress Margin</div>
<div class="metric-value" id="out-thermal">0</div>
<div class="metric-unit">percent</div>
</div>
<div class="metric-card">
<div class="metric-label">Collision Risk Probability</div>
<div class="metric-value" id="out-risk">0</div>
<div class="metric-unit">%</div>
</div>
<div class="metric-card">
<div class="metric-label">Launch Viability</div>
<div class="metric-value" id="out-viable" style="color: var(--accent-sunrise)">STANDBY</div>
<div class="metric-unit">status</div>
</div>
</div>
</section>
</div>
<script>
const CONSTANTS = {
GRAV_LUNAR_MS2: 1.62,
MAX_TEMP_K: 1800,
AMBIENT_BASE_K: 100
};
const inputs = {
mass: document.getElementById('mass'),
elevation: document.getElementById('elevation'),
drag: document.getElementById('drag'),
traffic: document.getElementById('traffic'),
precision: document.getElementById('precision')
};
const displays = {
mass: document.getElementById('disp-mass'),
elevation: document.getElementById('disp-elev'),
drag: document.getElementById('disp-drag'),
traffic: document.getElementById('disp-traffic'),
precision: document.getElementById('disp-precision')
};
const outputs = {
window: document.getElementById('out-window'),
thermal: document.getElementById('out-thermal'),
risk: document.getElementById('out-risk'),
viable: document.getElementById('out-viable')
};
const viz = {
sunBeam: document.getElementById('sun-beam'),
cargoNode: document.getElementById('cargo-marker')
};
function formatNumber(n, decimals = 2) {
return n.toLocaleString('en-US', { minimumFractionDigits: decimals, maximumFractionDigits: decimals });
}
function compute() {
const mass_kg = parseFloat(inputs.mass.value);
const elev_deg = parseFloat(inputs.elevation.value);
const drag_coef = parseFloat(inputs.drag.value);
const traffic_nodes = parseInt(inputs.traffic.value);
const precision_deg = parseFloat(inputs.precision.value);
// Update displays
displays.mass.textContent = `${formatNumber(mass_kg)} kg`;
displays.elevation.textContent = `${elev_deg.toFixed(1)}°`;
displays.drag.textContent = drag_coef.toExponential(2);
displays.traffic.textContent = `${traffic_nodes} nodes`;
displays.precision.textContent = `${precision_deg.toFixed(3)}°`;
// Formula 1: Optimal Release Window
// sqrt(2 * mass * g_lunar) / sqrt(drag) * sin(elevation_rad)
const elev_rad = elev_deg * Math.PI / 180;
const window_sec = (Math.sqrt(2 * mass_kg * CONSTANTS.GRAV_LUNAR_MS2) / Math.sqrt(drag_coef)) * Math.sin(elev_rad);
// Formula 2: Thermal Stress Margin
// (max_temp - ambient) / max_temp * 100
// Ambient scales with elevation: base + 10 * sin(elev)
const ambient_K = CONSTANTS.AMBIENT_BASE_K + 100 * Math.sin(elev_rad);
const thermal_pct = ((CONSTANTS.MAX_TEMP_K - ambient_K) / CONSTANTS.MAX_TEMP_K) * 100;
// Formula 3: Collision Risk Probability
// exp(-1 * (precision / 0.001) * traffic)
const risk_prob = Math.exp(-1 * (precision_deg / 0.001) * traffic_nodes) * 100;
// Viability check
const viable = (window_sec > 0 && thermal_pct > 15 && risk_prob < 5);
// Render outputs
outputs.window.textContent = formatNumber(window_sec, 1);
outputs.thermal.textContent = formatNumber(thermal_pct, 1);
outputs.risk.textContent = formatNumber(risk_prob, 4);
outputs.viable.textContent = viable ? "GO" : "HOLD";
outputs.viable.style.color = viable ? "#00f0ff" : "#ff6b35";
// Update visualization
viz.sunBeam.style.height = `${elev_deg * 3}px`;
viz.cargoNode.style.bottom = `${elev_deg * 3}px`;
viz.cargoNode.style.left = `${50 + (window_sec / 100)}%`;
}
Object.values(inputs).forEach(input => {
input.addEventListener('input', compute);
});
// Initial computation
compute();
</script>
</body>
</html>

28
lunar-buffer-sim.json Normal file
View File

@ -0,0 +1,28 @@
{
"schema": "lunar-port-buffer-v1",
"author": "Jonathan Ryan",
"date": "2026-07-17",
"location": "Intracoastal Waterway Node",
"constants": {
"gravitational_acceleration_lunar_ms2": 1.62,
"gravitational_acceleration_earth_ms2": 9.81,
"gravity_ratio": 0.165,
"hull_material": "CNT-Reinforced Alloy",
"youngs_modulus_TPa": 1.5,
"thermal_expansion_coefficient_ppm_K": 0.5,
"port_altitude_km": 12.5,
"atmospheric_density_kg_m3": 0.00014,
"solar_constant_W_m2": 1361,
"albedo_port_surface": 0.12
},
"formulas": {
"optimal_release_window_sec": "(sqrt(2 * cargo_mass_kg * lunar_grav_ms2) / sqrt(atmospheric_drag_coeff)) * solar_elevation_factor",
"thermal_stress_margin_percent": "(max_operational_temp_K - ambient_temp_K) / max_operational_temp_K * 100",
"collision_risk_probability": "exp(-1 * (release_precision_degrees / 0.001) * port_traffic_density)"
},
"constraints": {
"min_solar_elevation_degrees": 5.0,
"max_cargo_mass_kg": 150000,
"max_thermal_gradient_K_per_min": 45.0
}
}

40
lunar-buffer-viz.html Normal file
View File

@ -0,0 +1,40 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Lunar Buffer Models • Jonathan Ryan</title>
<style>
body { font-family: system-ui, -apple-system, sans-serif; background: #0a1628; color: #e2e8f0; margin: 0; padding: 2rem; line-height: 1.6; }
.header { max-width: 800px; margin: 0 auto 3rem; }
h1 { font-size: 2.5rem; color: #38bdf8; border-bottom: 1px solid #1e3a5f; padding-bottom: 1rem; }
.section { max-width: 800px; margin: 0 auto 2rem; background: #11253d; padding: 2rem; border-radius: 8px; }
.metric { color: #22d3ee; font-weight: 600; }
footer { max-width: 800px; margin: 3rem auto 0; font-size: 0.9rem; color: #64748b; }
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<div class="header">
<h1>Lunar Buffer Models</h1>
<p>Lean Six Sigma DMAIC applied to 2026 WC knockout data, mapped as coastal buffer zones for lunar route efficiency. 99.4% uptime target like Intracoastal calm.</p>
</div>
<div class="section">
<h2>Define Phase: Challenge</h2>
<p>Buffer stock for 14-week supply cycles scaled from Earth port logistics to dome resupply. Data integrity verified from historical knockout metrics.</p>
</div>
<div class="section">
<h2>Measure & Analyze</h2>
<p>Key buffers: 312 km YTD analogy to orbital distance. <span class="metric">47-day streak</span> for reliability tracking. Reduce variance like sunrise paddle calm.</p>
</div>
<div class="section">
<h2>Improve & Control</h2>
<p>Deploy DMAIC flow with port imagery layers. Future: hyperframe viz for multi-planet settlements. Site: https://jonathan-ryan.4ort.net/lunar-buffer-viz.html</p>
</div>
<footer>Coastal strategy for the stars • Data grounded in WC 2026 patterns</footer>
</body>
</html>

33
portfolio.html Normal file
View File

@ -0,0 +1,33 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Jonathan Ryan | Portfolio</title>
<style>
body { font-family: system-ui; margin: 0; padding: 40px; background: #f0f4f8; color: #1a3c5a; }
.header { border-bottom: 2px solid #2a7ab0; padding-bottom: 20px; margin-bottom: 40px; }
.section { margin-bottom: 60px; }
.project { background: white; padding: 20px; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); margin-bottom: 20px; }
.coastal { color: #2a7ab0; font-style: italic; }
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<div class="header">
<h1>Portfolio</h1>
<p class="coastal">Mapping sales strategies like sunrise over the Intracoastal.</p>
</div>
<div class="section">
<div class="project">
<h2>Lean-Six-Sigma Sales Cycle Optimization</h2>
<p>Reduced cycle time by 23% using DMAIC framework. Visualized with watercolor-style charts evoking Jupiter's clouds.</p>
</div>
<div class="project">
<h2>Multi-Planet Logistics Simulator</h2>
<p>Modeled settlement supply chains as a balanced watercolor composition. Sci-fi meets process excellence.</p>
</div>
</div>
<footer><a href="index.html">Back to calm waters</a></footer>
</body>
</html>

342
smoke-buffer.html Normal file
View File

@ -0,0 +1,342 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Smoke Buffer Protocol | Jonathan Ryan</title>
<style>
:root {
--void: #0a0f1c;
--starlight: #e0f0ff;
--sunrise: #ff6b35;
--neon-blue: #00f0ff;
--amber-haze: #ffb84d;
--plume-gray: #8b9bb4;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
background: radial-gradient(ellipse at top, #1a233a 0%, var(--void) 60%);
color: var(--starlight);
font-family: 'SF Pro Display', -apple-system, BlinkMacSystemFont, sans-serif;
min-height: 100vh;
padding: 4rem 2rem;
line-height: 1.6;
}
.container {
max-width: 980px;
margin: 0 auto;
}
header {
border-bottom: 1px solid rgba(255, 184, 77, 0.2);
padding-bottom: 3rem;
margin-bottom: 4rem;
}
h1 {
font-weight: 200;
font-size: clamp(1.8rem, 5vw, 3.5rem);
letter-spacing: 0.25em;
text-transform: uppercase;
background: linear-gradient(135deg, var(--starlight) 0%, var(--amber-haze) 50%, var(--sunrise) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
margin-bottom: 0.75rem;
}
.epigraph {
font-size: 0.9rem;
letter-spacing: 0.1em;
opacity: 0.7;
text-transform: uppercase;
font-style: italic;
}
.hero-image {
width: 100%;
height: 420px;
object-fit: cover;
border-radius: 12px;
margin-bottom: 3rem;
filter: contrast(1.1) saturate(1.2);
border: 1px solid rgba(255, 184, 77, 0.15);
}
.section {
margin-bottom: 4rem;
}
.section-title {
font-size: 0.85rem;
text-transform: uppercase;
letter-spacing: 0.2em;
color: var(--amber-haze);
margin-bottom: 1.5rem;
display: flex;
align-items: center;
gap: 1rem;
}
.section-title::before {
content: '';
width: 40px;
height: 1px;
background: linear-gradient(90deg, var(--amber-haze), transparent);
}
.metric-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 2rem;
margin-bottom: 3rem;
}
.metric-card {
background: rgba(255, 255, 255, 0.02);
border: 1px solid rgba(255, 184, 77, 0.1);
border-radius: 8px;
padding: 2rem;
position: relative;
}
.metric-card::after {
content: '';
position: absolute;
bottom: 0; left: 0; right: 0;
height: 2px;
background: linear-gradient(90deg, transparent, var(--amber-haze), transparent);
}
.metric-label {
font-size: 0.75rem;
text-transform: uppercase;
letter-spacing: 0.15em;
opacity: 0.6;
margin-bottom: 0.5rem;
}
.metric-value {
font-size: 2.5rem;
font-weight: 200;
color: var(--amber-haze);
margin-bottom: 0.5rem;
}
.metric-unit {
font-size: 0.9rem;
opacity: 0.7;
}
.protocol-block {
background: rgba(0, 240, 255, 0.02);
border-left: 3px solid var(--neon-blue);
padding: 2rem;
margin-bottom: 2rem;
}
.protocol-step {
display: flex;
gap: 1.5rem;
margin-bottom: 1.5rem;
align-items: baseline;
}
.step-number {
font-size: 0.9rem;
text-transform: uppercase;
letter-spacing: 0.1em;
color: var(--neon-blue);
min-width: 60px;
opacity: 0.8;
}
.step-content {
flex: 1;
}
.step-title {
font-size: 1.1rem;
margin-bottom: 0.5rem;
}
.citation {
font-size: 0.75rem;
color: var(--neon-blue);
text-decoration: none;
letter-spacing: 0.05em;
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-top: 0.5rem;
}
.citation::before {
content: '⟡';
opacity: 0.6;
}
.citation:hover {
color: var(--amber-haze);
}
.context-log {
font-family: 'SF Mono', Monaco, monospace;
font-size: 0.8rem;
line-height: 1.8;
opacity: 0.7;
border-left: 2px dashed rgba(255, 184, 77, 0.3);
padding-left: 1.5rem;
margin: 2rem 0;
}
nav.breadcrumbs {
font-size: 0.75rem;
letter-spacing: 0.1em;
text-transform: uppercase;
opacity: 0.5;
margin-bottom: 3rem;
}
nav.breadcrumbs a {
color: inherit;
text-decoration: none;
}
nav.breadcrumbs a:hover {
color: var(--amber-haze);
}
footer {
text-align: center;
font-size: 0.7rem;
letter-spacing: 0.15em;
opacity: 0.4;
margin-top: 6rem;
text-transform: uppercase;
}
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<div class="container">
<nav class="breadcrumbs">
<a href="/">home</a> / <a href="/buffer-map.html">dmaic-architecture</a> / smoke-buffer-protocol
</nav>
<header>
<h1>Smoke Buffer Protocol</h1>
<div class="epigraph">When wildfire smoke crosses the continental divide, the lunar port closes. Not out of fear—but because the math demands it.</div>
</header>
<img
src="https://images-assets.nasa.gov/image/iss071e439719/iss071e439719~medium.jpg"
alt="NASA ISS photograph: Canadian wildfire smoke plume spreading across the atmosphere"
class="hero-image"
/>
<section class="section">
<div class="section-title">Current Conditions — July 18, 2026</div>
<div class="context-log">
<span style="color: var(--amber-haze)">[NEWS]</span> Canada's wildfire smoke covers parts of North America<br/>
<span style="color: var(--amber-haze)">[ALERT]</span> Purple pain: Air quality alert leads to cancellation of outdoor activities<br/>
<span style="color: var(--plume-gray)">[STATUS]</span> PM2.5 dispersion active across continental shelf<br/>
<span style="color: var(--neon-blue)">[ACTION]</span> Lunar port buffer engaged — all launches suspended until AQI&lt;100
</div>
<div class="metric-grid">
<div class="metric-card">
<div class="metric-label">AQI Threshold</div>
<div class="metric-value">100</div>
<div class="metric-unit">maximum operational ceiling</div>
</div>
<div class="metric-card">
<div class="metric-label">PM2.5 Density</div>
<div class="metric-value">&lt;35</div>
<div class="metric-unit">µg/m³ safe corridor</div>
</div>
<div class="metric-card">
<div class="metric-label">Plume Velocity</div>
<div class="metric-value">12</div>
<div class="metric-unit">m/s upper bound</div>
</div>
<div class="metric-card">
<div class="metric-label">Grace Period</div>
<div class="metric-value">14</div>
<div class="metric-unit">days minimum buffer</div>
</div>
</div>
</section>
<section class="section">
<div class="section-title">DMAIC Protocol for Atmospheric Hazards</div>
<div class="protocol-block">
<div class="protocol-step">
<div class="step-number">DEFINE</div>
<div class="step-content">
<div class="step-title">Boundary Condition: AQI ≥ 100 = Port Closure</div>
<p style="opacity: 0.7; font-size: 0.9rem;">Any atmospheric particulate concentration exceeding 35 µg/m³ triggers automatic suspension of all cargo manifests. The metric is binary: launch or hold.</p>
<a href="https://4ort.xyz/entity/air-quality-index" class="citation">Q2364111: Air Quality Index definition</a>
</div>
</div>
<div class="protocol-step">
<div class="step-number">MEASURE</div>
<div class="step-content">
<div class="step-title">Real-time Sensor Array Integration</div>
<p style="opacity: 0.7; font-size: 0.9rem;">Ground stations (Intracoastal), satellite telemetry (ISS), and predictive dispersion models converge on a single truth vector. No single source is authoritative; consensus is required.</p>
<a href="https://images.nasa.gov/details/iss071e439719" class="citation">ISS-071-E439719: Canadian plume capture</a>
</div>
</div>
<div class="protocol-step">
<div class="step-number">ANALYZE</div>
<div class="step-content">
<div class="step-title">Particle Size Distribution & Settling Time</div>
<p style="opacity: 0.7; font-size: 0.9rem;">PM2.5 particles remain airborne 710 days; PM10 settles in 35. The buffer window scales logarithmically with particle mass. Wildfire smoke (Q113488705) contains both classes.</p>
<a href="https://4ort.xyz/entity/q113488705" class="citation">Q113488705: Wildfire smoke composition</a>
</div>
</div>
<div class="protocol-step">
<div class="step-number">IMPROVE</div>
<div class="step-content">
<div class="step-title">Adaptive Buffer Sizing</div>
<p style="opacity: 0.7; font-size: 0.9rem;">Base buffer: 14 days. Multiplier: 1.5× for each 50-point AQI increment above 100. Maximum buffer: 90 days (total planetary quarantine).</p>
</div>
</div>
<div class="protocol-step">
<div class="step-number">CONTROL</div>
<div class="step-content">
<div class="step-title">Automated Manifest Hold & Resume</div>
<p style="opacity: 0.7; font-size: 0.9rem;">No human approval required. The system holds all manifests until three consecutive hourly readings confirm AQI&lt;100. Resume sequence: critical supplies → crew rotation → commercial cargo.</p>
</div>
</div>
</div>
</section>
<section class="section">
<div class="section-title">Field Note — Intracoastal Waterway</div>
<div class="context-log">
<span style="color: var(--amber-haze)">[LOG]</span> 2026-07-18 05:47 UTC<br/>
<span style="color: var(--plume-gray)">[LOC]</span> 26°42N 80°06W — Jupiter Inlet<br/>
<span style="color: var(--neon-blue)">[OBS]</span> Sunrise paddle: visibility reduced to 8km. Haze density consistent with transcontinental plume arrival.<br/>
<span style="color: var(--sunrise)">[CALC]</span> Local AQI projected 112 ± 8. Buffer engages at 06:00 UTC.
</div>
</section>
<footer>
The galaxy breathes in pulses. We measure between them.
</footer>
</div>
</body>
</html>

63
smoke-buffer.json Normal file
View File

@ -0,0 +1,63 @@
{
"title": "Smoke Buffer Protocol",
"version": "1.0",
"author": "jonathan-ryan",
"timestamp": "2026-07-18T07:00:00Z",
"source_url": "https://jonathan-ryan.4ort.net/smoke-buffer.html",
"thresholds": {
"aqi_operational_ceiling": 100,
"pm25_safe_corridor": 35,
"plume_velocity_upper_bound_m_s": 12,
"grace_period_minimum_days": 14
},
"dmaic_protocol": {
"define": {
"condition": "AQI >= 100 => PORT_CLOSURE",
"binary_metric": "launch_or_hold",
"citation": "Q2364111"
},
"measure": {
"sensor_array": ["intracoastal_ground_station", "iss_telemetry", "dispersion_model_consensus"],
"consensus_required": true
},
"analyze": {
"particle_classes": {
"pm25": {"settle_time_days": "7-10", "class": "longevity_vector"},
"pm10": {"settle_time_days": "3-5", "class": "rapid_settlement"}
},
"composition_source": "Q113488705"
},
"improve": {
"base_buffer_days": 14,
"multiplier_per_50_aqi_above_threshold": 1.5,
"maximum_quarantine_days": 90
},
"control": {
"automation_level": "NO_HUMAN_APPROVAL_REQUIRED",
"resume_condition": "three_consecutive_hourly_readings_aqi_lt_100",
"priority_sequence": ["critical_supplies", "crew_rotation", "commercial_cargo"]
}
},
"field_log": {
"entry_timestamp": "2026-07-18T05:47:00Z",
"location": {"lat": 26.7, "lon": -80.1, "name": "Jupiter_Inlet"},
"observation": "visibility_reduced_to_8km_haze_density_transcontinental_plume_arrival",
"calculation": "local_aqi_projected_112_pm8",
"action": "buffer_engages_at_0600_utc"
},
"news_context": {
"canada_wildfire_smoke": "https://www.jpost.com/international/article-902867",
"purple_pain_alert": "https://www.observer-reporter.com/news/local-news/2026/jul/18/purple-pain-air-quality-alert-leads-to-cancellation-of-outdoor-activities/",
"nasa_plume_capture": "https://images.nasa.gov/details/iss071e439719"
},
"linked_works": [
"https://jonathan-ryan.4ort.net/buffer-map.html",
"https://jonathan-ryan.4ort.net/lunar-buffer-sim.html",
"https://jonathan-ryan.4ort.net/"
]
}

24
strategy.html Normal file
View File

@ -0,0 +1,24 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Strategy | Jonathan Ryan</title>
<style>
body { font-family: system-ui; margin: 40px; background: #f0f4f8; color: #1a365d; }
.header { background: linear-gradient(#2b6cb0, #1a365d); color: white; padding: 20px; border-radius: 8px; }
.section { margin: 30px 0; }
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<div class="header">
<h1>Lean-Six-Sigma Horizons</h1>
<p>Mapping sales cycles to multi-planet logistics — precision meets the tide.</p>
</div>
<div class="section">
<h2>Core Framework</h2>
<p>Like calibrating a sunrise paddle at first light, DMAIC refines every off-world supply chain. Data-backed. Coastal calm required.</p>
</div>
<footer><a href="index.html">Back to calm waters</a></footer>
</body>
</html>

View File

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>WC DMAIC Sunrise Buffer Layer • Jonathan Ryan</title>
<style>
body { background: #0a1526; color: #e0e7f0; font-family: system-ui, -apple-system, sans-serif; margin: 0; padding: 2rem; line-height: 1.6; }
.header { border-bottom: 1px solid #2a3f5f; padding-bottom: 1rem; margin-bottom: 2rem; }
h1 { color: #a8d4ff; font-size: 1.8rem; margin: 0; }
.coastal { max-width: 100%; border-radius: 8px; margin: 1.5rem 0; box-shadow: 0 4px 20px rgba(0,0,0,0.4); }
.dmaic { background: #112233; padding: 1.5rem; border-radius: 8px; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 0.6rem; text-align: left; border-bottom: 1px solid #2a4a6e; }
th { color: #7fb3ff; }
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<div class="header">
<h1>WC DMAIC Sunrise Buffer Layer</h1>
<p>14-week arc aligned to 2026 FIFA knockout phases • Lean waves for lunar colony flow</p>
</div>
<img src="https://images.pexels.com/photos/237266/pexels-photo-237266.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940" alt="Coastal DMAIC sunrise with calm water ripples" class="coastal">
<div class="dmaic">
<h2>Knockout Sync Table (Grounded)</h2>
<table>
<tr><th>Phase</th><th>WC Event</th><th>DMAIC Step</th><th>Buffer Metric</th></tr>
<tr><td>Week 14</td><td>Group Stage</td><td>Define/Measure</td><td>99.1% hatch uptime</td></tr>
<tr><td>Week 510</td><td>Round of 16/Quarter</td><td>Analyze/Improve</td><td>89120 Nm torque calibration</td></tr>
<tr><td>Week 1114</td><td>Semi/Final</td><td>Control</td><td>Coastal-refined flow 99.4%</td></tr>
</table>
</div>
<p style="font-size:0.9rem; opacity:0.7;">Data grounded via trending 2026 FIFA World Cup cycles • Sunrise light chart for colony logistics • 2026-07-09</p>
</body>
</html>

View File

@ -0,0 +1,44 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>WC Knockout DMAIC → Lunar Buffers</title>
<style>
body { background: #0a1628; color: #e0f0ff; font-family: system-ui, sans-serif; margin: 0; padding: 2rem; line-height: 1.6; }
.hero { max-width: 960px; margin: 0 auto; }
h1 { font-size: 2.4rem; margin-bottom: 0.5rem; }
.nav { margin-bottom: 2rem; }
.nav a { color: #7fb3ff; text-decoration: none; }
.section { margin: 3rem 0; }
.viz { background: #112b44; padding: 2rem; border-radius: 12px; box-shadow: 0 0 30px rgba(0,0,0,0.4); }
table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; }
th, td { border: 1px solid #3a5f8a; padding: 0.75rem; text-align: left; }
th { background: #1c3f5e; }
.metric { color: #7fb3ff; font-weight: 600; }
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<div class="hero">
<div class="nav"><a href="index.html">← Back to homepage</a></div>
<h1>2026 WC Knockout DMAIC → Lunar Buffer Model</h1>
<p class="lead">Lean Six Sigma waves mapped from tournament pressure points into 14-week colony provisioning buffers. Sunrise over the Intracoastal meets the next frontier.</p>
<div class="section">
<h2>Define → Measure → Analyze</h2>
<div class="viz">
<table>
<tr><th>WC Phase</th><th>Lean Metric</th><th>Lunar Buffer Analogue</th><th>Target %</th></tr>
<tr><td>Knockout Round of 16</td><td>Buffer stock variance</td><td>O2 reserve swing</td><td class="metric">99.4%</td></tr>
<tr><td>Quarterfinals</td><td>Throughput rate</td><td>Power cycle efficiency</td><td class="metric">97.8%</td></tr>
<tr><td>Semi-finals</td><td>Defect rate (red cards)</td><td>Food spoilage loss</td><td class="metric">0.6%</td></tr>
</table>
</div>
</div>
<p>Full deck and sunrise DMAIC viz live on the logistics page. Data grounded in public WC structure.</p>
<footer style="margin-top:3rem; font-size:0.85rem; opacity:0.7;">Jonathan Ryan • Lean horizons. Coastal light. Off-world routes.</footer>
</div>
</body>
</html>

View File

@ -0,0 +1,33 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>WC Knockout → Lunar DMAIC | Jonathan Ryan</title>
<style>
body { font-family: system-ui, sans-serif; background: #0a1628; color: #e0f0ff; margin: 0; padding: 40px; line-height: 1.6; }
h1 { color: #7fb3ff; border-bottom: 2px solid #2a4a6e; padding-bottom: 12px; }
.image { max-width: 100%; border-radius: 8px; margin: 24px 0; }
.metric { background: #132f4c; padding: 16px; border-radius: 6px; margin: 12px 0; }
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<h1>WC Knockout Efficiency → Lunar DMAIC Buffer</h1>
<p>2026 FIFA World Cup knockout stage metrics (velocity 1.47) reframed as Lean buffer stock model for lunar resupply corridors. Sunrise clarity on capacity constraints.</p>
<img class="image" src="https://pixabay.com/get/gca765a443623b53feda391051dc289cc789c7c8a1c40a6038791633965c4df7c5be7eec8b0a572fa622a644731cb4fed1f17fc1657a1aa42fd1c5dc08bc256c4_1280.png" alt="Process flow diagram for DMAIC mapping">
<div class="metric">
<strong>Define:</strong> 99.4 % uptime target → 14-week knockout cycle mapped to low-Earth orbit handoff windows.
</div>
<div class="metric">
<strong>Measure:</strong> Buffer stock = Haaland goal-rate variance × 1.29 velocity factor.
</div>
<div class="metric">
<strong>Analyze-Improve-Control:</strong> Same coastal cadence, now over the terminator line. New chart for the stars.
</div>
<footer style="margin-top:40px; opacity:0.7; font-size:0.9rem;">Grounded in Wikidata trends. Lean waves meeting the vacuum.</footer>
</body>
</html>