Where the time actually goes
Refinement turns a request into something buildable, and it is expensive. Someone has to ask the questions nobody thought of, decide the approach, and write it down clearly enough for another person to implement.
CodeLynq does the first draft of that. A validation chat asks the questions, a technical spec proposes the approach against your actual codebase, and your engineers correct it rather than starting from blank.
Your conventions, not generic code
Each project carries its own architecture notes, coding conventions and test strategy, and CodeLynq can propose those by reading your repository so you are not filling in empty boxes. Every run is grounded in them.
It also remembers. When a reviewer says a change should have used the repository pattern instead of raw SQL, that becomes a rule the next task already knows.
The work does not stop at the pull request
Before a reviewer sees anything, the run has executed your test command, reviewed its own diff and scanned it for secrets and vulnerabilities, fixing what it could and writing what it could not into the PR body. When CI then goes red, or a reviewer asks for changes, it can come back and work the same branch instead of leaving it to a person.
Nothing ships without a person
Tasks are validated before they are specified, specs need explicit approval before code is written, and every result arrives as a pull request in your normal review flow. Protected branches stay protected, and CodeLynq has no ability to merge anything itself.
Automation that could act on its own — iterating on CI feedback, opening a fix from a production alert, triggering a deploy after a merge — ships off by default. You turn each one on per project, inside limits you set.
What it costs, before you commit
Cost is tracked per run and per shipped task, so the question "what did we get for this month" has an answer. You see the expected cost of a run before you approve it, based on what runs in that project have actually cost.