5.3 KiB
ByteLyst Open Notebook private pilot evaluation report
Date: 2026-06-28
Task: t_b57eb21e
Deployment: /opt/bytelyst/learning_ai_devops_tools/deployments/open-notebook-pilot/docker-compose.yml
Runtime: /opt/bytelyst/open-notebook-pilot
Verdict
Private pilot deployment is operational and hardened for localhost-only evaluation. It is not public and should remain excluded from public Caddy/subdomain routing.
Pilot readiness: 86/100
Main remaining gap: full LLM /api/search/ask/simple Q&A timed out with the tiny local qwen2.5:0.5b model during first smoke testing. Retrieval, ingestion, embeddings, backup, and restore-readiness passed; source-grounded answer generation needs a larger/faster local model or a sanitized cloud comparison model before relying on generated answers.
Hardening checks
| Check | Result | Evidence |
|---|---|---|
| UI localhost-only | PASS | Docker published 127.0.0.1:8502->8502/tcp only |
| API localhost-only | PASS | Docker published 127.0.0.1:5055->5055/tcp only |
| SurrealDB public exposure | PASS | No SurrealDB host port published; internal Docker network only |
| Ollama public exposure | PASS | Ollama exposes container port only; no host published port |
| Strong secrets outside git | PASS | /etc/bytelyst/open-notebook-pilot.env, mode 0600, contains generated app/encryption/SurrealDB credentials |
| CORS explicit | PASS | CORS_ORIGINS=http://127.0.0.1:8502,http://localhost:8502 in protected env |
| Public dashboard exposure | PASS | No Caddy route added; access path is localhost/SSH tunnel only |
Local model/provider checks
| Item | Result |
|---|---|
| Ollama service | Running in private compose network |
| LLM model pulled | qwen2.5:0.5b |
| Embedding model pulled | nomic-embed-text |
| Open Notebook model registry | Created ollama language and embedding models |
| Default models | Chat/transformation/tools/large-context set to qwen2.5:0.5b; embeddings set to nomic-embed-text |
| Vector search | PASS: vector smoke query returned 01-access-policy-embedded.md in 4.764s |
| Generated ask/Q&A | NEEDS FOLLOW-UP: /api/search/ask/simple timed out at 300s with qwen2.5:0.5b |
Sanitized docs ingested
Source directory: /opt/bytelyst/open-notebook-pilot/test-docs
01-access-policy.md02-backup-policy.md03-knowledge-scope.md01-access-policy-embedded.md(extra embedded source for vector smoke)
Notebook created by smoke script: notebook:2iyp5pykncuhwul2qc9g
Known-answer evaluation
Raw results: /opt/bytelyst/open-notebook-pilot/reports/known-answer-results.json
| Question | Retrieval result | Latency | Pass |
|---|---|---|---|
| Should the pilot be exposed as a public dashboard? | Top source 01-access-policy-embedded.md |
0.262s | PASS |
| Which host ports should UI and API use? | Top source 01-access-policy-embedded.md |
0.064s | PASS |
| Should SurrealDB publish port 8000? | Top source 01-access-policy-embedded.md |
0.070s | PASS |
| What must backups include? | Top source 02-backup-policy.md |
0.075s | PASS |
| What remains canonical during the pilot? | Top source 03-knowledge-scope.md |
0.073s | PASS |
Accuracy: 5/5 for retrieval-backed known-answer source selection.
Citation/source quality: acceptable for this pilot smoke test because every known-answer query returned the expected source title at rank 1. Full citation UX still needs evaluation in the browser and with generated answers once the local LLM path is performant.
Summary quality: not fully scored through Open Notebook transformations because local generated-answer path timed out; manual source retrieval supports the required summaries, but generated summary evaluation remains a follow-up before production use.
Latency: text search was fast (0.064s-0.262s). Vector smoke was acceptable for a first local embedding path (4.764s). Local generated ask path was not acceptable with the tiny model (timeout at 300s).
Operational friction: initial setup was straightforward after using the /api prefix; image pulls were large, Ollama model pulls succeeded, and backup scripts briefly stop the pilot to make a consistent RocksDB snapshot.
Backup/restore validation
Backup command: scripts/open-notebook-pilot/backup.sh
Backup artifact:
/opt/bytelyst/open-notebook-pilot/backups/open-notebook-pilot-20260628T185205Z.tar.gz/opt/bytelyst/open-notebook-pilot/backups/open-notebook-pilot-20260628T185205Z.manifest.txt
Restore-readiness command:
scripts/open-notebook-pilot/restore-test.sh /opt/bytelyst/open-notebook-pilot/backups/open-notebook-pilot-20260628T185205Z.tar.gz
Result: PASS. Restore test verified the archive contains:
opt/bytelyst/open-notebook-pilot/surreal_dataopt/bytelyst/open-notebook-pilot/notebook_dataetc/bytelyst/open-notebook-pilot.env
Post-backup health check: PASS after restart wait, /health returned {"status":"healthy"}.
Recommendation
Keep the pilot running privately for additional low-risk browser testing and try one of these next:
- Pull/use a stronger local model that fits VM headroom, then rerun
/api/search/ask/simpleknown-answer tests. - Use a sanitized cloud comparison model only on the three test docs to benchmark generated answer/citation quality.
- If generated answers pass, expand to 10-20 sanitized ByteLyst docs and promote the backup script into the normal VM backup process.
Do not expose this pilot publicly.