Files
time/ventures/context-priority/index.html
T

40 lines
12 KiB
HTML
Raw Normal View History

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="Pin the exchanges that matter. A local, deterministic context selector with a free CLI and synthetic browser demo.">
<title>Context Priority — KEEP THE IMPORTANT PART.</title>
<style>
:root{--paper:#f4f1e7;--ink:#171713;--acid:#d7ff00;--orange:#fa5a25}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,'Times New Roman',serif}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit;border:2px solid var(--ink);border-radius:0;color:var(--ink);background:var(--paper)}button{padding:12px 18px;cursor:pointer;font-family:monospace;font-weight:bold}button:disabled{opacity:.4;cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:4px solid var(--orange);outline-offset:3px}[hidden]{display:none!important}.mast{display:flex;justify-content:space-between;gap:20px;padding:18px 3vw;border-bottom:3px solid;font:700 14px monospace;letter-spacing:1px}.mast span:last-child{text-align:right}.hero{display:grid;grid-template-columns:1.6fr 1fr;border-bottom:3px solid}.hero-title{padding:35px 3vw 40px;border-right:3px solid;overflow:hidden}.stamp{display:inline-block;background:var(--ink);color:var(--paper);padding:8px 12px;transform:rotate(-2deg);font:700 13px monospace}h1{font-family:Impact,'Arial Narrow',sans-serif;font-weight:900;font-size:clamp(64px,8.6vw,145px);letter-spacing:-.045em;line-height:.91;text-transform:uppercase;margin:30px 0 20px}h1 .keep{background:var(--acid);display:inline-block;padding:0 5px}h1 .part{color:var(--orange)}.hero-copy{padding:36px 3vw;display:flex;flex-direction:column;justify-content:space-between;gap:25px;background:var(--acid)}.eyebrow{font:700 13px monospace;text-transform:uppercase;letter-spacing:1px}.hero-copy p{font-size:24px;line-height:1.3;margin:0}.primary{display:block;padding:20px;background:var(--ink);color:var(--paper);font:bold 19px monospace;text-decoration:none;box-shadow:6px 6px 0 var(--orange)}.micro{font:13px/1.5 monospace}.ticker{background:var(--ink);color:var(--paper);padding:15px 3vw;font:bold 14px monospace;line-height:1.6}.section{padding:42px 3vw;border-bottom:3px solid}h2{font:900 clamp(36px,5vw,72px)/1 Impact,'Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:-1px;margin:12px 0 24px}h3{font:700 22px monospace;margin:0 0 15px}.demo-head{display:flex;justify-content:space-between;align-items:end;gap:30px}.budget{font:700 14px monospace;min-width:210px}.budget input{display:block;width:100%;padding:10px;margin-top:8px}.demo{display:grid;grid-template-columns:1fr 1.1fr;border:3px solid}.controls{padding:20px;border-right:3px solid}.exchange{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:2px solid;padding:18px 0;font:14px/1.5 monospace}.exchange select{padding:8px;flex-shrink:0}#status{padding:15px;background:var(--acid);font:bold 14px/1.5 monospace;min-height:64px}pre{font:12px/1.65 monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}#packet{height:360px;overflow:auto;padding:20px;background:#fffdf6}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}details{margin-top:20px;border-top:2px solid;padding-top:15px}summary{font:700 14px monospace;cursor:pointer}details pre{margin-top:15px}.how{display:grid;grid-template-columns:1fr 1.2fr;gap:35px}.how p,.limits p{font-size:20px;line-height:1.5}.terminal{background:var(--ink);color:var(--acid);padding:22px;border:3px solid var(--ink)}.download{font:bold 16px monospace;display:inline-block;border-bottom:3px solid;margin-top:15px}.prices{display:grid;grid-template-columns:repeat(3,1fr);border:3px solid}.price{padding:24px;border-right:3px solid}.price:last-child{border-right:0}.amount{font:900 46px Impact,'Arial Narrow',sans-serif;margin:20px 0}.price p{font-size:18px;line-height:1.5}.price .micro{font-size:13px}.join{display:grid;grid-template-columns:1fr 1fr;gap:40px;background:var(--orange)}#join-form{display:grid;gap:18px}#join-form label{font:700 14px monospace}#join-form input,#join-form select,#join-form textarea{display:block;padding:13px;width:100%;margin-top:7px}#join-form button{background:var(--ink);color:var(--paper);font-size:18px}#thanks{padding:22px;background:v
</style>
<script defer src="engine.js"></script><script defer src="demo.js"></script>
</head>
<body>
<header class="mast"><span>CONTEXT PRIORITY / 001</span><span>A NOTPLANNED TOOL<br>LOCAL. DETERMINISTIC. YOUR CALL.</span></header>
<main>
<section class="hero">
<div class="hero-title"><span class="stamp">CONTEXT IS A FINITE RESOURCE.</span><h1><span class="keep">Keep</span> the<br>important<br><span class="part">part.</span></h1><div class="micro">PINNED → NORMAL → ASIDE<br>ONE ENGINE. NO MODEL CALLS.</div></div>
<div class="hero-copy"><div><div class="eyebrow">For people who work in long threads</div><p style="margin-top:20px">The constraint you wrote an hour ago should survive the tangent you wrote five minutes ago.</p><p style="margin-top:20px">Mark whole exchanges. Set a byte budget. Get a continuation packet you can inspect.</p></div><div><a class="primary" href="#join">GET EARLY ACCESS ↗</a><p class="micro" style="margin-top:18px">Free CLI available below. Paid plans are ideas, not a checkout.</p></div></div>
</section>
<div class="ticker">PINS STAY VERBATIM. TOOL PAIRS STAY TOGETHER. TOO SMALL A BUDGET? WE REFUSE THE EXPORT.</div>
<section class="section" id="demo"><div class="demo-head"><div><div class="eyebrow">01 / Try the actual selection engine</div><h2>Give the tangent<br>less room.</h2></div><label class="budget" for="budget">PACKET BUDGET / UTF-8 BYTES<input id="budget" type="number" min="0" step="50" value="1000"></label></div>
<p>Four synthetic exchanges. Change a priority and watch the packet change. Pin everything, then lower the budget to see a hard refusal. No transcript uploads.</p>
<div class="demo"><div class="controls"><h3>BEFORE / PRIORITIES</h3><div id="exchanges"></div><p class="micro">Oldest fitting exchange wins within each tier. Export restores chronology. This is a byte budget, not a model token count.</p><details><summary>Inspect untouched source JSONL</summary><pre id="source"></pre></details></div><div><div id="status" role="status" aria-live="polite">Loading synthetic demo…</div><pre id="packet" aria-label="Continuation packet"></pre></div></div>
<div class="actions"><button id="download" disabled>Download this packet ↓</button><button id="manifest-download" disabled>Download omission manifest ↓</button></div><details><summary>Inspect selection / omission manifest</summary><pre id="manifest"></pre></details><noscript><p>The interactive demo needs JavaScript. The free CLI below works offline.</p></noscript>
</section>
<section class="section"><div class="eyebrow">02 / Run it locally</div><h2>Your files. Your machine.</h2><div class="how"><div><p>No install scripts. No API key. Unzip the free bundle and use Node.js 20 or newer. Annotations live in a separate sidecar tied to the source SHA-256.</p><a class="download" href="context-priority.zip" download>DOWNLOAD FREE CLI (.zip) ↓</a><p class="micro">Includes source, sample, tests and README.<br>Verified on hb-5 macOS and Node 20 in Colima.</p></div><pre class="terminal"># From the extracted context-priority folder:
node cli.cjs annotate sample.jsonl priorities.json \
e001=pinned e003=aside
node cli.cjs export sample.jsonl priorities.json \
1000 ./out
# out/continuation.md + out/omissions.json
# Existing outputs require typing OVERWRITE.
# Run the checks:
node --test tests/*.test.cjs</pre></div></section>
<section class="section"><div class="eyebrow">03 / Founding plans — no checkout yet</div><h2>Start free. Tell us what’s next.</h2><div class="prices"><div class="price"><h3>LOCAL</h3><div class="amount">$0</div><p>The CLI, synthetic demo, sidecars and packet export. Available today.</p><div class="micro">NO ACCOUNT REQUIRED</div></div><div class="price"><h3>WORKBENCH</h3><div class="amount">$12 <small>/ mo</small></div><p>Proposed saved workflows and richer local import adapters.</p><div class="micro">FOUNDING PRICE IDEA · NOT BUILT</div></div><div class="price"><h3>TEAM</h3><div class="amount">$39 <small>/ mo</small></div><p>Proposed shared priority policies and reviewable packet history.</p><div class="micro">FOUNDING PRICE IDEA · NOT BUILT</div></div></div></section>
<section class="section join" id="join"><div><div class="eyebrow">04 / Join the early access list</div><h2>Help pick<br>the next<br>exchange.</h2><p>Choose the tier you’re interested in. No payment, no commitment.</p><p class="micro">We use your email for Context Priority launch updates and early access invitations.</p></div><div><div id="thanks" hidden>YOU’RE ON THE LIST.<br>Thanks. We’ll email when there’s something to try.</div><form id="join-form" method="post" action="/api/signup" enctype="application/x-www-form-urlencoded"><input type="hidden" name="venture" value="context-priority"><input type="hidden" name="website" value=""><label>Email<input type="email" name="email" required autocomplete="email" placeholder="you@example.com"></label><label>Interested tier<select name="plan"><option value="free">Local — free</option><option value="workbench">Workbench — $12/mo idea</option><option value="team">Team — $39/mo idea</option></select></label><label>What would make this useful? (optional)<textarea name="note" rows="3" maxlength="500"></textarea></label><button type="submit">JOIN EARLY ACCESS ↗</button></form></div></section>
<section class="section limits"><div class="eyebrow">05 / The fine print, in normal-sized type</div><h2>Selection. Not magic.</h2><p>This is a standalone offline selector, not live compaction and not an integration with Claude Code, Fly or Boring. It accepts ordered user/assistant/tool JSONL and message-wrapped user/assistant records; metadata rows, branching histories and incomplete exchanges are rejected. Normalize unsupported exports first. There is no tokenizer, summarizer, secret scrubber or semantic dependency analysis. Inspect the packet before sharing it.</p><p>Pinned payloads remain verbatim inside Markdown JSONL blocks. Unpinned exchanges can be omitted. The manifest tells you exactly which ones. A selected exchange keeps all its tool calls and results. Selection does not guarantee an assistant will obey the continuation.</p><p>The board’s upstream reference is <a href="https://github.com/anthropics/claude-code/issues/83489">anthropics/claude-code #83489: named model + effort presets</a>, closed as not planned. That issue asks for presets; this venture implements the board’s separate context-priority brief. It does not implement model presets and is not affiliated with Anthropic.</p></section>
</main><footer><span>CONTEXT PRIORITY / BUILT BY NOTPLANNED</span><span>PIN IT. INSPECT IT. CARRY IT FORWARD.</span></footer>
</body></html>