conv.

All stories
AIQuiet 2d · day 6

Montana State prof proposes /src/md directory for AI-generated code workflows

Brady Olano argues that as LLMs generate code, markdown specifications should become tracked source artifacts alongside the generated output.

What to know

  • Olano proposes a /src/md directory convention to version-control human-authored markdown specifications that guide LLM code generation, treating them as source artifacts rather than ephemeral logs.
  • Developers question whether LLMs justify the practice, arguing that colocating source artifacts with code should have been standard before the AI era.
  • Critics raise practical concerns: the proposal captures only initial prompts, not the iterative refinement rounds that shape final output; and a flat markdown directory mirrors poor code organization patterns.
  • The core debate centers on whether markdown specifications can serve as formal, reproducible source artifacts—or whether typed systems and DSLs are better suited to encoding software intent.

The dispute Whether markdown in a /src/md directory addresses reproducibility in agentic coding or merely rebrands a pre-LLM best practice while failing to capture the iterative refinement that actually drives output generation. · positions read across 33 posts and comments

many voices

The proposal conflates a good practice (colocating artifacts) with a new problem (LLM traceability) when artifact locality should precede LLMs.

  • “It's strange to me that LLMs seem to motivate this, instead of 'your source artifacts should live with your code...'”

    cceckman · Lobsters ↗
many voices

The proposal doesn't capture the iterative refinement cycles that actually shape LLM-generated code, only initial prompts.

  • “I don't know how this is actually supposed to work…for anything nontrivial there follows several back and forth rounds where I'm telling it 'actually, rip out the Foo and try just augmenting Bar'…”

    bakkot · Lobsters ↗
some voices

Markdown is too informal and unstructured to serve as a specification vehicle; typed documentation or DSLs would be more rigorous.

  • “Type systems are deterministic & are trying to encode invariants in a predictable manner—2 features LLM outputs don't have. …& this is already frustrating enough that such a bad format for documentation/technical writing, Markdown, is…”

    toastal · Lobsters ↗
some voices

The core idea has merit but the proposed flat /src/md directory repeats mistakes of language-based source organization.

  • “Documentation should live close to what it documents.”

    dlisboa · Lobsters ↗

Brady Olano Montana State University professor, AI consultant

How it unfolded 5 developments, newest first · click a bar or a number to jump postscomments

Peak 8 pieces in two hours at Sep 21, 11 AM; 36 pieces over 6 days (4 posts · 32 comments) Sep 21, 9 AM — 4 pieces · 2 posts · 2 comments — Lobsters 3, Hacker News 1Sep 21, 11 AM — 8 pieces · 8 comments — Lobsters 8Sep 21, 1 PM — 1 piece · 1 comment — Lobsters 1Sep 21, 3 PM — 1 piece · 1 comment — Lobsters 1Sep 21, 5 PM — 2 pieces · 1 post · 1 comment — Hacker News 1, Lobsters 1Sep 21, 7 PM — quietSep 21, 9 PM — quietSep 21, 11 PM — 1 piece · 1 post — Mastodon 1Sep 22, 1 AM — 2 pieces · 2 comments — Hacker News 2Sep 22, 3 AM — quietSep 22, 5 AM — quietSep 22, 7 AM — quietSep 22, 9 AM — quietSep 22, 11 AM — quietSep 22, 1 PM — quietSep 22, 3 PM — 5 pieces · 5 comments — Hacker News 5Sep 22, 5 PM — 3 pieces · 3 comments — Hacker News 3Sep 22, 7 PM — 1 piece · 1 comment — Hacker News 1Sep 22, 9 PM — quietSep 22, 11 PM — 2 pieces · 2 comments — Hacker News 2Sep 23, 1 AM — 2 pieces · 2 comments — Hacker News 2Sep 23, 3 AM — 1 piece · 1 comment — Hacker News 1Sep 23, 5 AM — quietSep 23, 7 AM — 1 piece · 1 comment — Hacker News 1Sep 23, 9 AM — 1 piece · 1 comment — Hacker News 1Sep 23, 11 AM — quietSep 23, 1 PM — quietSep 23, 3 PM — quietSep 23, 5 PM — quietSep 23, 7 PM — quietSep 23, 9 PM — quietSep 23, 11 PM — quietSep 24, 1 AM — quietSep 24, 3 AM — quietSep 24, 5 AM — quietSep 24, 7 AM — quietSep 24, 9 AM — quietSep 24, 11 AM — quietSep 24, 1 PM — quietSep 24, 3 PM — quietSep 24, 5 PM — quietSep 24, 7 PM — quietSep 24, 9 PM — quietSep 24, 11 PM — quietSep 25, 1 AM — quietSep 25, 3 AM — quietSep 25, 5 AM — 1 piece · 1 comment — Lobsters 1Sep 25, 7 AM — quietSep 25, 9 AM — quietSep 25, 11 AM — quietSep 25, 1 PM — quietSep 25, 3 PM — quietSep 25, 5 PM — quietSep 25, 7 PM — quietSep 25, 9 PM — quietSep 25, 11 PM — quietYesterday, 1 AM — quietYesterday, 3 AM — quietYesterday, 5 AM — quietYesterday, 7 AM — quietYesterday, 9 AM — quietYesterday, 11 AM — quietYesterday, 1 PM — quietYesterday, 3 PM — quietYesterday, 5 PM — quietYesterday, 7 PM — quietYesterday, 9 PM — quietYesterday, 11 PM — quietToday, 1 AM — quietToday, 3 AM — quietToday, 5 AM — quietToday, 7 AM — quietToday, 9 AM — quiet 1–5
Sep 22Sep 23Sep 24Sep 25yesterdaynow · 11:50 AM ET
  1. 5

    Commenters debate directory organization and markdown viability

    dlisboa argues the proposed /src/md flat directory structure mirrors the mistake of grouping code by language rather than by module. zetashift and toastal express skepticism about markdown as a formal specification vehicle, noting that typed documentation systems and DSLs offer more predictable guarantees.

    “Documentation should live close to what it documents.”
    — dlisboa
    • > Markdown is becoming source code, not documentation :c

      bgs_practices,vibecoding5d ago13▲view on Lobsters ↗
    2 more of the top 3 · 29 posts in this stretch
    • Personally, I build a loosely compiled / linted DSL to handle spec.It's a SEXP language but could just as easily be markdown. It'd probably be better if it was - I spend a lot of tokens matching parentheses.Compared to markdown - I lose some human readability but gain a lot in workflow.For me - it turns the sort of "free form jazz code odyssey"…

      sroerickHacker News4d agoview on Hacker News ↗
    • hkrn@mstdn.social

      Markdown in /src L: https:// htmx.org/essays/markdown-in-sr c/ C: https:// news.ycombinator.com/item?id=4 9794478 posted on 2026.09.21 at 18:47:54 (c=0, p=6)

      hkrn@mstdn.socialMastodon5d agoview on Mastodon ↗
    all of them →
  2. 4

    Developer argues colocated artifacts should precede LLM era

    cceckman notes that the practice of keeping source artifacts (decision records, lab notebooks, experiment logs) alongside code is not new and should not require LLMs as justification to implement it.

    “It's strange to me that LLMs seem to motivate this, instead of 'your source artifacts should live with your code...' Yeah, someone trying to understand the code needs access to all those; make it accessible to them.”
    — cceckman
    • It's strange to me that LLMs seem to motivate this, instead of "your source artifacts should live with your code..." ...and source artifacts include [decision records](https://adr.github.io/) of [various sorts](https://rfd.shared.oxide.computer/), lab notebooks used to run experiments, etc. Yeah, someone trying to understand the code needs access…

      cceckmanpractices,vibecoding5d ago6▲view on Lobsters ↗
  3. 3

    Developers question whether proposal addresses the real problem

    Commenters on Lobsters push back on the core premise. cceckman argues the essay frames LLMs as motivation for something that should have been standard practice already (colocating source artifacts with code). bakkot raises practical questions about how to capture the iterative back-and-forth refinement that happens between developer and LLM, which the initial prompts do not capture.

    “I don't know how this is actually supposed to work…for anything nontrivial there follows several back and forth rounds where I'm telling it 'actually, rip out the Foo and try just augmenting Bar'…Even if I was capturing these later prompts, they aren't very…”
    — bakkot
    • This essay claims: > Markdown is becoming source code, not documentation

      cceckmanpractices,vibecoding5d ago2▲view on Lobsters ↗
  4. 2

    Essay gains traction on developer communities

    The essay is posted and discussed on Lobsters and Hacker News. Olano clarifies in comments that the key to the proposal is that agents should not generate the /src/md content—it should be human-authored and curated.

    “I believe that agents should not be used to generate much content in /src/md. This directory should be mainly human authored and curated.”
    — Brady Olano
    • > I believe that agents should not be used to generate much content in /src/md. This directory should be mainly human authored and curated. I think that’s the key to this proposal but it’s buried deep down in the article. Otherwise people would assume plan mode slop which I find is excruciating to review.

      facundoolanopractices,vibecoding6d ago8▲view on Lobsters ↗
    1 more of the top 2 · 2 posts in this stretch
    • > A Proposed /src/md Convention > > This is necessarily the weakest part of this essay because this is a new idea and I haven’t used it extensively yet. It is me thinking out loud and inviting discussion. I'm glad this was acknowledged because it really makes no sense to have a "markdown" directory with everything in it, just as it doesn't make…

      dlisboapractices,vibecoding6d ago4▲view on Lobsters ↗
    all of them →
  5. 1

    Brady Olano publishes essay on markdown as source in agentic coding

    Olano, a Montana State University professor who does consulting work on agentic coding systems, publishes an essay on htmx.org proposing that markdown specifications used to guide LLM code generation should be version-controlled in a /src/md directory alongside the generated code.

    “It is starting to feel as if the application logic of the software is being defined and edited as markdown, and the actual code that is generated by the agent is sort of becoming a low-level implementation detail.”
    — Brady Olano

What people are saying 17 voices from 2 sites · best of 33 · verbatim

Still unanswered
  • How would the /src/md directory capture the iterative prompting loops that refine code, not just the initial specification?
  • Should artifacts be colocated near the modules they document, rather than grouped in a flat /src/md directory?
  • Is markdown sufficiently formal to serve as source-of-truth specification for code generation, or do typed systems better encode intent?