Dentolize · Watchtower Foundation Walkthrough
On this pageWhat this PR isWhat Watchtower will beWhat this PR actually addsWhy it's built this way

Watchtower — Foundation Branch (WT-1 Base)

What this PR is

This pull request (#401, branch feat/watchtower-foundation) is not the Watchtower product. It is the shared base branch that the two developers building Watchtower will branch their real work off. It exists so the sandbox pipeline — detect the new packages, build them, route traffic to them, and print a row in the PR deploy comment — can be validated end-to-end before any real backend or UI code is written.

Do not merge. This PR is for review and sandbox validation only. It is the foundation for the work tracked in Jira epic WT-1 / XLZ-556, with the full plan documented in Confluence ("Watchtower — Master Plan", Docs 81264692).

What Watchtower will be

Per the PR description, Watchtower is planned as Dentolize's internal management & subscription control plane — the tooling the Dentolize team itself uses to manage clinic accounts and subscriptions, as distinct from the clinic-facing product (clinic-web, clinic-mobile, patient-web). The real implementation is described as a standalone Apollo + Express backend with RBAC, 2FA, and audit logging, built on top of this branch.

None of that real functionality exists yet. This PR adds exactly two files.

What this PR actually adds

PathPurpose
packages/watchtower-server/index.jsA dependency-free Node http server that answers /health and a JSON landing route, listening on port 4010.
packages/watchtower-web/public/index.htmlA single static HTML page describing the scaffold, with no JavaScript and no build step.

Neither package has a package.json. They are placeholders that let the sandbox host detect a packages/watchtower-* directory and stand up a running service, so the deploy pipeline can be proven out before real code exists. See Sandbox Smoke-Test Scaffold for the technical detail, and Walkthrough for what's actually running in the sandbox today.

Why it's built this way

Building the plumbing first — and proving it works with a throwaway scaffold — means the two engineers who pick up WT-1 next can start writing the real GraphQL API and admin UI without also debugging the deploy pipeline at the same time. The scaffold is intentionally disposable: every string in it says so explicitly.