← back to Site Factory
chore: macstudio3 migration — reconcile from mac2 + repoint paths (stevestudio2→macstudio3, node/npm/npx→/opt/homebrew)
f1b409f08d4b2b0ffc0c2e40e12ac54a0fc898b0 · 2026-07-03 08:08:17 -0700 · Steve
Files touched
M critic/server.jsM ecosystem.config.jsM orchestrator/publish.jsM scripts/browserbase-login.jsM scripts/cncp-panel-data.jsM scripts/deploy-vercel.shM scripts/hawk-local.shM scripts/run-all-stages.shM scripts/stripe-init.shM scripts/uptime-monitor.shM scripts/wrap-capacitor.shM stages/runners.js
Diff
commit f1b409f08d4b2b0ffc0c2e40e12ac54a0fc898b0
Author: Steve <steve@designerwallcoverings.com>
Date: Fri Jul 3 08:08:17 2026 -0700
chore: macstudio3 migration — reconcile from mac2 + repoint paths (stevestudio2→macstudio3, node/npm/npx→/opt/homebrew)
---
critic/server.js | 2 +-
ecosystem.config.js | 6 +++---
orchestrator/publish.js | 2 +-
scripts/browserbase-login.js | 2 +-
scripts/cncp-panel-data.js | 2 +-
scripts/deploy-vercel.sh | 2 +-
scripts/hawk-local.sh | 4 ++--
scripts/run-all-stages.sh | 10 +++++-----
scripts/stripe-init.sh | 2 +-
scripts/uptime-monitor.sh | 4 ++--
scripts/wrap-capacitor.sh | 2 +-
stages/runners.js | 4 ++--
12 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/critic/server.js b/critic/server.js
index bbe33ea..705ce7f 100644
--- a/critic/server.js
+++ b/critic/server.js
@@ -43,7 +43,7 @@ function summarize(allFindings) {
// which expand + scan. An attacker reaching this port could request paths
// outside SITES_ROOT (e.g. /Users/stevestudio2 → full disk scan + secret
// exfil via findings posted back to orchestrator). Validate all paths.
-const SITES_ROOT_FOR_PATHS = '/Users/stevestudio2/Projects/site-factory/sites';
+const SITES_ROOT_FOR_PATHS = '/Users/macstudio3/Projects/site-factory/sites';
const path = require('path');
function isPathSafe(p) {
try {
diff --git a/ecosystem.config.js b/ecosystem.config.js
index 963f841..3c2e89f 100644
--- a/ecosystem.config.js
+++ b/ecosystem.config.js
@@ -89,7 +89,7 @@ module.exports = {
},
{
name: 'site-wholivedthere',
- cwd: '/Users/stevestudio2/Projects/site-factory/sites/wholivedthere.com/app',
+ cwd: '/Users/macstudio3/Projects/site-factory/sites/wholivedthere.com/app',
script: 'node_modules/.bin/next',
args: 'start -p 3001',
env: { NODE_ENV: 'production', PORT: 3001 },
@@ -100,7 +100,7 @@ module.exports = {
},
{
name: 'site-bubbesblock',
- cwd: '/Users/stevestudio2/Projects/site-factory/sites/bubbesblock.com/app',
+ cwd: '/Users/macstudio3/Projects/site-factory/sites/bubbesblock.com/app',
script: 'node_modules/.bin/next',
args: 'start -p 3002',
env: { NODE_ENV: 'production', PORT: 3002 },
@@ -111,7 +111,7 @@ module.exports = {
},
{
name: 'site-claimmyaddress',
- cwd: '/Users/stevestudio2/Projects/site-factory/sites/claimmyaddress.com/app',
+ cwd: '/Users/macstudio3/Projects/site-factory/sites/claimmyaddress.com/app',
script: 'node_modules/.bin/next',
args: 'start -p 3003',
env: { NODE_ENV: 'production', PORT: 3003 },
diff --git a/orchestrator/publish.js b/orchestrator/publish.js
index 42049b9..8b17909 100644
--- a/orchestrator/publish.js
+++ b/orchestrator/publish.js
@@ -3,7 +3,7 @@
const fs = require('fs');
const path = require('path');
-const SITES_ROOT = '/Users/stevestudio2/Projects/site-factory/sites';
+const SITES_ROOT = '/Users/macstudio3/Projects/site-factory/sites';
// SECURITY (P0 fix 2026-05-04): `domain` flows from DB into fs paths. A poisoned
// row like `domain = '../../../.ssh'` would let publishTheme/publishCopy write
diff --git a/scripts/browserbase-login.js b/scripts/browserbase-login.js
index f835fc0..2d0cdff 100644
--- a/scripts/browserbase-login.js
+++ b/scripts/browserbase-login.js
@@ -20,7 +20,7 @@
}
}
}
-const Browserbase = require('/Users/stevestudio2/.claude/skills/browserbase/node_modules/@browserbasehq/sdk').default;
+const Browserbase = require('/Users/macstudio3/.claude/skills/browserbase/node_modules/@browserbasehq/sdk').default;
const fs = require('fs');
const path = require('path');
diff --git a/scripts/cncp-panel-data.js b/scripts/cncp-panel-data.js
index 312b927..35668ff 100755
--- a/scripts/cncp-panel-data.js
+++ b/scripts/cncp-panel-data.js
@@ -8,7 +8,7 @@ const fs = require('fs');
const path = require('path');
const ORCH = process.env.ORCH_URL || 'http://127.0.0.1:9880';
-const OUT = process.env.CNCP_OUT || '/Users/stevestudio2/cncp-starter/cncp-site-factory.json';
+const OUT = process.env.CNCP_OUT || '/Users/macstudio3/cncp-starter/cncp-site-factory.json';
function getJSON(url) {
const u = new URL(url);
diff --git a/scripts/deploy-vercel.sh b/scripts/deploy-vercel.sh
index 1f3f7ee..c5406e5 100755
--- a/scripts/deploy-vercel.sh
+++ b/scripts/deploy-vercel.sh
@@ -8,7 +8,7 @@ set -euo pipefail
DOMAIN="${1:-}"
[ -z "$DOMAIN" ] && { echo "usage: $0 <domain>"; exit 2; }
-ROOT="/Users/stevestudio2/Projects/site-factory"
+ROOT="/Users/macstudio3/Projects/site-factory"
SITE_DIR="$ROOT/sites/$DOMAIN/app"
[ -d "$SITE_DIR" ] || { echo "site dir missing: $SITE_DIR"; exit 1; }
diff --git a/scripts/hawk-local.sh b/scripts/hawk-local.sh
index 58fe2fd..d1eee36 100755
--- a/scripts/hawk-local.sh
+++ b/scripts/hawk-local.sh
@@ -4,8 +4,8 @@
# Daemon dead → pm2 resurrect. Any sf-* not online → pm2 restart.
set -uo pipefail
-PM2=/Users/stevestudio2/.npm-global/bin/pm2
-LOG=/Users/stevestudio2/Projects/site-factory/logs/hawk.log
+PM2=/Users/macstudio3/.npm-global/bin/pm2
+LOG=/Users/macstudio3/Projects/site-factory/logs/hawk.log
TS() { date +%FT%T%z; }
mkdir -p "$(dirname "$LOG")"
diff --git a/scripts/run-all-stages.sh b/scripts/run-all-stages.sh
index e35308e..5080bb7 100755
--- a/scripts/run-all-stages.sh
+++ b/scripts/run-all-stages.sh
@@ -6,8 +6,8 @@ set -uo pipefail
cd "$(dirname "$0")/.."
# Load env from desktop-master + project mirror (project mirror wins for reproducibility)
-if [ -f /Users/stevestudio2/Desktop/site-factory.env ]; then
- set -a; source /Users/stevestudio2/Desktop/site-factory.env; set +a
+if [ -f /Users/macstudio3/Desktop/site-factory.env ]; then
+ set -a; source /Users/macstudio3/Desktop/site-factory.env; set +a
fi
if [ -f .env ]; then
set -a; source .env; set +a
@@ -90,7 +90,7 @@ run_vercel() {
# ─── per-site .env on Desktop ───────────────────────────────────────────
write_site_env() {
local DOMAIN="$1"
- local F="/Users/stevestudio2/Desktop/$DOMAIN.env"
+ local F="/Users/macstudio3/Desktop/$DOMAIN.env"
local PORT
case "$DOMAIN" in
wholivedthere.com) PORT=3001 ;;
@@ -115,7 +115,7 @@ NEXT_PUBLIC_GA4_ID=
DATABASE_URL=postgresql:///site_factory?host=/tmp&user=stevestudio2
EOF
# Mirror to the site's app/.env.local so Next dev picks it up
- cp "$F" "/Users/stevestudio2/Projects/site-factory/sites/$DOMAIN/app/.env.local"
+ cp "$F" "/Users/macstudio3/Projects/site-factory/sites/$DOMAIN/app/.env.local"
}
# ─── go ──────────────────────────────────────────────────────────────────
@@ -136,7 +136,7 @@ done
wait
# Mirror master env to project
-cp /Users/stevestudio2/Desktop/site-factory.env /Users/stevestudio2/Projects/site-factory/.env 2>/dev/null
+cp /Users/macstudio3/Desktop/site-factory.env /Users/macstudio3/Projects/site-factory/.env 2>/dev/null
log "done."
echo
diff --git a/scripts/stripe-init.sh b/scripts/stripe-init.sh
index f105b36..92e04dc 100755
--- a/scripts/stripe-init.sh
+++ b/scripts/stripe-init.sh
@@ -7,7 +7,7 @@ set -uo pipefail
[ -z "${STRIPE_SECRET_KEY:-}" ] && { echo "STUB MODE — set STRIPE_SECRET_KEY to wire."; exit 0; }
-ROOT="/Users/stevestudio2/Projects/site-factory"
+ROOT="/Users/macstudio3/Projects/site-factory"
SK="$STRIPE_SECRET_KEY"
# domain | tier | name | amount(cents) | currency
diff --git a/scripts/uptime-monitor.sh b/scripts/uptime-monitor.sh
index 9702ad1..a31787a 100755
--- a/scripts/uptime-monitor.sh
+++ b/scripts/uptime-monitor.sh
@@ -4,8 +4,8 @@
# Logs every check; macOS notification on failure (3 consecutive 5xx/timeout).
set -uo pipefail
-LOG=/Users/stevestudio2/Projects/site-factory/logs/uptime.log
-STATE_DIR=/Users/stevestudio2/Projects/site-factory/.uptime-state
+LOG=/Users/macstudio3/Projects/site-factory/logs/uptime.log
+STATE_DIR=/Users/macstudio3/Projects/site-factory/.uptime-state
mkdir -p "$STATE_DIR" "$(dirname "$LOG")"
TS() { date +%FT%T%z; }
diff --git a/scripts/wrap-capacitor.sh b/scripts/wrap-capacitor.sh
index facbe76..329fd8f 100755
--- a/scripts/wrap-capacitor.sh
+++ b/scripts/wrap-capacitor.sh
@@ -8,7 +8,7 @@ set -euo pipefail
DOMAIN="${1:-}"
[ -z "$DOMAIN" ] && { echo "usage: $0 <domain>"; exit 2; }
-ROOT="/Users/stevestudio2/Projects/site-factory"
+ROOT="/Users/macstudio3/Projects/site-factory"
SITE_DIR="$ROOT/sites/$DOMAIN/app"
[ -d "$SITE_DIR" ] || { echo "site dir missing: $SITE_DIR"; exit 1; }
diff --git a/stages/runners.js b/stages/runners.js
index e3552c4..686bcb6 100644
--- a/stages/runners.js
+++ b/stages/runners.js
@@ -209,7 +209,7 @@ const runners = {
// 5 — build (Next.js scaffold) — DONE for first 3 sites by A1 agent
5: async ({ siteId, domain }) => {
const fs = require('fs');
- const dir = `/Users/stevestudio2/Projects/site-factory/sites/${domain}/app`;
+ const dir = `/Users/macstudio3/Projects/site-factory/sites/${domain}/app`;
const exists = fs.existsSync(dir);
await postJSON('/actions', { site_id: siteId, stage: 5, skill: 'frontend-developer', action: 'scaffold',
status: exists ? 'ok' : 'missing', meta: { dir } });
@@ -349,7 +349,7 @@ const runners = {
// Manager critic call after every successful stage.
async function callManager({ siteId, domain, stage }) {
- const dir = `/Users/stevestudio2/Projects/site-factory/sites/${domain}/app`;
+ const dir = `/Users/macstudio3/Projects/site-factory/sites/${domain}/app`;
const fs = require('fs');
const paths = fs.existsSync(dir) ? [dir] : [];
return new Promise((resolve) => {
← 5bd4ae3 auto-save: 2026-06-21T18:53:00 (12 files) — logs/cncp-panel.
·
back to Site Factory
·
(newest)