Lps
The site runs on loops, not one-off scripts. An inner loop keeps a surface fresh; the outer loop steps back and proposes what to change next. The agent runs the inner work; a human stays on the outer rail, approving every change. This page is the control panel: cadence, cost, and the stopping rule for each one.
running loops
shipping-log loop
runningDerives the shipping log from the public GitHub events API and records its own inference spend. Runs with or without an API key.
stopping rule quiet day posts "quiet day"; it never fabricates activity
Shipping log for the 7 days to 2026-07-31, derived from the public GitHub events API. 114 commits across 5 repos.
- elliottask: 30 commits. made public. "Update README.md" (08b1f69), "Update README.md" (cbb48c7), "Let the hover snapshot be reached and clicked" (4d526e3) and 27 more
- boulot-os: 30 commits. "The + opens a menu instead of unrolling into three of itself" (e4fd191), "One +, and it lives with the tabs" (169a896), "Outreach: the case where there is no job to apply for" (f9bd505) and 27 more
- impactlab: 29 commits. "Log decision 015: Week fragments are borderless (team call)" (da62a6e), "Week: newest fragments first, remove per-item borders" (6c6299a), "Week: newest-first, staggered drift-in, gradient CTA dissolving into a scrim" (048eae0) and 26 more
- elliot-os: 24 commits. "Say what the tutor refuses to do, and where crux came from" (a00f001), "Revert "Give the loop a fading tail"" (460953b), "Give the loop a fading tail" (1f7cefd) and 21 more
- homebuyer-mcp: 1 commit. "Update README.md" (fa9911f)
improvement loop
armedReads Elliot's real GitHub activity, Medium writing, and the site's current state, scores its own proposal against a rubric, and only then proposes one employer-facing change as a PR. Its first run's proposal is below, accepted and shipped.
stopping rule proposes at most one change per run, and nothing when nothing is worth doing
Post "The Loop Was Never the Hard Part" (Mon, 13 Jul 2026) isn't linked anywhere on the site. https://medium.com/@elliotJL/the-loop-was-never-the-hard-part-5bdd4352acab
→ shipped: Live writing feed added to /built, pulled from the Medium feed at build.
open commitments
What the loops have not done yet. Kept short on purpose: shipped work belongs in the changelog, where it comes with a commit rather than a promise.
- The hosted fit engine
- A real domain
how the outer loop works
Every cycle it reads real material (Elliot's public GitHub activity, his Medium writing, and the site's own current state) and proposes the single most useful change to make the site more compelling to employers hiring AI product engineers. It never invents activity; it surfaces what he actually did and how to frame it. The proposal arrives as a pull request. Merging it is the accept; closing it is the reject. Both are visible in the changelog.
runs dormant by default: no schedule, no spend, until an API key is set and the workflow enabled. code: scripts/agent-improve.mjs.