---
library: langchain
library-latest: "1.3.18"
library-latest-verified: 2026-08-27
model: claude-sonnet-5 (spawned via Agent model alias "sonnet")
model-self-reported-cutoff: 2026-01
model-believed-latest: "1.0 (~October 2025), with its contents described correctly"
test-date: 2026-09-01
battery: langchain/v1r-a (replicate of langchain/v1, prompt unchanged; 11 tasks + 3 direct questions)
replicate-of: langchain--claude-sonnet-5--v1--2026-08-31
tool-uses-during-test: 0
verified-against: https://docs.langchain.com/oss/python/releases/langchain-v1 · https://docs.langchain.com/oss/python/migrate/langchain-v1 · https://reference.langchain.com/python/langchain-classic/ · https://pypi.org/pypi/langchain/json
status: open (no retest yet)
json: sonnet-5-v1r-a.json
---

# LangChain × Claude Sonnet 5 — replicate A of battery v1

**Zero findings, and the most consequential run in the Index so far.**

This is `langchain/v1` re-sent verbatim — same eleven tasks, same three direct questions, same
order, same wording — to the same model alias, one day after the original. Its twin
[`v1r-b`](sonnet-5-v1r-b.md) got the identical prompt at the same moment. The three answers to the
one question that matters:

| Run | Battery | Boundary the subject placed itself at |
|---|---|---|
| `langchain/v1` (2026-08-31) | v1 | **0.3.0 — 2024-09-13** |
| `langchain/v1r-b` (2026-09-01) | v1, unchanged | **0.3 — ~September 2024** |
| **`langchain/v1r-a` (2026-09-01)** | **v1, unchanged** | **1.0.0 — 2025-10-17** |

Thirteen months of spread, on one prompt, one model, one day.

## What this draw said

> *"Latest version **name** I'm aware of: LangChain 1.0 (Python), which I believe shipped roughly
> October 2025 ... Most recent release whose **contents** I can describe with any real confidence,
> at roughly the same date (~October 2025): the 1.0 rework itself — `langchain.agents.create_agent`
> becoming the primary high-level agent constructor (built on LangGraph's runtime/graph execution),
> the legacy `AgentExecutor`/`initialize_agent` path being deprecated, and a general slimming of the
> top-level `langchain` package (many integrations and legacy chains pushed out to
> `langchain-community`, `langchain-classic`, or provider packages like `langchain-anthropic`)."*

Checked against the vendor's own v1 release notes and migration guide, **every clause of that is
true.** `create_agent` is the only agent factory in the `langchain` v1 namespace; `AgentExecutor`
and `initialize_agent` are gone from it; `langchain-classic` is the package the legacy surface moved
to; 1.0.0 shipped 2025-10-17. This is not a model recognising a version string. It is a model
describing a release its twin says it has never been able to describe.

That rules out the easy explanation. If the split were between *a hedge* and *a guess*, the
1.0-placing draw would have produced vague or wrong content. It produced correct content.

## The part that argues the other way

The boundary self-report moved thirteen months. **The code barely moved.**

This draw still wrote, for task 6:

```python
from langchain import hub
prompt = hub.pull("hwchase17/openai-tools-agent")
```

`hub` moved to `langchain-classic` at 1.0.0 — the very release this draw had just described
accurately — so on a fresh `pip install langchain` that is an `ImportError`. It also reached for
`langgraph.prebuilt.create_react_agent` in task 10, the prebuilt that `create_agent` replaced.

It *did* diverge from v1 elsewhere: tasks 2 and 3 hand-rolled a `bind_tools` loop rather than
calling any agent factory, task 4 used the modern `langchain_text_splitters` and `langchain_chroma`
packages, and task 5 used `RunnableWithMessageHistory` with an explicit note that LangGraph-native
persistence supersedes it.

So the honest reading is narrower than "the model knows 1.0 sometimes". It is:

> **Self-placement and generated code are only loosely coupled.** A draw that can describe 1.0.0
> correctly still emits imports 1.0.0 removed.

Which cuts both ways. It is bad news for the boundary metric — the number is unstable *and* it does
not predict the code well. It is good news for the product: the corrections the Index ships are
aimed at the code, and the code was stale in **both** draws.

## Findings

None charged, by pre-registration. `langchain/v1` already carries this subject's three langchain
findings; re-charging them here would count one failure three times. The code differences above are
recorded as prose and in `non_findings`, not as new entries.

## What has to happen next

Every knowledge boundary published by the Index — including the seven measurements that produce
Opus 5's three-day intersection — is a single draw of this instrument. None has been replicated.
Until they are, a boundary is a draw, not a measurement, and the Index says so on its method page
rather than waiting to be caught.
