<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="388381" data-post-id="388381">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="mikehostetler" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mikehostetler/120/20620_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  mikehostetler
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="allen-munsch" data-post="22" data-topic="75168">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/allen-munsch/48/39556_2.png" class="avatar"> allen-munsch:</div>
<blockquote>
<p>quality is in large part dependent on who, or what is running, reading, or interacting with it</p>
</blockquote>
</aside>
<p>Agree here - an author’s definition of Quality must be defined.</p>
<p>I’ve attempted to do this here for Jido Packages: <a href="https://jido.run/docs/contributors/package-quality-standards" class="inline-onebox" rel="noopener nofollow ugc">Package Quality Standards · Agent Jido</a></p>
<p>I’ll be the first to say that I find this definition incomplete. It’s a continuous work in progress.  I have had some good success with pointing agents at this document to align a package with this definition.</p>
<p>I’ve been collaborating with <span class="mention">@dannote</span> and his work in packages like <code>ex_slop</code> to help with this - I know there are others.  Here’s some results:</p>
<p><a href="https://github.com/agentjido/jido/pull/268" class="onebox" target="_blank" rel="noopener nofollow ugc">https://github.com/agentjido/jido/pull/268</a><br>
<a href="https://github.com/agentjido/jido_signal/pull/151" class="onebox" target="_blank" rel="noopener nofollow ugc">https://github.com/agentjido/jido_signal/pull/151</a><br>
<a href="https://github.com/agentjido/jido_action/pull/161" class="onebox" target="_blank" rel="noopener nofollow ugc">https://github.com/agentjido/jido_action/pull/161</a></p>
<p>It’s a constant process.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="388381" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/how-to-measure-ai-code-quality/75168/32">Post #31</a>
	                </div>
	            </div>
              <div id="likers-container-388381" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="388381"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #31"></div>
  </section>
</div>
    <div class="postbit" id="388383" data-post-id="388383">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="dimitarvp" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/120/38664_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  dimitarvp
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>TIL I learned about <code>ex_slop</code>, thank you for making me aware of it!</p>
<p>I’ll also read your article.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="388383" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/how-to-measure-ai-code-quality/75168/33">Post #32</a>
	                </div>
	            </div>
              <div id="likers-container-388383" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="388383"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #32"></div>
  </section>
</div>
    <div class="postbit" id="388385" data-post-id="388385">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="mikehostetler" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mikehostetler/120/20620_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  mikehostetler
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I forgot to mention - just this week - I’ve been iterating on my shared Github Actions for the Jido ecosystem: <a href="https://github.com/agentjido/github-actions" class="inline-onebox" rel="noopener nofollow ugc">GitHub - agentjido/github-actions: Reusable GitHub Actions workflows for Elixir CI/CD across Jido repositories · GitHub</a></p>
<p>I learned a lot from the Ash Ecosystem on this - <a href="https://github.com/ash-project/ash/blob/main/.github/workflows/ash-ci.yml" class="inline-onebox" rel="noopener nofollow ugc">ash/.github/workflows/ash-ci.yml at main · ash-project/ash · GitHub</a></p>
<p>This underscores my point above that “Quality” must be defined - and then encoded in both a welcoming developer experience but also serve a pragmatic purpose.</p>
<p>That definition of Quality must be accessible to both Humans and Agents. It’s critical across a large codebase - public or private - to maintain mental alignment among a team and that doesn’t come for free.  Great projects and teams do a lot of work to make this happen. I am a big believer that if you optimize for a healthy and great “Human Developer” experience, you’ll get the good agentic experience by default too (with a few caveats!).</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="388385" data-batch-url="/posts/batch_likers">
                        4
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/how-to-measure-ai-code-quality/75168/34">Post #33</a>
	                </div>
	            </div>
              <div id="likers-container-388385" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="388385"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #33"></div>
  </section>
</div>
    <div class="postbit" id="388387" data-post-id="388387">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="dimitarvp" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/120/38664_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  dimitarvp
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I am a big believer in the same, it’s just that I am so busy lately that I can only dream of formalizing things in such ways. Big appreciation from me that you and many others are actively working on this – love it, will try and use every applicable bit for my personal and paid projects, and will provide feedback (eventually).</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="388387" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/how-to-measure-ai-code-quality/75168/35">Post #34</a>
	                </div>
	            </div>
              <div id="likers-container-388387" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="388387"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #34"></div>
  </section>
</div>
    <div class="postbit" id="388639" data-post-id="388639">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="johns10davenport" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/johns10davenport/120/22251_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  johns10davenport
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Man, I’m reading this thread. It’s so deep I’ve literally been on it for 2 days. I just read through the bitter lesson. This is a tough pill to swallow. My own harness incorporates a lot of encoding of human knowledge and process. The article is making me question my entire approach.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="388639" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/how-to-measure-ai-code-quality/75168/36">Post #35</a>
	                </div>
	            </div>
              <div id="likers-container-388639" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="388639"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #35"></div>
  </section>
</div>
    <div class="postbit" id="388646" data-post-id="388646">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Vidar" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Vidar
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>(I’m just answering at the end of the thread).</p>
<p>A key problem is that the LLMs can churn out code much faster than we can review it. And in ideal world we might not have to, but we’re not quite there yet.</p>
<p>So I’ve been working on a different strategy that should also improve quality. There are few steps to do this, but some keys ones are:</p>
<ol>
<li>Make and extract as much code as possible into pure contexts and modules, and add full testing. This is stable code that should just keep working. For most tested Elixir repos the extract varies between 30% to 70% of the overall code. I think removing that from active headspace use is a worthwhile win.</li>
<li>Separating the architectural layer so the LLM can think in architecture terms instead of mixing it up with various implemention details. The architecture extract is about 4% to 8% of most repos tested which allow for more focused LLM deliberations, and easier restructuring at the architectural level.</li>
<li>The above makes it possible to add gates and hooks to the architectural design, and thus deterministically block known bad architecture or only leave wanted big picture structures. (And make loops and let the AI figure it out/ optimize over time).</li>
<li>It is possible to review the architecture independently, and the pure function sections just work. The code surface needing review gets a lot smaller and more focused.</li>
</ol>
<p>Then there are outer rigidity and loops. I’ll use or get inspired by gtcode setup for that I think.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="388646" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/how-to-measure-ai-code-quality/75168/37">Post #36</a>
	                </div>
	            </div>
              <div id="likers-container-388646" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="388646"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #36"></div>
  </section>
</div>
    <div class="postbit" id="388673" data-post-id="388673">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="gtcode" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/gtcode/120/234_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  gtcode
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>There already exists a lot of great wisdom about the right way to build apps on the BEAM, including how to “measure” code quality (which applies to AI-generated code, too, in concept). This knowledge is in books, and in the minds of the best developers in this community, many with whom I’m humbled to share this forum space. Some such wisdom is in the models. That doesn’t mean that the models and their default harnesses will actually be able to translate your loose requirements into high quality code. And, as we’ve seen, so far, default results from both Claude and Codex don’t quite resemble idiomatic or correct Elixir/OTP code, at least by my lights.</p>
<p>However, given that, I still believe it is possible to build an automated system to work through the process of building correct apps on the BEAM with AI. If the best Elixir/OTP developers put their minds together, it’s possible. I don’t know if it will cover all application types. I’ve seen a few developers post their work and/or knowledge revealing their expertise, which is deep enough that it likely would qualify as “highly specialized, hard to automate”. So maybe this vision would apply to many apps that can be built on the BEAM, but not all.</p>
<p>Here’s an attempt to build a systematic process for Elixir. It’s likely similar to what can be obtained from some of the better books on the subject, and in fact was inspired by such material:</p>
<p><a href="https://github.com/nshkrdotcom/docs/tree/main/elixirDesignGuide/canonical_elixir_otp_guide" rel="noopener nofollow ugc">Canonical Elixir/OTP Guide</a></p>
<p>This is a first draft for a guide to cover both greenfield and brownfield Elixir development, with a focus on large-scale projects. Take it wherever it needs to go.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="388673" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/how-to-measure-ai-code-quality/75168/38">Post #37</a>
	                </div>
	            </div>
              <div id="likers-container-388673" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="388673"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #37"></div>
  </section>
</div>
    <div class="postbit" id="388680" data-post-id="388680">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Vidar" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Vidar
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="gtcode" data-post="38" data-topic="75168">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/gtcode/48/234_2.png" class="avatar"> gtcode:</div>
<blockquote>
<p>There already exists a lot of great wisdom about the right way to build apps on the BEAM, including how to “measure” code quality (which applies to AI-generated code, too, in concept). This knowledge is in books, and in the minds of the best developers in this community, many with whom I’m humbled to share this forum space.</p>
</blockquote>
</aside>
<p>That is a sentiment I fully share.</p>
<p>From there though there are two likely somewhat diverging paths:</p>
<ol>
<li>Make an automated system to build apps as closely as possible to human optimized code.</li>
<li>Make an automated system to build apps optimized for model generation and human review.</li>
</ol>
<p>I think we are moving toward the second one. Not because the first isn’t great today, but because what is optimal for use with LLM has likely moved the goalpost some? I think this something we might be massaging quite a while before it lands.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="388680" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/how-to-measure-ai-code-quality/75168/39">Post #38</a>
	                </div>
	            </div>
              <div id="likers-container-388680" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="388680"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #38"></div>
  </section>
</div>
    <div class="postbit" id="388709" data-post-id="388709">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="johns10davenport" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/johns10davenport/120/22251_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  johns10davenport
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I think you’re correct that there’s a lot of great wisdom about the right way to build apps on the BEAM and in Elixir. The problem for us is that we’re conflating several different concerns and trying to shoehorn all of them into “code quality.”</p>
<p>If we’re directly measuring the output of large language models, it needs to fall into several different categories so we can break down this problem and have a fighting chance of addressing each one. The first and most important thing we need to measure is correctness. When I say correctness, I mean at the application level, not the module level. You can have a collection of correct modules that do not compose into a correct application.</p>
<p>The second most important thing, in my opinion, is architecture. Did the model use the right tool for the job? Did it put the code in the right place? Did it respect the architecture decisions that have been made about the application? The third is security. It’s important enough that it deserves its own category. And the last and least important, in my opinion, is actually code quality.</p>
<p>There are potential additional buckets worth considering - performance, maintainability, observability and instrumentation, documentation. I’d argue most of these fold into the categories above.</p>
<p>The reason I’m proposing this breakdown is that it makes each problem easier to solve, and it helps us better understand and communicate about the solutions this community is already presenting. Archdo obviously fits into architecture. Parts of living substrate fit into architecture. Parts of the cleanup guide fit into architecture. Ragex has security rules. The cleanup guide has security rules.</p>
<p>The thing I find most interesting is that everyone on this thread is more focused on code quality, security, and architectural compliance, and less focused on correctness. I’ve done several harness builds and experiments, and I’ve achieved a great deal of success generating full Elixir applications by focusing myopically on correctness.</p>
<p>Following up on what I said earlier about the bitter lesson: after sitting with it, I don’t think this approach conflicts. We’re not trying to encode human knowledge into the model’s decision making. We’re offering procedural resources to the model to use, because static checks are just more effective. We don’t want to roll the dice with verification.</p>
<p>So my question back: does it make sense to try to break this measurement problem down into these characteristic components, so each one can be measured with the tools and discipline that fit it best?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="388709" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/how-to-measure-ai-code-quality/75168/40">Post #39</a>
	                </div>
	            </div>
              <div id="likers-container-388709" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="388709"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #39"></div>
  </section>
</div>
    <div class="postbit" id="388710" data-post-id="388710">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="dimitarvp" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/120/38664_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  dimitarvp
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="johns10davenport" data-post="40" data-topic="75168">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/johns10davenport/48/22251_2.png" class="avatar"> johns10davenport:</div>
<blockquote>
<p>The thing I find most interesting is that everyone on this thread is more focused on code quality, security, and architectural compliance, and less focused on correctness.</p>
</blockquote>
</aside>
<p>Because we view code quality as one of the <em>vehicles</em> through which we can achieve correctness. There are others as well.</p>
<aside class="quote no-group" data-username="johns10davenport" data-post="40" data-topic="75168">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/johns10davenport/48/22251_2.png" class="avatar"> johns10davenport:</div>
<blockquote>
<p>So my question back: does it make sense to try to break this measurement problem down into these characteristic components, so each one can be measured with the tools and discipline that fit it best?</p>
</blockquote>
</aside>
<p>Of course it does make sense. Every big and vague problem must get this same treatment: break it down enough until it’s 100% measurable.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="388710" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/how-to-measure-ai-code-quality/75168/41">Post #40</a>
	                </div>
	            </div>
              <div id="likers-container-388710" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="388710"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #40"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/75168/load_more?page=5">Load more posts (30 remaining)</a>
</div></template></turbo-stream>