# Signal Foundry

Config-driven brand + logo lab + page builder for justsignal.company. It is the Just Signal counterpart of the Gofer Works set (Brand Lab `brand.json`, Logo Lab, `goferworks-site`).

## Layout
- `brand-lab/brand.json`: the one file to edit (name, copy, ventures, palettes, fonts, active palette).
- `brand-lab/logo-lab.html`: generated. 8 logo marks x 5 palettes for a group vote.
- `page-builder/build.mjs`: generator. `node page-builder/build.mjs [paletteIndex]`
- `site/`: generated static site (index, contact, privacy, terms, colophon, styles.css, logo.svg, icon.svg, wrangler.jsonc).

- `brand-lab/engine/`: copy of the generic Brand Lab tool (`build.py`, `template.html`) from `Skills/brand-lab`, plus Just Signal `brand.json` and 8 flat logos (written by the page builder). Build the full group-vote lab (mockups, shortlist, fullscreen) with:
  `cd brand-lab/engine && python -X utf8 -I build.py brand.json` -> `brand-lab/logo-lab-engine.html`
  (On Windows, `-X utf8` is required or the template fails to decode.)
- Not copied: REFRACT (refract.justsignal.company, 14 MB of Worker bundles), which is already a Just Signal product and the larger brand/page-builder app. Source: `Skills/brand-lab/refract-studio-source.zip`. Gofer logo art and copy were deliberately left behind, per the Brand Lab context rule.

## Use
```
node page-builder/build.mjs        # rebuild with brand.json's activePalette
node page-builder/build.mjs 1      # rebuild with palette 1 (Night Shift)
cd site && npx wrangler deploy     # deploy (static assets) only after Chris says yes
```

## Source of the content
Copy, colors (#337B6E, #082F3F, #F7F6F1) and fonts (Urbanist, JetBrains Mono) were read from the live https://justsignal.company on 2026-11-06. The Gofer Works gopher mascot art was NOT carried over; logo marks here are original SVG.

## Confirm before deploy
- `hello@justsignal.company` exists (unverified; taken by analogy with Gofer Works).
- Mailing address is the shared virtual mailbox noted in the Gofer Works README.
- Privacy and Terms are short generic drafts: have them reviewed. The live site's cookie banner (Google Analytics, Meta Pixel) is not included.
- Deployed only to workers.dev (see Deployed below). The live justsignal.company's hosting setup was not checked.

## Deployed
2026-11-06: `cd site && npx wrangler deploy` -> https://just-signal-site.ctiberius.workers.dev (Worker `just-signal-site`, version 069ceb0c-f172-4320-9d6b-4c841d0e5edd, account ctiberius@gmail.com). workers.dev only: justsignal.company is untouched. To use a custom domain, add a `routes` entry with `custom_domain: true` as in the Gofer Works wrangler.jsonc.

## Foundry subdomain
2026-11-06: https://foundry.justsignal.company (Worker `signal-foundry`, version 67f96af3-85c9-43b2-91e9-9a409a3fb049, Wrangler custom domain). Redeploy: `node page-builder/build.mjs && node page-builder/stage-foundry.mjs && cd foundry-dist && npx wrangler deploy`. Public, no sign-in. The Studio editor (form-based brand editor) was started and paused; it is not part of this deploy.
