Generate the docs
Point it at your code and it writes the reference spec: what each part is supposed to do. That spec becomes the contract.
→Docs-Driven Development
Your docs become the source of truth. Smithers generates them from your code, scans for where the code has drifted, and loops it back until the two agree.
deploy() throws on first failure. No retry, no backoff.
Why this exists
Tests pass, the PR looks clean, and you merge it. A week later you find it does not do what you meant, because nothing ever pinned the intent. There was no artifact the agent was accountable to.
The loop
Three workflows that turn a pile of code into a spec, then keep the code honest to it.
Point it at your code and it writes the reference spec: what each part is supposed to do. That spec becomes the contract.
→Bug-scan reads code against the spec and files a ticket wherever the two disagree. Real gaps, not guesses.
→The improve loop takes a ticket and edits the code until it meets the clause, with a test-coverage pass to prove it.
What you get
Generated reference docs become the spec every later change is checked against, not throwaway comments.
The scan turns "the code does not match the spec" into concrete, reviewable tickets on a board.
The improve and quality-loop workflows keep pulling code toward the contract until they agree.
A test-coverage workflow backs each fix with a test, so the contract stays enforced over time.
Generate the spec, let the scan find the drift, and let the loop close it.