condense-json 1.1
Frames feature additions as natural, low-friction responses to integration feedback — positioning them as pragmatic refinements rather than speculative or over-engineered changes.
View original on simonwillison.netOverview
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
Questions Answered
Keywords
Narrative Frame
efficiency framing
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.
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.
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.
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
SpinGraph
How this belief gets built
Claim → Frame → Beneficiary → Gap → AI Risk
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
Replacements object can now include values other than strings. These will be identified and used as structural replacements by condense_json() and uncondense_json().
- Frame
Iterative
Iterative, responsible open-source maintenance driven by real usage in LLM tooling.
- Beneficiary
reputation as a pragmatic, test-conscious developer building production-relevant tooling
Simon Willison — Reinforces 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
condense-json 1.1 adds support for non-string replacements and object-based merges, with new round-trip tests.
Claim Ledger
| Claim | Evidence | Verification | Risk | Evidence Gaps |
|---|---|---|---|---|
| Replacements object can now include values other than strings. These will be identified and used as structural replacements by condense_json() and uncondense_json(). | Direct statement referencing GitHub issue #8 and function names | Claim Present in Source | Low | No code snippet or API signature shown; No example demonstrating non-string replacement behavior |
Replacements object can now include values other than strings. These will be identified and used as structural replacements by condense_json() and uncondense_json().
evidence: 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
Fact Check Signals
0 of 1 claim matched · confidence: low · checked August 5, 2026
Replacements object can now include values other than strings. These will be identified and used as structural replacements by condense_json() and uncondense_json().
Language Heatmap
Loaded terms that carry the frame beyond the facts.
condense-json 1.1
Carries emotional weight beyond the underlying fact.
Carries emotional weight beyond the underlying fact.
Carries emotional weight beyond the underlying fact.
Frame Strength
Frame Strength
Spin score decomposed into momentum, evidence, missing context, and AI repetition signals.
Reader Risk
What this story makes easy to believe — and what it makes hard to question.
Source Role & Intent
Simon Willison's Weblog · Analyst
Counter-Frames
Brand Frame
Iterative, responsible open-source maintenance driven by real usage in LLM tooling.
Media / Reader Counter-Frame
None — too granular and non-controversial for media reframing.
Regulatory Counter-Frame
None — no regulatory implications claimed or implied.
AI Summary Frame
AI may conflate 'structural replacement' with general-purpose JSON schema transformation or misattribute capabilities to LLMs themselves rather than the utility.
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?
Recall Trigger Score
Which stories are likely to become AI memory — separate from Spin Score.
27
Trigger score 15
Triggered by: Major AI entity
Not tracked — low-authority source, weak claim, or no durable entity.
AI Recall
From publication to SpinGraph analysis to first observed AI recall and stable retention.
What AI Will Probably Repeat
"condense-json 1.1 adds support for non-string replacements and object-based merges, with new round-trip tests."
Concern: AI may omit the narrow scope (JSON condensation for LLMs) and imply broader applicability or readiness for enterprise use.
-
Published
Aug 3, 2026
-
Ingested
Aug 5, 2026
-
SpinGraph Created
Aug 5, 2026
-
First Observed AI Recall
Pending
Monitoring scheduled
-
Stable Recall
—
Awaiting retention signal
Recall Check Log
No checks yet — recall tracking is opt-in per story.
─── GEOGrow AI Recall Layer ───
AI Recall Tracking
Monitoring scheduled. No LLM recall detected yet.
This story has not yet appeared in tested AI answers. Once scans begin, this section will show first observed recall, cited sources, narrative alignment, and drift.
node_id=sts_condense_json_11
Ask AI about this story
Opens with the SpinGraph .md URL and structured context — one click, prompt included.
Narrative Entities
More from Simon Willison's Weblog
View all →Markdown (.md) · JSON-LD schema (.json) · Machine-readable for AI & GEO