Policy on AI / LLM Contributions

I wanted to bring this thread back because I saw an article today by Dan Shapiro on "the five levels from spicy autocomplete to the software factory

  1. Spicy autocomplete, aka original GitHub Copilot or copying and pasting snippets from ChatGPT.
  2. The coding intern, writing unimportant snippets and boilerplate with full human review.
  3. The junior developer, pair programming with the model but still reviewing every line.
  4. The developer. Most code is generated by AI, and you take on the role of full-time code reviewer.
  5. The engineering team. You’re more of an engineering manager or product/program/project manager. You collaborate on specs and plans, the agents do the work.
  6. The dark software factory, like a factory run by robots where the lights are out because robots don’t need to see.

I think the biggest take-home is that for Avogadro, code needs to be correct particularly for science-related topics. The force fields, the molecular dynamics, molecular surfaces, orbitals, etc. needs substantial human intervention and review.

I’ve been playing with Claude Opus 4.5 because Pitt has a license and I can say it’s pretty good at levels 0 and 1, particularly boilerplate. But it absolutely fails more advanced math (because it’s a text engine) and plenty of chemistry.

So I’ll go with a policy of “levels 0 and 1 are probably fine.” For example “help me generate some Qt C++ code for a dialog that shows …”

I might also add:

  • discussing a high-level plan that’s implemented by humans / level 0 seems okay, e.g., “can you help me plan mechanisms to provide a simple security sandbox for scripts. What are some pros and cons of the different approaches?”
  • using various AI tools to help code review (e.g., CodeRabbit seems useful but does not replace human review)
  • using an AI tool to guide debugging / bug fixing – that’s implemented by humans (e.g. “there seems to be a race condition in the properties dialog during vibration, can you suggest some possible solutions?”)

I think these fall into the green / yellow criteria.

I reserve the right to reject contributions that seem like they were generated mostly by an ML tool, and code review will continue, particularly for any chemistry-specific or mathematical components.

Should I write this up into some sort of AGENTS.md file or onto the website?