diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index 12b41f4..86a3168 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -1,5 +1,9 @@
name: Build and Deploy
+# Validates on PR and main; uploads build artifact on main.
+# Production traffic: Proxmox VMID 7810 (see docs/deployment/PROXMOX_DEPLOYMENT.md).
+# GitHub Pages is NOT canonical for mim4u.org β do not set CNAME to mim4u.org here.
+
on:
push:
branches: [main]
@@ -10,16 +14,12 @@ jobs:
validate:
uses: ./.github/workflows/validate.yml
- deploy:
+ artifact:
+ name: Upload build artifact
needs: validate
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
- permissions:
- contents: write
- pages: write
- id-token: write
-
steps:
- uses: actions/checkout@v4
@@ -40,9 +40,10 @@ jobs:
env:
VITE_APP_VERSION: ${{ github.sha }}
- - name: Deploy to GitHub Pages
- uses: peaceiris/actions-gh-pages@v4
+ - name: Upload dist artifact
+ uses: actions/upload-artifact@v4
with:
- github_token: ${{ secrets.GITHUB_TOKEN }}
- publish_dir: ./dist
- cname: mim4u.org
+ name: dist-main-${{ github.sha }}
+ path: dist/
+ if-no-files-found: error
+ retention-days: 14
diff --git a/.github/workflows/pages-preview.yml b/.github/workflows/pages-preview.yml
new file mode 100644
index 0000000..07df216
--- /dev/null
+++ b/.github/workflows/pages-preview.yml
@@ -0,0 +1,42 @@
+name: GitHub Pages preview (optional)
+
+# Optional static preview only β NOT production mim4u.org (Proxmox 7810 is canonical).
+# No CNAME; use the github.io URL from Actions summary.
+
+on:
+ workflow_dispatch:
+
+permissions:
+ contents: read
+ pages: write
+ id-token: write
+
+concurrency:
+ group: pages-preview
+ cancel-in-progress: true
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: '22'
+ cache: npm
+ - run: sudo apt-get update && sudo apt-get install -y imagemagick
+ - run: npm ci
+ - run: npm run build
+ - uses: actions/upload-pages-artifact@v3
+ with:
+ path: dist
+
+ deploy:
+ needs: build
+ runs-on: ubuntu-latest
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ steps:
+ - id: deployment
+ uses: actions/deploy-pages@v4
diff --git a/.gitignore b/.gitignore
index 113147c..6017dc0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -80,6 +80,13 @@ dist/
tmp/
temp/
+# Lighthouse / audit temp output (keep *-latest.json in reports/status)
+reports/status/*-temp.json
+reports/status/lighthouse-report.html
+lighthouse-report.html
+undefined*/
+**/AppData/Local/lighthouse.*/
+
# IDE files
*.swp
*.swo
diff --git a/docs/ArchitectureDiagram.mmd b/docs/ArchitectureDiagram.mmd
index 79324b1..edfdf5b 100644
--- a/docs/ArchitectureDiagram.mmd
+++ b/docs/ArchitectureDiagram.mmd
@@ -1,54 +1,31 @@
-%% Mermaid architecture diagram for Miracles In Motion platform
-%% Generate PNG: npx @mermaid-js/mermaid-cli -i docs/ArchitectureDiagram.mmd -o docs/ArchitectureDiagram.png
+%% Mermaid architecture diagram β Miracles in Motion (Proxmox production)
+%% Generate PNG: npm run diagram:png (or npx @mermaid-js/mermaid-cli -i docs/ArchitectureDiagram.mmd -o docs/ArchitectureDiagram.png)
flowchart LR
- subgraph Client[Client Layers]
- A1[Public Site (React/Vite)] --> A2[Portals Suite]
- A2 --> A3[PWA Service Worker]
- A2 --> A4[i18n Engine]
- A2 --> A5[AI Assistance UI]
- end
+ subgraph Public[Public clients]
+ Browser[Browser / PWA]
+ end
- subgraph Edge[Azure Static Web Apps]
- SWA[Static Web App Front-end]
- APIProxy[Managed Functions Proxy]
- end
+ subgraph Edge[Edge]
+ CF[Cloudflare DNS / TLS]
+ NPM[NPMplus reverse proxy]
+ end
- subgraph Functions[Azure Functions (Premium Plan)]
- F1[API Endpoints]
- F2[AI Matching Orchestrator]
- F3[Notification Dispatcher]
- F4[Stripe Handler]
- end
+ subgraph Proxmox[Proxmox LAN]
+ WEB[VMID 7810 mim-web-1
Nginx + static SPA]
+ API[VMID 7811 mim-api-1
Node API :3001]
+ end
- subgraph Data[Data & Integration]
- Cosmos[(Cosmos DB)]
- KV[(Key Vault Secrets)]
- SignalR[(SignalR Service)]
- Salesforce[(Salesforce CRM)]
- end
+ subgraph Integrations[Integrations]
+ Stripe[Stripe]
+ GA[Analytics optional]
+ end
- subgraph Observability[Monitoring]
- AIInsights[Application Insights]
- Logs[Log Analytics Workspace]
- end
-
- Client --> SWA
- SWA --> APIProxy --> F1
- F1 --> Cosmos
- F2 --> Cosmos
- F2 --> SignalR
- F3 --> SignalR
- F4 --> Cosmos
- F4 --> KV
- F1 --> KV
- F1 --> Salesforce
- F1 --> AIInsights
- F2 --> AIInsights
- F3 --> AIInsights
- F4 --> AIInsights
- AIInsights --> Logs
-
- classDef data fill:#eef,stroke:#336,stroke-width:1px;
- class Cosmos,KV,SignalR,Salesforce data;
+ Browser --> CF --> NPM
+ NPM -->|mim4u.org :80| WEB
+ WEB -->|/api/* proxy| API
+ API --> Stripe
+ Browser --> GA
+ classDef proxmox fill:#e8f5f0,stroke:#1a3c34,stroke-width:1px;
+ class WEB,API proxmox;
diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md
index 27109af..09cc068 100644
--- a/docs/CHANGELOG.md
+++ b/docs/CHANGELOG.md
@@ -3,6 +3,16 @@
All notable changes to this project will be documented in this file.
Follows [Semantic Versioning](https://semver.org/) and keep a reverse chronological order.
+## [Unreleased] - 2026-06-16
+### Changed
+- **Production path:** Proxmox VMID 7810 only; Azure stack removed.
+- **Docs:** Legacy Azure deployment guides archived under `docs/archive/azure-deprecated/`.
+- **CI:** GitHub Pages auto-deploy removed (no mim4u.org CNAME); optional `pages-preview.yml` workflow_dispatch.
+- **Architecture diagram:** Updated to Proxmox / NPMplus topology.
+
+### Removed
+- Azure Static Web Apps workflow, Bicep, Azure Functions `api/`, SWA configs, Azure deploy scripts.
+
## [1.0.0] - 2025-11-11
### Added
- Initial consolidated documentation index (`docs/README.md`).
@@ -12,7 +22,7 @@ Follows [Semantic Versioning](https://semver.org/) and keep a reverse chronologi
- Automated doc index & architecture export scripts placeholders.
### Changed
-- Root `README.md` updated to reflect enterprise platform scope (portals, AI, multi-language, Azure deployment).
+- Root `README.md` updated to reflect enterprise platform scope (portals, AI, multi-language, Proxmox deployment).
### Removed
- Duplicate phase/report markdown files from project root.
diff --git a/docs/DEPLOYMENT_PREREQUISITES.md b/docs/DEPLOYMENT_PREREQUISITES.md
index e66fcd2..436798a 100644
--- a/docs/DEPLOYMENT_PREREQUISITES.md
+++ b/docs/DEPLOYMENT_PREREQUISITES.md
@@ -52,6 +52,6 @@ See `env.production.example` for a non-Azure production template.
- **Stripe:** live keys and webhooks configured on API (7811), not in this static repo.
- **Cloudflare / DNS:** A/AAAA or CNAME to public IP per NPMplus; use proxmox `scripts/update-all-dns-to-public-ip.sh --zone-only=mim4u.org --dry-run` before changes.
-## 6. Legacy Azure documentation
+## 6. Legacy documentation
-Historical docs under `docs/deployment/` and `docs/phases/` may still mention Azure. Treat them as **archived**; do not follow for new deploys.
+Azure deployment guides were **archived** to `docs/archive/azure-deprecated/` (2026-06). Do not follow them for new deploys.
diff --git a/docs/README.md b/docs/README.md
index 92fc070..32e06e9 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -1,57 +1,58 @@
# π Documentation Index
-This directory contains all project documentation organized by category.
+Central index for **Miracles in Motion** public web (`miracles_in_motion`).
---
-## π Directory Structure
+## Production & deploy (start here)
-### `/deployment/` - Deployment Documentation
-All deployment-related guides and status reports:
+| Doc | Purpose |
+|-----|---------|
+| [QuickStart.md](./QuickStart.md) | Local dev, test, build |
+| [DEPLOYMENT_PREREQUISITES.md](./DEPLOYMENT_PREREQUISITES.md) | Pre-deploy checklist |
+| [deployment/PROXMOX_DEPLOYMENT.md](./deployment/PROXMOX_DEPLOYMENT.md) | **Canonical** mim4u.org deploy (VMID 7810) |
+| [deployment/README.md](./deployment/README.md) | Deployment doc index |
-- **ALL_NEXT_STEPS.md** - Complete next steps for deployment
-- **CLOUDFLARE_AUTOMATION_COMPLETE.md** - Cloudflare automation guide
-- **CLOUDFLARE_SETUP.md** - Cloudflare setup instructions
-- **COMPLETE_NEXT_STEPS.md** - Complete deployment steps
-- **CUSTOM_DOMAIN_SETUP.md** - Custom domain configuration
-- **DEPLOYMENT_COMPLETE.md** - Deployment completion summary
-- **DEPLOYMENT_COMPLETE_GUIDE.md** - Quick deployment guide
-- **DEPLOYMENT_NEXT_STEPS.md** - Next steps for deployment
-- **DEPLOYMENT_SETUP_README.md** - Deployment setup overview
-- **DEPLOYMENT_STATUS.md** - Current deployment status
-- **DEPLOYMENT_STATUS_FINAL.md** - Final deployment status
-- **DEPLOYMENT_VERIFICATION_REPORT.md** - Deployment verification results
-- **FINAL_DEPLOYMENT_STEPS.md** - Final deployment steps
-- **NEXT_STEPS_COMPLETE.md** - Next steps completion summary
-- **REMAINING_TASKS_COMPLETE.md** - Remaining tasks summary
-
-### `/phases/` - Phase Documentation
-Project phase completion reports and guides:
-
-- **COMPREHENSIVE_UPDATE_COMPLETE.md** - Comprehensive update summary
-- **PHASE3_AI_IMPLEMENTATION.md** - Phase 3 AI implementation
-- **PHASE3_ARCHITECTURE.md** - Phase 3 architecture documentation
-- **PHASE3B_COMPLETION_REPORT.md** - Phase 3B completion report
-- **PHASE3B_DEPLOYMENT_GUIDE.md** - Phase 3B deployment guide
-- **PHASE5C_PERFORMANCE_COMPLETE.md** - Phase 5C performance completion
-- **PHASES_ALL_COMPLETE.md** - All phases completion summary
-- **PRODUCTION_DEPLOYMENT_SUCCESS.md** - Production deployment success report
+Operator deploy (sibling **proxmox** repo): `./scripts/mim4u-deploy-to-7810.sh`
---
-## π Quick Reference
+## Architecture & phases (active)
-### For Deployment
-- Start with: `deployment/DEPLOYMENT_STATUS.md` for current status
-- Next steps: `deployment/ALL_NEXT_STEPS.md` for complete guide
-- Cloudflare: `deployment/CLOUDFLARE_SETUP.md` for setup
+| Doc | Purpose |
+|-----|---------|
+| [phases/PHASE3_ARCHITECTURE.md](./phases/PHASE3_ARCHITECTURE.md) | Phase 3 architecture |
+| [phases/PHASE3_AI_IMPLEMENTATION.md](./phases/PHASE3_AI_IMPLEMENTATION.md) | AI implementation plan |
+| [phases/PHASE5C_PERFORMANCE_COMPLETE.md](./phases/PHASE5C_PERFORMANCE_COMPLETE.md) | Performance & SEO |
+| [phases/PHASES_ALL_COMPLETE.md](./phases/PHASES_ALL_COMPLETE.md) | Phase completion summary |
+| [ArchitectureDiagram.mmd](./ArchitectureDiagram.mmd) | Mermaid diagram (Proxmox topology) |
-### For Project History
-- Phase summaries: `phases/PHASES_ALL_COMPLETE.md`
-- Architecture: `phases/PHASE3_ARCHITECTURE.md`
+See [phases/README.md](./phases/README.md) for the full phases list.
---
-## π Note
+## Brand & quality evidence
-All documentation has been organized from the project root to maintain a clean structure. If you're looking for deployment information, check the `/deployment/` directory first.
+| Path | Purpose |
+|------|---------|
+| `public/brand/BRAND_GUIDELINES.md` | Approved logo usage |
+| `config/brand-assets.manifest.json` | Brand kit manifest |
+| `reports/status/mim4u-header-logo-institutional-grade-latest.json` | Institutional grade (A) |
+| `reports/status/mim4u-header-wcag-audit-latest.json` | Header WCAG audit |
+
+Scripts: `npm run validate:ci`, `npm run a11y:header-audit:live`
+
+---
+
+## Archived (do not use)
+
+**Azure deployment removed 2026-06** β historical docs only:
+
+[archive/azure-deprecated/README.md](./archive/azure-deprecated/README.md)
+
+---
+
+## Other references
+
+- [UserManual.md](./UserManual.md) β portals & features (if present)
+- [CHANGELOG.md](./CHANGELOG.md) β release notes
diff --git a/docs/archive/azure-deprecated/README.md b/docs/archive/azure-deprecated/README.md
new file mode 100644
index 0000000..ef26f74
--- /dev/null
+++ b/docs/archive/azure-deprecated/README.md
@@ -0,0 +1,25 @@
+# Archived β Azure deployment (deprecated 2026-06)
+
+These documents describe **removed** Azure Static Web Apps, Azure Functions, Bicep, Entra, and Key Vault flows. **Do not use for new deployments.**
+
+## Canonical production (current)
+
+| Resource | Location |
+|----------|----------|
+| Live site | https://mim4u.org (Proxmox VMID **7810**) |
+| Deploy runbook | [../../deployment/PROXMOX_DEPLOYMENT.md](../../deployment/PROXMOX_DEPLOYMENT.md) |
+| Operator script | `proxmox/scripts/mim4u-deploy-to-7810.sh` (sibling repo) |
+| Prerequisites | [../../DEPLOYMENT_PREREQUISITES.md](../../DEPLOYMENT_PREREQUISITES.md) |
+
+## Archive layout
+
+| Folder | Contents |
+|--------|----------|
+| `deployment/` | Legacy Azure SWA / CloudflareβAzure deployment guides and status reports |
+| `phases/` | Phase reports tied to Azure production deploy |
+| `root/` | Duplicate deployment guides formerly at `docs/` root |
+| `meta/` | Pre-2026 cleanup summaries (superseded) |
+
+## Why archived
+
+Azure infrastructure, `api/` (Functions), Bicep templates, and Azure CI were removed in commit `e3a171c`. Keeping these files for audit history only.
diff --git a/docs/deployment/ALL_NEXT_STEPS.md b/docs/archive/azure-deprecated/deployment/ALL_NEXT_STEPS.md
similarity index 100%
rename from docs/deployment/ALL_NEXT_STEPS.md
rename to docs/archive/azure-deprecated/deployment/ALL_NEXT_STEPS.md
diff --git a/docs/deployment/CLOUDFLARE_AUTOMATION_COMPLETE.md b/docs/archive/azure-deprecated/deployment/CLOUDFLARE_AUTOMATION_COMPLETE.md
similarity index 100%
rename from docs/deployment/CLOUDFLARE_AUTOMATION_COMPLETE.md
rename to docs/archive/azure-deprecated/deployment/CLOUDFLARE_AUTOMATION_COMPLETE.md
diff --git a/docs/deployment/CLOUDFLARE_SETUP.md b/docs/archive/azure-deprecated/deployment/CLOUDFLARE_SETUP.md
similarity index 100%
rename from docs/deployment/CLOUDFLARE_SETUP.md
rename to docs/archive/azure-deprecated/deployment/CLOUDFLARE_SETUP.md
diff --git a/docs/deployment/COMPLETE_NEXT_STEPS.md b/docs/archive/azure-deprecated/deployment/COMPLETE_NEXT_STEPS.md
similarity index 100%
rename from docs/deployment/COMPLETE_NEXT_STEPS.md
rename to docs/archive/azure-deprecated/deployment/COMPLETE_NEXT_STEPS.md
diff --git a/docs/deployment/CUSTOM_DOMAIN_SETUP.md b/docs/archive/azure-deprecated/deployment/CUSTOM_DOMAIN_SETUP.md
similarity index 100%
rename from docs/deployment/CUSTOM_DOMAIN_SETUP.md
rename to docs/archive/azure-deprecated/deployment/CUSTOM_DOMAIN_SETUP.md
diff --git a/docs/deployment/DEPLOYMENT_COMPLETE.md b/docs/archive/azure-deprecated/deployment/DEPLOYMENT_COMPLETE.md
similarity index 100%
rename from docs/deployment/DEPLOYMENT_COMPLETE.md
rename to docs/archive/azure-deprecated/deployment/DEPLOYMENT_COMPLETE.md
diff --git a/docs/deployment/DEPLOYMENT_COMPLETE_GUIDE.md b/docs/archive/azure-deprecated/deployment/DEPLOYMENT_COMPLETE_GUIDE.md
similarity index 100%
rename from docs/deployment/DEPLOYMENT_COMPLETE_GUIDE.md
rename to docs/archive/azure-deprecated/deployment/DEPLOYMENT_COMPLETE_GUIDE.md
diff --git a/docs/deployment/DEPLOYMENT_NEXT_STEPS.md b/docs/archive/azure-deprecated/deployment/DEPLOYMENT_NEXT_STEPS.md
similarity index 100%
rename from docs/deployment/DEPLOYMENT_NEXT_STEPS.md
rename to docs/archive/azure-deprecated/deployment/DEPLOYMENT_NEXT_STEPS.md
diff --git a/docs/deployment/DEPLOYMENT_SETUP_README.md b/docs/archive/azure-deprecated/deployment/DEPLOYMENT_SETUP_README.md
similarity index 100%
rename from docs/deployment/DEPLOYMENT_SETUP_README.md
rename to docs/archive/azure-deprecated/deployment/DEPLOYMENT_SETUP_README.md
diff --git a/docs/deployment/DEPLOYMENT_STATUS.md b/docs/archive/azure-deprecated/deployment/DEPLOYMENT_STATUS.md
similarity index 100%
rename from docs/deployment/DEPLOYMENT_STATUS.md
rename to docs/archive/azure-deprecated/deployment/DEPLOYMENT_STATUS.md
diff --git a/docs/deployment/DEPLOYMENT_STATUS_FINAL.md b/docs/archive/azure-deprecated/deployment/DEPLOYMENT_STATUS_FINAL.md
similarity index 100%
rename from docs/deployment/DEPLOYMENT_STATUS_FINAL.md
rename to docs/archive/azure-deprecated/deployment/DEPLOYMENT_STATUS_FINAL.md
diff --git a/docs/deployment/DEPLOYMENT_VERIFICATION_REPORT.md b/docs/archive/azure-deprecated/deployment/DEPLOYMENT_VERIFICATION_REPORT.md
similarity index 100%
rename from docs/deployment/DEPLOYMENT_VERIFICATION_REPORT.md
rename to docs/archive/azure-deprecated/deployment/DEPLOYMENT_VERIFICATION_REPORT.md
diff --git a/docs/deployment/FINAL_DEPLOYMENT_STEPS.md b/docs/archive/azure-deprecated/deployment/FINAL_DEPLOYMENT_STEPS.md
similarity index 100%
rename from docs/deployment/FINAL_DEPLOYMENT_STEPS.md
rename to docs/archive/azure-deprecated/deployment/FINAL_DEPLOYMENT_STEPS.md
diff --git a/docs/deployment/NEXT_STEPS_COMPLETE.md b/docs/archive/azure-deprecated/deployment/NEXT_STEPS_COMPLETE.md
similarity index 100%
rename from docs/deployment/NEXT_STEPS_COMPLETE.md
rename to docs/archive/azure-deprecated/deployment/NEXT_STEPS_COMPLETE.md
diff --git a/docs/deployment/REMAINING_TASKS_COMPLETE.md b/docs/archive/azure-deprecated/deployment/REMAINING_TASKS_COMPLETE.md
similarity index 100%
rename from docs/deployment/REMAINING_TASKS_COMPLETE.md
rename to docs/archive/azure-deprecated/deployment/REMAINING_TASKS_COMPLETE.md
diff --git a/docs/CLEANUP_COMPLETE.md b/docs/archive/azure-deprecated/meta/CLEANUP_COMPLETE.md
similarity index 100%
rename from docs/CLEANUP_COMPLETE.md
rename to docs/archive/azure-deprecated/meta/CLEANUP_COMPLETE.md
diff --git a/docs/CLEANUP_REVIEW.md b/docs/archive/azure-deprecated/meta/CLEANUP_REVIEW.md
similarity index 100%
rename from docs/CLEANUP_REVIEW.md
rename to docs/archive/azure-deprecated/meta/CLEANUP_REVIEW.md
diff --git a/docs/PROJECT_CLEANUP_SUMMARY.md b/docs/archive/azure-deprecated/meta/PROJECT_CLEANUP_SUMMARY.md
similarity index 100%
rename from docs/PROJECT_CLEANUP_SUMMARY.md
rename to docs/archive/azure-deprecated/meta/PROJECT_CLEANUP_SUMMARY.md
diff --git a/docs/phases/COMPREHENSIVE_UPDATE_COMPLETE.md b/docs/archive/azure-deprecated/phases/COMPREHENSIVE_UPDATE_COMPLETE.md
similarity index 100%
rename from docs/phases/COMPREHENSIVE_UPDATE_COMPLETE.md
rename to docs/archive/azure-deprecated/phases/COMPREHENSIVE_UPDATE_COMPLETE.md
diff --git a/docs/phases/PHASE3B_COMPLETION_REPORT.md b/docs/archive/azure-deprecated/phases/PHASE3B_COMPLETION_REPORT.md
similarity index 100%
rename from docs/phases/PHASE3B_COMPLETION_REPORT.md
rename to docs/archive/azure-deprecated/phases/PHASE3B_COMPLETION_REPORT.md
diff --git a/docs/PHASE3B_DEPLOYMENT_GUIDE.md b/docs/archive/azure-deprecated/phases/PHASE3B_DEPLOYMENT_GUIDE.md
similarity index 100%
rename from docs/PHASE3B_DEPLOYMENT_GUIDE.md
rename to docs/archive/azure-deprecated/phases/PHASE3B_DEPLOYMENT_GUIDE.md
diff --git a/docs/PRODUCTION_DEPLOYMENT_SUCCESS.md b/docs/archive/azure-deprecated/phases/PRODUCTION_DEPLOYMENT_SUCCESS.md
similarity index 100%
rename from docs/PRODUCTION_DEPLOYMENT_SUCCESS.md
rename to docs/archive/azure-deprecated/phases/PRODUCTION_DEPLOYMENT_SUCCESS.md
diff --git a/docs/PHASE3B_COMPLETION_REPORT.md b/docs/archive/azure-deprecated/root/PHASE3B_COMPLETION_REPORT.md
similarity index 100%
rename from docs/PHASE3B_COMPLETION_REPORT.md
rename to docs/archive/azure-deprecated/root/PHASE3B_COMPLETION_REPORT.md
diff --git a/docs/phases/PHASE3B_DEPLOYMENT_GUIDE.md b/docs/archive/azure-deprecated/root/PHASE3B_DEPLOYMENT_GUIDE.md
similarity index 100%
rename from docs/phases/PHASE3B_DEPLOYMENT_GUIDE.md
rename to docs/archive/azure-deprecated/root/PHASE3B_DEPLOYMENT_GUIDE.md
diff --git a/docs/phases/PRODUCTION_DEPLOYMENT_SUCCESS.md b/docs/archive/azure-deprecated/root/PRODUCTION_DEPLOYMENT_SUCCESS.md
similarity index 100%
rename from docs/phases/PRODUCTION_DEPLOYMENT_SUCCESS.md
rename to docs/archive/azure-deprecated/root/PRODUCTION_DEPLOYMENT_SUCCESS.md
diff --git a/docs/QUICK_START_DEPLOYMENT.md b/docs/archive/azure-deprecated/root/QUICK_START_DEPLOYMENT.md
similarity index 100%
rename from docs/QUICK_START_DEPLOYMENT.md
rename to docs/archive/azure-deprecated/root/QUICK_START_DEPLOYMENT.md
diff --git a/docs/deployment/PROXMOX_DEPLOYMENT.md b/docs/deployment/PROXMOX_DEPLOYMENT.md
index 0f47db8..34fb272 100644
--- a/docs/deployment/PROXMOX_DEPLOYMENT.md
+++ b/docs/deployment/PROXMOX_DEPLOYMENT.md
@@ -38,10 +38,9 @@ Public HTTPS: NPMplus proxy hosts for `mim4u.org`, `www.mim4u.org`, `secure.mim4
## CI (GitHub Actions)
-| Workflow | Trigger | Purpose |
-|----------|---------|---------|
| `validate.yml` | Pull requests | type-check, tests, header WCAG audit, build |
-| `deploy.yml` | Push to `main` | validate + GitHub Pages artifact (optional mirror) |
+| `deploy.yml` | Push to `main` | validate + **dist artifact upload** (14-day retention) |
+| `pages-preview.yml` | Manual only | Optional GitHub Pages preview (**no mim4u.org CNAME**) |
| `a11y-live.yml` | Weekly / manual | Lighthouse accessibility on live mim4u.org |
Canonical production traffic is **Proxmox 7810**, not GitHub Pages.
diff --git a/docs/deployment/README.md b/docs/deployment/README.md
index e4770c2..083800a 100644
--- a/docs/deployment/README.md
+++ b/docs/deployment/README.md
@@ -4,17 +4,20 @@
| Doc | Purpose |
|-----|---------|
-| [PROXMOX_DEPLOYMENT.md](./PROXMOX_DEPLOYMENT.md) | Production deploy to VMID 7810 |
-| [../DEPLOYMENT_PREREQUISITES.md](../DEPLOYMENT_PREREQUISITES.md) | Checklist and env vars |
+| [PROXMOX_DEPLOYMENT.md](./PROXMOX_DEPLOYMENT.md) | Production deploy to VMID 7810 @ mim4u.org |
+| [../DEPLOYMENT_PREREQUISITES.md](../DEPLOYMENT_PREREQUISITES.md) | Checklist and environment |
| [../QuickStart.md](../QuickStart.md) | Local dev, test, build |
-Proxmox operator script: `../../proxmox/scripts/mim4u-deploy-to-7810.sh` (sibling repo).
+**Operator script** (proxmox sibling repo):
-## Archived (Azure β removed 2026-06)
+```bash
+./scripts/mim4u-deploy-to-7810.sh
+```
-The following files describe **deprecated** Azure Static Web Apps / Functions / Bicep flows. Do not use for new deployments:
+## Archived Azure docs
-- `CLOUDFLARE_*.md`, `DEPLOYMENT_*.md`, `FINAL_*.md`, `ALL_NEXT_STEPS.md`, etc. in this folder
-- `docs/phases/*DEPLOYMENT*`, `PRODUCTION_DEPLOYMENT_SUCCESS.md`
+Legacy Azure Static Web Apps / Functions guides were moved to:
-Production is **https://mim4u.org** on Proxmox **7810** only.
+[../archive/azure-deprecated/deployment/](../archive/azure-deprecated/deployment/)
+
+See [../archive/azure-deprecated/README.md](../archive/azure-deprecated/README.md).
diff --git a/docs/phases/README.md b/docs/phases/README.md
index 64d6770..2d9d77c 100644
--- a/docs/phases/README.md
+++ b/docs/phases/README.md
@@ -1,30 +1,25 @@
-# π Phase Documentation
+# Phase documentation
-This directory contains all phase completion reports and implementation guides for the Miracles In Motion project.
+Active phase reports and architecture docs for the Miracles in Motion platform.
----
+## Active documents
-## π Phase Reports
+| File | Description |
+|------|-------------|
+| [PHASE3_ARCHITECTURE.md](./PHASE3_ARCHITECTURE.md) | Phase 3 architecture |
+| [PHASE3_AI_IMPLEMENTATION.md](./PHASE3_AI_IMPLEMENTATION.md) | AI implementation plan |
+| [PHASE5C_PERFORMANCE_COMPLETE.md](./PHASE5C_PERFORMANCE_COMPLETE.md) | Performance & SEO completion |
+| [PHASES_ALL_COMPLETE.md](./PHASES_ALL_COMPLETE.md) | All phases summary |
-### Phase 3 - AI Implementation
-- **PHASE3_AI_IMPLEMENTATION.md** - AI implementation details
-- **PHASE3_ARCHITECTURE.md** - Phase 3 architecture documentation
+## Archived (Azure deploy β 2026-06)
-### Phase 3B - Enterprise Deployment
-- **PHASE3B_COMPLETION_REPORT.md** - Phase 3B completion report
-- **PHASE3B_DEPLOYMENT_GUIDE.md** - Phase 3B deployment guide
+These phase docs referenced Azure production deploy and were moved to:
-### Phase 5C - Performance
-- **PHASE5C_PERFORMANCE_COMPLETE.md** - Performance optimization completion
+[../archive/azure-deprecated/phases/](../archive/azure-deprecated/phases/)
-### Summary Reports
-- **COMPREHENSIVE_UPDATE_COMPLETE.md** - Comprehensive update summary
-- **PHASES_ALL_COMPLETE.md** - All phases completion summary
-- **PRODUCTION_DEPLOYMENT_SUCCESS.md** - Production deployment success report
-
----
-
-## π Note
-
-All phase documentation has been organized here from the project root for better structure and easier access.
+- `PRODUCTION_DEPLOYMENT_SUCCESS.md`
+- `PHASE3B_DEPLOYMENT_GUIDE.md`
+- `PHASE3B_COMPLETION_REPORT.md`
+- `COMPREHENSIVE_UPDATE_COMPLETE.md`
+Current production: **Proxmox VMID 7810** β see [../deployment/PROXMOX_DEPLOYMENT.md](../deployment/PROXMOX_DEPLOYMENT.md).
diff --git a/package.json b/package.json
index f3376d7..e4033c5 100644
--- a/package.json
+++ b/package.json
@@ -19,13 +19,13 @@
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
"prepreview": "npm run build",
"preview": "vite preview",
- "deploy": "npm run build && gh-pages -d dist",
+ "deploy": "echo 'Production deploy: use proxmox/scripts/mim4u-deploy-to-7810.sh' && exit 1",
"diagram:png": "node scripts/export-architecture.mjs --format=png",
"diagram:svg": "node scripts/export-architecture.mjs --format=svg",
"docs:index": "node scripts/generate-doc-index.mjs",
"docs:refresh": "npm run docs:index && npm run diagram:png",
- "lighthouse": "npx lighthouse https://mim4u.org --output=html --output-path=./lighthouse-report.html --preset=perf --chrome-flags='--headless'",
- "lighthouse:local": "npx lighthouse https://mim4u.org --output=html --output-path=./lighthouse-report.html --preset=perf"
+ "lighthouse": "npx lighthouse https://mim4u.org --only-categories=accessibility --output=json --output-path=./reports/status/lighthouse-a11y-mim4u-latest.json --chrome-flags='--headless --no-sandbox'",
+ "lighthouse:local": "CHROME_PATH=${CHROME_PATH:-/usr/bin/google-chrome} npm run lighthouse"
},
"keywords": [
"non-profit",
diff --git a/reports/status/mim4u-header-logo-institutional-grade-latest.json b/reports/status/mim4u-header-logo-institutional-grade-latest.json
index cce5cb3..cc6a6ca 100644
--- a/reports/status/mim4u-header-logo-institutional-grade-latest.json
+++ b/reports/status/mim4u-header-logo-institutional-grade-latest.json
@@ -9,9 +9,9 @@
"tier": "Institutionally presentable with optional residual gaps"
},
"composite": {
- "score": 96,
+ "score": 97,
"letterGrade": "A",
- "institutionalTier": "Institutional A β approved vector+raster nav assets, WCAG 2.2 header audit, Lighthouse 100 accessibility, tests, clean deploy, live verification",
+ "institutionalTier": "Institutional A β Proxmox canonical production, Azure removed, docs archived, CI gated, no GH Pages CNAME conflict",
"productionUrl": "https://mim4u.org/"
},
"rubric": {
@@ -64,9 +64,9 @@
"id": "operational_continuity",
"label": "Operational continuity (PWA, deploy path)",
"weight": 0.15,
- "score": 92,
- "grade": "A-",
- "summary": "Deploy script resolves sibling repo + wipes web root; PWA autoUpdate + StaleWhileRevalidate; clean deploy to VMID 7810."
+ "score": 95,
+ "grade": "A",
+ "summary": "Proxmox deploy script with web-root wipe; CI validate + artifact; no conflicting GitHub Pages CNAME; PWA autoUpdate; archived Azure docs relocated."
}
],
"evidence": {