Commit Graph

28 Commits

Author SHA1 Message Date
Benjamin Admin
1527f4ffe7 refactor: Camunda löschen, Jitsi/Matrix/Voice nach Lehrer verschieben
All checks were successful
CI / test-python-voice (push) Successful in 30s
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-consent (push) Successful in 28s
CI / test-bqas (push) Successful in 31s
Camunda war nie aktiv (nur Frontend-Stub ohne Backend) — komplett entfernt.
Jitsi (5 Services), Synapse (2 Services) und Voice Service werden
ausschließlich vom Lehrer-Stack genutzt und gehören nicht in Core.
Nginx-Container-Namen auf bp-lehrer-jitsi-* aktualisiert (shared Network).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 17:01:30 +01:00
Benjamin Admin
db1b3c40ed fix: Compliance Dashboard + Katalogverwaltung Kacheln vom Portal entfernt
Beide verlinkten auf /dashboard und waren redundant zum SDK-Einstiegspunkt.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 22:45:11 +01:00
Benjamin Admin
85df14c552 feat: HTTPS-Proxy fuer Compliance MkDocs auf Port 8011
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 12:23:57 +01:00
Benjamin Admin
72e0f18d08 feat(sbom): OCR- und HTR-Pakete für klausur-service ergänzen
Neue Python-Pakete dokumentiert:
- pyspellchecker 0.8.1+ (MIT) – OCR-Regelkorrektur Step 6
- pytesseract 0.3.10+ (Apache-2.0) – Tesseract OCR Wrapper
- opencv-python-headless 4.8+ (Apache-2.0) – Bildverarbeitung/Inpainting
- rapidocr-onnxruntime (Apache-2.0) – Schnelles OCR ARM64
- onnxruntime (MIT) – ONNX-Inferenz für RapidOCR
- eng-to-ipa (MIT) – IPA-Lautschrift-Lookup
- sentence-transformers 2.2+ (Apache-2.0) – Lokale Embeddings
- torch 2.0+ (BSD-3-Clause) – ML-Framework CPU/MPS
- transformers 4.x (Apache-2.0) – TrOCR/HTR-Modelle

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-03 18:42:53 +01:00
Benjamin Admin
1c8f528c7a feat(nginx): add /rag-originals/ location for QA PDF serving
Serves original regulation PDFs from ~/rag-originals/ on port 3002
for the RAG QA Split-View Chunk-Browser. Adds volume mount to nginx.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 17:46:13 +01:00
Benjamin Admin
403cb5b85d fix: increase RAG service proxy timeout to 600s
- Increase proxy_read_timeout from 300s to 600s for large PDF uploads
- Add proxy_send_timeout 600s (was defaulting to 60s)
- Fixes 504 Gateway Timeout when uploading 7.5MB+ IFRS PDFs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 09:07:03 +01:00
Benjamin Admin
5c8307f58a fix(rag): use query_points instead of deprecated search method
All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-consent (push) Successful in 38s
CI / test-python-voice (push) Successful in 36s
CI / test-bqas (push) Successful in 28s
qdrant-client 1.17.0 removed the search() method in favor of
query_points(). Update the wrapper to use the new API.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 07:51:12 +01:00
Benjamin Admin
92ca5b7ba5 feat(rag): use Ollama for embeddings instead of embedding-service
Switch to Ollama's bge-m3 model (1024-dim) for generating embeddings,
solving the dimension mismatch with Qdrant collections. Embedding-service
still used for chunking, reranking, and PDF extraction.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 07:46:57 +01:00
Benjamin Admin
d7cc6bfbc7 Switch embedding model to bge-m3 (1024-dim)
The Qdrant collections use 1024-dim vectors (bge-m3) but the
embedding-service was configured with all-MiniLM-L6-v2 (384-dim).
Also increase memory limit to 8G for the larger model.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 23:29:23 +01:00
Benjamin Admin
13ba1457b0 Fix embedding client endpoint paths
The embedding-service exposes endpoints at root level (/chunk, /embed,
/extract-pdf, /rerank) not under /api/v1/. Fix the RAG service's
embedding client to use the correct paths.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 23:24:47 +01:00
Benjamin Admin
0ac23089f4 docs: update CLAUDE.md for direct MacBook development workflow
All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-consent (push) Successful in 37s
CI / test-python-voice (push) Successful in 30s
CI / test-bqas (push) Successful in 27s
Remove rsync-based workflow, document git push + Mac Mini pull workflow.
2026-02-25 23:09:41 +01:00
Benjamin Boenisch
e87ec2520d feat(pitch-deck): pivot to Maschinen- und Anlagenbau target market
All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-consent (push) Successful in 33s
CI / test-python-voice (push) Successful in 33s
CI / test-bqas (push) Successful in 33s
Refocus entire pitch deck narrative on machine/plant manufacturers with
in-house embedded software development. Key changes:

- i18n: All DE/EN texts updated (cover, problem, solution, market, etc.)
- MarketSlide: Dynamic unit formatting (Mrd/Mio/k) for SOM in millions
- SolutionSlide: Code-Security pillar with ScanLine icon
- HowItWorksSlide: GitBranch icon for code repo connection step
- CompetitionSlide: Security features reframed for firmware/embedded
- RegulatorySlide: Added CRA (Cyber Resilience Act) as 4th tab
- AI chat prompt: Updated Kernbotschaften for Maschinenbau USP
- DB migration: TAM 8.7B, SAM 850M, SOM 7.2M, customers 5-380 (2026-2030),
  4 new differentiator features, product capabilities for code-security

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 21:42:29 +01:00
Benjamin Boenisch
b7d21daa24 feat: Add DevSecOps tools, Woodpecker proxy, Vault persistent storage, pitch-deck annex slides
All checks were successful
CI / test-bqas (push) Successful in 32s
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-consent (push) Successful in 46s
CI / test-python-voice (push) Successful in 38s
- Install Gitleaks, Trivy, Grype, Syft, Semgrep, Bandit in backend-core Dockerfile
- Add Woodpecker SQLite proxy API (fallback without API token)
- Mount woodpecker_data volume read-only to backend-core
- Add backend proxy fallback in admin-core Woodpecker route
- Add Vault file-based persistent storage (config.hcl, init-vault.sh)
- Auto-init, unseal and root-token persistence for Vault
- Add 6 pitch-deck annex slides (Assumptions, Architecture, GTM, Regulatory, Engineering, AI Pipeline)
- Dynamic margin/amortization KPIs in BusinessModelSlide
- Market sources modal with citations in MarketSlide
- Redesign nginx landing page to 3-column layout (Lehrer/Compliance/Core)
- Extend MkDocs nav with Services and SDK documentation sections
- Add SDK Protection architecture doc

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 15:42:43 +01:00
Benjamin Boenisch
eb43b40dd0 feat: voice-service hinzugefuegt, nginx upstreams aktualisiert
All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-consent (push) Successful in 29s
CI / test-python-voice (push) Successful in 31s
CI / test-bqas (push) Successful in 29s
- voice-service in docker-compose.yml hinzugefuegt (bp-core-voice-service)
- nginx: voice-service upstream von bp-lehrer auf bp-core geaendert
- nginx: edu-search upstream von breakpilot-edu-search auf bp-lehrer-edu-search geaendert
- extra_hosts fuer edu-search entfernt (jetzt containerisiert in lehrer)
- health-aggregator: voice-service zu CHECK_SERVICES hinzugefuegt

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 18:24:32 +01:00
Benjamin Boenisch
bde0e11ba2 fix: add go-redis/v9 dependency to consent-service
All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-consent (push) Successful in 28s
CI / test-python-voice (push) Successful in 28s
CI / test-bqas (push) Successful in 29s
The session_store imports github.com/redis/go-redis/v9 but it was
missing from go.mod, causing build failures in CI.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 17:32:23 +01:00
Benjamin Boenisch
c736a596c0 fix(ci): replace actions/checkout with manual git clone
Some checks failed
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-consent (push) Failing after 6s
CI / test-python-voice (push) Successful in 35s
CI / test-bqas (push) Successful in 30s
The act_runner cannot create /home/act_runner cache dir inside
container images. Replace actions/checkout@v4 with manual
git clone using GITHUB_SERVER_URL and GITHUB_REPOSITORY env vars.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 16:58:28 +01:00
Benjamin Boenisch
022c00cd17 fix(ci): use docker runner label instead of ubuntu-latest
Some checks failed
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-consent (push) Failing after 11s
CI / test-python-voice (push) Failing after 6s
CI / test-bqas (push) Failing after 1s
The Gitea Actions runner on meghsakha uses label "docker".

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 16:53:31 +01:00
Benjamin Boenisch
19ee99a3bc ci: add Gitea Actions workflow for external CI
Some checks failed
CI / go-lint (push) Has been cancelled
CI / python-lint (push) Has been cancelled
CI / nodejs-lint (push) Has been cancelled
CI / test-go-consent (push) Has been cancelled
CI / test-python-voice (push) Has been cancelled
CI / test-bqas (push) Has been cancelled
Adds .gitea/workflows/ci.yaml with lint and test jobs.
Runs on gitea.meghsakha.com with Gitea Actions runner.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 16:38:59 +01:00
Benjamin Boenisch
1089c73b46 feat: voice-service von lehrer nach core verschoben, Pipeline erweitert (voice, BQAS, embedding, night-scheduler) 2026-02-15 13:26:06 +01:00
Benjamin Boenisch
a7e4500ea6 Re-add clone config with extra_hosts (repos now trusted) 2026-02-15 11:28:10 +01:00
Benjamin Boenisch
b60a0cba3c Fix pipeline: remove custom clone and extra_hosts (trust level) 2026-02-15 10:57:06 +01:00
Benjamin Boenisch
87133798ab Add Woodpecker CI/CD pipeline
- Lint: golangci-lint (consent-service), ruff (Python), next lint (admin-core)
- Tests: Go tests for consent-service with JSON reporting
- Build: Docker images for consent-service, backend-core, admin-core
- Security: SBOM generation + vulnerability scanning
- Deploy: manual docker compose deployment
2026-02-15 10:56:01 +01:00
Benjamin Boenisch
fdfe38b61a docs: update MkDocs for 3-project architecture (core/lehrer/compliance)
- Rewrite system-architecture.md with new 3-project diagram
- Update index.md with Core services table and nginx routing
- Replace service docs that moved to lehrer/compliance with redirects
  (klausur-service, voice-service, agent-core, ki-daten-pipeline -> lehrer)
  (ai-compliance-sdk -> compliance)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 19:51:09 +01:00
Benjamin Boenisch
f2a24d7341 feat: add pitch-deck service to core infrastructure
Migrated pitch-deck from breakpilot-pwa to breakpilot-core.
Container: bp-core-pitch-deck on port 3012.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 19:44:27 +01:00
Benjamin Boenisch
3739d2b8b9 chore: Update nginx config and add static HTML pages
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 20:29:28 +01:00
Benjamin Boenisch
97373580a8 Add admin-core frontend (Port 3008)
Next.js admin frontend for Core with 3 categories
(Communication, Infrastructure, Development), 13 modules,
2 roles (developer, ops), and 11 API proxy routes.
Includes docker-compose service and nginx SSL config.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 14:44:37 +01:00
Benjamin Boenisch
2498b0eb1f Update CLAUDE.md, MkDocs, nginx docs proxy, .claude/rules
- CLAUDE.md: Comprehensive documentation for core infrastructure
- docs-src: Cleaned 316MB junk, kept only markdown docs
- mkdocs.yml: Updated nav for core-only content
- nginx: Docs proxy targets split (3002->lehrer, 3007->compliance)
- docker-compose: Fixed docs port mapping (8009:80), added INSTALL_LOCK
- .claude/rules: testing, documentation, open-source-policy, night-scheduler

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 00:49:21 +01:00
Benjamin Boenisch
ad111d5e69 Initial commit: breakpilot-core - Shared Infrastructure
Docker Compose with 24+ services:
- PostgreSQL (PostGIS), Valkey, MinIO, Qdrant
- Vault (PKI/TLS), Nginx (Reverse Proxy)
- Backend Core API, Consent Service, Billing Service
- RAG Service, Embedding Service
- Gitea, Woodpecker CI/CD
- Night Scheduler, Health Aggregator
- Jitsi (Web/XMPP/JVB/Jicofo), Mailpit

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 23:47:13 +01:00