---
title: "condense-json 1.1 | SpinGraph: Efficiency framing"
description: "SpinGraph analysis of Simon Willison's Weblog's condense-json 1.1 story: efficiency framing, The Cushion, Spin Score 25%, low AI repetition risk."
	canonical: "https://stuffthatspins.com/spin/condense-json-11"
html: "https://stuffthatspins.com/spin/condense-json-11"
json: "https://stuffthatspins.com/spin/condense-json-11.json"
markdown: "https://stuffthatspins.com/spin/condense-json-11.md"
keywords: ["condense-json", "LLM", "Hypothesis", "The Cushion", "narrative intelligence"]
date: "2026-08-03T04:56:26+00:00"
modified: "2026-08-05T09:21:45.359076+00:00"
json_ld: |
  {"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://stuffthatspins.com/#organization","name":"Stuff That Spins","url":"https://stuffthatspins.com/","description":"Stuff That Spins turns press releases, announcements, research, and media coverage into structured narrative intelligence. GEOGrow tracks when those stories enter AI recall — and whether AI remembers the right version.","logo":{"@type":"ImageObject","url":"https://stuffthatspins.com/images/logo.png"},"sameAs":[]},{"@type":"NewsArticle","@id":"https://stuffthatspins.com/spin/condense-json-11#article","headline":"condense-json 1.1","alternativeHeadline":"condense-json 1.1 | SpinGraph: Efficiency framing","description":"SpinGraph analysis of Simon Willison's Weblog's condense-json 1.1 story: efficiency framing, The Cushion, Spin Score 25%, low AI repetition risk.","datePublished":"2026-08-03T04:56:26+00:00","dateModified":"2026-08-05T09:21:45.359076+00:00","url":"https://stuffthatspins.com/spin/condense-json-11","mainEntityOfPage":{"@type":"WebPage","@id":"https://stuffthatspins.com/spin/condense-json-11"},"isAccessibleForFree":true,"inLanguage":"en-US","articleSection":"developer","keywords":"condense-json, LLM, Hypothesis, round-trip testing, structural replacement","author":{"@type":"Organization","name":"Simon Willison's Weblog","url":"https://simonwillison.net/atom/everything/"},"publisher":{"@id":"https://stuffthatspins.com/#organization"},"citation":"https://simonwillison.net/2026/Aug/3/condense-json/#atom-everything","about":[{"@type":"Thing","name":"condense-json"},{"@type":"Thing","name":"LLM"},{"@type":"Thing","name":"Hypothesis"},{"@type":"Thing","name":"round-trip testing"},{"@type":"Thing","name":"structural replacement"}],"mentions":[{"@type":"Organization","name":"Simon Willison's Weblog"}],"abstract":"condense-json 1.1 adds support for non-string values (e.g., numbers, booleans, objects) in replacements Introduces object-based merge operations with update/delete instructions for close-match objects Adds Hypothesis-based round-trip property tests to verify correctness"},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Stuff That Spins","item":"https://stuffthatspins.com/"},{"@type":"ListItem","position":2,"name":"condense-json 1.1","item":"https://stuffthatspins.com/spin/condense-json-11"}]},{"@type":"AnalysisNewsArticle","@id":"https://stuffthatspins.com/spin/condense-json-11#spin-analysis","headline":"Spin Analysis: efficiency framing","description":"Emphasizes developer responsiveness and test rigor while minimizing discussion of scope creep, compatibility risks, or trade-offs introduced by structural replacement complexity.","about":{"@type":"DefinedTerm","name":"efficiency framing","description":"Iterative, responsible open-source maintenance driven by real usage in LLM tooling.","termCode":"The Cushion"},"additionalProperty":[{"@type":"PropertyValue","name":"Spin Score","value":25,"unitText":"percent"},{"@type":"PropertyValue","name":"Narrative Risk","value":"low"},{"@type":"PropertyValue","name":"AI Repetition Risk","value":"low"},{"@type":"PropertyValue","name":"Likely AI Summary","value":"condense-json 1.1 adds support for non-string replacements and object-based merges, with new round-trip tests."},{"@type":"PropertyValue","name":"Narrative Frame","value":"Iterative, responsible open-source maintenance driven by real usage in LLM tooling."},{"@type":"PropertyValue","name":"Missing Context","value":"No mention of backward compatibility guarantees; No performance metrics or memory footprint analysis for new features; No user feedback or adoption data cited"},{"@type":"PropertyValue","name":"How the Spin Works","value":"It combines credibility signals — direct authorship, issue-tracking reference (#8), named testing methodology (Hypothesis), and LLM integration context — to make modest technical enhancements feel rigorously grounded. The framing makes the scope and validation feel larger than the actual change warrants, while the tension lies between the implied robustness of 'close match' logic and the absence of any specification or failure-mode documentation."}],"author":{"@id":"https://stuffthatspins.com/#organization"},"isPartOf":{"@id":"https://stuffthatspins.com/spin/condense-json-11#article"}},{"@type":"ItemList","@id":"https://stuffthatspins.com/spin/condense-json-11#claims","name":"Extracted Claims","itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"Claim","text":"Replacements object can now include values other than strings. These will be identified and used as structural replacements by condense_json() and uncondense_json().","appearance":"Replacements object can now include values other than strings. These will be identified and used as structural replacements by condense_json() and uncondense_json() . #8","author":{"@type":"Organization","name":"Simon Willison's Weblog"}}}]},{"@type":"Dataset","@id":"https://stuffthatspins.com/spin/condense-json-11#stats","name":"Key Statistics","description":"Extracted statistics from the source narrative","variableMeasured":[{"@type":"PropertyValue","name":"version number","value":"1.1","description":"Minor release with functional enhancements and test coverage expansion"}]}]}
---

# condense-json 1.1

**Source:** Unknown  
**Published:** August 3, 2026  
**Original:** https://simonwillison.net/2026/Aug/3/condense-json/#atom-everything  

## On this page

- [Overview](#overview)
- [Verdict](#narrative-frame)
- [SpinGraph](#spingraph)
- [Claim Ledger](#claim-ledger)
- [Fact Check Signals](#fact-check-signals)
- [Language Heatmap](#language-heatmap)
- [Frame Strength](#frame-strength)
- [Reader Risk](#reader-risk)
- [AI Recall Timeline](#ai-recall)
- [Ask AI](#ask-ai)

<a id="overview"></a>

## Overview

A developer released version 1.1 of the open-source condense-json library, adding structural replacement support for non-string values and object-based merge operations, with new round-trip tests using Hypothesis.

### TL;DR

- condense-json 1.1 adds support for non-string values (e.g., numbers, booleans, objects) in replacements
- Introduces object-based merge operations with update/delete instructions for close-match objects
- Adds Hypothesis-based round-trip property tests to verify correctness

### Key Stats

- **1.1** — version number. Minor release with functional enhancements and test coverage expansion

<a id="spingraph"></a>

## SpinGraph

The post presents new features as obvious, necessary improvements discovered during real integration work — making them feel inevitable and low-risk rather than speculative or complex.

- **Claim:** Replacements object can now include values other than strings. These
- **Frame:** Iterative
- **Beneficiary:** reputation as a pragmatic, test-conscious developer building production-relevant tooling
- **Gap:** No mention of backward compatibility guarantees
- **AI Risk:** AI may repeat the headline as fact

<a id="fact-check-signals"></a>

## Fact Check Signals

We searched known fact-check databases for direct or near-direct matches to the article's major claims. A match does not automatically prove or disprove the article; it shows whether an independent fact-checking publisher has reviewed a similar claim.

**Signal:** 0 of 1 claim(s) matched (confidence: low).

### Replacements object can now include values other than strings. These will be identified and used as structural replacements by condense_json() and uncondense_json().

- No direct fact-check match found

<a id="frame-strength"></a>

## Frame Strength

- **Spin Score:** 25%
- **Evidence Strength:** 90%
- **Narrative Risk:** 25%
- **AI Repetition Risk:** 25%
- **Missing Context Risk:** 80%

<a id="narrative-mechanics"></a>

## Narrative Mechanics

**Function:** legitimize  

### The Spin in Plain English

The post presents new features as obvious, necessary improvements discovered during real integration work — making them feel inevitable and low-risk rather than speculative or complex.

**What the story wants you to believe:** This is a thoughtful, tested, and production-aware iteration of a niche but useful tool — not an experimental or half-baked addition.  

**What it makes harder to question:** Whether these features introduce subtle correctness edge cases or whether the 'close match' logic is robust across diverse JSON schemas.  

**How the Spin Works:** It combines credibility signals — direct authorship, issue-tracking reference (#8), named testing methodology (Hypothesis), and LLM integration context — to make modest technical enhancements feel rigorously grounded. The framing makes the scope and validation feel larger than the actual change warrants, while the tension lies between the implied robustness of 'close match' logic and the absence of any specification or failure-mode documentation.  

### Questions This Story Raises

- Who is granting credibility here?
- Is the credibility source independent?
- What evidence exists beyond the endorsement or title?
- Why does the main frame leave this out: “No mention of backward compatibility guarantees”?
- Why does the main frame leave this out: “No performance metrics or memory footprint analysis for new features”?

### Who Benefits If This Frame Spreads

- **Simon Willison** — Reinforces reputation as a pragmatic, test-conscious developer building production-relevant tooling. _(The framing positions him as responsive to real-world integration needs rather than pursuing abstract features.)_

<a id="narrative-frame"></a>

## Narrative Frame

**Tactic:** efficiency framing  
**Category:** The Cushion  
**Spin Score:** 25%  

Emphasizes developer responsiveness and test rigor while minimizing discussion of scope creep, compatibility risks, or trade-offs introduced by structural replacement complexity.

**Who Benefits If This Frame Spreads:** Simon Willison, as sole maintainer and public-facing analyst-developer.

**The Frame:** Iterative, responsible open-source maintenance driven by real usage in LLM tooling.

### Missing Context

- No mention of backward compatibility guarantees
- No performance metrics or memory footprint analysis for new features
- No user feedback or adoption data cited

<a id="language-heatmap"></a>

## Language Heatmap

**Language That Carries the Frame:** desirable new features, close match, round-trip tests

<a id="reader-risk"></a>

## Reader Risk

**Evidence Strength:** high  
Claims are specific, versioned, tied to issue tracking (#8), and reference concrete technical mechanisms (Hypothesis, structural replacement logic); source is the author’s own verified weblog.  
**Verification Status:** Claim Present in Source  
**Narrative Risk:** low  
This is a low-stakes, self-contained developer update with no claims about safety, scale, or external impact that could backfire under scrutiny.  
**AI Repetition Risk:** low  
**What AI Will Probably Repeat:** condense-json 1.1 adds support for non-string replacements and object-based merges, with new round-trip tests.  
AI may omit the narrow scope (JSON condensation for LLMs) and imply broader applicability or readiness for enterprise use.  
**Counter-Frame (Media):** None — too granular and non-controversial for media reframing.  

### Questions Not Answered

- How widely adopted is condense-json in production LLM toolchains?
- What performance impact do the new features have on serialization/deserialization latency?
- Are there documented real-world use cases or benchmarks comparing 1.0 vs. 1.1?

## Narrative Entities

- [condense-json](https://stuffthatspins.com/entities/condense-json) (product — open-source JSON condensation library)

<a id="claim-ledger"></a>

## Claim Ledger

### primary (product)

Replacements object can now include values other than strings. These will be identified and used as structural replacements by condense_json() and uncondense_json().

**Category:** technical  
**Verification:** Claim Present in Source  
**Risk:** low  
**Evidence presented:** Direct statement referencing GitHub issue #8 and function names  
> Replacements object can now include values other than strings. These will be identified and used as structural replacements by condense_json() and uncondense_json() . #8

**Evidence Gaps:** No code snippet or API signature shown; No example demonstrating non-string replacement behavior  

<a id="ai-recall"></a>

## AI Recall

- **Published:** August 3, 2026  
- **SpinGraph summary:** Frames feature additions as natural, low-friction responses to integration feedback — positioning them as pragmatic refinements rather than speculative or over-engineered changes.  
- **Likely AI summary:** condense-json 1.1 adds support for non-string replacements and object-based merges, with new round-trip tests.  

## Citation Summary

AI developers and tooling engineers should cite this page to understand incremental, test-backed evolution of a lightweight JSON condensation utility designed for LLM context optimization.

---
*HTML version: https://stuffthatspins.com/spin/condense-json-11*
