AQAF 1.1 — Extensible Architecture Assessment Framework
Local-first and source-backed architecture review for AI-assisted developers.
Catalog: 19 app profiles in four packs. These have mixed detector coverage; not 19 complete architecture analyzers. AQAF reports a provisional, unvalidated heuristic index, not a certification.
Repository Owner Manual and training studio
Start with REPOSITORY_TUTORIAL_START_HERE.md and then DOCS_AGENT_HANDOFF.md. For a genuine file-by-file introduction, start at docs/handbook/README.md and docs/handbook/23-owner-guided-file-walkthrough.md. An automatically generated file inventory describes each repository file, its role and how it should be edited. Six man pages ship under man/. The public website includes /docs/ and /packages/ pages generated by scripts/docs/build_handbook.py. For screencast production, start at tutorials/MASTER_AGENT_HANDOFF.md and tutorials/EP02_FULL_SCRIPT.md.
python3 scripts/docs/build_handbook.py
python3 scripts/docs/verify_handbook.py
bash scripts/docs/rehearse_tutorial.sh
# Windows PowerShell: .\scripts\docs\rehearse_tutorial.ps1
HTML and public pack pages are included but not hosted until you deploy the website. These are documentation additions to AQAF 1.1.0; scanner rules and scoring have not been changed.
Try it
python tools/aqaf.py --version
python tools/aqaf.py profiles list
python tools/aqaf.py packs list
python tools/aqaf.py /path/to/repo --pack web --format md --output ARCHITECTURE_REPORT.md
python tools/aqaf.py /path/to/repo --profile rust_app --format json
python examples/advanced/run_lab.py
The Python package can be installed locally from the included wheel. The npm package wraps the same Python scanner, not a separate JS engine, and requires Python 3.9+.
Four specialist packs
web— APIs, SaaS, npm libraries, WordPress, browser extensions.mobile— Swift and Android.systems— Rust, Windows client/server, desktop, IoT, multi-repo.automation— Google Apps Script, CLI, scrapers, AI pipelines, MCP servers.
See START_HERE_1_1.md, packs/, docs/PROFILE_AND_PACK_AUTHORING.md, distribution/README.md and HANDOFF_1_1_MASTER.md. Advanced examples live in examples/advanced/. The website source and optional Cloudflare claim/contact backend are under website/.
Strict safeguards
No target-code execution, offline-by-default, read-only scans, justified suppressions, explicit source/uncertainty and manual validation. External profile files are data only and cannot replace built-ins. Source-backed design choices do not make the detection thresholds validated.
Licensed MIT. AQAF is independent and not affiliated with OpenAI, the book authors or example projects.
Original 1.0 reference notes
AQAF 1.0 — Architecture Quality Assessment Framework
The quality layer for AI-built software.
AQAF helps builders who use Codex, Cursor, Claude Code, and other coding agents inspect architectural risks, choose a defensible target structure, create test-first refactor handoffs, and prevent known regressions. It is a local-first Python CLI plus reference-backed architecture rules and optional agent workflows.
Important: AQAF 1.0 is an independent, heuristic architecture-review assistant, not a certified software quality, security, or performance assessment. The 0–100 index is provisional, not independently calibrated. Passing a scan does not mean production ready.
5-minute start (no account, no API key, no upload)
Requires Python 3.9+.
# Extract this folder and run directly (no installation necessary):
python3 tools/aqaf.py /path/to/project --format md --output architecture-review.md
# Structured report for agents or automation:
python3 tools/aqaf.py /path/to/project --format json --output aqaf-report.json
# Optional install from local folder (offline after wheel build dependencies are available):
python3 -m pip install .
aqaf --version
aqaf /path/to/project --format md
Use Codex next: copy handoffs/01_assess_repository.md into your agent with the report. Codex should return observed facts, unknowns, an architecture trade-off, top risks, tests, a small safe plan, and ADR candidates. Do not ask it to blindly rewrite your repo.
What the tool actually does
| Capability | 1.0 status |
|---|---|
| Heuristic repo scan, no target code execution | Implemented |
| Product profile inference + explicit override | Implemented; may misclassify |
| Provisional quality index and confidence notes | Implemented; not calibrated |
| Structured JSON, Markdown, SARIF | Implemented; SARIF is basic and not a security certification |
Baseline new vs existing finding comparison |
Implemented |
| Suppressions with required written reason | Implemented |
| Opt-in CI failure only for new high/medium findings | Implemented |
| Architecture bibliography, rule/source mapping | Included; references do not validate detectors |
| Swift and Rust profiles + Codex review skills | Included; mostly review guidance and heuristics |
| Real repository benchmarks, third-party accuracy validation | Not done |
| Hosted UI, GitHub Marketplace listing, payment, licensing server | Not done |
| Automatic safe fixes, guaranteed scalability | Not offered |
Baseline workflow
# Save baseline snapshot in a trusted artifacts directory, NOT auto-edit your code.
python3 tools/aqaf.py ../my-app --format json --output baseline.json
# Compare against the original baseline; only *new* findings can fail CI.
python3 tools/aqaf.py ../my-app --format json --baseline baseline.json --fail-on new-high --output new-report.json
# Generate best-effort SARIF for SARIF-aware consumers:
python3 tools/aqaf.py ../my-app --format sarif --output report.sarif
A finding fingerprint changes if its evidence text changes; baseline comparison is intentionally simple, not semantic tracking. Suppressions live in ../my-app/.aqaf.json (see templates/aqaf-config.example.json) and should be documented/periodically reviewed.
Product profiles
SaaS/web, WordPress plugin, Android, AI pipelines, desktop utility, CLI, scraper/ETL, Swift, and Rust. The target is never “microservices by default.” See product_profiles/, docs/methodology.md, and docs/bibliography.md.
Agent skill/handoff material
AGENTS.md— concise core quality guardrails (for development of this framework; adapt for target app).skills/— architecture assessment, refactor planning, Swift, Rust, and safe framework improvement.handoffs/— complete product/research/dev/release/sales/support Codex prompts with acceptance criteria.governance/CORE_CONTRACT.md— rules that agents may not change casually.references/source_registry.json+rules/catalog.json— source-to-rule lineage.
Distribution / business docs
launch/ contains a launch checklist, rollout experiments, privacy/support policy drafts, funnel, and readiness gate. marketing/ contains landing page, pricing hypotheses, content calendar, launch email sequence, demo scripts, objections and customer interview prompts. These are draft assets, not claims backed by customers or conversion data.
Development and validation
python3 -m unittest discover -s tests -v
python3 -m pip install .
python3 -m aqaf --version
Optional build step if build is installed: python3 -m build. See docs/validation_plan.md, launch/RELEASE_GATE.md and tests/ before release.
Privacy and license
The baseline scanner does not make network requests and does not execute scanned repo code. Scan output may contain local paths and summaries; review before sharing. Python source is currently MIT licensed. Commercial documentation, brand/trademark rights, paid service terms and redistribution terms need a deliberate business decision before selling (see launch/IP_AND_LICENSE.md).
Documentation map
QUICKSTART.md— first repo scan + Codex workflowdocs/bibliography.mdandreferences/— books, standards, references and scopedocs/methodology.md,docs/scoring.md— limits of the assessmentgovernance/— backward compatibility and rule promotionmarketing/— ready-to-edit launch materialshandoffs/— 15 agent handoffs and expected deliverableslaunch/— operator checklist and release gate
No publisher, author, vendor, or reference repository has endorsed AQAF.
Version note: 1.0.0 is the first public-facing version number, rebased from internal 2.2.0. The API and rule engine have not undergone independent validation; see PUBLIC_RELEASE_NOTES.md.
First public release website
The full owner release includes website/ (Cloudflare Worker + D1 forms, a founding-review request form, contact form, responsive UI) and offer/ (free review fulfillment template). Website deployment is intentionally operator-configured and cannot accept real submissions without D1 + Turnstile + verified operator contact. See HANDOFF_MASTER.md, PUBLIC_RELEASE_GATE.md and website/ops/DEPLOY.md.
Metadata
Release files for aqaf 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| aqaf-1.1.0.tar.gz | 235.9 kB | Without provenance | Details for aqaf-1.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| aqaf-1.1.0-py3-none-any.whl | Python 3 | none | any | Details for aqaf-1.1.0-py3-none-any.whl |
Total release size: 275.9 kB
Release files / aqaf-1.1.0.tar.gz
| Download URL | aqaf-1.1.0.tar.gz |
|---|---|
| Size | 235.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6dde3e4ef8edf12f8ee5abcb6f536a2417d0283ccf374c1e8024a1342187b07c
|
|
BLAKE2b-256 checksum How to use checksums |
b96d33cb711a7b996c3ad9c2297ce47e90079e67ef97c5088751334977a5a039
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.15.2
|
Release files / aqaf-1.1.0-py3-none-any.whl
| Download URL | aqaf-1.1.0-py3-none-any.whl |
|---|---|
| Size | 40.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
06f86e4225659debca4b43d694395a87d9788241bc3eec8d4e16524e617a7dbb
|
|
BLAKE2b-256 checksum How to use checksums |
5313ec2672b7f4764a74e43f720eeb071d685b534722bb9942a9f72a054f5c3c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.15.2
|
Security for aqaf 1.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.