[object Object]

← back to Abrams

tick: refresh inventory + SWOT at 2026-05-23T04:45:32Z

df5e78210472f377de99b381d4492b46b5553f87 · 2026-05-22 21:45:33 -0700 · Abrams Panel

Files touched

Diff

commit df5e78210472f377de99b381d4492b46b5553f87
Author: Abrams Panel <steve@designerwallcoverings.com>
Date:   Fri May 22 21:45:33 2026 -0700

    tick: refresh inventory + SWOT at 2026-05-23T04:45:32Z
---
 data/abrams-indexes.json |  68 +++++-----
 data/build-log.jsonl     |  16 +++
 data/counters.json       |   6 +-
 data/ideas.json          |  88 ++++++-------
 data/mag-20-results.json |  52 ++++----
 data/market.json         | 329 +++++++++++++++++++++++------------------------
 data/projects.json       |   6 +-
 7 files changed, 289 insertions(+), 276 deletions(-)

diff --git a/data/abrams-indexes.json b/data/abrams-indexes.json
index b4faf109..21935a68 100644
--- a/data/abrams-indexes.json
+++ b/data/abrams-indexes.json
@@ -1,85 +1,85 @@
 {
-  "generated_at": "2026-05-15T11:23:24.844Z",
+  "generated_at": "2026-05-23T04:30:26.095Z",
   "indexes": [
     {
       "id": "ABI",
       "name": "Abrams Build Index",
       "icon": "◐",
-      "value": 1675,
+      "value": 18,
       "unit": "idx",
-      "delta": 18,
+      "delta": -15.43,
       "delta_label": "commits/day vs prev 7d",
       "sparkline": [
+        0,
         3,
         19,
-        5,
+        0,
+        0,
         1,
-        7,
-        81,
-        18
+        0
       ],
       "method": "Daily commit count across all Abrams projects, indexed 100 = previous 7-day average. >100 = accelerating. <100 = cooling.",
-      "interpretation": "BUILD ACCELERATING"
+      "interpretation": "BUILD COOLING"
     },
     {
       "id": "OHI",
       "name": "Operator Heat Index",
       "icon": "✸",
-      "value": 50,
+      "value": 0,
       "unit": "/100",
-      "delta": -1,
+      "delta": -3,
       "delta_label": "commits today vs 7d avg",
       "sparkline": [
+        0,
         3,
         19,
-        5,
+        0,
+        0,
         1,
-        7,
-        81,
-        18
+        0
       ],
       "method": "Composite: 50pt for pm2 uptime ratio + 50pt cap for today commits × 5. Reads founder activity intensity.",
-      "interpretation": "WARM"
+      "interpretation": "COLD"
     },
     {
       "id": "LNCI",
       "name": "Late-Night Code Index",
       "icon": "☾",
-      "value": 23,
+      "value": 0,
       "unit": "%",
-      "delta": 31,
+      "delta": 0,
       "delta_label": "late-night commits in 7d",
       "sparkline": [
-        1,
-        10,
         0,
         0,
         0,
-        8,
-        12
+        0,
+        0,
+        0,
+        0
       ],
       "method": "% of last-7-day commits landing between 22:00-02:59 local time. Productivity-vs-burnout signal — sustained >40% reads \"founder is running hot.\"",
-      "interpretation": "BALANCED"
+      "interpretation": "DAYTIME OPERATOR"
     },
     {
       "id": "API",
       "name": "Abrams Pizza Index",
       "icon": "🍕",
-      "value": 31,
+      "value": 0,
       "unit": "late-night commits / 7d",
-      "delta": 4,
+      "delta": 0,
       "delta_label": "last 24h vs prior day",
       "sparkline": [
-        1,
-        10,
         0,
         0,
         0,
-        8,
-        12
+        0,
+        0,
+        0,
+        0
       ],
       "method": "Direct count of commits landing 22:00-02:59 local in the last 7 days. The original Pentagon Pizza Index tracks pizza orders to DOD; the Abrams variant tracks late-night commits. Spikes precede shipped features.",
-      "interpretation": "SHIPPING IMMINENT"
+      "interpretation": "CALM"
     },
     {
       "id": "WHSI",
@@ -98,9 +98,9 @@
       "id": "LVI",
       "name": "Lead Velocity Index",
       "icon": "⟶",
-      "value": 1,
+      "value": 0,
       "unit": "leads / 7d",
-      "delta": 1,
+      "delta": -1,
       "delta_label": "vs prior 7d",
       "sparkline": [
         0,
@@ -108,11 +108,11 @@
         0,
         0,
         0,
-        1,
+        0,
         0
       ],
       "method": "Leads captured in the last 7 days via /api/lead. Compare to prior 7d for momentum. Baseline build phase = 0-1; growth phase = 5+.",
-      "interpretation": "EARLY SIGNAL"
+      "interpretation": "PRE-LAUNCH"
     },
     {
       "id": "TMCI",
@@ -130,7 +130,7 @@
       "id": "ESI",
       "name": "Empire Sprawl Index",
       "icon": "✦",
-      "value": 15515,
+      "value": 15637,
       "unit": "LOC",
       "delta": null,
       "delta_label": "across 8 projects",
diff --git a/data/build-log.jsonl b/data/build-log.jsonl
index fa089897..9271cb7a 100644
--- a/data/build-log.jsonl
+++ b/data/build-log.jsonl
@@ -1289,3 +1289,19 @@
 {"ts":"2026-05-23T04:30:04Z","type":"inventory-ok","phase":"inventory"}
 {"ts":"2026-05-23T04:30:06.438Z","type":"swot","slug":"sdcc-agentabrams","name":"sdccanalysis.agentabrams.com"}
 {"ts":"2026-05-23T04:30:04Z","type":"swot-ok","phase":"swot"}
+{"ts":"2026-05-23T04:30:04Z","type":"git-commit","phase":"git"}
+{"ts":"2026-05-23T04:30:06.703Z","type":"counters","count":7}
+{"ts":"2026-05-23T04:30:04Z","type":"counters-ok","phase":"counters"}
+{"ts":"2026-05-23T04:30:09.190Z","type":"market-data","ok":11,"err":0,"total":11}
+{"ts":"2026-05-23T04:30:04Z","type":"market-ok","phase":"market"}
+{"ts":"2026-05-23T04:30:26.103Z","type":"abrams-indexes","count":8}
+{"ts":"2026-05-23T04:30:04Z","type":"abrams-idx-ok","phase":"abrams-indexes"}
+{"ts":"2026-05-23T04:30:29.751Z","type":"mag-20-audit","projects":12,"total_pass":69,"total_fail":30}
+{"ts":"2026-05-23T04:30:04Z","type":"mag-20-ok","phase":"audit"}
+{"ts":"2026-05-23T04:30:29Z","type":"drain-queue","drained":0,"failed":11,"pending":11}
+{"ts":"2026-05-23T04:30:04Z","type":"tick-done","tick":"1779510632"}
+{"ts":"2026-05-23T04:45:32Z","type":"tick-start","tick":"1779511532"}
+{"ts":"2026-05-23T04:45:33.088Z","type":"inventory","count":12,"categories":["panel","umbrella","household-os","media","directory","analysis","saas"]}
+{"ts":"2026-05-23T04:45:32Z","type":"inventory-ok","phase":"inventory"}
+{"ts":"2026-05-23T04:45:33.113Z","type":"swot","slug":"abramsos","name":"AbramsOS"}
+{"ts":"2026-05-23T04:45:32Z","type":"swot-ok","phase":"swot"}
diff --git a/data/counters.json b/data/counters.json
index 33bb37be..72a52d04 100644
--- a/data/counters.json
+++ b/data/counters.json
@@ -1,5 +1,5 @@
 {
-  "generated_at": "2026-05-15T11:23:21.629Z",
+  "generated_at": "2026-05-23T04:30:06.703Z",
   "counters": [
     {
       "key": "projects",
@@ -22,7 +22,7 @@
     {
       "key": "tracks",
       "label": "MP3s indexed",
-      "value": 95,
+      "value": 3,
       "url": "http://127.0.0.1:9931/"
     },
     {
@@ -40,7 +40,7 @@
     {
       "key": "commits",
       "label": "Commits across portfolio",
-      "value": 141,
+      "value": 164,
       "url": null
     }
   ]
diff --git a/data/ideas.json b/data/ideas.json
index af7ce0c7..d3e2b437 100644
--- a/data/ideas.json
+++ b/data/ideas.json
@@ -94,49 +94,6 @@
       ],
       "generated_at": "2026-05-15T03:35:49.166Z"
     },
-    {
-      "slug": "abramsos",
-      "name": "AbramsOS",
-      "tagline": "Your house is a portfolio. Manage it.",
-      "summary": "AbramsOS — Household rights operating system — receipts, warranties, recalls, claims\n\nYour house is a portfolio. Manage it.",
-      "stage": "dev",
-      "category": "household-os",
-      "domain": "os.agentabrams.com",
-      "port": "9931",
-      "strengths": [
-        "No competitor owns \"household rights\" as a category — Quicken/YNAB do money, no one does warranties + recalls + receipts as one graph.",
-        "Gmail-connector is a high-trust on-ramp — once connected, retention is sticky.",
-        "AI-extractable receipts from email = zero data-entry UX."
-      ],
-      "weaknesses": [
-        "Single-user local app — no SaaS revenue path yet.",
-        "Recall feeds are scattered (NHTSA, CPSC, FDA) — integration burden is high.",
-        "Trust required: connecting Gmail is a big ask."
-      ],
-      "opportunities": [
-        "Insurance partnership — link AbramsOS recall data to home/auto policy holders ($5/user/month from insurer).",
-        "Class-action sniper — surface eligible class actions from receipt data (15% of payouts, $50-500/user/year).",
-        "Estate / probate tool — when a parent dies, AbramsOS exports the household graph for executors.",
-        "B2B for landlords / property managers — track warranties across 50 units."
-      ],
-      "threats": [
-        "Google could ship this as a Gmail feature in 18 months.",
-        "Privacy backlash on Gmail-scoped OAuth.",
-        "A bad recall miss (e.g. an unsafe car seat) creates legal liability."
-      ],
-      "revenue_lines": [
-        "Freemium → $9/mo Pro × 5000 = $540k ARR at year 2.",
-        "Insurance partnership rev share = $5 × 10k users = $600k/year.",
-        "Class-action commission = highly variable, $0-$2M/yr."
-      ],
-      "competitive_moat": "First-mover + Gmail trust + AI extraction quality. Network effect via household sharing.",
-      "next_3_moves": [
-        "Ship Stripe billing on AbramsOS — Pro tier at $9/mo.",
-        "Add NHTSA + CPSC recall feed ingestion.",
-        "Land 1 insurance pilot partner (Lemonade, Hippo, Branch)."
-      ],
-      "generated_at": "2026-05-15T06:21:43.354Z"
-    },
     {
       "slug": "4square-agentabrams",
       "name": "4square-agentabrams",
@@ -563,8 +520,51 @@
         "Ship Stripe checkout at /api/subscribe for white-label SaaS waitlist."
       ],
       "generated_at": "2026-05-23T04:30:06.437Z"
+    },
+    {
+      "slug": "abramsos",
+      "name": "AbramsOS",
+      "tagline": "Your house is a portfolio. Manage it.",
+      "summary": "AbramsOS — Household rights operating system — receipts, warranties, recalls, claims\n\nYour house is a portfolio. Manage it.",
+      "stage": "dev",
+      "category": "household-os",
+      "domain": "os.agentabrams.com",
+      "port": "9931",
+      "strengths": [
+        "No competitor owns \"household rights\" as a category — Quicken/YNAB do money, no one does warranties + recalls + receipts as one graph.",
+        "Gmail-connector is a high-trust on-ramp — once connected, retention is sticky.",
+        "AI-extractable receipts from email = zero data-entry UX."
+      ],
+      "weaknesses": [
+        "Single-user local app — no SaaS revenue path yet.",
+        "Recall feeds are scattered (NHTSA, CPSC, FDA) — integration burden is high.",
+        "Trust required: connecting Gmail is a big ask."
+      ],
+      "opportunities": [
+        "Insurance partnership — link AbramsOS recall data to home/auto policy holders ($5/user/month from insurer).",
+        "Class-action sniper — surface eligible class actions from receipt data (15% of payouts, $50-500/user/year).",
+        "Estate / probate tool — when a parent dies, AbramsOS exports the household graph for executors.",
+        "B2B for landlords / property managers — track warranties across 50 units."
+      ],
+      "threats": [
+        "Google could ship this as a Gmail feature in 18 months.",
+        "Privacy backlash on Gmail-scoped OAuth.",
+        "A bad recall miss (e.g. an unsafe car seat) creates legal liability."
+      ],
+      "revenue_lines": [
+        "Freemium → $9/mo Pro × 5000 = $540k ARR at year 2.",
+        "Insurance partnership rev share = $5 × 10k users = $600k/year.",
+        "Class-action commission = highly variable, $0-$2M/yr."
+      ],
+      "competitive_moat": "First-mover + Gmail trust + AI extraction quality. Network effect via household sharing.",
+      "next_3_moves": [
+        "Ship Stripe billing on AbramsOS — Pro tier at $9/mo.",
+        "Add NHTSA + CPSC recall feed ingestion.",
+        "Land 1 insurance pilot partner (Lemonade, Hippo, Branch)."
+      ],
+      "generated_at": "2026-05-23T04:45:33.113Z"
     }
   ],
-  "updated_at": "2026-05-23T04:30:06.438Z",
+  "updated_at": "2026-05-23T04:45:33.113Z",
   "count": 13
 }
\ No newline at end of file
diff --git a/data/mag-20-results.json b/data/mag-20-results.json
index 3472ac3f..3e5c1a80 100644
--- a/data/mag-20-results.json
+++ b/data/mag-20-results.json
@@ -1,5 +1,5 @@
 {
-  "generated_at": "2026-05-15T11:23:24.874Z",
+  "generated_at": "2026-05-23T04:30:26.150Z",
   "projects": [
     {
       "slug": "abrams-panel",
@@ -52,7 +52,7 @@
         },
         "12": {
           "status": "pass",
-          "evidence": "90 commits over 1 days (90.00/day)"
+          "evidence": "100 commits over 8 days (12.50/day)"
         },
         "13": {
           "status": "pass",
@@ -84,7 +84,7 @@
         },
         "20": {
           "status": "pass",
-          "evidence": "260 what-landed videos exist; per-project mapping TBD"
+          "evidence": "261 what-landed videos exist; per-project mapping TBD"
         }
       },
       "score": 13,
@@ -142,7 +142,7 @@
         },
         "12": {
           "status": "pass",
-          "evidence": "9 commits over 1 days (9.00/day)"
+          "evidence": "12 commits over 8 days (1.50/day)"
         },
         "13": {
           "status": "pass",
@@ -174,7 +174,7 @@
         },
         "20": {
           "status": "pass",
-          "evidence": "260 what-landed videos exist; per-project mapping TBD"
+          "evidence": "261 what-landed videos exist; per-project mapping TBD"
         }
       },
       "score": 7,
@@ -232,7 +232,7 @@
         },
         "12": {
           "status": "pass",
-          "evidence": "90 commits over 1 days (90.00/day)"
+          "evidence": "100 commits over 8 days (12.50/day)"
         },
         "13": {
           "status": "pass",
@@ -264,7 +264,7 @@
         },
         "20": {
           "status": "pass",
-          "evidence": "260 what-landed videos exist; per-project mapping TBD"
+          "evidence": "261 what-landed videos exist; per-project mapping TBD"
         }
       },
       "score": 13,
@@ -322,7 +322,7 @@
         },
         "12": {
           "status": "pass",
-          "evidence": "22 commits over 5 days (4.40/day)"
+          "evidence": "24 commits over 12 days (2.00/day)"
         },
         "13": {
           "status": "pass",
@@ -354,7 +354,7 @@
         },
         "20": {
           "status": "pass",
-          "evidence": "260 what-landed videos exist; per-project mapping TBD"
+          "evidence": "261 what-landed videos exist; per-project mapping TBD"
         }
       },
       "score": 4,
@@ -411,8 +411,8 @@
           "evidence": ".git/ present"
         },
         "12": {
-          "status": "fail",
-          "evidence": "2 commits over 8 days (0.25/day)"
+          "status": "pass",
+          "evidence": "5 commits over 16 days (0.31/day)"
         },
         "13": {
           "status": "pass",
@@ -444,11 +444,11 @@
         },
         "20": {
           "status": "pass",
-          "evidence": "260 what-landed videos exist; per-project mapping TBD"
+          "evidence": "261 what-landed videos exist; per-project mapping TBD"
         }
       },
-      "score": 3,
-      "fail": 1,
+      "score": 4,
+      "fail": 0,
       "na": 16
     },
     {
@@ -502,7 +502,7 @@
         },
         "12": {
           "status": "pass",
-          "evidence": "4 commits over 8 days (0.50/day)"
+          "evidence": "5 commits over 16 days (0.31/day)"
         },
         "13": {
           "status": "pass",
@@ -534,7 +534,7 @@
         },
         "20": {
           "status": "pass",
-          "evidence": "260 what-landed videos exist; per-project mapping TBD"
+          "evidence": "261 what-landed videos exist; per-project mapping TBD"
         }
       },
       "score": 6,
@@ -592,7 +592,7 @@
         },
         "12": {
           "status": "pass",
-          "evidence": "8 commits over 3 days (2.67/day)"
+          "evidence": "10 commits over 11 days (0.91/day)"
         },
         "13": {
           "status": "pass",
@@ -624,7 +624,7 @@
         },
         "20": {
           "status": "pass",
-          "evidence": "260 what-landed videos exist; per-project mapping TBD"
+          "evidence": "261 what-landed videos exist; per-project mapping TBD"
         }
       },
       "score": 4,
@@ -682,7 +682,7 @@
         },
         "12": {
           "status": "pass",
-          "evidence": "3 commits over 1 days (3.00/day)"
+          "evidence": "5 commits over 9 days (0.56/day)"
         },
         "13": {
           "status": "pass",
@@ -714,7 +714,7 @@
         },
         "20": {
           "status": "pass",
-          "evidence": "260 what-landed videos exist; per-project mapping TBD"
+          "evidence": "261 what-landed videos exist; per-project mapping TBD"
         }
       },
       "score": 8,
@@ -772,7 +772,7 @@
         },
         "12": {
           "status": "pass",
-          "evidence": "4 commits over 8 days (0.50/day)"
+          "evidence": "4 commits over 16 days (0.25/day)"
         },
         "13": {
           "status": "pass",
@@ -804,7 +804,7 @@
         },
         "20": {
           "status": "pass",
-          "evidence": "260 what-landed videos exist; per-project mapping TBD"
+          "evidence": "261 what-landed videos exist; per-project mapping TBD"
         }
       },
       "score": 4,
@@ -862,7 +862,7 @@
         },
         "12": {
           "status": "pass",
-          "evidence": "35 commits over 15 days (2.33/day)"
+          "evidence": "35 commits over 22 days (1.59/day)"
         },
         "13": {
           "status": "pass",
@@ -894,7 +894,7 @@
         },
         "20": {
           "status": "pass",
-          "evidence": "260 what-landed videos exist; per-project mapping TBD"
+          "evidence": "261 what-landed videos exist; per-project mapping TBD"
         }
       },
       "score": 6,
@@ -1139,8 +1139,8 @@
       "na": 2
     },
     "12": {
-      "pass": 9,
-      "fail": 1,
+      "pass": 10,
+      "fail": 0,
       "na": 2
     },
     "13": {
diff --git a/data/market.json b/data/market.json
index f396d7b3..8ed7de97 100644
--- a/data/market.json
+++ b/data/market.json
@@ -1,24 +1,18 @@
 {
-  "generated_at": "2026-05-15T11:23:21.676Z",
+  "generated_at": "2026-05-23T04:30:06.752Z",
   "tickers": [
     {
       "sym": "SPY",
       "name": "S&P 500 ETF",
       "cat": "Stocks",
       "symbol": "SPY",
-      "price": 748.17,
-      "previousClose": 694.46,
-      "dayHigh": 749.53,
-      "dayLow": 743.56,
+      "price": 745.64,
+      "previousClose": 711.21,
+      "dayHigh": 748.94,
+      "dayLow": 744.48,
       "fiftyTwoWeekHigh": 749.53,
-      "fiftyTwoWeekLow": 575.6,
+      "fiftyTwoWeekLow": 578.43,
       "sparkline": [
-        699.94,
-        701.66,
-        710.14,
-        708.72,
-        704.08,
-        711.21,
         708.45,
         713.94,
         715.17,
@@ -34,32 +28,32 @@
         739.3,
         738.18,
         742.31,
-        748.17
+        748.17,
+        739.17,
+        738.65,
+        733.73,
+        741.25,
+        742.72,
+        745.64
       ],
       "currency": "USD",
       "exchangeName": "PCX",
-      "change": 53.71,
-      "changePct": 7.7341,
-      "updated_at": "2026-05-15T11:23:21.810Z"
+      "change": 34.43,
+      "changePct": 4.841,
+      "updated_at": "2026-05-23T04:30:06.902Z"
     },
     {
       "sym": "QQQ",
       "name": "Nasdaq-100 ETF",
       "cat": "Stocks",
       "symbol": "QQQ",
-      "price": 719.79,
-      "previousClose": 628.6,
-      "dayHigh": 722.03,
-      "dayLow": 714.22,
-      "fiftyTwoWeekHigh": 722.03,
-      "fiftyTwoWeekLow": 505.58,
+      "price": 717.54,
+      "previousClose": 655.11,
+      "dayHigh": 722.12,
+      "dayLow": 715.97,
+      "fiftyTwoWeekHigh": 722.12,
+      "fiftyTwoWeekLow": 511.93,
       "sparkline": [
-        637.4,
-        640.47,
-        648.85,
-        646.79,
-        644.33,
-        655.11,
         651.42,
         663.88,
         664.23,
@@ -75,32 +69,32 @@
         713.29,
         707.24,
         714.71,
-        719.79
+        719.79,
+        708.93,
+        705.88,
+        701.53,
+        713.15,
+        714.51,
+        717.54
       ],
       "currency": "USD",
       "exchangeName": "NGM",
-      "change": 91.19,
-      "changePct": 14.5068,
-      "updated_at": "2026-05-15T11:23:21.991Z"
+      "change": 62.43,
+      "changePct": 9.5297,
+      "updated_at": "2026-05-23T04:30:07.175Z"
     },
     {
       "sym": "DIA",
       "name": "Dow Industrials ETF",
       "cat": "Stocks",
       "symbol": "DIA",
-      "price": 500.8,
-      "previousClose": 485.49,
-      "dayHigh": 502.16,
-      "dayLow": 498.85,
-      "fiftyTwoWeekHigh": 505.3,
-      "fiftyTwoWeekLow": 413.83,
+      "price": 506.12,
+      "previousClose": 494.76,
+      "dayHigh": 508.74,
+      "dayLow": 505.72,
+      "fiftyTwoWeekHigh": 508.74,
+      "fiftyTwoWeekLow": 418.58,
       "sparkline": [
-        484.72,
-        485.63,
-        494.22,
-        494.33,
-        491.36,
-        494.76,
         493,
         492.21,
         491.83,
@@ -116,32 +110,32 @@
         497.11,
         497.89,
         497.14,
-        500.8
+        500.8,
+        495.37,
+        497.01,
+        493.98,
+        500.24,
+        503.11,
+        506.12
       ],
       "currency": "USD",
       "exchangeName": "PCX",
-      "change": 15.31,
-      "changePct": 3.1535,
-      "updated_at": "2026-05-15T11:23:22.163Z"
+      "change": 11.36,
+      "changePct": 2.2961,
+      "updated_at": "2026-05-23T04:30:07.398Z"
     },
     {
       "sym": "IWM",
       "name": "Russell 2000 ETF",
       "cat": "Stocks",
       "symbol": "IWM",
-      "price": 284.45,
-      "previousClose": 268.72,
-      "dayHigh": 285.655,
-      "dayLow": 281.96,
+      "price": 285.12,
+      "previousClose": 276.48,
+      "dayHigh": 286.6,
+      "dayLow": 283.67,
       "fiftyTwoWeekHigh": 287.58,
-      "fiftyTwoWeekLow": 199.65,
+      "fiftyTwoWeekLow": 202.67,
       "sparkline": [
-        269.39,
-        269.95,
-        275.78,
-        277.35,
-        274.51,
-        276.48,
         275.52,
         276.65,
         277.14,
@@ -157,31 +151,32 @@
         285.33,
         282.57,
         282.67,
-        284.45
+        284.45,
+        277.6,
+        275.97,
+        273,
+        279.87,
+        282.49,
+        285.12
       ],
       "currency": "USD",
       "exchangeName": "PCX",
-      "change": 15.73,
-      "changePct": 5.8537,
-      "updated_at": "2026-05-15T11:23:22.336Z"
+      "change": 8.64,
+      "changePct": 3.125,
+      "updated_at": "2026-05-23T04:30:07.621Z"
     },
     {
       "sym": "^VIX",
       "name": "CBOE Volatility",
       "cat": "Stocks",
       "symbol": "^VIX",
-      "price": 18.67,
-      "previousClose": 18.17,
-      "dayHigh": 18.9,
-      "dayLow": 18,
+      "price": 16.7,
+      "previousClose": 18.92,
+      "dayHigh": 17.39,
+      "dayLow": 16.46,
       "fiftyTwoWeekHigh": 35.3,
       "fiftyTwoWeekLow": 13.38,
       "sparkline": [
-        18.17,
-        17.94,
-        17.48,
-        18.87,
-        19.5,
         18.92,
         19.31,
         18.71,
@@ -199,32 +194,31 @@
         17.99,
         17.87,
         17.26,
-        18.67
+        18.43,
+        17.82,
+        18.06,
+        17.44,
+        16.76,
+        16.7
       ],
       "currency": "USD",
       "exchangeName": "CXI",
-      "change": 0.5,
-      "changePct": 2.7518,
-      "updated_at": "2026-05-15T11:23:22.526Z"
+      "change": -2.22,
+      "changePct": -11.7336,
+      "updated_at": "2026-05-23T04:30:07.809Z"
     },
     {
       "sym": "^TNX",
       "name": "10-Year Treasury",
       "cat": "Bonds",
       "symbol": "^TNX",
-      "price": 4.461,
-      "previousClose": 4.256,
-      "dayHigh": 0,
-      "dayLow": 0,
+      "price": 4.558,
+      "previousClose": 4.294,
+      "dayHigh": 4.586,
+      "dayLow": 4.528,
       "fiftyTwoWeekHigh": 4.997,
-      "fiftyTwoWeekLow": 0,
+      "fiftyTwoWeekLow": 3.345,
       "sparkline": [
-        4.256,
-        4.282,
-        4.309,
-        4.246,
-        4.25,
-        4.292,
         4.294,
         4.323,
         4.31,
@@ -241,32 +235,32 @@
         4.41,
         4.463,
         4.481,
-        4.461
+        4.461,
+        4.595,
+        4.623,
+        4.667,
+        4.572,
+        4.586,
+        4.558
       ],
       "currency": "USD",
       "exchangeName": "CGI",
-      "change": 0.205,
-      "changePct": 4.8167,
-      "updated_at": "2026-05-15T11:23:22.699Z"
+      "change": 0.264,
+      "changePct": 6.1481,
+      "updated_at": "2026-05-23T04:30:07.998Z"
     },
     {
       "sym": "^TYX",
       "name": "30-Year Treasury",
       "cat": "Bonds",
       "symbol": "^TYX",
-      "price": 5.012,
-      "previousClose": 4.868,
-      "dayHigh": 0,
-      "dayLow": 0,
+      "price": 5.064,
+      "previousClose": 4.902,
+      "dayHigh": 5.096,
+      "dayLow": 5.056,
       "fiftyTwoWeekHigh": 5.152,
-      "fiftyTwoWeekLow": 0,
+      "fiftyTwoWeekLow": 3.717,
       "sparkline": [
-        4.868,
-        4.891,
-        4.929,
-        4.885,
-        4.881,
-        4.898,
         4.902,
         4.918,
         4.916,
@@ -283,32 +277,32 @@
         4.986,
         5.031,
         5.047,
-        5.012
+        5.012,
+        5.128,
+        5.147,
+        5.181,
+        5.116,
+        5.112,
+        5.064
       ],
       "currency": "USD",
       "exchangeName": "CGI",
-      "change": 0.144,
-      "changePct": 2.9581,
-      "updated_at": "2026-05-15T11:23:22.875Z"
+      "change": 0.162,
+      "changePct": 3.3048,
+      "updated_at": "2026-05-23T04:30:08.178Z"
     },
     {
       "sym": "^IRX",
       "name": "13-Week T-Bill",
       "cat": "Bonds",
       "symbol": "^IRX",
-      "price": 3.588,
-      "previousClose": 3.612,
-      "dayHigh": 0,
-      "dayLow": 0,
+      "price": 3.585,
+      "previousClose": 3.595,
+      "dayHigh": 3.59,
+      "dayLow": 3.57,
       "fiftyTwoWeekHigh": 5.348,
-      "fiftyTwoWeekLow": 0,
+      "fiftyTwoWeekLow": 3.57,
       "sparkline": [
-        3.612,
-        3.612,
-        3.61,
-        3.6,
-        3.598,
-        3.598,
         3.595,
         3.595,
         3.593,
@@ -324,32 +318,32 @@
         3.6,
         3.603,
         3.6,
-        3.588
+        3.588,
+        3.588,
+        3.568,
+        3.575,
+        3.557,
+        3.582,
+        3.585
       ],
       "currency": "USD",
       "exchangeName": "CGI",
-      "change": -0.024,
-      "changePct": -0.6645,
-      "updated_at": "2026-05-15T11:23:23.058Z"
+      "change": -0.01,
+      "changePct": -0.2782,
+      "updated_at": "2026-05-23T04:30:08.421Z"
     },
     {
       "sym": "GC=F",
       "name": "Gold Futures",
       "cat": "Commodities",
       "symbol": "GC=F",
-      "price": 4571.3,
-      "previousClose": 4800,
-      "dayHigh": 4670.1,
-      "dayLow": 4535.4,
+      "price": 4510.5,
+      "previousClose": 4732.5,
+      "dayHigh": 4547,
+      "dayLow": 4488,
       "fiftyTwoWeekHigh": 5586.2,
-      "fiftyTwoWeekLow": 3173.9,
+      "fiftyTwoWeekLow": 3242.4,
       "sparkline": [
-        4800,
-        4785.4,
-        4857.6,
-        4806.6,
-        4698.4,
-        4732.5,
         4705.1,
         4722.3,
         4675.4,
@@ -366,32 +360,31 @@
         4677.6,
         4697.7,
         4678.1,
-        4571.3
+        4555.8,
+        4552.5,
+        4506.3,
+        4531.3,
+        4539.8,
+        4521
       ],
       "currency": "USD",
       "exchangeName": "CMX",
-      "change": -228.7,
-      "changePct": -4.7646,
-      "updated_at": "2026-05-15T11:23:23.238Z"
+      "change": -222,
+      "changePct": -4.691,
+      "updated_at": "2026-05-23T04:30:08.651Z"
     },
     {
       "sym": "CL=F",
       "name": "WTI Crude Oil",
       "cat": "Commodities",
       "symbol": "CL=F",
-      "price": 99.76,
-      "previousClose": 91.29,
-      "dayHigh": 100.94,
-      "dayLow": 97.23,
+      "price": 96.6,
+      "previousClose": 92.96,
+      "dayHigh": 99.43,
+      "dayLow": 94.73,
       "fiftyTwoWeekHigh": 119.48,
       "fiftyTwoWeekLow": 54.98,
       "sparkline": [
-        91.29,
-        94.69,
-        83.85,
-        89.61,
-        92.13,
-        92.96,
         95.85,
         94.4,
         96.37,
@@ -408,34 +401,31 @@
         102.18,
         101.02,
         101.17,
-        99.76
+        105.42,
+        108.66,
+        107.77,
+        98.26,
+        96.35,
+        96.6
       ],
       "currency": "USD",
       "exchangeName": "NYM",
-      "change": 8.47,
-      "changePct": 9.2781,
-      "updated_at": "2026-05-15T11:23:23.416Z"
+      "change": 3.64,
+      "changePct": 3.9157,
+      "updated_at": "2026-05-23T04:30:08.836Z"
     },
     {
       "sym": "BTC-USD",
       "name": "Bitcoin",
       "cat": "Crypto",
       "symbol": "BTC-USD",
-      "price": 80601.77,
-      "previousClose": 74805.08,
-      "dayHigh": 81586.195,
-      "dayLow": 80327.12,
+      "price": 75505.26,
+      "previousClose": 78268.95,
+      "dayHigh": 75569.87,
+      "dayLow": 75207.28,
       "fiftyTwoWeekHigh": 126198.07,
       "fiftyTwoWeekLow": 60074.203,
       "sparkline": [
-        74805.08,
-        75152.13,
-        77126.875,
-        75726.21,
-        73856.35,
-        75872.52,
-        76352.77,
-        78203.1,
         78268.95,
         77455.31,
         77612.016,
@@ -458,13 +448,20 @@
         80477.49,
         79277.12,
         81051.25,
-        80601.77
+        79065.68,
+        78131.44,
+        77429.35,
+        76954.17,
+        76750.91,
+        77457.77,
+        77539.17,
+        75505.26
       ],
       "currency": "USD",
       "exchangeName": "CCC",
-      "change": 5796.69,
-      "changePct": 7.7491,
-      "updated_at": "2026-05-15T11:23:23.588Z"
+      "change": -2763.69,
+      "changePct": -3.531,
+      "updated_at": "2026-05-23T04:30:09.042Z"
     }
   ]
 }
\ No newline at end of file
diff --git a/data/projects.json b/data/projects.json
index beed2447..fc90c4fc 100644
--- a/data/projects.json
+++ b/data/projects.json
@@ -1,5 +1,5 @@
 {
-  "updated_at": "2026-05-23T04:30:06.405Z",
+  "updated_at": "2026-05-23T04:45:33.087Z",
   "count": 12,
   "projects": [
     {
@@ -41,8 +41,8 @@
       "pm2_name": null,
       "pm2_pid": null,
       "pm2_uptime_ms": null,
-      "commit_count": 99,
-      "last_commit": "2026-05-19 18:40:12 -0700 links: add noreferrer to all target=_blank rel attributes",
+      "commit_count": 100,
+      "last_commit": "2026-05-22 21:30:06 -0700 tick: refresh inventory + SWOT at 2026-05-23T04:30:04Z",
       "created_at": "2026-05-14T15:31:51.408Z"
     },
     {

← 8cf017ac tick: refresh inventory + SWOT at 2026-05-23T04:30:04Z  ·  back to Abrams  ·  tick: refresh inventory + SWOT at 2026-05-23T05:00:37Z e7a53642 →