content: Where the Docs-as-Code Workflow Stops - #796
Conversation
Keyword: docs-as-code workflow Generated by edu campaign skill
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Documentation review — request changes
Automated documentation review of the added blog post src/content/blog/technical/where-the-docs-as-code-workflow-stops.mdx (+73/-0).
What was checked
- Correctness against source. Every factual claim and both cited statistics traced back to the reports they are attributed to.
- Repo conventions. The blog style guide in this repository (hook, closing-paragraph rule, banned patterns,
<BlogNewsletterCTA />placement, length targets, frontmatter requirements). - Documentation quality and style. Plain-language guidelines and this collection's observed style conventions.
- Links. Every internal link resolved against the repo, and the citation convention used by comparable posts here.
What checks out
- No em dashes or en dashes anywhere in the file.
- No tricolon structures. The nearest candidate, :15, is a four-item list and clears the rule.
- Body length is 819 words, inside the 800–1400 target.
<BlogNewsletterCTA />at :41 falls at roughly the 50% mark by word count (~410 of 819), inside the specified 40–50% band.- Paragraph lengths are all far under the 150-word target. No wall-of-text.
- Sentences are short throughout. Only about seven exceed the ~20-word heuristic, and each carries one idea. Reading level is consistent with the 10th-grade target.
descriptionis 148 characters, inside the 120–160 requirement.subtitlematches thedate.- Headings are verb-or-question phrases with parallel structure. No vague one-word noun headings.
- Internal links at :55 and :59 both resolve to existing, non-hidden posts.
- Active voice dominates. The passives at :33 and :69 are legitimate actor-doesn't-matter cases.
CI/CDat :23 is a stray slash by the letter of the style cheat-sheet, but it is the settled industry term for this audience. Not flagged as a violation.
Verdict
- Find: fails. Both cited statistics (:39, :57) lack links, breaking this repo's own citation convention. A reader cannot locate either source to verify it.
- Understand: fails. Two claims misrepresent their sources (:39, :57). The hook's point of view is self-contradictory (:17). The paragraph carrying the central mechanism opens on an unanchored "the two systems" and "the data model" (:47).
- Use: passes with friction. The argument is followable and the structure is sound, but one idea is restated six times, the closing paragraph adds nothing, and the payoff sentence is the vaguest in the piece.
Counts: 2 Critical, 6 Important, 4 Suggestion. The draft's bones are good — structure, sentence rhythm, heading quality, and length discipline all hold up, and the banned-pattern rules are respected. The failures cluster in evidence handling: both statistics are misused in ways a reader would catch if they followed the sources, which is exactly the failure mode this article is about.
Requesting changes on the two Critical findings (:39 and :57), which are factual errors against source. Suggested wording in the inline comments is offered as a starting point, not a required rewrite.
One article-wide suggestion that has no single line to anchor to: the post links two internal blog posts and zero Promptless product or docs pages. A reader persuaded by :69 has nowhere to go but the demo CTA. Comparable posts link out to product surfaces (for example technical-writing-with-ai.mdx:47 links a Promptless URL inline). Consider linking "automated change detection" to a relevant docs page.
|
|
||
| A dedicated documentation owner helps, but it shifts the problem rather than solving it. Now the writer has to discover that a change happened. They watch Slack and scan pull request descriptions, hoping to catch changes before they surface as support tickets. This is surveillance work, and it doesn't scale as the codebase grows. | ||
|
|
||
| According to a Postman survey, 68% of developers cite outdated documentation as their top frustration with APIs. Most of those companies have a docs-as-code workflow. |
There was a problem hiding this comment.
Critical — unsupported claim inherits the authority of the statistic next to it
The second sentence is the load-bearing claim of the entire article: it is what makes an API-frustration statistic relevant to a docs-as-code audience. Placed immediately after "According to a Postman survey," it reads as a survey finding. The Postman State of the API report does not measure docs-as-code adoption, Git-based docs workflows, or documentation tooling at surveyed companies at all. A reader who checks the source finds the 68% and no basis for "most of those companies."
This is an understand failure: the reader forms a belief about what the evidence supports that the evidence does not support. It is also a find failure — "According to a Postman survey" gives the reader no way to locate the source. Six other articles in this repo cite the same figure with a linked, year-qualified attribution (for example api-changelog-best-practices.mdx:19, interactive-api-documentation.mdx:31).
Suggested fix — cite properly and drop or ground the second sentence:
The [Postman 2024 State of the API report](https://www.postman.com/state-of-api/2024),
which surveyed over 5,600 developers, found that 68% of developers cite outdated
documentation as their top frustration when working with APIs.
If the docs-as-code framing is essential, it needs its own evidence, or state it as the observation it is: "Outdated docs are not a symptom of missing tooling. Teams with mature docs-as-code workflows report the same frustration."
|
|
||
| [Documentation drift](/blog/technical/documentation-drift-detection-problem) has always been a problem. The cost increased when AI coding assistants became a primary way developers interact with APIs. | ||
|
|
||
| AI agents read your documentation and act on it. Unlike a developer, an agent doesn't get skeptical when something feels dated. It takes your docs at face value and generates code accordingly. The State of Docs Report 2026 found that technical writers are already responding to this shift: spending less time drafting and more time fact-checking and validating. The role has moved toward verification. |
There was a problem hiding this comment.
Critical — statistic attributed to a report that does not contain it, and not linked
Three problems stacked:
- Attribution. The 2026 report's AI section reports 78% saying AI makes documentation faster, and finds technical writers see the smallest gains (31% at 50%+ savings). It contains no finding that writers spend less time drafting and more time fact-checking; the words "fact-checking" do not appear. The nearest material is a qualitative practitioner quote about acting as "editors and reviewers," not a measured time shift among technical writers.
- No link.
documentation-debt.mdx:27links the 2025 edition inline. This one does not, so the reader cannot check it. - Dangling participle. "spending less time drafting" grammatically attaches to "this shift," not to "technical writers."
- Redundant doublet. "fact-checking and validating" names one activity twice.
Suggested fix — use a figure the report actually contains:
The [State of Docs Report 2026](https://www.stateofdocs.com/2026/) found that 76% of
documentation professionals now use AI regularly, and that hallucinations are their
top concern at 62%. Writers are absorbing more verification work, and technical
writers report the smallest time savings of any role.
|
|
||
| Your team has been on docs-as-code for 18 months. Markdown files, Git repository, pull request workflow, CI pipeline that deploys on every merge to main. You followed the playbook. | ||
|
|
||
| At a developer conference last month, three attendees separately asked about an authentication method your product dropped in version 3.2. They had all read it in your quickstart. The quickstart was in your repository, right next to the code that made it wrong. |
There was a problem hiding this comment.
Important — the hook collides two points of view, so the reader cannot tell whose story this is
"At a developer conference last month" is a first-person anecdote: someone was there and observed this. "your product," "your quickstart," and "version 3.2" make it the reader's product. The two cannot both be true. The reader stalls trying to decide whether this is a real event Promptless witnessed or a hypothetical addressed to them. The style guide asks for a hook grounded in a concrete situation; the fix is to commit to one frame.
Also: "They had all read it in your quickstart" — "it" points back to "an authentication method." You don't read a method, you read about one.
Suggested fix (commits to the hypothetical, keeps the specificity):
Three developers file the same support ticket in one week. They are all calling an
authentication endpoint your product dropped in version 3.2. They all got it from
your quickstart, which sits in your repository, one directory away from the code
that made it wrong.
|
|
||
| Version control tracks that documentation changed. It cannot detect which documentation should change in response to a code modification. | ||
|
|
||
| The two systems operate independently. There is no connection in the data model that links `src/auth/token.py` to `docs/authentication/getting-started.md`. Git knows both files exist and tracks their individual histories. A change to the first one doesn't register as relevant to the second. |
There was a problem hiding this comment.
Important — ambiguous antecedent and vague expletive open the key explanatory paragraph
"The two systems" has no clear referent: the preceding sentence names only version control. The reader has to guess (code and docs? Git and the docs site? the repo and the pipeline?). "the data model" is equally unanchored — whose data model? This is the paragraph that carries the article's central mechanism, so vagueness here costs the most.
Suggested fix:
Git tracks files, not the relationships between them. Nothing in its data model links
`src/auth/token.py` to `docs/authentication/getting-started.md`. Git knows both files
exist and tracks their histories separately. A change to the first does not register
as relevant to the second.
|
|
||
| The gap between a docs-as-code workflow and accurate documentation is a change detection problem. When code changes, something needs to identify which documentation that change affects. | ||
|
|
||
| Version control can't do this. It tracks file history, not semantic relationships between files and the product behavior they describe. Closing the gap requires a layer that understands what your documentation says and whether those claims still hold. |
There was a problem hiding this comment.
Important — one idea is stated six times across the article
The claim "version control cannot tell you which docs a code change affects" appears at :29, :45, :47, :49, :65, and :67. Lines 45 and 67 are near-verbatim duplicates in different sections. "Closing the loop" re-establishes the problem before proposing anything, so the section does not advance the argument until :69. A reader skimming hits the same sentence in three separate sections and learns nothing new.
Suggested fix: keep :45 and :47 as the full statement of the problem in "The synchronization problem." Cut this paragraph's first two sentences and open "Closing the loop" directly on what is required:
Closing the gap requires a layer that connects what your documentation says to the
changes that invalidate it.
Also (Suggestion) — borderline against the repo's banned-pattern list. "It tracks file history, not semantic relationships between files and the product behavior they describe" is the negation-contrast family the style guide bans ("X is not Y, but Z"), in its milder "A, not B" form. Cutting the sentence as recommended above resolves it. Flagging so it is not reintroduced elsewhere.
|
|
||
| Teams add a documentation section to PR templates. Engineers check the box. Sometimes the doc gets updated; often it doesn't. The template creates the appearance of process without the substance. | ||
|
|
||
| A dedicated documentation owner helps, but it shifts the problem rather than solving it. Now the writer has to discover that a change happened. They watch Slack and scan pull request descriptions, hoping to catch changes before they surface as support tickets. This is surveillance work, and it doesn't scale as the codebase grows. |
There was a problem hiding this comment.
Suggestion — same concept named different ways, and one verb overstates
This paragraph shifts from "a dedicated documentation owner" to "the writer" mid-paragraph. Pick one term and use it consistently.
Also: "A dedicated documentation owner helps, but it shifts the problem rather than solving it." If it only shifts the problem, "helps" overstates it. Consider: "A dedicated documentation owner moves the problem rather than solving it."
|
|
||
| ## The synchronization problem | ||
|
|
||
| Version control tracks that documentation changed. It cannot detect which documentation should change in response to a code modification. |
There was a problem hiding this comment.
Suggestion — inconsistent terminology
"a code modification" — the article says "a code change" everywhere else (:29, :65). Use "code change" here too.
|
|
||
| Docs-as-code is a set of conventions borrowed from software engineering: documentation lives in source control alongside the code, and changes go through pull requests with CI/CD deployment. | ||
|
|
||
| These conventions solve real problems. Writers can submit pull requests that bundle a code change and its documentation update in the same diff. Reviewers see both together. CI can run link checks and linting before anything merges. Documentation gets the same version history as the code, with rollback capabilities. |
There was a problem hiding this comment.
Suggestion — hidden verb
"with rollback capabilities" → "and you can roll changes back."
|
|
||
| ## Why this matters more now | ||
|
|
||
| [Documentation drift](/blog/technical/documentation-drift-detection-problem) has always been a problem. The cost increased when AI coding assistants became a primary way developers interact with APIs. |
There was a problem hiding this comment.
Suggestion — cost of what, to whom?
"The cost increased when…" leaves the noun unattached. → "The cost of drift increased when…"
|
|
||
| But manual verification has the same discovery problem as manual updates. You can't verify a page you don't know is wrong. [Making docs accessible to agents](/blog/technical/agent-friendly-docs-necessary-not-sufficient) is table stakes. Accuracy is the actual competitive surface. | ||
|
|
||
| A stale doc in your repository now affects every AI tool that ingests your codebase. The blast radius has grown from individual developers to every coding assistant those developers have installed. |
There was a problem hiding this comment.
Suggestion — inflated word choice
"every AI tool that ingests your codebase" → "every AI tool that reads your codebase."
Keyword:
docs-as-code workflowArticle plan
Format: Practical explainer for teams already on docs-as-code who find their docs still drift. Argues for a clear framing (tooling problem vs. synchronization problem), then explains the gap and what closes it.
Thesis: Docs-as-code gets documentation into the right system. Keeping it accurate requires a separate mechanism — automated change detection.
Target reader: Technical writers and DevRel engineers at software companies who have adopted docs-as-code and are hitting its limits. They know Git, they write in Markdown, and their docs still go stale.
Promptless connection: Docs-as-code gets documentation into Git. Promptless ensures what's in Git stays accurate when code changes. The workflow solves proximity; Promptless solves synchronization.
File
src/content/blog/technical/where-the-docs-as-code-workflow-stops.mdxThis is an AI-generated draft and needs human review before publishing. The
hidden: falseflag is already set in the frontmatter — review and publish when ready.Generated by Claude Code