# Salon_Assistant / Lumina — operator entrypoints
# Approved structure: document targets only; do not invoke unimplemented scripts.

.PHONY: help bootstrap install install-s0-s2 install-s3-s5 upgrade doctor verify sync-design \
        install-s0b install-s1 install-s2 install-s3 install-s4 install-s5 \
        connect connect-status connect-name connect-channels connect-square \
        connect-quickbooks connect-vagaro connect-all

help:
	@echo "Salon_Assistant (Lumina) — $(shell cat VERSION 2>/dev/null || echo 'unknown')"
	@echo ""
	@echo "Implemented targets:"
	@echo "  make bootstrap    - host prereqs (Docker if missing) [S0b]"
	@echo "  make install      - full install S0b–S5"
	@echo "  make install-s0-s2 - install stages S0b through S2"
	@echo "  make install-s3-s5 - install stages S3 through S5 (stack, sandbox, policy, skills)"
	@echo "  make doctor       - health checks (S6)"
	@echo "  make verify       - unit tests (fixtures, no model)"
	@echo ""
	@echo "Staged install:"
	@echo "  make install-s0b  - S0b only: Docker bootstrap"
	@echo "  make install-s1   - S1 only: repository environment (.env)"
	@echo "  make install-s2   - S2 only: model + vision config + smoke"
	@echo "  make install-s3   - S3 only: stack alignment (documentation)"
	@echo "  make install-s4   - S4 only: sandbox verify/onboard"
	@echo "  make install-s5   - S5 only: policy overlays + skills sync"
	@echo ""
	@echo "S7: Connect (operator helpers — default --dry-run):"
	@echo "  make connect          - show connect help"
	@echo "  make connect-status   - show connection status"
	@echo "  make connect-name     - name / profile setup"
	@echo "  make connect-channels - connect messaging channels"
	@echo "  make connect-square   - connect Square (remote MCP)"
	@echo "  make connect-quickbooks - connect QuickBooks Online (local MCP)"
	@echo "  make connect-vagaro   - connect Vagaro (REST + webhooks)"
	@echo "  make connect-all      - walk all targets"
	@echo ""
	@echo "Not yet implemented (stubbed):"
	@echo "  make upgrade      - product upgrade"
	@echo "  make sync-design  - list design pack paths"

# ── Implemented targets ────────────────────────────────────────────────────

bootstrap:
	@bash scripts/bootstrap.sh

install:
	@bash scripts/install.sh

install-s0-s2:
	@bash scripts/install.sh --stage s0b
	@bash scripts/install.sh --stage s1
	@bash scripts/install.sh --stage s2

install-s3-s5:
	@bash scripts/install.sh --stage s3-s5

install-s0b:
	@bash scripts/install.sh --stage s0b

install-s1:
	@bash scripts/install.sh --stage s1

install-s2:
	@bash scripts/install.sh --stage s2

install-s3:
	@bash scripts/install.sh --stage s3

install-s4:
	@bash scripts/install.sh --stage s4

install-s5:
	@bash scripts/install.sh --stage s5

# ── S6: Doctor ─────────────────────────────────────────────────────────────

doctor:
	@bash scripts/doctor.sh

# ── S7: Connect targets ────────────────────────────────────────────────────

connect:
	@bash scripts/connect.sh --help

connect-status:
	@bash scripts/connect.sh status

connect-name:
	@bash scripts/connect.sh name --dry-run

connect-channels:
	@bash scripts/connect.sh channels --dry-run

connect-square:
	@bash scripts/connect.sh square --dry-run

connect-quickbooks:
	@bash scripts/connect.sh quickbooks --dry-run

connect-vagaro:
	@bash scripts/connect.sh vagaro --dry-run

connect-all:
	@bash scripts/connect.sh all --dry-run

# ── Stubbed targets ────────────────────────────────────────────────────────

upgrade:
	@echo "not implemented — upgrade pending" >&2; exit 1

# ── Verify ─────────────────────────────────────────────────────────────────

verify:
	@echo "Running unit tests..."
	@python3 -m pytest tests/unit/ -v
	@echo ""
	@echo "verify: OK"

sync-design:
	@echo "Design SSOT:"
	@ls -la design/DESIGN_PLAN.md design/use-cases.md design/scenarios.md design/DECISIONS.md
