Under the hood
Everything on this page is the AIQT 1.1.0 design, in development: what you own, what you configure, what can travel back, how it fits your pipeline, and how it composes per-language depth. The overview is the place to start; this is the detail once you are interested.
What it creates
Everything AIQT keeps for your project lives in one directory,
.aiqt/, created at setup if it does not already exist. During setup the
wizard asks which of these files you want, and the default is all of them, so your
assistant follows good practice from the first day rather than from when you remember to
ask.
your-project/ ├── .aiqt/ │ ├── config.md yours: own it, edit it, commit it │ ├── CHANGELOG.md what changed, and when │ ├── TODO.md the work coming up │ ├── DONE.md what has shipped │ ├── ROADMAP.md where the project is heading │ ├── open-findings.md defects, tracked to closure │ ├── pending-decisions.md decisions waiting on you │ ├── ... the QA audit registers (below) │ └── core/ the updater's only write location ├── src/ untouched └── ... untouched
With your permission, AIQT sets these up, and every one is yours to keep, edit, or remove. They are committed with your project, not hidden away, so the record stays reviewable. They help you and your development assistant equally: the assistant reads them to pick up context and updates them as it works, so the two of you are never out of sync.
A tool that updates itself inside your repository earns a hard question: what else can it
touch? With AIQT you can check the answer yourself, because the updater writes only inside
.aiqt/core/, and reviewing an update takes the same shape as reviewing any
other change: read the diff, and the diff is small and contained.
Your configuration
Your choices live in .aiqt/config.md, and that file
is yours: you own it, you edit it, you commit it. In the 1.1.0 design, updates never
rewrite it.
The config records which guardrails are active, and the switch is per guardrail, not all-or-nothing. Enable the ones that fit your project, disable the ones that do not, and the file is the record of what you chose.
Because the configuration is a file in your repository, it behaves like the rest of your project: it is versioned, it is diffed, it is reviewed, and a teammate can see exactly which guardrails your project runs and when that changed.
The config also carries the sharing setting described in the next section, so the decision about what leaves your project sits in a file you control, alongside every other decision you have made.
Sharing back
When a guardrail gap lets an issue through, the fifth rule closes the gap locally. The 1.1.0 design adds an optional last step: contributing the new guardrail back to the AIQT project as a seed PR, so a gap found once is closed for every developer who uses AIQT.
Sharing is governed by one setting in your config file,
contribute_guardrails, with three values: never,
ask, or always. Setup asks you which you want, with
ask selected by default: the assistant checks with you before each
contribution, so nothing is submitted without your say-so. Choose never
and it is never offered; choose always and it opens the PR for you,
still a pull request, reviewed like any other, never a silent push.
A seed carries the discipline and its incident provenance only, scrubbed of all project specifics: the guardrail's concept, what triggers it, and the goal it serves. None of your project's details, code, or content travels with it. You open the pull request yourself, from your own GitHub account, so the contribution is openly yours; what stays private is your project's specifics, not the fact that you contributed.
Why this is worth turning on. Every team's assistant misses different things. A seed PR turns one team's miss into everyone's guardrail, and because seeds are scrubbed to concept, trigger, and goal, contributing costs you nothing you would want to keep. The exchange runs both ways: the guardrails your assistant ships with include the ones other developers contributed the same way, under the same ShareAlike licence.
CI
The development assistant integrates with your CI, so the standard that governs the assistant during development also holds at the gate. The same discipline applies on both sides: a check that passes has actually run, and a check that fails is surfaced, never quietly weakened to get a green build.
When a finding comes in, the loop validates it before it acts on it. A finding that survives validation is worth an action; a finding that fails validation is recorded as such. Acting on validated findings keeps the signal clean, and it is the five rules of AIQT at work: say what was caught, fix in-scope issues in the current change, and fix the rest in the next one. The five rules are spelled out above.
Standardizing quality assurance
A review by a single model shares that model's blind spots. AIQT standardizes the check itself: for substantive work, two verifiers from different model families (one Claude-family, one GPT/Codex-family) are given the same brief, each instructed to refute the change rather than confirm it, and their verdicts are reconciled. Different families miss systematically different things, so the cross-family pair catches what either alone would let through. This is how AIQT itself is built and reviewed; in the 1.1.0 design, the development assistant brings the same standard to your project.
The point of the tiers is that the standard scales with the stakes instead of depending on who happened to run the check. A passing review means the review actually ran; a failing one is surfaced, never quietly weakened. That is the AIQT ordering applied to review itself.
Where it runs
A QA standard only standardizes anything if it holds in both places work happens: at the gate, and at the desk. In the 1.1.0 design it runs in both.
The model-based checks run as part of the pipeline on every change, alongside your usual gates. A change is reviewed by the dual-family pair before it lands, under the same discipline as every other check: it passes because it ran, and a failure blocks rather than disappears.
Exec workers, separate worker processes on your machine, run the same dual-family QA at the relevant points while you work, and the heavier harness on the delicate ones, so a finding surfaces before the change ever reaches the pipeline. Exec workers run on Linux today; Windows support is planned.
The result is one standard applied the same way wherever the work runs and whichever model does the reviewing: quality stops depending on who ran the check or which tool they used.
Per-language depth
The governance core is deliberately language-neutral. Deep per-language and per-framework guidance comes from vetted aligned sources, and the setup generator composes them in at install time.
During setup, the generator detects your stack and presents the aligned sources that apply to it. For each source you see the facts a decision needs: what it covers, its licence, when it was last reviewed, and the gaps it leaves. Then you choose, taking all that apply or deciding one by one. AIQT lists each source, shows you these facts, and credits and links the people who do that work. The decision to use a source is always yours.
Ready to try it
The setup and verification steps are on the overview page, and where 1.1.0 stands is stated plainly there too.