You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Sven Geboers 35f4667982 chore(secrets): stop tracking .env and add to .gitignore 1 month ago
.github/workflows feat(ansible-example): add @ansible/example package, tests, CI, publish & deploy workflows, docs and changelog 1 month ago
.mindmodel feat(ansible-example): add @ansible/example package, tests, CI, publish & deploy workflows, docs and changelog 1 month ago
analysis deploy to server 1 month ago
ansible feat(ansible-example): add @ansible/example package, tests, CI, publish & deploy workflows, docs and changelog 1 month ago
docs feat(ansible-example): add @ansible/example package, tests, CI, publish & deploy workflows, docs and changelog 1 month ago
migrations feat(similarity): add precomputed similarity cache, fix fusion N+1, add 429 retry 1 month ago
packages/@ansible/example feat(ansible-example): add @ansible/example package, tests, CI, publish & deploy workflows, docs and changelog 1 month ago
pages feat: add StemAtlas Streamlit app, explorer, Docker deployment, blog charts 1 month ago
pipeline deploy to server 1 month ago
scripts fix: remove motion title truncation, add SVD JSON generation script 1 month ago
similarity Refactor tests: replace sys.modules hacks with real DI + in-memory DB 1 month ago
src feat(mindmodel): add report-only validator skeleton, types, and tests 1 month ago
tests ci(mindmodel): add scheduled validation workflow 1 month ago
thoughts feat(ansible-example): add @ansible/example package, tests, CI, publish & deploy workflows, docs and changelog 1 month ago
tools feat(pipeline): implement parliamentary embedding pipeline MVP 1 month ago
.drone.yml feat(ansible-example): add @ansible/example package, tests, CI, publish & deploy workflows, docs and changelog 1 month ago
.gitignore chore(secrets): stop tracking .env and add to .gitignore 1 month ago
.pre-commit-config.yaml chore(format): add pre-commit and formatter configs 1 month ago
.python-version feat(pipeline): implement parliamentary embedding pipeline MVP 1 month ago
ARCHITECTURE.md feat(ansible-example): add @ansible/example package, tests, CI, publish & deploy workflows, docs and changelog 1 month ago
CODE_STYLE.md feat(ansible-example): add @ansible/example package, tests, CI, publish & deploy workflows, docs and changelog 1 month ago
Dockerfile feat: add StemAtlas Streamlit app, explorer, Docker deployment, blog charts 1 month ago
Home.py feat(ansible-example): add @ansible/example package, tests, CI, publish & deploy workflows, docs and changelog 1 month ago
README.md feat(ansible-example): add @ansible/example package, tests, CI, publish & deploy workflows, docs and changelog 1 month ago
ai_provider.py feat: complete parliamentary embedding pipeline with full historical coverage 1 month ago
api_client.py feat: complete parliamentary embedding pipeline with full historical coverage 1 month ago
app.py feat(pipeline): implement parliamentary embedding pipeline MVP 1 month ago
config.py feat(pipeline): implement parliamentary embedding pipeline MVP 1 month ago
database.py fix: quiz seed from motions with actual individual MP votes 1 month ago
docker-compose.yml deploy to server 1 month ago
explorer.py deploy to server 1 month ago
main.py feat(pipeline): implement parliamentary embedding pipeline MVP 1 month ago
pyproject.toml chore(deps): move pytest to dev-dependencies 1 month ago
requirements-dev.txt chore(deps): move pytest to dev-dependencies 1 month ago
scheduler.py feat(pipeline): implement parliamentary embedding pipeline MVP 1 month ago
scraper.py feat(pipeline): implement parliamentary embedding pipeline MVP 1 month ago
summarizer.py feat(pipeline): implement parliamentary embedding pipeline MVP 1 month ago
uv.lock feat(explorer): harden _render_party_axis_chart axis bounds and range 1 month ago
verify.py feat(pipeline): implement parliamentary embedding pipeline MVP 1 month ago

README.md

stemwijzer

A small project that uses QWEN embeddings for semantic features. The codebase includes an example Ansible package under packages/@ansible/example and helper scripts for deployment.

Embeddings

  • This project uses QWEN embeddings (model: qwen/qwen3-embedding-4b) via OpenRouter-compatible APIs.
  • Preferred environment variable: OPENROUTER_API_KEY with a fallback to OPENAI_API_KEY.

Publishing and deploying the Ansible package

  • Package location: packages/@ansible/example — this contains the Ansible playbooks and packaging used by CI.
  • To publish the package (CI): create a git tag for the version and provide NPM_TOKEN as a secret to the CI runner so it can publish to npm.
  • To deploy the package (CI): set the following repository secrets in your CI pipeline:
    • DEPLOY_HOST (default: motief.sgeboers.nl)
    • DEPLOY_SSH_KEY (private key for the webapps user)
    • DEPLOY_USER (default: webapps)

Defaults

  • DEPLOY_HOST: motief.sgeboers.nl
  • DEPLOY_USER: webapps

See docs/deployment/ansible-package-deploy.md for more detailed deploy instructions and defaults.