219 lines
12 KiB
HTML
219 lines
12 KiB
HTML
<!doctype html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||
<title>IF.emotion Evidence Trace — 016cca78-6f9d-4ffe-aec0-99792d383ca1</title>
|
||
<style>
|
||
:root {
|
||
--bg: #fffdf7;
|
||
--panel: #ffffff;
|
||
--text: #1f2937;
|
||
--muted: #6b7280;
|
||
--border: #e5e7eb;
|
||
--code: #0b1020;
|
||
--link: #1d4ed8;
|
||
}
|
||
body {
|
||
margin: 0;
|
||
font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji",
|
||
"Segoe UI Emoji";
|
||
background: var(--bg);
|
||
color: var(--text);
|
||
line-height: 1.45;
|
||
}
|
||
header {
|
||
padding: 20px 18px 10px;
|
||
border-bottom: 1px solid var(--border);
|
||
background: #fff9e6;
|
||
}
|
||
header h1 {
|
||
margin: 0;
|
||
font-size: 18px;
|
||
font-weight: 700;
|
||
letter-spacing: 0.2px;
|
||
}
|
||
header .sub {
|
||
margin-top: 4px;
|
||
color: var(--muted);
|
||
font-size: 13px;
|
||
}
|
||
main {
|
||
max-width: 980px;
|
||
margin: 0 auto;
|
||
padding: 18px;
|
||
}
|
||
a {
|
||
color: var(--link);
|
||
text-decoration: none;
|
||
}
|
||
a:hover {
|
||
text-decoration: underline;
|
||
}
|
||
.card {
|
||
background: var(--panel);
|
||
border: 1px solid var(--border);
|
||
border-radius: 12px;
|
||
padding: 14px 14px;
|
||
margin: 12px 0;
|
||
box-shadow: 0 1px 0 rgba(0,0,0,0.02);
|
||
}
|
||
.meta {
|
||
display: grid;
|
||
grid-template-columns: 160px 1fr;
|
||
gap: 6px 12px;
|
||
font-size: 13px;
|
||
}
|
||
.meta .k {
|
||
color: var(--muted);
|
||
}
|
||
pre {
|
||
background: #0b1020;
|
||
color: #e5e7eb;
|
||
padding: 12px;
|
||
border-radius: 10px;
|
||
overflow: auto;
|
||
font-size: 12px;
|
||
line-height: 1.4;
|
||
}
|
||
code {
|
||
background: #f3f4f6;
|
||
padding: 2px 6px;
|
||
border-radius: 6px;
|
||
font-size: 12px;
|
||
}
|
||
table {
|
||
width: 100%;
|
||
border-collapse: collapse;
|
||
font-size: 13px;
|
||
}
|
||
th, td {
|
||
text-align: left;
|
||
border-bottom: 1px solid var(--border);
|
||
padding: 8px 6px;
|
||
vertical-align: top;
|
||
}
|
||
th {
|
||
color: var(--muted);
|
||
font-weight: 600;
|
||
}
|
||
.badge {
|
||
display: inline-block;
|
||
padding: 2px 8px;
|
||
border-radius: 999px;
|
||
border: 1px solid var(--border);
|
||
color: var(--muted);
|
||
font-size: 12px;
|
||
white-space: nowrap;
|
||
}
|
||
.warn {
|
||
border-color: #f59e0b;
|
||
color: #92400e;
|
||
background: #fff7ed;
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<header>
|
||
<h1>IF.emotion Evidence Trace — 016cca78-6f9d-4ffe-aec0-99792d383ca1</h1>
|
||
<div class="sub">Public, static evidence pages built from IF.emotion trace bundles (no auth; no live API calls).</div>
|
||
</header>
|
||
<main>
|
||
|
||
<div class="card">
|
||
<div class="meta">
|
||
<div class="k">Trace ID</div><div><code>016cca78-6f9d-4ffe-aec0-99792d383ca1</code> </div>
|
||
<div class="k">Timestamp (UTC)</div><div><code>2025-12-21T07:58:44Z</code></div>
|
||
<div class="k">Provider</div><div><code>codex</code></div>
|
||
<div class="k">Model</div><div><code>gpt-5.2</code></div>
|
||
<div class="k">Bundle</div><div><a href="https://infrafabric.io/static/hosted/emo_trace_payload_016cca78-6f9d-4ffe-aec0-99792d383ca1.tar.gz">emo_trace_payload_016cca78-6f9d-4ffe-aec0-99792d383ca1.tar.gz</a> (SHA256: <code>7101ff9c38fc759a66157f6a6ab9c0936af547d0ec77a51b5d05db07069966c8</code>)</div>
|
||
<div class="k">SHA sidecar</div><div><a href="https://infrafabric.io/static/hosted/emo_trace_payload_016cca78-6f9d-4ffe-aec0-99792d383ca1.tar.gz.sha256">emo_trace_payload_016cca78-6f9d-4ffe-aec0-99792d383ca1.tar.gz.sha256</a></div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="card">
|
||
<h2 style="margin:0 0 8px;font-size:15px;">Independent verification</h2>
|
||
<pre># Download the evidence bundle
|
||
curl -fsSL -o emo.tar.gz 'https://infrafabric.io/static/hosted/emo_trace_payload_016cca78-6f9d-4ffe-aec0-99792d383ca1.tar.gz'
|
||
|
||
# Verify transport integrity
|
||
sha256sum emo.tar.gz
|
||
# Expected: 7101ff9c38fc759a66157f6a6ab9c0936af547d0ec77a51b5d05db07069966c8
|
||
|
||
# Download verifier (single-file)
|
||
curl -fsSL -o iftrace.py 'https://infrafabric.io/static/hosted/iftrace.py'
|
||
python3 iftrace.py verify emo.tar.gz --expected-sha256 7101ff9c38fc759a66157f6a6ab9c0936af547d0ec77a51b5d05db07069966c8
|
||
</pre>
|
||
<div style="color:var(--muted);font-size:13px;">
|
||
These pages are static. Verification does not require logging into this server.
|
||
</div>
|
||
</div>
|
||
|
||
<div class="card">
|
||
<h2 style="margin:0 0 8px;font-size:15px;">User request (captured)</h2>
|
||
<pre>In English: Summarize what this system can and cannot prove about an LLM answer, in plain language, and include the Trace line. If you cite clinical context, include [Source: ...] tags.</pre>
|
||
<h2 style="margin:12px 0 8px;font-size:15px;">Model output (captured)</h2>
|
||
<pre>Look, wanting to know what the system can actually prove about an LLM answer is not weird at all. It’s the sane impulse: “Show me what’s real, not what sounds confident.” Good.
|
||
|
||
Here’s the blunt part. This system can usually prove what happened around the answer, not whether the answer is true in the outside world. It can show you the inputs the model received (your prompt, any provided context like that EMDR excerpt), the constraints it was given, and sometimes the intermediate artifacts of work (like which files it read, what commands it ran, what patches it applied) if those are captured by the tooling. That means it can verify process traces—“the model saw X and then did Y”—and it can verify provenance inside the sandbox—“this claim was quoted from that provided text,” or “this code change matches that diff.” But when the model says “this is the best explanation” or “this fact is correct,” the system can’t magically validate reality unless there’s a verifiable source in the captured context or an allowed tool call that checked it. If there’s no grounded evidence, you’re looking at a well-formed guess.
|
||
|
||
The problem isn’t that LLMs “lie.” The problem is that people treat fluent text like a lab result. A lab result is tethered to a measurement chain; an LLM answer is tethered to patterns plus whatever evidence you actually fed it. If the evidence isn’t in the trace, the truth isn’t either—only persuasion is.
|
||
|
||
Aspiradora metaphor: a vacuum doesn’t need fifty labels for dust. It needs one question: is there dirt in the canister, yes or no? Same here: is there a checkable anchor for each important claim—quoted context, logged tool output, reproducible computation—yes or no?
|
||
|
||
Trace: No tool calls executed; response based only on the user-provided prompt and context.
|
||
|
||
So let’s operationalize it. What specific behavior in the next 30 minutes: will you pick one key claim from an LLM answer and try to attach it to one concrete, checkable anchor (a quote, a log line, a test, a source), yes or no?
|
||
|
||
Trace: 016cca78-6f9d-4ffe-aec0-99792d383ca1
|
||
</pre>
|
||
</div>
|
||
|
||
<div class="card">
|
||
<h2 style="margin:0 0 8px;font-size:15px;">TTT child artifacts</h2>
|
||
<table><thead><tr><th>Artifact</th><th>SHA256</th><th>if:// citation</th><th>PQ status</th></tr></thead><tbody><tr><td><code>payload/headers.txt</code></td><td><code>3f564d34ed764bdc2e4ddc5be6305a9d1f1da942022e3fddd75d3793ea88659e</code></td><td><code>if://citation/b4f65707-c60d-4be0-9b3b-f32aaa764374/v1</code></td><td><span class="badge">hybrid-fips204</span></td></tr>
|
||
<tr><td><code>payload/response.json</code></td><td><code>e067dad36ab7b127d2751efc51ada8017fed96552ae9f8bc56731dc58b23ba64</code></td><td><code>if://citation/750f4fc0-1563-43d0-aec2-517134f2dd96/v1</code></td><td><span class="badge">hybrid-fips204</span></td></tr>
|
||
<tr><td><code>payload/trace_payload.json</code></td><td><code>a5deb8394222a3f6a5e84a7d0d94cb2fe0e4ead4f079f9e540c5a9234c96dc15</code></td><td><code>if://citation/fd5a3b76-9a9d-4b1a-8730-9f689427a284/v1</code></td><td><span class="badge">hybrid-fips204</span></td></tr>
|
||
<tr><td><code>payload/trace_events.jsonl</code></td><td><code>2ff8b3aba17a62085d11e07e38cb203b7cd4fe8b2d96caae3d93de6d06e975b7</code></td><td><code>if://citation/a10582c5-0a47-4aa8-a1f6-0cca66923c83/v1</code></td><td><span class="badge">hybrid-fips204</span></td></tr>
|
||
<tr><td><code>payload/ttt_signed_record.json</code></td><td><code>ad9d2694bf4b42ee1328724c969320102248facca146b08aa2c2c445c45dfc4d</code></td><td><code>if://citation/cf83cc91-3942-4efc-9cd6-be761b3beea3/v1</code></td><td><span class="badge">hybrid-fips204</span></td></tr>
|
||
<tr><td><code>payload/api_trace.json</code></td><td><code>89530ee36ecef2b0e9b71f424712079bec669de8e6daa1af143fc9b5214b16b5</code></td><td><code>if://citation/2b7976c0-73d1-45de-927f-946fb253c687/v1</code></td><td><span class="badge">hybrid-fips204</span></td></tr>
|
||
<tr><td><code>payload/api_events.json</code></td><td><code>52a0e337ae03307eae1e6e4a6ed45f9147a9b5ead6a2cbebaf4a58365ba4c0fe</code></td><td><code>if://citation/c7ee475c-dd30-4817-8f42-11a8b126e7fe/v1</code></td><td><span class="badge">hybrid-fips204</span></td></tr>
|
||
<tr><td><code>payload/api_payload.json</code></td><td><code>627616402d88f21859f891eb1be40e43e369ac5978024f44599ca22da37dc627</code></td><td><code>if://citation/347d2b38-42d2-4d8d-b765-896fbb9ecefa/v1</code></td><td><span class="badge">hybrid-fips204</span></td></tr>
|
||
<tr><td><code>payload/if_story.md</code></td><td><code>a2500ef324eda59f10faf8584a1cdd716a475dd6a8d220707c60ffb7c7f60d6c</code></td><td><code>if://citation/1a82802e-77fa-4e1c-a81f-943aa3516c39/v1</code></td><td><span class="badge">hybrid-fips204</span></td></tr>
|
||
<tr><td><code>payload/trace_ed25519.pub</code></td><td><code>72f2b5f2830b6e0f932c3071e9921ae083d6d76c69ce8720ea09e4473aee5e36</code></td><td><code>if://citation/f8ad7237-9c5f-4e00-ae2c-c67c93f4919c/v1</code></td><td><span class="badge">hybrid-fips204</span></td></tr>
|
||
<tr><td><code>payload/req_seen_20251221T07.jsonl</code></td><td><code>223ce26efebbcc099108c8e34b45fdd884d4053a0f47e1974a2ea119d96f58cd</code></td><td><code>if://citation/3be006e8-7367-4334-ba54-ed743a72f9c5/v1</code></td><td><span class="badge">hybrid-fips204</span></td></tr>
|
||
<tr><td><code>payload/req_seen_head_20251221T07.json</code></td><td><code>04af49ee02f0b8b6d8840e2334a3d8ed9687b2534e34718b7bc70688ec18eb34</code></td><td><code>if://citation/fc89a184-b8a1-4036-a9ad-a27d4460db10/v1</code></td><td><span class="badge">hybrid-fips204</span></td></tr>
|
||
<tr><td><code>payload/req_seen_inclusion_proof.json</code></td><td><code>32262feacc70bc0ca50deda83540fbb18d8b146af8f1935bf763bdec2fc51828</code></td><td><code>if://citation/fae61152-433c-4cdd-bbe0-4e197cb42a6f/v1</code></td><td><span class="badge">hybrid-fips204</span></td></tr></tbody></table>
|
||
</div>
|
||
|
||
<div class="card">
|
||
<h2 style="margin:0 0 8px;font-size:15px;">IF.STORY (human-readable narrative)</h2>
|
||
<div style="color:var(--muted);font-size:13px;margin-bottom:8px;">
|
||
IF.STORY is a projection/view; the tarball contains the raw JSONL/JSON artifacts for evidence-grade verification.
|
||
</div>
|
||
<pre># IF.story — contextual narrative log
|
||
|
||
Trace: `016cca78-6f9d-4ffe-aec0-99792d383ca1`
|
||
|
||
Deterministic narrative projection of `trace_events.jsonl`. Each line includes the `event_hash` anchor.
|
||
|
||
- 2025-12-21T07:58:32Z | `req_seen` | REQ_SEEN witnessed; hour=20251221T07 count=2 merkle_root=41aa7aebd66d3b1199b94d5c531111526744254dc8aad1f079e035a725c58aa2 | event_hash=09ce8a52ff9070ee00e0510365107a579d4b8be0f8beb4071aada966a51ed282
|
||
- 2025-12-21T07:58:32Z | `request_received` | Auth+quota succeeded; provider=codex model=gpt-5.2 stream=False user_len=185 auth_ms=3 | event_hash=f9f93f15b8278a4e6ef32e53d2ae02202cd15826ec9bfe90ce10e7bca7bd3b8d
|
||
- 2025-12-21T07:58:33Z | `retrieval_done` | Retrieval done; retrieved_count=1 rag_ms=1107 retrieval_event_id=c9b3ebf0-15bb-4c80-8c94-574ba5324954 | event_hash=7ec94771dcaed85c5ab6bbc0d69c14b78010bbac9c3d76fe1e1234e005cbbdb4
|
||
- 2025-12-21T07:58:33Z | `prompt_built` | Prompt built; prompt_sha256=9e4783b70020296fed1f938b12123413552b9c4150574b2d79b9740b440aef20 | event_hash=ec84acc6f4df6edd1ded939be588fc670dc786d8507826cc6f74096c1dbfab16
|
||
- 2025-12-21T07:58:44Z | `model_done` | Model done; provider=codex model=gpt-5.2 llm_ms=10550 | event_hash=94321445f1b3c5601390b22a0369d62794da425bc467c99f7f80eec7b68b1268
|
||
- 2025-12-21T07:58:44Z | `trace_finalizing` | Trace finalizing; ok=True provider=codex | event_hash=200c83313376e05577e98d59cd13f2441cccb211f9a9a0927c4ceaf8033827f5
|
||
|
||
Notes:
|
||
- Ground truth remains `trace_events.jsonl` + `ttt_signed_record.json`.
|
||
- REQ_SEEN ledger+head are included; public key is `trace_ed25519.pub`.
|
||
</pre>
|
||
</div>
|
||
|
||
<div class="card">
|
||
<a href="index.html">← Back to evidence index</a>
|
||
</div>
|
||
|
||
</main>
|
||
</body>
|
||
</html>
|