Fictional Creator Toolkit

These fresh local demonstrations were run October 23, 2026 with invented campaign data. They are separate from historical articles that link here.

Reproduce

Use an isolated Python environment and install the versions in requirements.txt.

  1. Run python demo/make_input.py and python demo/build_data.py.
  2. Run python demo/database.py and python demo/build_publication.py.
  3. Run uvicorn api:api --app-dir demo --host 127.0.0.1 --port 8771, then python demo/api_checks.py in another terminal.
  4. Run python demo/cli.py --channel Search. An unsupported channel returns an error.
  5. Run black --check demo/format_example.py.
  6. Run mkdocs build --strict --config-file demo/mkdocs.yml.

What the checks mean

The API accepted a valid fictional brief and rejected bad fields. It was served on loopback only. No authentication, TLS, hosted service, or load test is implied.

The database migration was upgraded, downgraded and upgraded again without losing the 24 demo rows. This is a local SQLite test, not a production rollback exercise.

The charts, PDF, QR code and report files are real outputs. The DOCX was reopened structurally; it was not rendered in Word or LibreOffice. Synthetic linear-model accuracy does not predict real campaigns.