<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Gradient Ascent: what changed</title>
  <subtitle>Dated changes to the site, written for a reader: what is different, and what it is good for.</subtitle>
  <id>https://reedos.dev/gradient_ascent/changes/</id>
  <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/"/>
  <link rel="self" type="application/atom+xml" href="https://reedos.dev/gradient_ascent/changes.xml"/>
  <updated>2026-09-23T00:00:00Z</updated>
  <author><name>Gradient Ascent</name></author>
  <entry>
    <title>Agentic RAG is measured, beside RAG</title>
    <id>https://reedos.dev/gradient_ascent/changes/#agentic-rag-measured</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#agentic-rag-measured"/>
    <updated>2026-09-23T00:00:00Z</updated>
    <content type="text">The agentic RAG page now shows a scored run on the same 60 questions and the same model as the RAG page, and both pages set the two side by side: correct answers by kind of question, and cost per question.

It tests the claim the page makes about itself: that searching again after reading pays for its extra cost on questions that need two documents. It also shows how often the loop&apos;s token budget, not the model, ended the search.

Agentic RAG: https://reedos.dev/gradient_ascent/techniques/agentic-rag/
Retrieval-augmented generation: https://reedos.dev/gradient_ascent/techniques/rag/</content>
  </entry>
  <entry>
    <title>The RAG page is measured</title>
    <id>https://reedos.dev/gradient_ascent/changes/#rag-measured</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#rag-measured"/>
    <updated>2026-09-22T00:00:00Z</updated>
    <content type="text">The retrieval-augmented generation page now shows a scored run on the site&apos;s 60-question set: correct answers by kind of question, cost per question, and the model and model class the result holds for. Every other page is still Sourced.

It is the first page that reports what a technique did rather than what it should do, and it shows where single-pass retrieval falls short: questions that need a second document.

Retrieval-augmented generation: https://reedos.dev/gradient_ascent/techniques/rag/
Method: https://reedos.dev/gradient_ascent/method/</content>
  </entry>
  <entry>
    <title>Clearer names for the levels</title>
    <id>https://reedos.dev/gradient_ascent/changes/#clearer-level-names</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#clearer-level-names"/>
    <updated>2026-09-21T00:00:00Z</updated>
    <content type="text">The levels now read Conventional software, Direct prompting, Added context, Workflows, Tool use, Agent loops, Teams of Agents, and Always-on agents. Labels agree across navigation, diagrams, and examples.

The names describe the capability more directly. Updated definitions clarify that workflow branches can depend on model outputs, teams can share one model, and always-on systems need neither continuous generation nor a dedicated computer.

Conventional software: https://reedos.dev/gradient_ascent/levels/0/
Direct prompting: https://reedos.dev/gradient_ascent/levels/1/
Added context: https://reedos.dev/gradient_ascent/levels/2/
Workflows: https://reedos.dev/gradient_ascent/levels/3/
Tool use: https://reedos.dev/gradient_ascent/levels/4/
Agent loops: https://reedos.dev/gradient_ascent/levels/5/
Teams of Agents: https://reedos.dev/gradient_ascent/levels/6/
Always-on agents: https://reedos.dev/gradient_ascent/levels/7/</content>
  </entry>
  <entry>
    <title>Look up acronyms without leaving the page</title>
    <id>https://reedos.dev/gradient_ascent/changes/#acronym-definitions-while-reading</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#acronym-definitions-while-reading"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <content type="text">Dotted-underlined acronyms in article text, tables, and the DUT figure reveal an expansion and short definition on hover or keyboard focus. On touchscreens, tap to open the definition and tap outside to dismiss it.

Readers can understand terms such as DUT, SCPI, LLM, and RAG in context without interrupting their reading to search elsewhere.

The agent harness: https://reedos.dev/gradient_ascent/techniques/agent-harness/
Retrieval-augmented generation: https://reedos.dev/gradient_ascent/techniques/rag/</content>
  </entry>
  <entry>
    <title>See how harness concepts work together on a DUT project</title>
    <id>https://reedos.dev/gradient_ascent/changes/#dut-workflow-connects-harness-concepts</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#dut-workflow-connects-harness-concepts"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <content type="text">The test automation example maps context, tools, guardrails, permissions, human approval, observability, evaluation, memory, and stop controls to concrete project decisions. The figure identifies the controls around each action, and a proposed helper illustrates how they interact.

Naming related concepts did not explain their distinct responsibilities. The example now follows a decision through checking, approval, execution, and review, while distinguishing intended controls from implemented capabilities.

The agent harness: https://reedos.dev/gradient_ascent/techniques/agent-harness/</content>
  </entry>
  <entry>
    <title>The DUT example shows which files to provide and expect</title>
    <id>https://reedos.dev/gradient_ascent/changes/#dut-example-inputs-and-deliverables</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#dut-example-inputs-and-deliverables"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <content type="text">The diagram and worked example distinguish reusable framework instructions, a DUT-specific brief, an agent-drafted plan for approval, and a project status document delivered with the code and configuration.

The file handoff makes the workflow easier to reproduce and clarifies who supplies each document. Written instructions are kept distinct from separately configured permissions.

The agent harness: https://reedos.dev/gradient_ascent/techniques/agent-harness/</content>
  </entry>
  <entry>
    <title>The test automation example follows an approved DUT project workflow</title>
    <id>https://reedos.dev/gradient_ascent/changes/#dut-project-example-with-human-testing</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#dut-project-example-with-human-testing"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <content type="text">The worked example starts from a past DUT project or template, asks about missing requirements, and waits for plan approval. It produces Python files, configuration, and Markdown documentation, then hands hardware testing to the user. Framework changes and new project-local tools require explicit approval.

The earlier illustration assumed simulated instruments and did not fully describe the review boundaries. The revised example distinguishes non-hardware checks from user-run measurements and identifies read-only framework access as a proposed control still to confirm.

The agent harness: https://reedos.dev/gradient_ascent/techniques/agent-harness/</content>
  </entry>
  <entry>
    <title>More comfortable diagram labels and card spacing</title>
    <id>https://reedos.dev/gradient_ascent/changes/#room-for-labels-and-card-text</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#room-for-labels-and-card-text"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <content type="text">Run diagram boxes give labels more internal space, with clear separation between category labels and their descriptions. Step panels fit their content, and example cards and the test automation diagram use more consistent padding and text spacing.

Text was crowded inside some boxes while other panels held unnecessary empty space. The revised sizing keeps labels readable and groups related information without making the surrounding panels larger than needed.

The agent harness: https://reedos.dev/gradient_ascent/techniques/agent-harness/</content>
  </entry>
  <entry>
    <title>Wider reading layouts and compact run diagrams</title>
    <id>https://reedos.dev/gradient_ascent/changes/#more-room-for-desktop-reading</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#more-room-for-desktop-reading"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <content type="text">Article text uses a wider reading area and larger type. Diagrams and tables can use the full article width. Simple run sequences flow across compact rows on desktop and down a shorter column on phones, with the step explanation beside the diagram when space allows.

Narrow paragraphs and very tall run diagrams left much of a desktop page empty. The revised layout makes better use of the available space while preserving the order of the run and the structure of diagrams with multiple decision paths.

The agent harness: https://reedos.dev/gradient_ascent/techniques/agent-harness/
Coding agents: https://reedos.dev/gradient_ascent/techniques/coding-agents/</content>
  </entry>
  <entry>
    <title>An agent harness explained through a test automation project</title>
    <id>https://reedos.dev/gradient_ascent/changes/#test-automation-harness-example</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#test-automation-harness-example"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <content type="text">The agent harness page now walks through using a coding agent with an established test automation framework. A diagram separates the model, harness, framework functions, and validation feedback. An English brief leads through project creation, simulated checks, revision, and review.

A familiar engineering task makes the boundary between an agent harness and a test framework concrete. The example also distinguishes written guidance from enforced controls, and generating a test from letting a model operate live instruments.

The agent harness: https://reedos.dev/gradient_ascent/techniques/agent-harness/
Coding agents: https://reedos.dev/gradient_ascent/techniques/coding-agents/</content>
  </entry>
  <entry>
    <title>Select a concept to explore its supporting connections</title>
    <id>https://reedos.dev/gradient_ascent/changes/#explore-supporting-concepts-on-the-map</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#explore-supporting-concepts-on-the-map"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <content type="text">Clicking a concept locks its connections in place. A panel below the chart explains its connections and provides a link to open the concept. Agent concepts now connect to supporting topics such as guardrails, evaluation, observability, and cost controls. Overlapping prerequisite and upgrade paths draw once.

The map made supporting topics look disconnected and sent readers away before they could explore. A persistent selection makes those connections easier to follow, while the overview stays readable. Supporting relationships describe useful combinations rather than universal prerequisites.

Concept map: https://reedos.dev/gradient_ascent/map/
The agent harness: https://reedos.dev/gradient_ascent/techniques/agent-harness/</content>
  </entry>
  <entry>
    <title>A cleaner map keeps the focus on the connections</title>
    <id>https://reedos.dev/gradient_ascent/changes/#a-quieter-map-with-focused-connections</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#a-quieter-map-with-focused-connections"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <content type="text">The concept map and home preview use clean lines without endpoint circles. Hovering or focusing a concept still hides unrelated connections, and the concept selector provides the same focused view on a phone. Passing lines keep their clearance around unrelated blocks.

The connection circles added too much visual noise to the overview. Isolating one concept provides the useful clarity while keeping the full map lighter. The relationship list below the drawing continues to state each connection and its direction.

Concept map: https://reedos.dev/gradient_ascent/map/
Home: https://reedos.dev/gradient_ascent/</content>
  </entry>
  <entry>
    <title>Connection dots make the concept map easier to trace</title>
    <id>https://reedos.dev/gradient_ascent/changes/#map-connections-you-can-trace</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#map-connections-you-can-trace"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <content type="text">Lines now meet distinct circles on concept borders. Directed relations run from an open circle to a filled one, and passing lines leave clearance around unrelated blocks. Hover, keyboard focus, or the concept selector isolates a concept and its connections. The home page includes a visual preview and a direct link to the full map.

Lines previously ended behind the labels, making a real connection hard to distinguish from a line passing underneath. Visible endpoints and a focused view make the relationships explicit. The home preview gives visual explorers a starting point alongside the guided lessons.

Concept map: https://reedos.dev/gradient_ascent/map/
Home: https://reedos.dev/gradient_ascent/</content>
  </entry>
  <entry>
    <title>Practice with an English message and a Send button</title>
    <id>https://reedos.dev/gradient_ascent/changes/#practice-conversations-in-plain-english</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#practice-conversations-in-plain-english"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <content type="text">Every lesson now opens its practice with a prefilled English message. Press Send to see a scripted reply appear progressively, then send the suggested follow-up and compare the revision. Conversation drafts, notes, and downloads stay available. Configuration exercises sit in an optional section.

Editing configuration files teaches part of application building, but misses the ordinary experience of briefing an assistant and reviewing its reply. The conversation practice starts with that experience. Replies are clearly labeled as scripted: no live model is called, and changing the message does not yet change the response.

Learning path: https://reedos.dev/gradient_ascent/learn/</content>
  </entry>
  <entry>
    <title>A learning path with workspaces you can build in</title>
    <id>https://reedos.dev/gradient_ascent/changes/#learn-and-build-in-your-browser</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#learn-and-build-in-your-browser"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <content type="text">Eighteen lessons lead from model basics to operating and improving agents. Each has a browser workspace with editable files, a deterministic simulation, explained checks, and a ZIP download. Six stage projects have their own editors. Progress and drafts stay in the current browser.

The concept map helps readers explore, but it did not provide a gradual route or a place to practice. The path connects all current concepts to lessons and lets readers construct their work without installing tools or paying for calls. The exercises use fixed scenarios and make no model calls; their checks do not certify a real system.

Learning path: https://reedos.dev/gradient_ascent/learn/
Concepts: https://reedos.dev/gradient_ascent/techniques/</content>
  </entry>
  <entry>
    <title>Clearer boundaries for retrieval, connectors, and structured responses</title>
    <id>https://reedos.dev/gradient_ascent/changes/#clarifying-evidence-and-product-boundaries</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#clarifying-evidence-and-product-boundaries"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <content type="text">The retrieval page separates a simple example pipeline from the broader technique, including multiple documents and repeated retrieval. The connector page explains why read-only access still needs data and trust checks. Structured responses include both schema-constrained replies and tool inputs. The method distinguishes sourced explanations from recorded measurements.

Several explanations made the example implementation sound like a universal limit, or gave too much assurance about read-only access. The revised wording helps readers choose and check an implementation without treating a citation, a schema, or a permission label as proof of correctness.

Retrieval-augmented generation: https://reedos.dev/gradient_ascent/techniques/rag/
Model Context Protocol: https://reedos.dev/gradient_ascent/techniques/mcp/
Structured output: https://reedos.dev/gradient_ascent/techniques/structured-output/</content>
  </entry>
  <entry>
    <title>The command on every page now shows the technique working</title>
    <id>https://reedos.dev/gradient_ascent/changes/#a-command-that-shows-the-technique</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#a-command-that-shows-the-technique"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <content type="text">Each page prints one command you can copy and run with no model, no key and no network. Until now that command ran against a stub that echoes your question back, which proved the code ran and little else: a router took its fallback route every time, an agent was never offered a tool to call, a citation check never had a citation to check. Every example that calls a model now also takes --model stub:scripted, and that is the command the pages print. Run one and you see the routing decision, the tool call the code refuses, the draft that fails its own check, and the revision that passes.

A reader copying a command off a page should see the thing that page is about. Most of them did not, and several pages worked around it by sending people to go read a test file instead. The replies are a written-down fixture, not a run of any model and not a result: what they show is the shape of a run that goes the way the page describes, which is what the command was always meant to demonstrate. The old command still works and is still worth running, because what a model that ignores your format costs you is its own lesson.

Routing: https://reedos.dev/gradient_ascent/techniques/routing/
Single agent: https://reedos.dev/gradient_ascent/techniques/single-agent/
Write and check: https://reedos.dev/gradient_ascent/techniques/evaluator-optimizer/</content>
  </entry>
  <entry>
    <title>The two jobs a small office actually runs on</title>
    <id>https://reedos.dev/gradient_ascent/changes/#the-standing-office-jobs</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#the-standing-office-jobs"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <content type="text">Two recipes, worked end to end. The first assembles a weekly status report out of a project tracker, a shared inbox and a spreadsheet: code pulls the sources and computes every count, date and total, one model call writes the prose between the figures, and two checks read the draft afterward, one for a number nobody computed and one for a figure the draft left out. The second keeps a tracker document current from the same three sources, which is a different job: a report is read once, a document has to still be true next week, so the work is deciding what is new, what conflicts and what to leave alone, and holding anything that overwrites a person&apos;s own words for that person to approve.

Somebody asked for a worked example of exactly this and the site only had the pieces it is made of. Both pages settle each half of the job on its own level and say plainly how much of the work needs no model at all, which is most of it. The tracker page is built around the failure that quietly ruins a shared document: a source that goes silent looks exactly like a week in which nothing changed.

Weekly status report: https://reedos.dev/gradient_ascent/recipes/weekly-status-report/
Keep a tracker current: https://reedos.dev/gradient_ascent/recipes/project-tracker-upkeep/
Job shapes: https://reedos.dev/gradient_ascent/shapes/</content>
  </entry>
  <entry>
    <title>A recipe that is honestly two job shapes joined</title>
    <id>https://reedos.dev/gradient_ascent/changes/#two-shapes-joined</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#two-shapes-joined"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <content type="text">A standing weekly watch over a fixed list of sources, joined to a per-item read that turns each new record into three sentences with its citation attached by code. The watch half calls no model and settles at level 0; the read half is one call per item and settles at level 1; the page argues each half separately and shows where they meet in the code.

Every other recipe here illustrates exactly one shape, while the guide tells a reader&apos;s agent that most real jobs are two or three shapes joined. There was no worked example of a join to point it at.

Watch a topic for new work: https://reedos.dev/gradient_ascent/recipes/literature-watch/
Job shapes: https://reedos.dev/gradient_ascent/shapes/</content>
  </entry>
  <entry>
    <title>Three more threads that follow one question up the ladder</title>
    <id>https://reedos.dev/gradient_ascent/changes/#threads-across-levels</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#threads-across-levels"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <content type="text">A thread reads across the levels instead of down one: who approves what, how you tell whether it worked, and what is in front of the model this turn. Each one puts the pages that answer it in a single table, lowest level first, and says what the climb costs.

The levels are a good way to file a technique and a bad way to answer a question that every level answers differently. Somebody who wants to know where a person still signs off had to read eight pages and hold the comparison in their head.

Who approves what: https://reedos.dev/gradient_ascent/threads/who-approves-what/
What the model sees: https://reedos.dev/gradient_ascent/threads/what-the-model-sees/</content>
  </entry>
  <entry>
    <title>Eight more recipes for jobs outside an office</title>
    <id>https://reedos.dev/gradient_ascent/changes/#everyday-recipes</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#everyday-recipes"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <content type="text">Household paperwork, meeting notes, invoice matching, checking an agreement against a checklist, turning an incident write-up into a runbook, a shot list from a script, planning a trip, and grading against a rubric. Two of them settle at level 0 and never call a model.

The recipes leaned toward software work, which made the site read as though it were written for people who ship code. Most of the jobs a language model is good at are nobody&apos;s job title.

Recipes: https://reedos.dev/gradient_ascent/recipes/
Job shapes: https://reedos.dev/gradient_ascent/shapes/</content>
  </entry>
  <entry>
    <title>Three more products taken apart</title>
    <id>https://reedos.dev/gradient_ascent/changes/#three-more-teardowns</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#three-more-teardowns"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <content type="text">A search-grounded answer engine, a workplace assistant over your own documents, and a browser agent, each broken into the techniques it is built from, with every claim about it quoted from its maker&apos;s own page.

A reader who already uses one of these can start from something they know rather than from a level number. Seeing which techniques a familiar product is made of is the fastest way to learn what a technique is for.

Teardowns: https://reedos.dev/gradient_ascent/teardowns/
A search-grounded answer engine, decoded: https://reedos.dev/gradient_ascent/teardowns/answer-engine/</content>
  </entry>
  <entry>
    <title>Every level page says what is still unsolved at that level</title>
    <id>https://reedos.dev/gradient_ascent/changes/#frontier-blocks</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#frontier-blocks"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <content type="text">Each of the eight level pages now ends with two to four open problems: what nobody has solved at that level, what people are actually trying, and a quotation from the source each rests on with the date it was read.

The rest of the site tells you what works. This is the other half of an honest answer, and it is where the site is most likely to go out of date, so each block prints its own date rather than letting the page&apos;s freshness stand for it.

Level 02 · Context: https://reedos.dev/gradient_ascent/levels/2/
Level 05 · Agents: https://reedos.dev/gradient_ascent/levels/5/</content>
  </entry>
  <entry>
    <title>Rotted links repaired across the timeline and the registry</title>
    <id>https://reedos.dev/gradient_ascent/changes/#sources-repaired</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#sources-repaired"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <content type="text">Ten timeline milestones and seventeen registry entries pointed at pages that had moved, been renamed or been taken down. Each was fetched and read again, and now cites the page that documents it today. Where a maker has since edited the post this site quotes, the entry says so and links the archived copy the words came from.

A citation that quietly stops resolving turns a sourced claim into an unsourced one, and nothing about the page looks different when it happens.

Timeline: https://reedos.dev/gradient_ascent/timeline/
Names: https://reedos.dev/gradient_ascent/names/</content>
  </entry>
  <entry>
    <title>This page, and a feed</title>
    <id>https://reedos.dev/gradient_ascent/changes/#changes-page</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#changes-page"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <content type="text">A dated record of what changed on the site and why it matters, with an Atom feed at /changes.xml.

The site is written to be corrected. Without a log, a reader who came back had no way to tell whether a page had been fixed since they last read it.

What changed: https://reedos.dev/gradient_ascent/changes/</content>
  </entry>
  <entry>
    <title>The engineering pages cover three settings, not one</title>
    <id>https://reedos.dev/gradient_ascent/changes/#bench-three-ways</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#bench-three-ways"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <content type="text">The engineering material used to assume a production test line, where the same measurement runs thousands of times. It now covers three settings and says on each page which one it is written for: production test, engineering test at low volume, and precise measurement where the uncertainty of the number is the point.

Most engineering work is not production test, and advice written for one setting is quietly wrong in the others. A gate that is fine at ten thousand units a week is not fine when you have five prototypes.

Job shapes: https://reedos.dev/gradient_ascent/shapes/
Recipes: https://reedos.dev/gradient_ascent/recipes/</content>
  </entry>
  <entry>
    <title>Recipes for engineers, on an invented bench</title>
    <id>https://reedos.dev/gradient_ascent/changes/#engineering-recipes</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#engineering-recipes"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <content type="text">Eleven recipes for electronics test, measurement, design and bring-up, all worked on one invented board with four invented instruments and a documented accuracy specification. They cover reading a datasheet, turning requirements into a test plan, triaging a test failure, writing an instrument script from the manual, characterizing a design, and writing up a measurement with its uncertainty.

The rule these pages exist to demonstrate is that a model never produces a reported measurement, an uncertainty, a margin or a verdict. Showing it on a bench makes the line concrete rather than a slogan, and one recipe deliberately uses no model at all.

Recipes: https://reedos.dev/gradient_ascent/recipes/
Level 00 · No model: https://reedos.dev/gradient_ascent/levels/0/</content>
  </entry>
  <entry>
    <title>Match a job to its shape, not to the nearest recipe</title>
    <id>https://reedos.dev/gradient_ascent/changes/#job-shapes</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#job-shapes"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <content type="text">A page of job shapes: the kinds of work a request can be, sorted by what the work is rather than what it is about. A recipe is now presented as one worked instance of a shape, so you take its reasoning and leave its subject.

Readers were matching their problem to whichever recipe sounded closest in subject, which is the wrong axis. Sorting invoices and sorting test results are the same shape of job; two jobs about invoices can be different shapes.

Job shapes: https://reedos.dev/gradient_ascent/shapes/
Recipes: https://reedos.dev/gradient_ascent/recipes/</content>
  </entry>
  <entry>
    <title>The site, written for a reader&apos;s own AI agent</title>
    <id>https://reedos.dev/gradient_ascent/changes/#for-your-agent</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#for-your-agent"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <content type="text">If somebody points their assistant at this site to help them choose an approach, there is now a procedure for it to follow: what to ask, how to walk the worksheet down to the lowest level that does the job, what a good answer contains and what not to claim. Every page also has a clean Markdown version at the same address with .md on the end, and the content files are published as JSON.

People increasingly arrive here through an assistant rather than a browser. An assistant that reads the prose and guesses at the procedure gives worse advice than one handed the procedure.

For your agent: https://reedos.dev/gradient_ascent/agents/
Method: https://reedos.dev/gradient_ascent/method/</content>
  </entry>
  <entry>
    <title>Every quotation read again against the page it came from</title>
    <id>https://reedos.dev/gradient_ascent/changes/#claims-reread</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#claims-reread"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <content type="text">A pass over the written pages that re-fetched each cited page and tested every quotation as an exact substring of it. Claims that had drifted from what their source actually says were corrected or cut, and two numbers a guide had gone stale on were fixed.

A quotation that is nearly right is worse than none: it reads as evidence and is not.

Method: https://reedos.dev/gradient_ascent/method/</content>
  </entry>
  <entry>
    <title>The timeline and the search index got smaller</title>
    <id>https://reedos.dev/gradient_ascent/changes/#lighter-pages</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#lighter-pages"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <content type="text">The timeline page and the search index were both carrying far more than a reader needed to load, and were cut down. The timeline&apos;s chart is one image rather than many, and the control borders on the site now meet the contrast ratio they were supposed to.

This site is read on phones. A page that is slow to load on one is a page that does not get read, and a control you cannot see the edge of is a control you cannot use.

Timeline: https://reedos.dev/gradient_ascent/timeline/
Search: https://reedos.dev/gradient_ascent/search/</content>
  </entry>
  <entry>
    <title>A capability chart on the timeline</title>
    <id>https://reedos.dev/gradient_ascent/changes/#capability-chart</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#capability-chart"/>
    <updated>2026-09-18T00:00:00Z</updated>
    <content type="text">The timeline page carries a chart of Epoch AI&apos;s Epoch Capabilities Index, plotted by model release date, with this site&apos;s own dates for when each level reached the public drawn against it.

The levels are about who decides the next step, not about how capable a model is. Putting the two on one chart shows where they line up and where they do not, instead of implying one causes the other.

Timeline: https://reedos.dev/gradient_ascent/timeline/</content>
  </entry>
  <entry>
    <title>Gradient Ascent is public</title>
    <id>https://reedos.dev/gradient_ascent/changes/#launch</id>
    <link rel="alternate" type="text/html" href="https://reedos.dev/gradient_ascent/changes/#launch"/>
    <updated>2026-09-18T00:00:00Z</updated>
    <content type="text">The first public release: eight levels from no model to always-on agents, a page for every technique in them, the map of how those techniques connect, a worksheet that walks a problem down to the lowest level that does the job, recipes, a glossary built from the pages, a gallery of how each technique fails, a registry of named models, products and tools, and a timeline of when each level reached the public.

The site&apos;s rule is to recommend the lowest level that does the job, and it is hard to follow that rule without seeing the whole ladder. Every page is sourced: written and reviewed, with every factual claim checked against a primary source, and with no recorded run and no scored result behind it, and each one says so.

Home: https://reedos.dev/gradient_ascent/
All techniques: https://reedos.dev/gradient_ascent/techniques/
Find your level: https://reedos.dev/gradient_ascent/worksheet/</content>
  </entry>
</feed>
