AI disclosure
How AI tools fit into Phosphor's development.
How AI is used
Some of Phosphor's code and documentation is drafted with large-language-model coding assistants. The common use is scaffolding new code from a written spec, applying bulk refactors when an API changes, and taking an internal design note through to a first-pass public guide.
Commits where an AI assistant did meaningful drafting carry a Co-Authored-By: trailer that names the tool. Git history is where we track it, so git log --grep Co-Authored-By in any Phosphor repo enumerates the AI-assisted changes.
Review
Before a change is proposed for human review, every diff runs through an AI review loop. A reviewer model reads the change, raises whatever it can find, and the author revises. The loop keeps iterating until the reviewer has nothing further to flag. By the time a human looks, the obvious issues are already gone, which leaves the final pass free to focus on intent and fit with the rest of the codebase.
Every diff that lands on main has then been read and approved by a human author. The review bar is the same whether the draft came from a person or a model, and the same CI runs against it. If an AI-assisted change regresses something, the human who approved the merge owns the fix.
Security-sensitive work gets extra scrutiny. Sandbox hardening, D-Bus surfaces, and config migration are reviewed against their threat models; an AI draft in that area is a starting point for review, not a replacement for thinking it through.
What isn't AI-generated
- Brand assets. The logos, icons, and color tokens under
phosphor-works/brandingare hand-designed and licensed CC-BY-SA 4.0. No AI image generation is used for brand work. - Licensing and architectural decisions. What libraries exist, the GPL-vs-LGPL split, which interfaces are public, and when a public contract changes are all decided by people in issues and design docs.
- Issue triage and roadmap. Deciding what ships in a release, which bugs to prioritize, and whether an idea is worth building at all is not handed off to a model.