Current and retained names
| Layer | Current posture |
|---|---|
| Display name | CTPF Research Harness |
| Subtitle | Trust-boundary testing for agentic systems |
| Repository | q-uestionable-AI/CTPF |
| Documentation | ctpf.q-uestionable.ai is canonical; docs.q-uestionable.ai is transitional |
| CLI | Prefer ctpf; qai remains a functional alias |
| Primary PyPI distribution | ctpf from v0.12.0 |
| Compatibility distribution | q-uestionable-ai requires the exact same-version ctpf |
| Python imports | Retain q_ai |
| User state and database | Retain ~/.qai/qai.db |
| Environment variables | Retain QAI_* |
| Keyring service | Retain q-ai |
| MCP handshake identity | Retain q-ai |
| Evidence schema | Retain schema v1 and qai_version |
| Finding IDs | Preserve every QAI-* identifier |
| SARIF driver identity | Retain q-ai for compatibility |
pip install q-uestionable-ai; from v0.12.0 that project
contains no duplicate import package and delegates installation to ctpf.
Historical traces, bundles, captured commands, release notes, and research artifacts keep the
names recorded when they were produced. They are reconciled through this mapping rather than
rewritten.