File size: 3,532 Bytes
9f2df60
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31c360c
9f2df60
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3c5b98e
9f2df60
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# Deploy Readiness Checklist 10.04. 16:00 

This checklist reflects the GitHub `main` state at commit `c0462c1b7c5074af682ecb1dc1f3d8e8a958dfb8`.

## Current Readiness

- `main` is not fully deploy-ready yet.
- The current chat app and reverse-proxy direction are in place.
- The deployment path is still blocked by the pipeline and Weaviate setup regressions introduced before the current `main` head.

## Blocking Issues Before Deployment

- Merge the ER-155 fix branch that restores pipeline compatibility:
  - `fix/er-155-pipeline-and-weaviate`
- Fix the broken import pipeline contract in `src/pipeline/pipeline.py`:
  - `_webprocessor` is referenced but not initialized
  - `scrape_website()` is missing
  - `import_many_documents()` is missing
- Resolve the Weaviate collection initialization dependency in `src/database/weavservice.py`:
  - `properties.yaml` is required on current `main`
  - `data/database/properties.yaml` is not present on GitHub `main`
  - `PyYAML` is not present in `requirements.txt` on GitHub `main`
- Bring the Docker base-image update to `main` before building production images:
  - move from `python:3.11-slim`
  - to an explicit current tag such as `python:3.11.14-slim-bookworm`

## Repo Changes To Land Before Deploy

- Merge `fix/er-155-pipeline-and-weaviate`
- Commit and merge the Dockerfile base-image update
- Decide one of these two paths for Weaviate properties:
  - version `data/database/properties.yaml`
  - or keep the defensive fallback logic from the fix branch
- Ensure `requirements.txt` matches the actual runtime contract

## Infrastructure Readiness

- DNS for `bot.hsg.ch` points to the target server
- Caddy is installed and configured with `deploy/Caddyfile`
- Port `7860` is reachable internally on the host
- Weaviate Cloud is available
- Outbound network access exists for required model downloads, or models are pre-cached

## Environment Variables And Secrets

- LLM provider keys are configured
- Weaviate credentials and endpoints are configured
- Optional LangSmith keys are configured if tracing is desired
- Production `.env` values are verified against `src/config/configs.py`

## Build Checklist

- Build the application image from the final merged `main`
- Re-run image vulnerability scanning against the new digest
- Confirm the image includes all Python dependencies
- Confirm runtime filesystem paths are writable where needed:
  - logs
  - data
  - backups

## Runtime Validation

- Run `python main.py --weaviate checkhealth`
- If first deployment, run `python main.py --weaviate init`
- Run `python main.py --app de`
- Verify the app binds to `0.0.0.0:7860`
- Verify Caddy proxies `bot.hsg.ch` to the app

## Functional Smoke Tests

- Open the chatbot through the public domain
- Verify consent flow
- Verify German and English responses
- Verify retrieval from Weaviate
- Verify admissions handover path
- Verify booking widget visibility
- If imports are part of rollout:
  - verify `--scrape simple` and `--scrape full`
  - verify `--imports`
- If admin operations are required:
  - verify the DB app

## Go / No-Go Decision

### Go

- ER-155 fix branch is merged
- Docker base-image update is merged
- Weaviate initialization path works
- Chat app responds through Caddy on the deployment host
- Smoke tests pass

### No-Go

- Current GitHub `main` is deployed without the ER-155 fix
- `properties.yaml` remains unresolved on current `main`
- Import pipeline entrypoints remain broken
- Container image is built from the older vulnerable base image