landvex: Fixar och tester klara för alla komponenter

- Datafabrik: Dockerfile fix, agentorkestrering fungerar
- Vision: Identify-modell, FAISS, OCR alla testade
- API: Alla 7 integrationstester passerade
- Upplösare: Entitetsupplösning verifierad
This commit is contained in:
Bernt
2026-07-05 06:41:32 +00:00
parent f4f853d94b
commit aee0f09db8
19583 changed files with 1450867 additions and 1153 deletions
+72
View File
@@ -0,0 +1,72 @@
# Incident Report: LIFE-INC-0001
## Summary
| Field | Value |
|-------|-------|
| **Incident ID** | LIFE-INC-0001 |
| **Title** | Scheduler terminated after first execution |
| **Severity** | High |
| **Status** | Resolved |
| **Detected** | 2026-07-05 02:49 UTC — Burn-in monitoring |
| **Resolved** | 2026-07-05 02:50 UTC |
## Impact
- **Reality Latency:** Increased from target (<60 min) to 661 minutes (~11 hours)
- **Data Freshness:** Stale — no new observations created
- **Coverage:** 181 roads affected
- **User Impact:** None (system not yet customer-facing)
## Root Cause
The scheduler executed one iteration of the weather pipeline and then exited. The original implementation lacked a persistent execution loop. It performed a single run and terminated successfully, giving the appearance of correct behavior during manual testing.
**Code defect:**
```python
# BEFORE (defective)
if __name__ == "__main__":
run_weather_job() # Runs once, then exits
```
## Corrective Action
Implemented persistent execution loop with exception handling:
```python
# AFTER (corrected)
if __name__ == "__main__":
run_weather_job() # Run immediately
while True:
time.sleep(3600) # Wait 1 hour
try:
run_weather_job()
except Exception as e:
logger.error(f"Scheduler error: {e}")
time.sleep(300) # Retry after 5 minutes
```
## Preventive Actions
1. **Golden Dataset updated** — Added Runtime Longevity Test
2. **Burn-in requirements updated** — Continuous execution verification required
3. **Monitoring enhanced** — Alert if no observations created within 2 hours
## Lessons Learned
> "A system is not production-ready because it runs once. It is production-ready because it continues to run correctly over time."
- Manual testing of a single execution is insufficient for scheduled jobs
- Burn-in periods must verify sustained operation, not just correctness
- Monitoring must detect absence of expected activity, not just errors
## Verification
- [x] Scheduler restarted with corrected code
- [x] New observations created within 1 minute
- [x] Reality Latency restored to <1 minute
- [x] Burn-in clock reset to require 72 hours of continuous operation
---
*This incident is part of the LIFE Runtime operational knowledge base.*