DocFast session 120: bug triage, staging audit, all systems nominal
This commit is contained in:
parent
64f64cd1ba
commit
c186e238d8
6 changed files with 42 additions and 37 deletions
|
|
@ -52,14 +52,14 @@
|
||||||
],
|
],
|
||||||
"notes": "N26 uses Xetra tickers. Always provide ISIN for orders. Fractional shares by EUR amount supported.",
|
"notes": "N26 uses Xetra tickers. Always provide ISIN for orders. Fractional shares by EUR amount supported.",
|
||||||
"created": "2026-02-12T20:00:00Z",
|
"created": "2026-02-12T20:00:00Z",
|
||||||
"lastUpdated": "2026-02-27T16:16:00Z",
|
"lastUpdated": "2026-03-02T17:15:00Z",
|
||||||
"closingSnapshot": {
|
"closingSnapshot": {
|
||||||
"date": "2026-02-27",
|
"date": "2026-03-02",
|
||||||
"DFNS": 58.98,
|
"DFNS": 61.89,
|
||||||
"portfolioValue": 1048.91,
|
"portfolioValue": 1100.74,
|
||||||
"dailyPL": -2.31,
|
"dailyPL": 45.35,
|
||||||
"dailyPLpct": -0.22,
|
"dailyPLpct": 4.3,
|
||||||
"totalReturn": 4.89
|
"totalReturn": 10.07
|
||||||
},
|
},
|
||||||
"pendingActions": []
|
"pendingActions": []
|
||||||
}
|
}
|
||||||
|
|
@ -27,6 +27,16 @@
|
||||||
],
|
],
|
||||||
"totalInvested": 22200,
|
"totalInvested": 22200,
|
||||||
"priceHistory": [
|
"priceHistory": [
|
||||||
|
{
|
||||||
|
"timestamp": "2026-03-02T18:02:00Z",
|
||||||
|
"PICK": 63.65,
|
||||||
|
"note": "6:02 PM Vienna - PICK $63.65 (-1.07% to close). Defense sector confirmed outperforming on live Iran escalation (Bloomberg/CNBC). RHM earnings March 11 catalyst. HOLD all."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"timestamp": "2026-03-02T17:12:00Z",
|
||||||
|
"PICK": 63.61,
|
||||||
|
"note": "5:12 PM Vienna - PICK close $63.61 (-1.13% today from $64.34). Defense sector rallying on Iran conflict (LMT/NOC/RTX +3-7%). RHM earnings March 11. Broad market down, safe-haven assets leading. HOLD thesis intact."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"timestamp": "2026-03-02T16:00:00Z",
|
"timestamp": "2026-03-02T16:00:00Z",
|
||||||
"PICK": 63.31,
|
"PICK": 63.31,
|
||||||
|
|
@ -65,6 +75,6 @@
|
||||||
"note": "RHM at €1,663.50; recent earnings miss (-22.78%). Gold/metals/mining outperforming in 2026. Defense sector stable amid geopolitical tensions."
|
"note": "RHM at €1,663.50; recent earnings miss (-22.78%). Gold/metals/mining outperforming in 2026. Defense sector stable amid geopolitical tensions."
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"lastAnalysis": "2026-03-02T15:01:00Z",
|
"lastAnalysis": "2026-03-02T18:02:00Z",
|
||||||
"updateNote": "3:01 PM Vienna - PICK $64.34 (+0.33% today). Defense ETFs up 14% YTD amid US-Iran escalation; oil toward $80/bbl, Strait of Hormuz disruption fears. Gold continues safe-haven run (+22% YoY). Broad equity selloff (-1%+) contrasts with defense/commodities strength. RHM thesis intact: German defense budget +45% in 2026, NATO 5% GDP target by 2035. PICK benefits from commodity volatility & precious metals demand. RHM.DE & DFNS.PA API gaps but geopolitical backdrop strongly favorable. No new opportunities identified—portfolio thesis aligned. HOLD all positions."
|
"updateNote": "6:02 PM Vienna - PICK $63.65 (-1.07% to close, down from $64.34 open). Defense sector confirmed rallying on live Iran conflict (Bloomberg/CNBC reporting energy & defense stocks jumping). Broad market weakness with safe-haven rotation intact. RHM earnings catalyst March 11 (recent miss but NATO defense budget tailwinds +45% 2026). Portfolio thesis holding: geopolitical premium + real assets outperformance. HOLD all positions—no compelling rotation opportunities. Monitor RHM earnings catalyst closely."
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,30 +1,10 @@
|
||||||
{
|
{
|
||||||
"date": "2026-03-01",
|
"date": "2026-03-02",
|
||||||
"entries": [
|
"entries": [
|
||||||
{
|
{
|
||||||
"time": "19:04",
|
"time": "19:12",
|
||||||
"type": "checkin",
|
"type": "checkin",
|
||||||
"note": "First evening nudge sent"
|
"note": "First evening nudge sent via WhatsApp. Suggested Chuck, Conan, or Askir audiobook."
|
||||||
},
|
|
||||||
{
|
|
||||||
"time": "20:02",
|
|
||||||
"type": "status",
|
|
||||||
"note": "No response to 19:04 check-in"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"time": "21:04",
|
|
||||||
"type": "checkin",
|
|
||||||
"note": "Second nudge with KoQ + audiobook suggestion + nose shower reminder"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"time": "00:04",
|
|
||||||
"type": "status",
|
|
||||||
"note": "No response all evening. Unknown if asleep or still up. Not nudging at midnight."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"time": "01:04",
|
|
||||||
"type": "status",
|
|
||||||
"note": "No response to 19:04 or 21:04 nudges. Likely asleep or ignoring. Not pinging at 1 AM."
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -994,7 +994,7 @@ Container restart appears to have been clean. All services came back online prop
|
||||||
- **Steps to reproduce:** `curl -X POST https://staging.docfast.dev/v1/demo/html -H 'Content-Type: application/json' -d '{"html":"<h1>test</h1>","options":{"scale":99}}'`
|
- **Steps to reproduce:** `curl -X POST https://staging.docfast.dev/v1/demo/html -H 'Content-Type: application/json' -d '{"html":"<h1>test</h1>","options":{"scale":99}}'`
|
||||||
- **Expected:** 400 error with validation message about invalid scale
|
- **Expected:** 400 error with validation message about invalid scale
|
||||||
- **Actual:** 200 with a PDF generated (Chromium may silently clamp or ignore)
|
- **Actual:** 200 with a PDF generated (Chromium may silently clamp or ignore)
|
||||||
- **Status:** OPEN
|
- **Status:** ✅ FALSE POSITIVE — API uses top-level params, not nested `options` object. `scale:99` at top level IS correctly validated. Confirmed session 117/118.
|
||||||
|
|
||||||
## BUG-092: Footer missing "Change Email" link
|
## BUG-092: Footer missing "Change Email" link
|
||||||
- **Date:** 2026-03-01
|
- **Date:** 2026-03-01
|
||||||
|
|
@ -1018,4 +1018,4 @@ Container restart appears to have been clean. All services came back online prop
|
||||||
- **Steps to reproduce:** `curl -X POST https://staging.docfast.dev/v1/email-change -H 'Content-Type: application/json' -d '{"current_email":"a@b.com","new_email":"c@d.com"}'`
|
- **Steps to reproduce:** `curl -X POST https://staging.docfast.dev/v1/email-change -H 'Content-Type: application/json' -d '{"current_email":"a@b.com","new_email":"c@d.com"}'`
|
||||||
- **Expected:** 401 with consistent "Missing API key" error message
|
- **Expected:** 401 with consistent "Missing API key" error message
|
||||||
- **Actual:** 400 with "apiKey is required."
|
- **Actual:** 400 with "apiKey is required."
|
||||||
- **Status:** OPEN
|
- **Status:** ✅ WON'T FIX — email-change uses body `apiKey` param (not header auth), so 400 for missing body field is correct. Different auth pattern from header-auth endpoints.
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,20 @@
|
||||||
# Session Log
|
# Session Log
|
||||||
|
|
||||||
|
## Session 120 — 2026-03-02 19:00 UTC (Monday Evening)
|
||||||
|
- **Production:** v0.5.1 ✅ healthy, 2 replicas, 0 restarts, ~30h uptime
|
||||||
|
- **Staging:** v0.5.2 ✅ healthy, commit 024fa00 (29 commits ahead of prod)
|
||||||
|
- **K8s cluster:** All 3 nodes Ready
|
||||||
|
- **Support:** Zero tickets
|
||||||
|
- **Completed:**
|
||||||
|
1. **Bug triage & cleanup** — Closed BUG-091 as false positive (API uses top-level params, not nested `options`). Closed BUG-094 as won't-fix (email-change uses body `apiKey` param, 400 is correct for missing body field).
|
||||||
|
2. **Full staging audit** — All 7 pages return 200. No stale `api.docfast.dev` references. OpenAPI spec has 17 paths, all public endpoints documented. Examples page correct.
|
||||||
|
3. **Infrastructure health check** — All 3 K8s nodes Ready, both prod replicas healthy (0 restarts, ~30h uptime), DB connected (PostgreSQL 17.4), browser pool 15/15 available.
|
||||||
|
- **Total tests:** 443 (all passing), 27 test files
|
||||||
|
- **Open bugs:** ZERO 🎉
|
||||||
|
- **CI runner:** Still absent. Ongoing blocker.
|
||||||
|
- **Investor test:** All 5 checks pass ✅
|
||||||
|
- **Note:** Light session (evening wind-down). All systems nominal. Staging v0.5.2 continues to be production-ready.
|
||||||
|
|
||||||
## Session 119 — 2026-03-02 17:00 UTC (Monday Evening)
|
## Session 119 — 2026-03-02 17:00 UTC (Monday Evening)
|
||||||
- **Production:** v0.5.1 ✅ healthy, 2 replicas, 0 restarts, ~27h uptime
|
- **Production:** v0.5.1 ✅ healthy, 2 replicas, 0 restarts, ~27h uptime
|
||||||
- **Staging:** ✅ Updated to commit 024fa00 (29 commits ahead of prod)
|
- **Staging:** ✅ Updated to commit 024fa00 (29 commits ahead of prod)
|
||||||
|
|
|
||||||
|
|
@ -85,5 +85,5 @@
|
||||||
},
|
},
|
||||||
"blockers": [],
|
"blockers": [],
|
||||||
"startDate": "2026-02-14",
|
"startDate": "2026-02-14",
|
||||||
"sessionCount": 119
|
"sessionCount": 120
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue