← back to AbramsEgo
feat(abramsego): licensing engine now reflects REAL inventory — reads Pattern Vault catalog, reports the live count of settlement-passed original designs (honest command-center state, not a static stub)
d17b76a5bf4780a7a7ffeeecd1f515bf073fd7de · 2026-07-02 09:59:56 -0700 · Steve
Files touched
M data/local-fleet.jsonM server.js
Diff
commit d17b76a5bf4780a7a7ffeeecd1f515bf073fd7de
Author: Steve <steve@designerwallcoverings.com>
Date: Thu Jul 2 09:59:56 2026 -0700
feat(abramsego): licensing engine now reflects REAL inventory — reads Pattern Vault catalog, reports the live count of settlement-passed original designs (honest command-center state, not a static stub)
---
data/local-fleet.json | 2 +-
server.js | 14 +++++++++++++-
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/data/local-fleet.json b/data/local-fleet.json
index 5fd5f12..d19817e 100644
--- a/data/local-fleet.json
+++ b/data/local-fleet.json
@@ -1 +1 @@
-{"fetchedAt":"2026-07-02T16:46:29.844Z","procs":[{"name":"pm2-logrotate","status":"online","cpu":0.3,"memMB":31,"restarts":0,"uptimeMs":9060747,"startedAt":"2026-07-02T14:15:29.097Z"},{"name":"abramsego","status":"online","cpu":1.3,"memMB":85,"restarts":13,"uptimeMs":5370695,"startedAt":"2026-07-02T15:16:59.149Z"},{"name":"api-token-dashboard","status":"online","cpu":0,"memMB":28,"restarts":0,"uptimeMs":8939133,"startedAt":"2026-07-02T14:17:30.711Z"},{"name":"pattern-vault","status":"online","cpu":0,"memMB":55,"restarts":5,"uptimeMs":191690,"startedAt":"2026-07-02T16:43:18.154Z"},{"name":"agent-cabinet","status":"online","cpu":0,"memMB":31,"restarts":0,"uptimeMs":8936409,"startedAt":"2026-07-02T14:17:33.435Z"},{"name":"astek-landing","status":"online","cpu":0.3,"memMB":60,"restarts":0,"uptimeMs":7433647,"startedAt":"2026-07-02T14:42:36.197Z"}]}
\ No newline at end of file
+{"fetchedAt":"2026-07-02T16:59:54.819Z","procs":[{"name":"pm2-logrotate","status":"online","cpu":0,"memMB":34,"restarts":0,"uptimeMs":9865722,"startedAt":"2026-07-02T14:15:29.097Z"},{"name":"abramsego","status":"online","cpu":0,"memMB":76,"restarts":14,"uptimeMs":335,"startedAt":"2026-07-02T16:59:54.484Z"},{"name":"api-token-dashboard","status":"online","cpu":0,"memMB":30,"restarts":0,"uptimeMs":9744108,"startedAt":"2026-07-02T14:17:30.711Z"},{"name":"pattern-vault","status":"online","cpu":0,"memMB":67,"restarts":9,"uptimeMs":89610,"startedAt":"2026-07-02T16:58:25.209Z"},{"name":"agent-cabinet","status":"online","cpu":0,"memMB":32,"restarts":0,"uptimeMs":9741384,"startedAt":"2026-07-02T14:17:33.435Z"},{"name":"astek-landing","status":"online","cpu":0,"memMB":136,"restarts":0,"uptimeMs":8238622,"startedAt":"2026-07-02T14:42:36.197Z"}]}
\ No newline at end of file
diff --git a/server.js b/server.js
index ef0524d..4c33aca 100644
--- a/server.js
+++ b/server.js
@@ -701,6 +701,18 @@ function collectCost() {
}
// --- REVENUE side of the P&L (five gated engines) --------------------------
+// Honest licensing-engine status: count the REAL in-house original designs that
+// have been generated + settlement-passed in the Pattern Vault (sibling project).
+function licensingNote() {
+ try {
+ const p = require('os').homedir() + '/Projects/pattern-vault/data/catalog.json';
+ const raw = JSON.parse(fs.readFileSync(p, 'utf8'));
+ const items = Array.isArray(raw) ? raw : (raw.items || raw.designs || []);
+ const n = items.filter(i => i.category === 'in-house-original').length;
+ if (n > 0) return `${n} original designs generated + settlement-passed + listing-ready (Pattern Vault :9779) — awaiting Steve channel signup (Spoonflower/Etsy)`;
+ } catch (e) {}
+ return 'catalog built — awaiting Steve channel signups';
+}
function defaultRevenue() {
return {
updatedAt: new Date().toISOString(),
@@ -709,7 +721,7 @@ function defaultRevenue() {
{ key: 'affiliate', label: 'Affiliate / commission', status: 'gated', amount: 0, note: 'DW referral + directory lead-gen — awaiting affiliate signup + placement' },
{ key: 'billable_work', label: 'Agent does billable work', status: 'gated', amount: 0, note: 'arbitrage / paid reports / metered API — awaiting billing rail' },
{ key: 'ads', label: 'Ads on a public property', status: 'gated', amount: 0, note: 'ad network + public site — awaiting Steve go-live' },
- { key: 'licensing', label: 'License WPB designs (B2B/marketplaces)', status: 'gated', amount: 0, note: 'catalog built — awaiting Steve channel signups' },
+ { key: 'licensing', label: 'License original designs (Pattern Vault + marketplaces)', status: 'gated', amount: 0, note: licensingNote() },
],
};
}
← b9076d4 auto-save: 2026-07-02T09:46:55 (1 files) — data/local-fleet.
·
back to AbramsEgo
·
fix(abramsego): licensing note override in collectRevenue (r 0153ae5 →