<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Hyperprior Institute</title>
<subtitle>A lab that builds labs that builds labs.</subtitle>
<id>https://hyperprior.institute/</id>
<link href="https://hyperprior.institute/"/>
<link rel="self" href="https://hyperprior.institute/feed.xml"/>
<author><name>hyperprior</name></author>
<updated>2026-10-14T00:00:00Z</updated>
<entry>
<title>Teaching the lab to learn</title>
<id>https://hyperprior.institute/labs/machinery/2026-10-14-teaching-the-lab-to-learn/</id>
<link href="https://hyperprior.institute/labs/machinery/2026-10-14-teaching-the-lab-to-learn/"/>
<updated>2026-10-14T00:00:00Z</updated>
<category term="machinery"/>
<content type="html">&lt;p&gt;A lab that builds labs should also get better at building them. As of today the
institute has a self-learning loop in three parts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Remember.&lt;/strong&gt; Corrections and preferences are saved to the agent's memory the
moment they happen, so the next session starts out knowing them.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Improve.&lt;/strong&gt; A &lt;code&gt;retro&lt;/code&gt; skill reviews each substantial session for corrections,
friction and steps repeated by hand, and turns them into better rules, skills
or &lt;code&gt;hp&lt;/code&gt; commands. Small fixes get applied. Bigger ones get proposed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Heal.&lt;/strong&gt; When a documented step breaks, the fix goes into the doc or tool that
caused it, not into a one-off workaround.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The loop shouldn't depend on anyone remembering to run it, so a small hook taps
the agent on the shoulder once per session after enough work has happened. It's
written in shell rather than Rust because it has to keep working while &lt;code&gt;hp&lt;/code&gt; itself
is mid-surgery.&lt;/p&gt;
&lt;p&gt;Plans now go through lavish first, as annotatable pages, before anything gets built.&lt;/p&gt;
</content>
</entry>
<entry>
<title>Founding the institute</title>
<id>https://hyperprior.institute/labs/machinery/2026-10-14-founding/</id>
<link href="https://hyperprior.institute/labs/machinery/2026-10-14-founding/"/>
<updated>2026-10-14T00:00:00Z</updated>
<category term="machinery"/>
<content type="html">&lt;p&gt;The Hyperprior Institute opens today with one scientist, hyperprior, and one lab:
this one, the machinery.&lt;/p&gt;
&lt;h2&gt;Why &quot;hyperprior&quot;&lt;/h2&gt;
&lt;p&gt;In a hierarchical model, each group gets its own parameters, and those parameters
share a prior whose own parameters get a prior too:&lt;/p&gt;
&lt;p&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot; display=&quot;block&quot;&gt;&lt;mi&gt;ϕ&lt;/mi&gt;&lt;mo&gt;∼&lt;/mo&gt;&lt;mi&gt;p&lt;/mi&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mi&gt;ϕ&lt;/mi&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mspace width=&quot;2em&quot;/&gt;&lt;msub&gt;&lt;mi&gt;θ&lt;/mi&gt;&lt;mi&gt;j&lt;/mi&gt;&lt;/msub&gt;&lt;mo&gt;∣&lt;/mo&gt;&lt;mi&gt;ϕ&lt;/mi&gt;&lt;mo&gt;∼&lt;/mo&gt;&lt;mi&gt;p&lt;/mi&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mi&gt;θ&lt;/mi&gt;&lt;mo&gt;∣&lt;/mo&gt;&lt;mi&gt;ϕ&lt;/mi&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mspace width=&quot;2em&quot;/&gt;&lt;msub&gt;&lt;mi&gt;y&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;j&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo&gt;∣&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;θ&lt;/mi&gt;&lt;mi&gt;j&lt;/mi&gt;&lt;/msub&gt;&lt;mo&gt;∼&lt;/mo&gt;&lt;mi&gt;p&lt;/mi&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mi&gt;y&lt;/mi&gt;&lt;mo&gt;∣&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;θ&lt;/mi&gt;&lt;mi&gt;j&lt;/mi&gt;&lt;/msub&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/math&gt;&lt;/p&gt;
&lt;p&gt;The institute is meant to work the same way. The institute is &lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot; display=&quot;inline&quot;&gt;&lt;mi&gt;ϕ&lt;/mi&gt;&lt;/math&gt;: shared tools,
conventions and taste. Each lab is a &lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot; display=&quot;inline&quot;&gt;&lt;msub&gt;&lt;mi&gt;θ&lt;/mi&gt;&lt;mi&gt;j&lt;/mi&gt;&lt;/msub&gt;&lt;/math&gt;, its own line of curiosity. The
experiments are the &lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot; display=&quot;inline&quot;&gt;&lt;msub&gt;&lt;mi&gt;y&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;j&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;/math&gt;. Pooling runs both ways. The shared level makes each
lab cheaper to start, and what the labs learn flows back up into the shared level.&lt;/p&gt;
&lt;h2&gt;How ideas move&lt;/h2&gt;
&lt;p&gt;Ideas start as &lt;strong&gt;sparks&lt;/strong&gt;, a line in a list with no obligation attached. When one
gets code it becomes a &lt;strong&gt;sketch&lt;/strong&gt;. A sketch that survives a few weekends becomes a
&lt;strong&gt;lab&lt;/strong&gt;. When a lab's code shows up in three places it gets extracted, and if it's
good enough it leaves home as a &lt;strong&gt;library&lt;/strong&gt; in its own repo. Anything can be
&lt;strong&gt;buried&lt;/strong&gt; along the way, with a write-up. A decent burial counts as a result.&lt;/p&gt;
&lt;p&gt;Promotion happens by extraction, never by planning. Nothing becomes machinery
because it &lt;em&gt;might&lt;/em&gt; be useful.&lt;/p&gt;
&lt;h2&gt;What the machinery is&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;hp&lt;/code&gt; is a small Rust CLI that lives in this lab. It records sparks, scaffolds
sketches, moves projects through the lifecycle, and renders this site straight
from the repo: markdown logs, math as native MathML, a lineage tree drawn from
each project's &lt;code&gt;parent&lt;/code&gt;, and an Atom feed. No framework and no JavaScript.&lt;/p&gt;
&lt;p&gt;It is deliberately small. It grows only when a real experiment needs it to.&lt;/p&gt;
</content>
</entry>
</feed>
