Build1 distinct publisher3 min readUpdated
A dev.to comparison of OpenSpec and GitHub Spec Kit argues chat degradation is structural. The interesting part is not the diagnosis but how differently the two tools file the cure.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
A walkthrough published on dev.to compares two open-source spec-driven development toolkits, Fission-AI's OpenSpec and GitHub's Spec Kit, and hangs its argument on a claim worth separating from the tooling [6][8]. According to the post, chat conversations degrade past 15 to 20 iterations, with the model losing track of earlier decisions, reverting fixes and introducing regressions [2]. If that failure is a property of the medium rather than of the operator, no amount of prompt craft closes it, and the specification has to be written down somewhere a reviewer can see it.
The post lists two consequences that matter more than the first. Architectural intent disappears when the chat window closes, because the reasoning was never recorded anywhere but the transcript [3]. And a 1,500-line diff assembled across several sessions is unreviewable, since the requirements it was supposed to satisfy were never committed to Git [4]. That is the operational cost: not bad code, but code nobody can approve or reject on the evidence.
The proposed mechanism is a layered, fixed context. The post argues that by prompt 15 a model spends 80 percent of its attention budget parsing its own prior mistakes [10], and offers no measurement for that figure, so treat it as illustration rather than finding. The alternative it sketches is more concrete: each task executes in a clean context window [17] loaded with a constitution at roughly 500 tokens, a spec at 800, a plan at 1,000 and about 400 tokens of active task scope [11]. That totals around 2,700 tokens of standing context per step [18], which is the actual claim being made. A fixed input is cheaper and more predictable than an accumulating one, whatever the attention-budget story turns out to be.
Where the two implementations diverge is in what they ask you to write first. OpenSpec targets brownfield repositories and multi-agent work, and does not require documenting a legacy codebase up front [6]. You propose an atomic change, write delta specs describing only what shifts relative to the current system, and once tests pass the change is synced into permanent specs and archived [7]. Spec Kit, GitHub's toolkit driven by the specify-cli Python tool [8], starts at the other end: a constitution.md defining inviolable rules for architectural patterns, linting, test coverage and security boundaries before any feature is specified [9]. One is designed for repositories that already exist and cannot be re-documented; the other is designed to constrain a project before it accumulates habits.
The practice notes are the least glamorous and probably the most portable. State non-functional constraints explicitly rather than assuming the model infers them, as in a bundle size ceiling of 5KB gzipped [12]. Write acceptance criteria as Given/When/Then scenarios, such as an expired token returning HTTP 401 with code TOKEN_EXPIRED [13]. Decompose tasks to single-file or single-function units instead of "Implement auth" [15]. Get human approval on the spec before code, on the grounds that a 30-line Markdown file takes 30 seconds to correct [16].
What to watch: whether either project publishes an actual measurement behind the 15 to 20 iteration threshold [2], and whether delta specs stay in sync with the code they describe once a team stops archiving them diligently [7].
Follow any of these and your For You feed starts watching them — no settings page required.
Ranked by verification strength, evidence, and original report placement.
The dev.to post describes "vibe coding" as prompting an LLM in an open chat window, hitting apply, and tweaking code until the test suite or browser stops throwing errors.
The post breaks spec-driven development into phases: Constitution/Rules (global invariants such as tech stack, security rules, dependency budgets, coding style), Intent (user stories, business constraints, Given/When/Then acceptance criteria), Architecture (system design, data schemas, API contracts, component boundaries), and Execution (a dependency-ordered checklist of atomic implementation steps).
OpenSpec is developed by Fission-AI and is designed specifically for brownfield (existing) repositories and multi-agent development; it does not require documenting an entire legacy codebase upfront.
OpenSpec operates in atomic "changes": you propose a change targeting a specific feature or bugfix, write delta specifications (specs/*.spec.md) describing only what changes relative to the current system, and once implementation and tests pass the change is synced to permanent specs and archived.
Spec Kit is GitHub's open-source toolkit for spec-driven development, powered by the Python CLI tool specify-cli.
GitHub Spec Kit places heavy emphasis on constitutional guardrails: before specifying features, the project establishes a constitution.md file setting inviolable rules for architectural patterns, linting, test coverage and security boundaries.
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Single self-published post, no verifiable measurement
The cluster rests on one dev.to article cross-posted from the author's own blog. Tool-mechanics descriptions (OpenSpec's delta-change lifecycle, Spec Kit's constitution.md and specify-cli) are specific and internally consistent, which lifts the floor slightly, but every empirical or quantitative assertion — the 15–20 iteration degradation threshold, the 80% attention-budget figure, the per-artifact token budgets, and the claim of clean isolated context per task step — arrives with no experiment, model name, log, or citation. No second publisher, repository artifact, or benchmark corroborates anything.
No adoption signal supplied
The supplied material contains no releases, version numbers, download or star counts, deployments, production usage disclosures, or named teams using OpenSpec or GitHub Spec Kit. The post only describes how the toolkits are meant to work and invites readers to comment on what they use, which is not adoption evidence. Nothing in the cluster supports a measured value.
Structural certainty asserted well ahead of evidence
The framing treats chat degradation as a structural law and spec-driven development as the resolution — '100% signal, 0% noise', 'the era of the Specification Architect' — while the numbers underwriting that framing (15–20 iterations, 80% attention budget, ~2,700 tokens of standing context) are unmeasured and no adoption or outcome data exists for either toolkit. The gap is not total: the underlying practices (version-controlled specs, Given/When/Then criteria, atomic tasks, human approval before codegen) are conventional engineering hygiene and plausibly beneficial, which caps the overstatement short of the extreme.
Promotional cross-post funneling to the author's own blog
The article states up front that it was originally published on labitcode.com and closes with a call to action to read 'the full deep dive with complete code examples' on that blog, plus a prompt to comment. The comparison therefore doubles as lead generation for the author's property, giving a direct interest in a strong, quotable framing of the problem and a definitive-sounding verdict on tooling. There is no disclosed relationship to Fission-AI or GitHub, and no sponsorship is claimed, so the incentive is attention and traffic rather than vendor payment.
Low: one publisher, one source, no corroboration
Confidence is limited by a single-source, single-publisher cluster with a promotional distribution motive. Descriptive facts about the two toolkits are stated clearly enough to be credible on their face, but no independent material confirms them, and the cluster's central empirical claims and all adoption questions remain unverified. Assessment is reliable as a reading of what this post asserts, not as a judgment about how the toolkits behave in practice.
build
The reason your agent gets worse after an hour is that nothing ever leaves the context window1 distinct publisher
build
A green build only proves your agent was consistent with itself1 distinct publisher
build
Claude Code's new default is a confession: the approval prompt was never a control1 distinct publisher
build
Amp got SOC 2 Type II without pull requests, which kills a convenient excuse1 distinct publisher
Distinct publishers with included, body-backed reporting in this cluster.
dev.to
1 article · August 15, 2026