The upstream project name is gone from code, assets, docs and build
output: brand strings, domains (replypier.site and its app/api/docs/help
subdomains), env prefixes, image and network names, the widget's public
JS API (window.ReplyPier, replypierId/BaseUrl/Config/Token), CSS tokens
(--rp-*), file and directory names, and the WordPress plugin package.
- widget loader is now webclient/replypier.min.js; both bundles rebuilt
from source (backend/assets/widget.{js,css}, frontend/public/webclient)
- NOTICE, llms.txt, CONTRIBUTING, HELP_CENTER_INFRA and config.dev.js
rewritten rather than string-swapped; the demo config no longer ships
the previous vendor's Firebase/Razorpay/Google keys
- new migration replypier_ai_model_001 adds REPLYPIER to the managed
AIModelType and rewrites pre-rename rows
- local compose project, database, role and volume renamed; LOCAL_DEPLOY
documents carrying the old local data over
Backend tests
cd backend && ./venv/bin/python -m pytest tests/ -v
Use the project venv (./venv/bin/python), not a system or conda Python —
dependencies from requirements.txt such as paramiko are only installed
there, and a wrong interpreter shows up as unrelated ModuleNotFoundError
failures.
Matching CI locally: NO_ENTERPRISE=1
CI checks out with actions/checkout@v3 and no submodules: recursive, so
app/enterprise is empty there and the app runs in community mode. A local
checkout usually has the submodule populated, which switches on plan and
subscription gating — and around 30 API tests then return a 403 they never
see in CI.
Those failures are environmental, not real. To get a result comparable to CI:
cd backend && NO_ENTERPRISE=1 ./venv/bin/python -m pytest tests/ -v
This installs an import blocker (see the top of conftest.py) that makes
app.enterprise raise ModuleNotFoundError, exactly as an un-checked-out
submodule does, so the try: import app.enterprise guards and
pytest.importorskip fall back to community mode the same way.
Run without the flag when you are working on enterprise code and want the gating active.
Live agent tests
tests_live/ runs the chat agent against the real model and local Postgres to
catch prompt-effectiveness regressions the unit suite cannot see. It sits
outside testpaths, so it is never collected here or in CI. See
tests_live/README.md.