{"id":218,"date":"2026-10-28T09:01:19","date_gmt":"2026-10-28T09:01:19","guid":{"rendered":"https:\/\/www.dobryakov.net\/blog\/218\/"},"modified":"2026-10-28T09:01:19","modified_gmt":"2026-10-28T09:01:19","slug":"ai-luddites-autotest-parallel","status":"publish","type":"post","link":"https:\/\/www.dobryakov.net\/blog\/218\/","title":{"rendered":"AI Code Doesn&#8217;t Need Line-by-Line Review. It Needs a QA Loop."},"content":{"rendered":"<p>I finally understood why anti-AI luddites so fiercely deny generated code. The reason is exactly the one that made them deny automated tests a generation ago.<\/p>\n<p>I understood this not from an article about AI, but from my own memory of people who, twenty years ago, used the exact same intonation to explain why you cannot trust automation but can trust your eyes.<\/p>\n<p><!--more--><\/p>\n<h2>How a healthy engineer behaves<\/h2>\n<p>You have an application. It does not matter who wrote it: you, your colleagues, a model, or somebody who downloaded it from the internet. A healthy engineer takes it and covers it with tests.<\/p>\n<p>Emphasis: you cover the application, not the code. With functional and non-functional end-to-end tests. You simulate the conditions in which the application will run in production: under the corresponding load, with realistic data volumes, and you pull its levers with real operational tasks.<\/p>\n<p>Non-functional tests are a separate class: load, resilience, security, data volumes, and other non-functional requirements from the customer and desired operating conditions. Not &quot;does the form open,&quot; but &quot;what happens to the system under real pressure.&quot;<\/p>\n<p>If the application withstands all of this, it is fit for operation. The logic is simple: if you simulated operation on a staging environment faithfully enough, the application will perform the same functions no worse in real operation. This is not faith. This is what the entire discipline of testing has stood on for decades.<\/p>\n<h2>What the luddit answers<\/h2>\n<p>&quot;Pfft, nonsense, neuroslop, this guarantees nothing. You have to read the code with your eyes.&quot;<\/p>\n<p>Let us break this position down on its merits, because it deserves the breakdown \u2014 as any claim that looks sound but falls apart at first touch deserves.<\/p>\n<p>You took a vibe-coded application and put it in an environment that is a copy of production. You loaded it with data that is a copy of production. You applied load that is a copy of production. You exercised every function exactly the way real users exercise it: with synthetic traffic or replayed recordings from real production logs.<\/p>\n<p>And you saw: everything works. Memory does not leak. Keys do not leak to third parties. The database does not deadlock. Disk space does not run out. The network does not collapse. Vulnerability scanners show zero.<\/p>\n<p>After all that, they tell you none of this guarantees anything, and you absolutely must read every line with your eyes.<\/p>\n<p>One question: what exactly will reading lines with your eyes add to a staging environment that has already reproduced production in full? A human reading a diff will not see a memory leak under load \u2014 the profiler on the staging environment sees it. Will not see a deadlock on realistic data volumes \u2014 the load test catches it. Will not find a vulnerability faster than a scanner. The engineer&#x27;s eye checks the author&#x27;s intent for a line. The staging environment checks the system&#x27;s behavior. In production, behavior works, not intent.<\/p>\n<h2>Where I have seen these people before<\/h2>\n<p>I started recalling where I had seen this way of arguing before. And I remembered. Wherever automated tests were being introduced.<\/p>\n<p>The argument &quot;for&quot; was then word-for-word the same as the argument &quot;for AI&quot; now: you can write without staring at every line, and verify the result end-to-end instead of reading code by eye. Trust verified behavior, not manual inspection.<\/p>\n<p>The argument &quot;against&quot; is mirror-identical, with the sign flipped: &quot;the machine does not understand meaning,&quot; &quot;this guarantees nothing,&quot; &quot;a real engineer must walk the code by hand.&quot; Swap the word &quot;automated test&quot; for &quot;AI&quot; and you cannot tell a 2008 speech from a 2026 one.<\/p>\n<p>Modern anti-AI luddites are exactly the same people who once resisted automated tests in favor of massive time sinks in manual review. Same role, same logic, same arguments that lost twenty years ago. History has already issued a verdict in this dispute \u2014 there is just different stage dressing now.<\/p>\n<h2>The loop, not the eyes<\/h2>\n<p>From this follows a practical conclusion that will outlive the entire debate.<\/p>\n<p>If you provide AI coding with a normal QA process \u2014 the staging environment described above \u2014 a vibe-coded application works identically to one written by hand. Not &quot;almost,&quot; not &quot;with caveats.&quot; Identically in observable behavior, because what is being checked is exactly behavior under production conditions.<\/p>\n<p>There is a live illustration of this thesis. A founder single-handedly rewrote a decade-old codebase on AI infrastructure: about six months without production incidents, 10\u201315 deploys a day. This is someone else&#x27;s case, not my personal experience \u2014 but it shows exactly what is at stake: AI code plus a process equals reliability. Reliability comes from the process, not from the origin of the lines.<\/p>\n<p>Manual line-by-line review of AI code is isomorphic to the old resistance to automated tests: a control ritual that feels like safety but does not produce it. Safety is produced by a behavior-checking loop. An eye over a diff does not produce it.<\/p>\n<h2>Who knows how to build this<\/h2>\n<p>The entire catch is that &quot;just provide normal QA&quot; is itself the work. A staging copy of production, synthetic load based on real logs, non-functional tests, quality gates, unified acceptance rules \u2014 this is not something that boots itself just because you are against luddites.<\/p>\n<p>I built this loop with my own hands. At Korus \u2014 scaling automated tests on PHPUnit and Cypress, growing release reliability, formalizing quality control processes and quality gates at the department level. At UMI, the tracker had several thousand bugs hanging open at the start, with 5\u201310 new ones arriving daily; after introducing QA practices, systematic bug tracking, unified acceptance rules, and CI\/CD, release quality and stability improved concretely.<\/p>\n<p>That is the skill that turns vibe-coded into production-grade: not reading lines, but building an acceptance loop you can trust.<\/p>\n<p>So the dispute over &quot;reading code with your eyes&quot; has been closed for a long time \u2014 it was closed back on automated tests. All that remains is to build the loop, and if you need someone who can assemble this loop in practice \u2014 you know where to find me.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The argument that AI-generated code is unsafe without manual review is the same argument that lost to automated testing twenty years ago.<\/p>\n","protected":false},"author":0,"featured_media":217,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-218","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"The myth that AI code requires line-by-line review is isomorphic to the old resistance to automated testing. Here is why the QA loop wins.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.dobryakov.net\/blog\/218\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Grigoriy Dobryakov - IT+AI Blog - Grigoriy Dobryakov&#039;s blog: management, development and testing\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"AI Code Doesn&#039;t Need Manual Review \u2014 It Needs a QA Loop\" \/>\n\t\t<meta property=\"og:description\" content=\"The myth that AI code requires line-by-line review is isomorphic to the old resistance to automated testing. Here is why the QA loop wins.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.dobryakov.net\/blog\/218\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-10-28T09:01:19+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-10-28T09:01:19+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"AI Code Doesn&#039;t Need Manual Review \u2014 It Needs a QA Loop\" \/>\n\t\t<meta name=\"twitter:description\" content=\"The myth that AI code requires line-by-line review is isomorphic to the old resistance to automated testing. Here is why the QA loop wins.\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/218\\\/#blogposting\",\"name\":\"AI Code Doesn't Need Manual Review \\u2014 It Needs a QA Loop\",\"headline\":\"AI Code Doesn&#8217;t Need Line-by-Line Review. It Needs a QA Loop.\",\"author\":{\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/author\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/ai-luddites-autotest-parallel.jpg\",\"width\":1200,\"height\":630,\"caption\":\"AI Code Doesn't Need Line-by-Line Review. It Needs a QA Loop.\"},\"datePublished\":\"2026-10-28T09:01:19+00:00\",\"dateModified\":\"2026-10-28T09:01:19+00:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/218\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/218\\\/#webpage\"},\"articleSection\":\"Uncategorized\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/218\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/category\\\/uncategorized\\\/#listItem\",\"name\":\"Uncategorized\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/category\\\/uncategorized\\\/#listItem\",\"position\":2,\"name\":\"Uncategorized\",\"item\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/category\\\/uncategorized\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/218\\\/#listItem\",\"name\":\"AI Code Doesn&#8217;t Need Line-by-Line Review. It Needs a QA Loop.\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/218\\\/#listItem\",\"position\":3,\"name\":\"AI Code Doesn&#8217;t Need Line-by-Line Review. It Needs a QA Loop.\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/category\\\/uncategorized\\\/#listItem\",\"name\":\"Uncategorized\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/#organization\",\"name\":\"Grigoriy Dobryakov - IT+AI Blog\",\"description\":\"Grigoriy Dobryakov's blog: management, development and testing\",\"url\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/218\\\/#webpage\",\"url\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/218\\\/\",\"name\":\"AI Code Doesn't Need Manual Review \\u2014 It Needs a QA Loop\",\"description\":\"The myth that AI code requires line-by-line review is isomorphic to the old resistance to automated testing. Here is why the QA loop wins.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/218\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/author\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/author\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/ai-luddites-autotest-parallel.jpg\",\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/218\\\/#mainImage\",\"width\":1200,\"height\":630,\"caption\":\"AI Code Doesn't Need Line-by-Line Review. It Needs a QA Loop.\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/218\\\/#mainImage\"},\"datePublished\":\"2026-10-28T09:01:19+00:00\",\"dateModified\":\"2026-10-28T09:01:19+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/\",\"name\":\"Grigoriy Dobryakov - IT+AI Blog\",\"description\":\"Grigoriy Dobryakov's blog: management, development and testing\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.dobryakov.net\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"AI Code Doesn't Need Manual Review \u2014 It Needs a QA Loop","description":"The myth that AI code requires line-by-line review is isomorphic to the old resistance to automated testing. Here is why the QA loop wins.","canonical_url":"https:\/\/www.dobryakov.net\/blog\/218\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.dobryakov.net\/blog\/218\/#blogposting","name":"AI Code Doesn't Need Manual Review \u2014 It Needs a QA Loop","headline":"AI Code Doesn&#8217;t Need Line-by-Line Review. It Needs a QA Loop.","author":{"@id":"https:\/\/www.dobryakov.net\/blog\/author\/#author"},"publisher":{"@id":"https:\/\/www.dobryakov.net\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/www.dobryakov.net\/blog\/wp-content\/uploads\/2026\/10\/ai-luddites-autotest-parallel.jpg","width":1200,"height":630,"caption":"AI Code Doesn't Need Line-by-Line Review. It Needs a QA Loop."},"datePublished":"2026-10-28T09:01:19+00:00","dateModified":"2026-10-28T09:01:19+00:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.dobryakov.net\/blog\/218\/#webpage"},"isPartOf":{"@id":"https:\/\/www.dobryakov.net\/blog\/218\/#webpage"},"articleSection":"Uncategorized"},{"@type":"BreadcrumbList","@id":"https:\/\/www.dobryakov.net\/blog\/218\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.dobryakov.net\/blog#listItem","position":1,"name":"Home","item":"https:\/\/www.dobryakov.net\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/www.dobryakov.net\/blog\/category\/uncategorized\/#listItem","name":"Uncategorized"}},{"@type":"ListItem","@id":"https:\/\/www.dobryakov.net\/blog\/category\/uncategorized\/#listItem","position":2,"name":"Uncategorized","item":"https:\/\/www.dobryakov.net\/blog\/category\/uncategorized\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.dobryakov.net\/blog\/218\/#listItem","name":"AI Code Doesn&#8217;t Need Line-by-Line Review. It Needs a QA Loop."},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.dobryakov.net\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.dobryakov.net\/blog\/218\/#listItem","position":3,"name":"AI Code Doesn&#8217;t Need Line-by-Line Review. It Needs a QA Loop.","previousItem":{"@type":"ListItem","@id":"https:\/\/www.dobryakov.net\/blog\/category\/uncategorized\/#listItem","name":"Uncategorized"}}]},{"@type":"Organization","@id":"https:\/\/www.dobryakov.net\/blog\/#organization","name":"Grigoriy Dobryakov - IT+AI Blog","description":"Grigoriy Dobryakov's blog: management, development and testing","url":"https:\/\/www.dobryakov.net\/blog\/"},{"@type":"WebPage","@id":"https:\/\/www.dobryakov.net\/blog\/218\/#webpage","url":"https:\/\/www.dobryakov.net\/blog\/218\/","name":"AI Code Doesn't Need Manual Review \u2014 It Needs a QA Loop","description":"The myth that AI code requires line-by-line review is isomorphic to the old resistance to automated testing. Here is why the QA loop wins.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.dobryakov.net\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.dobryakov.net\/blog\/218\/#breadcrumblist"},"author":{"@id":"https:\/\/www.dobryakov.net\/blog\/author\/#author"},"creator":{"@id":"https:\/\/www.dobryakov.net\/blog\/author\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/www.dobryakov.net\/blog\/wp-content\/uploads\/2026\/10\/ai-luddites-autotest-parallel.jpg","@id":"https:\/\/www.dobryakov.net\/blog\/218\/#mainImage","width":1200,"height":630,"caption":"AI Code Doesn't Need Line-by-Line Review. It Needs a QA Loop."},"primaryImageOfPage":{"@id":"https:\/\/www.dobryakov.net\/blog\/218\/#mainImage"},"datePublished":"2026-10-28T09:01:19+00:00","dateModified":"2026-10-28T09:01:19+00:00"},{"@type":"WebSite","@id":"https:\/\/www.dobryakov.net\/blog\/#website","url":"https:\/\/www.dobryakov.net\/blog\/","name":"Grigoriy Dobryakov - IT+AI Blog","description":"Grigoriy Dobryakov's blog: management, development and testing","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.dobryakov.net\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"Grigoriy Dobryakov - IT+AI Blog - Grigoriy Dobryakov's blog: management, development and testing","og:type":"article","og:title":"AI Code Doesn't Need Manual Review \u2014 It Needs a QA Loop","og:description":"The myth that AI code requires line-by-line review is isomorphic to the old resistance to automated testing. Here is why the QA loop wins.","og:url":"https:\/\/www.dobryakov.net\/blog\/218\/","article:published_time":"2026-10-28T09:01:19+00:00","article:modified_time":"2026-10-28T09:01:19+00:00","twitter:card":"summary_large_image","twitter:title":"AI Code Doesn't Need Manual Review \u2014 It Needs a QA Loop","twitter:description":"The myth that AI code requires line-by-line review is isomorphic to the old resistance to automated testing. Here is why the QA loop wins."},"aioseo_meta_data":{"post_id":"218","title":"AI Code Doesn't Need Manual Review \u2014 It Needs a QA Loop","description":"The myth that AI code requires line-by-line review is isomorphic to the old resistance to automated testing. Here is why the QA loop wins.","keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":"AI Code Doesn't Need Manual Review \u2014 It Needs a QA Loop","og_description":"The myth that AI code requires line-by-line review is isomorphic to the old resistance to automated testing. Here is why the QA loop wins.","og_object_type":"default","og_image_type":"default","og_image_custom_url":null,"og_image_custom_fields":null,"og_image_url":null,"og_image_width":null,"og_image_height":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_image_url":null,"twitter_title":"AI Code Doesn't Need Manual Review \u2014 It Needs a QA Loop","twitter_description":"The myth that AI code requires line-by-line review is isomorphic to the old resistance to automated testing. Here is why the QA loop wins.","schema_type":"default","schema_type_options":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null,"created":"2026-10-28 09:01:23","updated":"2026-10-28 09:01:23"},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.dobryakov.net\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.dobryakov.net\/blog\/category\/uncategorized\/\" title=\"Uncategorized\">Uncategorized<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tAI Code Doesn\u2019t Need Line-by-Line Review. It Needs a QA Loop.\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.dobryakov.net\/blog"},{"label":"Uncategorized","link":"https:\/\/www.dobryakov.net\/blog\/category\/uncategorized\/"},{"label":"AI Code Doesn&#8217;t Need Line-by-Line Review. It Needs a QA Loop.","link":"https:\/\/www.dobryakov.net\/blog\/218\/"}],"_links":{"self":[{"href":"https:\/\/www.dobryakov.net\/blog\/wp-json\/wp\/v2\/posts\/218","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dobryakov.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dobryakov.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dobryakov.net\/blog\/wp-json\/wp\/v2\/comments?post=218"}],"version-history":[{"count":0,"href":"https:\/\/www.dobryakov.net\/blog\/wp-json\/wp\/v2\/posts\/218\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dobryakov.net\/blog\/wp-json\/wp\/v2\/media\/217"}],"wp:attachment":[{"href":"https:\/\/www.dobryakov.net\/blog\/wp-json\/wp\/v2\/media?parent=218"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dobryakov.net\/blog\/wp-json\/wp\/v2\/categories?post=218"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dobryakov.net\/blog\/wp-json\/wp\/v2\/tags?post=218"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}