[object Object]

← back to Projects Agentabrams

Retire wallco.ai from projects gateway (410-dead, superseded by wallpapersback)

e451721847eecc75b0246c0f3ec8918dcde804e6 · 2026-07-28 15:27:34 -0700 · Steve Abrams

Files touched

Diff

commit e451721847eecc75b0246c0f3ec8918dcde804e6
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Tue Jul 28 15:27:34 2026 -0700

    Retire wallco.ai from projects gateway (410-dead, superseded by wallpapersback)
---
 build-projects.js |  9 ++++++++-
 projects.json     | 13 ++-----------
 2 files changed, 10 insertions(+), 12 deletions(-)

diff --git a/build-projects.js b/build-projects.js
index e9c1e95..3086198 100644
--- a/build-projects.js
+++ b/build-projects.js
@@ -18,6 +18,12 @@ const cp = require('child_process');
 const HOME = process.env.HOME;
 const PROJECTS_DIR = path.join(HOME, 'Projects');
 
+// Retired projects — never surface in the viewer even if a stale .deploy.conf
+// HEALTH_URL or a lingering pm2 port would otherwise auto-discover them.
+// wallco.ai is dead (domain returns 410 Gone), superseded by wallpapersback
+// (retired 2026-07-28, per Steve). Add a slug here to permanently kill its tile.
+const RETIRED = new Set(['wallco-ai']);
+
 // slug -> { slug, name, local, domain }
 const map = new Map();
 const get = (slug) => {
@@ -40,7 +46,7 @@ const CATEGORIES = [
 function categorize(slug) {
   const s = slug.toLowerCase();
   const rules = [
-    ["Wallpaper's Back & Patterns", /^wpb-|pattern-vault|patterndesignlab|wild-wallcoverings|wallco-ai/],
+    ["Wallpaper's Back & Patterns", /^wpb-|pattern-vault|patterndesignlab|wild-wallcoverings/],
     ['DW Vendor Lines',            /-internal$|-line-viewer$|-onboard$|-naturals$|^schumacher|^muralsource|^reidwitlin|viewer-local|all-designerwallcoverings/],
     ['Consulting & Client Sites',  /consulting|fantasea|prestige-car-wash|norma-sdcc/],
     ['DW Catalog & Marketing',     /^dw-|trending-dw|colorwheel|instagram-agent|^new-engine$/],
@@ -112,6 +118,7 @@ for (const dir of fs.readdirSync(PROJECTS_DIR)) {
 // Keep only projects that have SOMEWHERE to point (a domain or a live port).
 const out = [];
 for (const r of map.values()) {
+  if (RETIRED.has(r.slug)) continue;
   if (!r.domain && !r.local) continue;
   const kind = r.domain ? 'public' : 'local';
   const target = r.domain ? `https://${r.domain}` : `http://127.0.0.1:${r.local}`;
diff --git a/projects.json b/projects.json
index 432cca9..4554c04 100644
--- a/projects.json
+++ b/projects.json
@@ -291,9 +291,9 @@
     "slug": "homesonspec",
     "name": "Homesonspec",
     "kind": "local",
-    "target": "http://127.0.0.1:3100",
+    "target": "http://127.0.0.1:9799",
     "domain": null,
-    "port": 3100,
+    "port": 9799,
     "category": "Directories & Verticals"
   },
   {
@@ -557,15 +557,6 @@
     "port": 9931,
     "category": "DW Vendor Lines"
   },
-  {
-    "slug": "wallco-ai",
-    "name": "Wallco AI",
-    "kind": "public",
-    "target": "https://wallco.ai",
-    "domain": "wallco.ai",
-    "port": null,
-    "category": "Wallpaper's Back & Patterns"
-  },
   {
     "slug": "wild-wallcoverings",
     "name": "Wild Wallcoverings",

← 88133e6 categorize new-engine under DW Catalog & Marketing  ·  back to Projects Agentabrams  ·  chore: v0.2.0 → v0.2.1 (session close — wallco.ai retirement 92b9487 →