@iowarp/clio-coder 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +407 -0
- package/CODE_OF_CONDUCT.md +21 -0
- package/CONTRIBUTING.md +224 -0
- package/LICENSE +202 -0
- package/NOTICE +9 -0
- package/README.md +798 -0
- package/SECURITY.md +72 -0
- package/assets/clio-coder-logo-128.webp +0 -0
- package/damage-control-rules.yaml +419 -0
- package/dist/acp-UMLFVA3F.js +92 -0
- package/dist/agents-Q4MYPMUW.js +91 -0
- package/dist/auth-O6HYIJ6J.js +521 -0
- package/dist/chunk-262G75JS.js +35 -0
- package/dist/chunk-26BZQOAD.js +1281 -0
- package/dist/chunk-2J63S4SF.js +508 -0
- package/dist/chunk-3DANZDGR.js +717 -0
- package/dist/chunk-4UQA7NCT.js +29 -0
- package/dist/chunk-527KG6XR.js +497 -0
- package/dist/chunk-5LDRNKX2.js +1063 -0
- package/dist/chunk-5N2FG33Q.js +25 -0
- package/dist/chunk-67MTHP2E.js +135 -0
- package/dist/chunk-6CWDTGUC.js +20 -0
- package/dist/chunk-7BHLZB3A.js +2115 -0
- package/dist/chunk-7RBKDI66.js +348 -0
- package/dist/chunk-AMFR5YA3.js +541 -0
- package/dist/chunk-BBUH4VAA.js +1224 -0
- package/dist/chunk-BYEU76JP.js +899 -0
- package/dist/chunk-CLJ5HLUD.js +458 -0
- package/dist/chunk-D5YD55AR.js +116 -0
- package/dist/chunk-DXQNI4PC.js +61 -0
- package/dist/chunk-E3NYWENM.js +1004 -0
- package/dist/chunk-GNGDQYDU.js +34688 -0
- package/dist/chunk-GOTUR54M.js +9 -0
- package/dist/chunk-HBU5MTAM.js +41 -0
- package/dist/chunk-HMYNFFY4.js +28 -0
- package/dist/chunk-JPOWPFCU.js +1010 -0
- package/dist/chunk-JWHCJDCI.js +1215 -0
- package/dist/chunk-KBR4MZZR.js +41 -0
- package/dist/chunk-KKKPTZLM.js +93 -0
- package/dist/chunk-ME6DNWIU.js +66 -0
- package/dist/chunk-NI4DEJMC.js +88 -0
- package/dist/chunk-O4EJEDHO.js +659 -0
- package/dist/chunk-PIDUD6M2.js +31 -0
- package/dist/chunk-PS4PFJQP.js +29459 -0
- package/dist/chunk-QV47YRF4.js +48 -0
- package/dist/chunk-RQDWMVRB.js +279 -0
- package/dist/chunk-TFSSEXL6.js +136 -0
- package/dist/chunk-TKHQ4DGZ.js +8290 -0
- package/dist/chunk-TPOCL34A.js +2876 -0
- package/dist/chunk-UGYAX5YI.js +565 -0
- package/dist/chunk-UHTSULZS.js +461 -0
- package/dist/chunk-UU3R62TT.js +128 -0
- package/dist/chunk-UWIJNAOB.js +3906 -0
- package/dist/chunk-VOO7NYPP.js +914 -0
- package/dist/chunk-VPAWTYLY.js +117 -0
- package/dist/chunk-WD6AJM35.js +1216 -0
- package/dist/chunk-X3BR7HWV.js +115 -0
- package/dist/chunk-X3NE4WVW.js +120 -0
- package/dist/chunk-XNISANGE.js +1395 -0
- package/dist/chunk-XV4ZJ6ZM.js +3177 -0
- package/dist/cli/index.js +236 -0
- package/dist/clio-KIQ5SNDS.js +53 -0
- package/dist/components-JVHMUBEB.js +653 -0
- package/dist/config-ZFCDBMDC.js +372 -0
- package/dist/configure-G4E3A2PG.js +27 -0
- package/dist/context-CDXTP2MP.js +293 -0
- package/dist/context-E3KIFVXI.js +185 -0
- package/dist/context-clear-3F4PLXOS.js +102 -0
- package/dist/context-index-Q7YSYTR3.js +106 -0
- package/dist/docs-YIETIWZI.js +280 -0
- package/dist/doctor-M5HJJZOL.js +61 -0
- package/dist/domains/agents/builtins/architect.md +33 -0
- package/dist/domains/agents/builtins/coder.md +31 -0
- package/dist/domains/agents/builtins/context-bootstrap.md +38 -0
- package/dist/domains/agents/builtins/debugger.md +30 -0
- package/dist/domains/agents/builtins/documenter.md +31 -0
- package/dist/domains/agents/builtins/git-master.md +30 -0
- package/dist/domains/agents/builtins/provenance.md +30 -0
- package/dist/domains/agents/builtins/researcher.md +71 -0
- package/dist/domains/agents/builtins/scout.md +42 -0
- package/dist/domains/agents/builtins/tester.md +31 -0
- package/dist/domains/agents/builtins/verifier.md +30 -0
- package/dist/domains/agents/builtins/wiki-writer.md +41 -0
- package/dist/eval-B3KZZESM.js +2674 -0
- package/dist/evidence-V67CHM35.js +233 -0
- package/dist/evolve-YDZSUQYA.js +518 -0
- package/dist/extensions-SRG7XCAH.js +207 -0
- package/dist/fleet-CA2CRTVG.js +760 -0
- package/dist/fleet-preflight-CLIAX7YR.js +21 -0
- package/dist/init-2OZDJE2D.js +227 -0
- package/dist/memory-3PIQQAKX.js +207 -0
- package/dist/models-DY35XI7Y.js +237 -0
- package/dist/paths-5OMXW7Z4.js +57 -0
- package/dist/preload-KZVHET2B.js +11 -0
- package/dist/reset-PIFYNOS3.js +216 -0
- package/dist/run-3VSPP24F.js +735 -0
- package/dist/share-D36RQCXM.js +241 -0
- package/dist/skills-F2MRLELY.js +445 -0
- package/dist/skills-eval-E2ZTW4PL.js +932 -0
- package/dist/targets-DZMEZAH4.js +977 -0
- package/dist/trace-7NYCUI2J.js +250 -0
- package/dist/uninstall-AD3JWHBB.js +322 -0
- package/dist/upgrade-WYYBKGDY.js +301 -0
- package/dist/usage-ULIDAGFF.js +755 -0
- package/dist/version-ROZ6CZKH.js +16 -0
- package/dist/wiki-generate-PKFIX6OB.js +377 -0
- package/dist/worker/entry.js +1739 -0
- package/docs/README.md +93 -0
- package/docs/acp.md +120 -0
- package/docs/alcf-provider.md +72 -0
- package/docs/architecture.md +172 -0
- package/docs/artifact-versions.md +54 -0
- package/docs/built-in-agents.md +265 -0
- package/docs/capacity-and-scheduling.md +97 -0
- package/docs/commands-and-modes.md +554 -0
- package/docs/config-knobs-audit.md +115 -0
- package/docs/configuration-and-targets.md +812 -0
- package/docs/context-engine.md +236 -0
- package/docs/dispatch-architecture-rationale.md +126 -0
- package/docs/documentation-coverage.md +46 -0
- package/docs/documentation-guide.md +166 -0
- package/docs/environment-variables.md +105 -0
- package/docs/eval-runner.md +205 -0
- package/docs/evals-internal.md +298 -0
- package/docs/evidence-and-memory.md +243 -0
- package/docs/evolution.md +143 -0
- package/docs/exit-codes-and-output.md +74 -0
- package/docs/extensions-and-sharing.md +306 -0
- package/docs/fleet-demo-runbook.md +179 -0
- package/docs/fleet-dispatch.md +591 -0
- package/docs/glossary.md +75 -0
- package/docs/html/agents_blueprint.html +936 -0
- package/docs/html/alcf_blueprint.html +324 -0
- package/docs/html/architecture_blueprint.html +850 -0
- package/docs/html/commands_blueprint.html +794 -0
- package/docs/html/config_knobs_audit_blueprint.html +178 -0
- package/docs/html/configuration_blueprint.html +1080 -0
- package/docs/html/context_blueprint.html +603 -0
- package/docs/html/documentation_blueprint.html +832 -0
- package/docs/html/environment_blueprint.html +404 -0
- package/docs/html/eval_blueprint.html +743 -0
- package/docs/html/evals_internal_blueprint.html +190 -0
- package/docs/html/evolution_blueprint.html +674 -0
- package/docs/html/extensions_blueprint.html +2065 -0
- package/docs/html/fleet_dispatch_blueprint.html +286 -0
- package/docs/html/index.html +919 -0
- package/docs/html/lifecycle_blueprint.html +723 -0
- package/docs/html/memory_blueprint.html +699 -0
- package/docs/html/middleware_blueprint.html +664 -0
- package/docs/html/models_blueprint.html +2366 -0
- package/docs/html/observability_blueprint.html +683 -0
- package/docs/html/provider_adapter_blueprint.html +245 -0
- package/docs/html/safety_blueprint.html +1386 -0
- package/docs/html/shared.css +571 -0
- package/docs/html/shared.js +143 -0
- package/docs/html/skills_blueprint.html +671 -0
- package/docs/html/soak_blueprint.html +182 -0
- package/docs/html/tool_usage_blueprint.html +350 -0
- package/docs/html/tools_blueprint.html +2249 -0
- package/docs/html/trace_blueprint.html +235 -0
- package/docs/html/tui_design_blueprint.html +314 -0
- package/docs/html/validation_blueprint.html +961 -0
- package/docs/html/worker_dispatch_blueprint.html +231 -0
- package/docs/installation-and-lifecycle.md +308 -0
- package/docs/middleware-and-components.md +148 -0
- package/docs/model-catalog.md +189 -0
- package/docs/observability.md +233 -0
- package/docs/proactive-memory.md +452 -0
- package/docs/prompt-envelope-and-tools.md +142 -0
- package/docs/provider-adapter-cookbook.md +148 -0
- package/docs/release-cut-checklist.md +138 -0
- package/docs/safety-model.md +357 -0
- package/docs/scientific-validation.md +105 -0
- package/docs/session-lifecycle.md +156 -0
- package/docs/skills-marketplace.md +46 -0
- package/docs/tool-usage.md +527 -0
- package/docs/trace-store.md +132 -0
- package/docs/troubleshooting.md +33 -0
- package/docs/tui-design.md +239 -0
- package/docs/worker-dispatch-mechanics.md +242 -0
- package/package.json +132 -0
- package/skills/README.md +408 -0
- package/skills/git/commit-crafting/SKILL.md +79 -0
- package/skills/git/commit-crafting/evals.md +92 -0
- package/skills/git/create-pr/SKILL.md +116 -0
- package/skills/git/create-pr/evals.md +114 -0
- package/skills/git/investigate-issue/SKILL.md +139 -0
- package/skills/git/investigate-issue/evals.md +94 -0
- package/skills/git/resolve-merge-conflicts/SKILL.md +96 -0
- package/skills/git/resolve-merge-conflicts/evals.md +58 -0
- package/skills/git/review-changes/SKILL.md +103 -0
- package/skills/git/review-changes/evals.md +85 -0
- package/skills/git/worktree-create/SKILL.md +92 -0
- package/skills/git/worktree-create/evals.md +97 -0
- package/skills/git/worktree-create/references/worktree-setup.md +66 -0
- package/skills/git/worktree-merge/SKILL.md +95 -0
- package/skills/git/worktree-merge/evals.md +114 -0
- package/skills/skill-marketplace.json +261 -0
- package/skills/workflow/cut-it/SKILL.md +86 -0
- package/skills/workflow/cut-it/evals.md +42 -0
- package/src/domains/agents/builtins/architect.md +33 -0
- package/src/domains/agents/builtins/coder.md +31 -0
- package/src/domains/agents/builtins/context-bootstrap.md +38 -0
- package/src/domains/agents/builtins/debugger.md +30 -0
- package/src/domains/agents/builtins/documenter.md +31 -0
- package/src/domains/agents/builtins/git-master.md +30 -0
- package/src/domains/agents/builtins/provenance.md +30 -0
- package/src/domains/agents/builtins/researcher.md +71 -0
- package/src/domains/agents/builtins/scout.md +42 -0
- package/src/domains/agents/builtins/tester.md +31 -0
- package/src/domains/agents/builtins/verifier.md +30 -0
- package/src/domains/agents/builtins/wiki-writer.md +41 -0
- package/src/domains/agents/fleets/build-review.md +34 -0
- package/src/domains/agents/fleets/build-test.md +35 -0
- package/src/domains/agents/fleets/sdlc.md +86 -0
- package/src/domains/prompts/fragments/identity/clio-worker.md +11 -0
- package/src/domains/prompts/fragments/identity/clio.md +26 -0
- package/src/domains/prompts/fragments/operating/contract.md +64 -0
- package/src/domains/prompts/fragments/safety/auto-edit.md +14 -0
- package/src/domains/prompts/fragments/safety/full-auto.md +14 -0
- package/src/domains/prompts/fragments/safety/read-only.md +13 -0
- package/src/domains/prompts/fragments/safety/suggest.md +13 -0
- package/src/domains/prompts/fragments/wiki/page.md +75 -0
- package/src/domains/prompts/fragments/wiki/plan.md +48 -0
- package/src/domains/providers/models/cloud-models/alcf.yaml +40 -0
- package/src/domains/providers/models/local-models/clio-local-coding-targets.yaml +993 -0
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>Fleet Dispatch Architecture & Mechanics (v0.3.0)</title>
|
|
7
|
+
<link rel="stylesheet" href="shared.css">
|
|
8
|
+
<style>
|
|
9
|
+
.fleet-grid {
|
|
10
|
+
display: grid;
|
|
11
|
+
grid-template-columns: 1fr 1fr;
|
|
12
|
+
gap: 1.5rem;
|
|
13
|
+
}
|
|
14
|
+
@media (max-width: 900px) {
|
|
15
|
+
.fleet-grid { grid-template-columns: 1fr; }
|
|
16
|
+
}
|
|
17
|
+
.node-card {
|
|
18
|
+
background: var(--bg-card);
|
|
19
|
+
border: 1px solid var(--border-card);
|
|
20
|
+
border-radius: 12px;
|
|
21
|
+
padding: 1.25rem;
|
|
22
|
+
position: relative;
|
|
23
|
+
}
|
|
24
|
+
.node-status {
|
|
25
|
+
display: inline-block;
|
|
26
|
+
width: 10px;
|
|
27
|
+
height: 10px;
|
|
28
|
+
border-radius: 50%;
|
|
29
|
+
margin-right: 0.5rem;
|
|
30
|
+
}
|
|
31
|
+
.status-healthy { background: var(--color-emerald); box-shadow: 0 0 8px var(--color-emerald); }
|
|
32
|
+
.status-warning { background: var(--color-amber); box-shadow: 0 0 8px var(--color-amber); }
|
|
33
|
+
.status-error { background: var(--color-rose); box-shadow: 0 0 8px var(--color-rose); }
|
|
34
|
+
|
|
35
|
+
.terminal-window {
|
|
36
|
+
background: #050811;
|
|
37
|
+
border: 1px solid var(--border-card);
|
|
38
|
+
border-radius: 8px;
|
|
39
|
+
padding: 1rem;
|
|
40
|
+
font-family: var(--font-mono);
|
|
41
|
+
font-size: 0.85rem;
|
|
42
|
+
color: #cbd5e1;
|
|
43
|
+
line-height: 1.5;
|
|
44
|
+
overflow-x: auto;
|
|
45
|
+
}
|
|
46
|
+
.term-line { margin-bottom: 0.35rem; }
|
|
47
|
+
.term-prompt { color: var(--color-cyan); font-weight: 700; }
|
|
48
|
+
.term-out { color: var(--text-muted); }
|
|
49
|
+
.term-success { color: var(--color-emerald); }
|
|
50
|
+
.term-warn { color: var(--color-amber); }
|
|
51
|
+
.term-err { color: var(--color-rose); }
|
|
52
|
+
|
|
53
|
+
.interactive-panel {
|
|
54
|
+
background: rgba(13, 20, 38, 0.6);
|
|
55
|
+
border: 1px solid var(--border-card);
|
|
56
|
+
border-radius: 12px;
|
|
57
|
+
padding: 1.5rem;
|
|
58
|
+
margin-top: 1.5rem;
|
|
59
|
+
}
|
|
60
|
+
.control-row {
|
|
61
|
+
display: flex;
|
|
62
|
+
gap: 1rem;
|
|
63
|
+
align-items: center;
|
|
64
|
+
flex-wrap: wrap;
|
|
65
|
+
margin-bottom: 1rem;
|
|
66
|
+
}
|
|
67
|
+
.badge-v030 {
|
|
68
|
+
background: rgba(255, 126, 41, 0.15);
|
|
69
|
+
border: 1px solid var(--color-orange);
|
|
70
|
+
color: var(--color-orange);
|
|
71
|
+
font-size: 0.75rem;
|
|
72
|
+
padding: 0.2rem 0.6rem;
|
|
73
|
+
border-radius: 4px;
|
|
74
|
+
font-weight: 700;
|
|
75
|
+
}
|
|
76
|
+
</style>
|
|
77
|
+
</head>
|
|
78
|
+
<body>
|
|
79
|
+
<div class="container">
|
|
80
|
+
<header>
|
|
81
|
+
<div class="header-left">
|
|
82
|
+
<div class="header-logo">
|
|
83
|
+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="color: var(--color-orange);"><title>Fleet Dispatch</title>
|
|
84
|
+
<path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path>
|
|
85
|
+
<circle cx="9" cy="7" r="4"></circle>
|
|
86
|
+
<path d="M23 21v-2a4 4 0 0 0-3-3.87"></path>
|
|
87
|
+
<path d="M16 3.13a4 4 0 0 1 0 7.75"></path>
|
|
88
|
+
</svg>
|
|
89
|
+
</div>
|
|
90
|
+
<div class="header-title-wrapper">
|
|
91
|
+
<h1>Fleet Dispatch Mechanics & Bounded Reconnaissance</h1>
|
|
92
|
+
<p>Process-safe multi-node execution, attested workers, measured routing, strict receipts, and bounded agent automation</p>
|
|
93
|
+
<div class="meta-chips-row">
|
|
94
|
+
<span class="chip">Source: docs/fleet-dispatch.md</span>
|
|
95
|
+
<span class="chip chip-orange">clio-coder docs fleet</span>
|
|
96
|
+
<span class="badge-v030">v0.3.0 Architecture</span>
|
|
97
|
+
</div>
|
|
98
|
+
</div>
|
|
99
|
+
</div>
|
|
100
|
+
<div class="header-right">
|
|
101
|
+
<span class="version-badge">Clio Coder v0.3.0</span>
|
|
102
|
+
<a href="index.html" class="back-btn">
|
|
103
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><title>Back</title><line x1="19" y1="12" x2="5" y2="12"></line><polyline points="12 19 5 12 12 5"></polyline></svg>
|
|
104
|
+
Dashboard Hub
|
|
105
|
+
</a>
|
|
106
|
+
</div>
|
|
107
|
+
</header>
|
|
108
|
+
|
|
109
|
+
<div class="page-layout-grid">
|
|
110
|
+
<nav class="sidebar" aria-label="Table of Contents">
|
|
111
|
+
<div class="toc-container">
|
|
112
|
+
<div class="toc-title">On This Page</div>
|
|
113
|
+
<ul class="toc-list">
|
|
114
|
+
<!-- Populated dynamically by shared.js -->
|
|
115
|
+
</ul>
|
|
116
|
+
</div>
|
|
117
|
+
</nav>
|
|
118
|
+
|
|
119
|
+
<main>
|
|
120
|
+
<!-- Architecture Overview Card -->
|
|
121
|
+
<div class="glass-card">
|
|
122
|
+
<h2>Fleet Dispatch v0.3.0 Overview</h2>
|
|
123
|
+
<p>Clio's Fleet Dispatch orchestrates bounded agents across local processes and remote HPC nodes via SSH transport. In v0.3.0, dispatch includes process-safe capacity leases, WorkerSpec v3 attestation, ExecutionPlan v2 DAGs, Contract v4 per-step write boundaries (detect-and-rollback), bounded check/repair loops, deterministic code steps, strict receipt integrity v15, measured shadow routing, readiness-gated active routing, transactional editing attempts, and bounded agent automation.</p>
|
|
124
|
+
</div>
|
|
125
|
+
|
|
126
|
+
<!-- Interactive Tabs Navigation -->
|
|
127
|
+
<div class="tabs-nav">
|
|
128
|
+
<button type="button" class="tab-btn active" onclick="switchTab('topology')">
|
|
129
|
+
Fleet Topology & Placement
|
|
130
|
+
</button>
|
|
131
|
+
<button type="button" class="tab-btn" onclick="switchTab('scout')">
|
|
132
|
+
Scout Exploration & Budget
|
|
133
|
+
</button>
|
|
134
|
+
<button type="button" class="tab-btn" onclick="switchTab('receipts')">
|
|
135
|
+
Integrity-Sealed Receipts
|
|
136
|
+
</button>
|
|
137
|
+
<button type="button" class="tab-btn" onclick="switchTab('failover')">
|
|
138
|
+
Failure Taxonomy & Failover
|
|
139
|
+
</button>
|
|
140
|
+
</div>
|
|
141
|
+
|
|
142
|
+
<!-- Tab 1: Topology -->
|
|
143
|
+
<div class="tab-pane active" id="pane-topology">
|
|
144
|
+
<div class="interactive-panel">
|
|
145
|
+
<h3>Fleet Node Config & Preflight Validator</h3>
|
|
146
|
+
<p>Simulate the placement inputs checked by <code>clio-coder doctor</code> across configured cluster nodes:</p>
|
|
147
|
+
<div class="control-row">
|
|
148
|
+
<label for="placementSelect" style="font-weight: 600;">Placement Mode:</label>
|
|
149
|
+
<select id="placementSelect" onchange="runTopologySim()" style="background: #090d16; color: #fff; padding: 0.4rem 0.8rem; border-radius: 6px; border: 1px solid var(--border-card);">
|
|
150
|
+
<option value="automatic">Automatic: least-loaded eligible remote</option>
|
|
151
|
+
<option value="pinned">Pinned: profile or request node</option>
|
|
152
|
+
<option value="local">Local fallback</option>
|
|
153
|
+
</select>
|
|
154
|
+
<button type="button" class="tab-btn active" onclick="runTopologySim()">Run Preflight Simulation</button>
|
|
155
|
+
</div>
|
|
156
|
+
|
|
157
|
+
<div class="fleet-grid" id="nodeGrid">
|
|
158
|
+
<!-- Dynamically populated -->
|
|
159
|
+
</div>
|
|
160
|
+
</div>
|
|
161
|
+
</div>
|
|
162
|
+
|
|
163
|
+
<!-- Tab 2: Scout Exploration -->
|
|
164
|
+
<div class="tab-pane" id="pane-scout">
|
|
165
|
+
<div class="interactive-panel">
|
|
166
|
+
<h3>Advisory Scout Reconnaissance & Bounded Synthesis</h3>
|
|
167
|
+
<p>The operating contract steers explicit broad repository exploration to the read-only Scout recipe. After nine or more manual read-only exploration calls without a successful Scout dispatch, middleware emits a continuation nudge; direct reads remain allowed.</p>
|
|
168
|
+
<div class="terminal-window" id="scoutTerminal">
|
|
169
|
+
<div class="term-line"><span class="term-prompt">orchestrator$</span> clio-coder dispatch --query "explore repository architecture and dependencies"</div>
|
|
170
|
+
<div class="term-line term-out">[dispatch] evaluating task profile: broad reconnaissance query detected.</div>
|
|
171
|
+
<div class="term-line term-out">[dispatch] broad exploration is advisory-routed to the read-only Scout recipe.</div>
|
|
172
|
+
<div class="term-line term-out">[middleware] 9+ manual read-only calls without Scout: continuation nudge emitted.</div>
|
|
173
|
+
<div class="term-line term-success">[scout-1] launched on node-login-01 (SSH). Exploration budget: 18 calls; read reserve: 4.</div>
|
|
174
|
+
<div class="term-line term-success">[scout-1] synthesis phase: text-only handoff with live path:line citations.</div>
|
|
175
|
+
</div>
|
|
176
|
+
</div>
|
|
177
|
+
</div>
|
|
178
|
+
|
|
179
|
+
<!-- Tab 3: Receipts -->
|
|
180
|
+
<div class="tab-pane" id="pane-receipts">
|
|
181
|
+
<div class="interactive-panel">
|
|
182
|
+
<h3>Integrity-Sealed Receipt Verification</h3>
|
|
183
|
+
<p>Model-facing dispatch and monitor output separates the sealed receipt digest from validation evidence and worker prose.</p>
|
|
184
|
+
<div class="terminal-window">
|
|
185
|
+
<div class="term-line"><span class="term-prompt">receipt-verifier$</span> checking worker dispatch receipt #rcpt-89201</div>
|
|
186
|
+
<div class="term-line term-out">Worker claim: "Edited 3 files and ran pytest successfully"</div>
|
|
187
|
+
<div class="term-line term-success">receipt_integrity=verified/v15/sha256</div>
|
|
188
|
+
<div class="term-line term-success">evidence_verification=verified/validation-tool</div>
|
|
189
|
+
<div class="term-line term-success">Run tokens: 12,410 | Cost: ~$0.04 est</div>
|
|
190
|
+
<div class="term-line term-prompt">worker output (tool-verified):</div>
|
|
191
|
+
</div>
|
|
192
|
+
</div>
|
|
193
|
+
</div>
|
|
194
|
+
|
|
195
|
+
<!-- Tab 4: Failover -->
|
|
196
|
+
<div class="tab-pane" id="pane-failover">
|
|
197
|
+
<div class="interactive-panel">
|
|
198
|
+
<h3>Typed Failure Taxonomy & Failover Attribution</h3>
|
|
199
|
+
<p>When worker dispatches fail, the coordinator classifies termination evidence and applies assignment-aware retry policy without corrupting session state. Target cooldowns and node offline state are separate mechanisms; there is no generic circuit-breaker state in the public fleet registry.</p>
|
|
200
|
+
<p>Representative policy rows are shown below; the complete 13-class matrix is documented in <a href="../worker-dispatch-mechanics.md">Worker Dispatch Mechanics</a>.</p>
|
|
201
|
+
<table style="width: 100%; border-collapse: collapse; margin-top: 1rem; font-size: 0.9rem;">
|
|
202
|
+
<thead>
|
|
203
|
+
<tr style="border-bottom: 1px solid var(--border-card); text-align: left;">
|
|
204
|
+
<th style="padding: 0.5rem;">Failure Class</th>
|
|
205
|
+
<th style="padding: 0.5rem;">Trigger Cause</th>
|
|
206
|
+
<th style="padding: 0.5rem;">Failover Action</th>
|
|
207
|
+
<th style="padding: 0.5rem;">Retry / Node State</th>
|
|
208
|
+
</tr>
|
|
209
|
+
</thead>
|
|
210
|
+
<tbody>
|
|
211
|
+
<tr style="border-bottom: 1px solid rgba(255,255,255,0.05);">
|
|
212
|
+
<td style="padding: 0.5rem; color: var(--color-rose);">node-channel</td>
|
|
213
|
+
<td style="padding: 0.5rem;">Heartbeat dead/stalled, spawn failure, or SSH exit 255</td>
|
|
214
|
+
<td style="padding: 0.5rem;">Retry with `node` excluded</td>
|
|
215
|
+
<td style="padding: 0.5rem; color: var(--color-amber);">Offline after 2 consecutive channel failures</td>
|
|
216
|
+
</tr>
|
|
217
|
+
<tr style="border-bottom: 1px solid rgba(255,255,255,0.05);">
|
|
218
|
+
<td style="padding: 0.5rem; color: var(--color-rose);">target-rate-limit</td>
|
|
219
|
+
<td style="padding: 0.5rem;">HTTP 429 or rate-limit diagnostic</td>
|
|
220
|
+
<td style="padding: 0.5rem;">Retry with `target` excluded after 1s minimum</td>
|
|
221
|
+
<td style="padding: 0.5rem; color: var(--color-amber);">Target cooldown (default 15s; configurable)</td>
|
|
222
|
+
</tr>
|
|
223
|
+
<tr style="border-bottom: 1px solid rgba(255,255,255,0.05);">
|
|
224
|
+
<td style="padding: 0.5rem; color: var(--color-rose);">deterministic-task</td>
|
|
225
|
+
<td style="padding: 0.5rem;">Typed terminal outcome code</td>
|
|
226
|
+
<td style="padding: 0.5rem;">No retry; preserve the attempt receipt</td>
|
|
227
|
+
<td style="padding: 0.5rem; color: var(--color-emerald);">No breaker action</td>
|
|
228
|
+
</tr>
|
|
229
|
+
</tbody>
|
|
230
|
+
</table>
|
|
231
|
+
</div>
|
|
232
|
+
</div>
|
|
233
|
+
|
|
234
|
+
</main>
|
|
235
|
+
</div>
|
|
236
|
+
|
|
237
|
+
<footer>
|
|
238
|
+
<p>Clio Coder Fleet Dispatch Mechanics • Version 0.3.0</p>
|
|
239
|
+
<p>IOWarp / Gnosis Research Center • iowarp.ai</p>
|
|
240
|
+
</footer>
|
|
241
|
+
</div>
|
|
242
|
+
|
|
243
|
+
<script src="shared.js"></script>
|
|
244
|
+
<script>
|
|
245
|
+
function switchTab(tabId) {
|
|
246
|
+
document.querySelectorAll('.tab-btn').forEach(btn => btn.classList.remove('active'));
|
|
247
|
+
document.querySelectorAll('.tab-pane').forEach(pane => pane.classList.remove('active'));
|
|
248
|
+
|
|
249
|
+
const activeBtn = Array.from(document.querySelectorAll('.tab-btn')).find(b => b.getAttribute('onclick').includes(tabId));
|
|
250
|
+
if (activeBtn) activeBtn.classList.add('active');
|
|
251
|
+
|
|
252
|
+
const activePane = document.getElementById('pane-' + tabId);
|
|
253
|
+
if (activePane) activePane.classList.add('active');
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
function runTopologySim() {
|
|
257
|
+
const grid = document.getElementById('nodeGrid');
|
|
258
|
+
const strategy = document.getElementById('placementSelect').value;
|
|
259
|
+
const route = strategy === 'local'
|
|
260
|
+
? 'local (explicit fallback)'
|
|
261
|
+
: strategy === 'pinned'
|
|
262
|
+
? 'remote-login-01 (profile/request pin)'
|
|
263
|
+
: 'remote-login-01 (least-loaded eligible remote)';
|
|
264
|
+
grid.innerHTML = `
|
|
265
|
+
<div class="node-card">
|
|
266
|
+
<h4><span class="node-status status-healthy"></span> Selected route: ${route}</h4>
|
|
267
|
+
<p style="font-size: 0.85rem; color: var(--text-muted); margin-top: 0.4rem;">
|
|
268
|
+
${strategy === 'local' ? 'Transport: Local Process | Capacity: global gate' : 'Transport: ssh -T user@hpc-cluster | Active Runs: 1/2'}<br>
|
|
269
|
+
${strategy === 'local' ? 'Preflight: implicit local node' : 'Doctor preflight: PASS'} | Node state: online
|
|
270
|
+
</p>
|
|
271
|
+
</div>
|
|
272
|
+
<div class="node-card">
|
|
273
|
+
<h4><span class="node-status status-warning"></span> Placement rules</h4>
|
|
274
|
+
<p style="font-size: 0.85rem; color: var(--text-muted); margin-top: 0.4rem;">
|
|
275
|
+
Explicit pins fail closed when unavailable. Unpinned placement prefers lower durable lease usage and then declaration order; the cross-process lease store remains the final capacity authority.
|
|
276
|
+
</p>
|
|
277
|
+
</div>
|
|
278
|
+
`;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
document.addEventListener('DOMContentLoaded', () => {
|
|
282
|
+
runTopologySim();
|
|
283
|
+
});
|
|
284
|
+
</script>
|
|
285
|
+
</body>
|
|
286
|
+
</html>
|