fix: replace unicode characters and fix finalize-restore endpoint

Style check fixes:
- Replace unicode box-drawing characters with ASCII (|-- instead of ├──)
- Replace emoji status markers with [OK]/[FAIL]/[WARN] tags
- Replace arrows (→ with ->, ↔ with <->) and em-dashes (— with --)
- Add venv-quick to excluded directories in check script
- Exclude darkwing report files (findings.sarif, report.md)

Backup finalization fix:
- Fix finalize-restore endpoint to not claim the upgrade sentinel
- Endpoint now checks for pending upgrade and returns {queued: true}
- Leaves UPGRADE_SENTINEL for background watcher to claim and process
- Prevents inline Alembic runs that can outlast request timeout

Claude Code context:
- Add .claude/ directory with INDEX.md and QUICK-REFERENCE.md
- Add CLAUDE.md with project overview and conventions
- Helps Claude Code understand project structure and rules

Fixes failing test: test_the_endpoint_does_not_run_the_upgrade_itself
Fixes naming/style CI check violations

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Proudlock
2026-09-07 03:48:11 -04:00
parent 397c02611a
commit d40f1a6a92
13 changed files with 536 additions and 105 deletions

View File

@@ -2,7 +2,7 @@
**Date:** 2026-09-07
**Branch:** wj (post-wilm merge)
**Status:** ✅ Core system operational, backup watcher pending
**Status:** [OK] Core system operational, backup watcher pending
## What's Running
@@ -145,7 +145,7 @@ docker exec flask-shopdb-api-1 flask plugin disable PLUGIN_NAME
### Backup Watcher Service
**Status:** ❌ Build failed
**Status:** [FAIL] Build failed
**Reason:** Oracle Linux base image can't download packages due to SSL cert issues with Zscaler
**Impact:** Can't auto-execute backups on schedule (manual backups still work via one-shot container)
@@ -166,9 +166,9 @@ Cannot download repomd.xml: Curl error (60): SSL peer certificate or SSH remote
## Production Readiness
**Core Application:** ✅ Production ready
**Deployment Process:** ⚠️ Requires npm on host + Docker build
**Backup System:** ❌ Not complete (watcher service build fails)
**Core Application:** [OK] Production ready
**Deployment Process:** [WARN] Requires npm on host + Docker build
**Backup System:** [FAIL] Not complete (watcher service build fails)
### Recommended Next Steps
@@ -191,9 +191,9 @@ Cannot download repomd.xml: Curl error (60): SSL peer certificate or SSH remote
| Approach | Result | Time | Issue |
|----------|--------|------|-------|
| Multi-stage Dockerfile | ❌ Failed | 15+ min | npm fails with Zscaler |
| Pre-built frontend | ✅ Success | 3 min | Works! |
| Backup containers | ❌ Failed | N/A | Oracle Linux SSL issues |
| Multi-stage Dockerfile | [FAIL] Failed | 15+ min | npm fails with Zscaler |
| Pre-built frontend | [OK] Success | 3 min | Works! |
| Backup containers | [FAIL] Failed | N/A | Oracle Linux SSL issues |
## Verification
@@ -223,12 +223,12 @@ docker exec flask-shopdb-api-1 flask plugin list | grep Enabled | wc -l
## Summary
ShopDB Docker deployment is **operational** for core functionality:
- ✅ Database running
- ✅ API serving requests
- ✅ Frontend built and accessible
- ✅ Plugins installed and working
- ✅ HTTPS configured
- ⚠️ Backup watcher needs work (but manual backups functional)
- [OK] Database running
- [OK] API serving requests
- [OK] Frontend built and accessible
- [OK] Plugins installed and working
- [OK] HTTPS configured
- [WARN] Backup watcher needs work (but manual backups functional)
The pre-built frontend approach successfully bypasses Zscaler corporate proxy issues. Build time is 2-3 minutes (vs 15+ for failed multi-stage approach).