From 64b45d167028cc0499cb0c9890f88b95110b223c Mon Sep 17 00:00:00 2001 From: Bryan Helmkamp Date: Fri, 6 Mar 2026 08:41:20 -0500 Subject: [PATCH] Rename NLSpec Convergence to NLSpec Conformance in docs Co-Authored-By: Claude Opus 4.6 --- docs/docs.json | 2 +- docs/examples/clone-substack.mdx | 2 +- ...convergence.mdx => nlspec-conformance.mdx} | 22 +++++++++---------- ...convergence.svg => nlspec-conformance.svg} | 4 ++-- 4 files changed, 15 insertions(+), 15 deletions(-) rename docs/examples/{nlspec-convergence.mdx => nlspec-conformance.mdx} (89%) rename docs/images/{nlspec-convergence.svg => nlspec-conformance.svg} (99%) diff --git a/docs/docs.json b/docs/docs.json index 801778b43..d4f38ce5d 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -107,7 +107,7 @@ "pages": [ "examples/solitaire", "examples/semantic-port", - "examples/nlspec-convergence", + "examples/nlspec-conformance", "examples/clone-substack" ] } diff --git a/docs/examples/clone-substack.mdx b/docs/examples/clone-substack.mdx index fcd3f878a..e2fa4a15f 100644 --- a/docs/examples/clone-substack.mdx +++ b/docs/examples/clone-substack.mdx @@ -724,7 +724,7 @@ To adapt for your project: ## Further reading - + A simpler implement-test-fix loop for spec-driven development. diff --git a/docs/examples/nlspec-convergence.mdx b/docs/examples/nlspec-conformance.mdx similarity index 89% rename from docs/examples/nlspec-convergence.mdx rename to docs/examples/nlspec-conformance.mdx index 48d331745..30b95f0ad 100644 --- a/docs/examples/nlspec-convergence.mdx +++ b/docs/examples/nlspec-conformance.mdx @@ -1,9 +1,9 @@ --- -title: "NLSpec Convergence" +title: "NLSpec Conformance" description: "Implement a system from a natural language specification and iterate until conformance tests pass" --- -The NLSpec Convergence pattern gives an agent a detailed specification document, has it build an implementation, and then loops on automated conformance tests until the implementation converges on full compliance. This is the same pattern used by benchmarks like [AttractorBench](https://github.com/strongdm/attractorbench) to measure how well agents follow complex specs. +The NLSpec Conformance pattern gives an agent a detailed specification document, has it build an implementation, and then loops on automated conformance tests until the implementation achieves full conformance. This is the same pattern used by benchmarks like [AttractorBench](https://github.com/strongdm/attractorbench) to measure how well agents follow complex specs. ## When to use this @@ -14,11 +14,11 @@ The NLSpec Convergence pattern gives an agent a detailed specification document, ## The workflow - NLSpec Convergence workflow: Start → Plan → Implement → Quick Tests → Quick passing? → Full Tests → All passing? → Exit, with Fix Failures loop + NLSpec Conformance workflow: Start → Plan → Implement → Quick Tests → Quick passing? → Full Tests → All passing? → Exit, with Fix Failures loop -```dot title="n-l-spec-convergence.dot" -digraph NLSpecConvergence { +```dot title="n-l-spec-conformance.dot" +digraph NLSpecConformance { graph [ goal="Implement a conformant system from a natural language specification", model_stylesheet=" @@ -36,7 +36,7 @@ digraph NLSpecConvergence { // Phase 2: Build the initial implementation subgraph cluster_impl { - label = "Implement & Converge" + label = "Implement & Conform" node [thread_id="impl", fidelity="full"] implement [label="Implement", class="impl", prompt="@prompts/implement.md"] @@ -67,7 +67,7 @@ digraph NLSpecConvergence { ``` ```bash -arc run start workflows/nlspec-convergence.dot +arc run start workflows/nlspec-conformance.dot ``` ## How it works @@ -91,7 +91,7 @@ Produce a step-by-step implementation plan in `plan.md` that covers: The `implement` and `fix` nodes share a `thread_id="impl"`, so they accumulate context across loop iterations. When the agent returns to `fix` after a failed conformance run, it sees the full history of what it built and what broke. Combined with `fidelity="full"`, the agent retains the detail it needs to make targeted repairs. -### The convergence loop +### The conformance loop The core of this pattern is the test-fix loop: @@ -123,7 +123,7 @@ Do not rewrite working code. Make targeted fixes to the specific failures. ### Max visits as a safety valve -`max_visits=5` on the `fix` node prevents infinite loops. If the agent can't converge in 5 iterations, the workflow moves on with the best result so far. Tune this based on spec complexity: a 30-line spec might need 2 iterations, a 2,000-line spec might need 10. +`max_visits=5` on the `fix` node prevents infinite loops. If the agent can't pass in 5 iterations, the workflow moves on with the best result so far. Tune this based on spec complexity: a 30-line spec might need 2 iterations, a 2,000-line spec might need 10. ### Goal gate on full conformance @@ -169,8 +169,8 @@ The pattern works for any spec that has automated verification: API contracts wi ## What you've learned -- The **convergence loop** (implement, test, fix, repeat) is the core pattern for spec-driven development +- The **conformance loop** (implement, test, fix, repeat) is the core pattern for spec-driven development - **Two-tier conformance** (quick then full) keeps iteration fast - **Shared threads** (`thread_id`) give the fix node context from prior iterations -- **`max_visits`** prevents infinite loops when the agent can't converge +- **`max_visits`** prevents infinite loops when the agent can't pass - **`goal_gate`** makes conformance a hard requirement for workflow success diff --git a/docs/images/nlspec-convergence.svg b/docs/images/nlspec-conformance.svg similarity index 99% rename from docs/images/nlspec-convergence.svg rename to docs/images/nlspec-conformance.svg index bb237b699..a90ab2f44 100644 --- a/docs/images/nlspec-convergence.svg +++ b/docs/images/nlspec-conformance.svg @@ -3,7 +3,7 @@ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> - + -NLSpecConvergence +NLSpecConformance start