Files
igny8/v2/V2-Execution-Docs/00-MASTER-EXECUTION-PLAN.md
IGNY8 VPS (Salman) e78a41f11c v2-exece-docs
2026-03-23 10:30:51 +00:00

282 lines
17 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# IGNY8 V2 — Master Execution Plan
**Version:** 1.1 | March 23, 2026
**Status:** Active — Execution Reference
**Author:** Salman (Alorig Systems) + Claude Opus
**Execution Tool:** Claude Code (SSH to VPS)
**Source of Truth:** Codebase at `/data/app/igny8/` — all technical claims verified against actual code
---
## 1. What This Is
This is the single master document governing the complete IGNY8 V2 build — from infrastructure migration through SAG engine, all modules, WordPress ecosystem, business layer, and multi-app deployment. Every sub-phase references a dedicated build doc in this folder that Claude Code can pick up and execute independently.
## 2. Current State (Verified Against Codebase — March 23, 2026)
**IGNY8 v1.8.4** is healthy and functionally production-ready.
### 2.1 Functional Status
| Area | Status |
|------|--------|
| Settings save (content, publishing, profile) | ✅ Working |
| Password change | ✅ Working |
| Payments (Stripe/PayPal live, credits) | ✅ Working |
| Publishing flow (IGNY8 → WordPress) | ✅ Working |
| Security (Jan 2026 audit items) | ✅ Fixed |
| API Activity tracking | ⚠️ Placeholder data — only open item |
| `/system/ping/` & `/system/sites/{id}/status/` | Backend exists, frontend removed — wire when needed |
| `/writer/tasks/{id}/brief/` | No current use case — v2 scope |
| Taxonomy sync, Linker/Optimizer, webhooks | Correctly scoped as v2 features, not bugs |
### 2.2 Verified Codebase Baseline
| Component | Verified Value |
|-----------|---------------|
| Django | >=5.2.7 (requirements.txt) |
| Python | 3.11-slim (Dockerfile) |
| Node | 18-alpine (Dockerfile.dev) |
| React | ^19.0.0 |
| TypeScript | ~5.7.2 |
| Vite | ^6.1.0 |
| Zustand | ^5.0.8 |
| Tailwind CSS | ^4.0.8 |
| Celery | >=5.3.0 |
| WP Plugin | IGNY8 WordPress Bridge v1.5.2 |
| Primary Key Strategy | BigAutoField (integer, NOT UUID) |
| AUTH_USER_MODEL | igny8_core_auth.User |
| DEFAULT_AUTO_FIELD | django.db.models.BigAutoField |
| Installed Apps | 34 Django apps |
| Middleware Stack | 13 middleware classes |
| Celery Beat Tasks | 14 scheduled tasks |
| AI Functions | 7 (auto_cluster, generate_ideas, generate_content, generate_images, generate_image_prompts, optimize_content, generate_site_structure) |
### 2.3 Container Inventory (docker-compose.app.yml — 7 containers)
| Container | Image | Host Port | Role |
|-----------|-------|-----------|------|
| igny8_backend | igny8-backend:latest | 8011 | Django + Gunicorn (4 workers, 120s timeout) |
| igny8_frontend | igny8-frontend-dev:latest | 8021 | Vite dev server (port 5173 internal) |
| igny8_marketing_dev | igny8-marketing-dev:latest | 8023 | Marketing site dev server (port 5174 internal) |
| igny8_celery_worker | igny8-backend:latest | — | Celery worker (concurrency=4) |
| igny8_celery_beat | igny8-backend:latest | — | Celery beat scheduler |
| igny8_flower | igny8-backend:latest | 5555 | Celery monitoring |
*Plus shared infra containers (external to app compose): postgres, redis, caddy, portainer, pgadmin, filebrowser*
### 2.4 Existing Django Apps (34 in INSTALLED_APPS)
**Business layer:** automation, notifications, optimization, publishing, integration
**Module layer:** planner (keywords/clusters/ideas), writer (tasks/content/images), billing, system, linker (inactive), optimizer (inactive), publisher, integration
**Auth & core:** auth (Account, Site, Sector, User, Plan), ai, plugins, admin
### 2.5 Existing Models (key entities)
| App | Models |
|-----|--------|
| auth | Account, Plan, Subscription, Site, Sector, Industry, IndustrySector, SeedKeyword, User, SiteUserAccess |
| planning | Clusters (status: new/mapped), Keywords, ContentIdeas |
| content | Tasks, Content (content_type: post/page/product/taxonomy), ContentTaxonomy, ContentTaxonomyRelation, Images, ImagePrompts |
| automation | DefaultAutomationConfig, AutomationConfig (per-site), AutomationRun |
| integration | SiteIntegration, SyncEvent, PublishingSettings |
| publishing | PublishingRecord, DeploymentRecord |
| billing | CreditTransaction, CreditUsageLog, CreditCostConfig, AccountPaymentMethod, Payment, Invoice |
| system | IntegrationProvider, AIPrompt, IntegrationSettings, AuthorProfile |
| ai | AITaskLog |
| plugins | Plugin, PluginVersion, PluginDownload |
| notifications | Notification |
| optimization | OptimizationTask |
### 2.6 7-Stage Automation Pipeline
| Stage | Function | AI | Batch Size |
|-------|----------|-----|-----------|
| 1 | Keywords → Clusters | Yes (auto_cluster) | 50 |
| 2 | Clusters → Ideas | Yes (generate_ideas) | 1 |
| 3 | Ideas → Tasks | No | 20 |
| 4 | Tasks → Content | Yes (generate_content) | 1 |
| 5 | Content → Image Prompts | Yes (generate_image_prompts) | 1 |
| 6 | Image Prompts → Images | Yes (generate_images) | 1 |
| 7 | Auto-approval → Publish | No | — |
### 2.7 What Does NOT Exist (common misconceptions from planning docs)
- **No `sag/` app** — no SAGBlueprint, SAGAttribute, SAGCluster, or SectorAttributeTemplate models
- **No UUID primary keys** — all models use BigAutoField (integer)
- **No `sag_blueprint` field on Site model**
- **No `blueprint_context` field on Content or Tasks models**
- **No `self_hosted_ai` provider** in IntegrationProvider
- **No `/sag/site-analysis` endpoint** in the WordPress plugin
- **Content already has** `content_type` (post/page/product/taxonomy) and `content_structure` (article/guide/comparison/review/listicle/landing_page/etc) — these are not new fields
- **Linker & Optimizer modules** exist in code but are **inactive** (behind feature flags)
**Conclusion:** Phase 0 is pure migration. No bug-fixing sprint needed. Current environment stays untouched — all new work on new server with zero downtime.
## 3. Architecture Overview
**Current:** Single VPS running IGNY8 app containers + shared Alorig infrastructure containers. App-level: 7 containers in `docker-compose.app.yml` (backend, frontend, marketing_dev, celery_worker, celery_beat, flower) + shared infra containers (postgres, redis, caddy, portainer, pgadmin, filebrowser). Of the 7 app containers, `marketing_dev` and `flower` are non-essential for production. Gitea self-hosted for git, no staging environment, no GitHub.
**Target:** New Hostinger KVM 4 (4 vCPU, 16GB RAM, 200GB NVMe) with shared Alorig infrastructure stack (PG, Redis, Caddy, Portainer). IGNY8 app runs 3 core containers (backend, celery_worker, celery_beat) + frontend served via Caddy. Same pattern for all other Alorig apps. Production + staging environments, GitHub for all repos, Cloudflare DNS, self-hosted AI on Vast.ai GPU.
**IGNY8 v2 Transformation:** From keyword-driven content generator → structure-first SAG-powered site architecture engine. Attributes first, not keywords first. Keywords emerge from attribute intersections across 45 industries, 449 sectors.
## 4. Technology Stack
| Layer | Current (v1.8.4) — Verified | V2 Addition |
|-------|-------------------|-------------|
| Backend | Django >=5.2.7, DRF, PostgreSQL (external), Redis (external), Celery >=5.3.0, Python 3.11 | SAG models, new module APIs |
| Frontend | React ^19.0.0, TypeScript ~5.7.2, Zustand ^5.0.8, Tailwind ^4.0.8, Vite ^6.1.0, Node 18 | Blueprint UI, wizard, dashboards |
| AI (Cloud) | OpenAI (via IntegrationProvider), Anthropic (via IntegrationSettings), Runware (images), DALL-E (images) | — |
| AI (Self-hosted) | — | Qwen3 (text), FLUX/SD (images), Wan 2.1 (video) via Vast.ai |
| WordPress | IGNY8 WordPress Bridge v1.5.2 | Plugin v2 (14 modules), Companion Theme, Toolkit |
| Infrastructure | Single VPS, Gitea self-hosted, no staging, Caddy reverse proxy | KVM 4 + Vast.ai GPU, GitHub, Cloudflare, prod + staging |
| DevOps | Manual | Claude Code via SSH |
## 5. Complete Execution Map
### Phase 0 — Infrastructure & Migration
*Goal: Healthy IGNY8 running on new server with staging, all repos on GitHub, legacy killed.*
| Sub | Doc | What | Depends On |
|-----|-----|------|------------|
| 0A | `00A-github-repo-consolidation.md` | All repos → 1 GitHub account, linked to Source-Codes/, remove Gitea | — |
| 0B | `00B-vps-provisioning.md` | New KVM 4, Cloudflare DNS, shared Docker infra (PG/Redis/Caddy/Portainer) | 0A |
| 0C | `00C-igny8-production-migration.md` | pg_dump → new server, Docker Compose, DNS cutover, zero downtime | 0B |
| 0D | `00D-staging-environment.md` | Staging environment: backend + celery_worker + celery_beat + frontend, separate DB (`igny8_staging_db`) + Redis DB 1 | 0C |
| 0E | `00E-legacy-cleanup.md` | Kill Gitea + non-essential containers (marketing_dev, flower, pgadmin, filebrowser), decommission old VPS | 0C |
| 0F | `00F-self-hosted-ai-infra.md` | Vast.ai GPU (2×RTX 3090) + SSH tunnel + LiteLLM + Ollama/Qwen3 + ComfyUI | 0B |
### Phase 1 — SAG Core Engine
*Goal: IGNY8 generates full site architectures from industry/sector selection (Case 2) and reverse-engineers existing sites (Case 1).*
| Sub | Doc | What | Depends On |
|-----|-----|------|------------|
| 1A | `01A-sag-data-foundation.md` | SAGBlueprint, SAGAttribute, SAGCluster, SectorAttributeTemplate — models + CRUD APIs | 0D |
| 1B | `01B-sector-attribute-templates.md` | Template loading, multi-sector merge, AI generation for 45 industries/449 sectors | 1A |
| 1C | `01C-cluster-formation-keyword-engine.md` | AI attribute intersection → clusters, type classification (7 types), 300-500+ keywords/site | 1B |
| 1D | `01D-setup-wizard-case2-new-site.md` | Wizard Step 3 (Site Structure), attribute review UI, blueprint preview, quick/detailed mode | 1C |
| 1E | `01E-blueprint-aware-pipeline.md` | Stage 0 (blueprint check), type-specific prompts, auto taxonomy assignment, priority ordering | 1D |
| 1F | `01F-existing-site-analysis-case1.md` | Plugin site crawl, AI attribute extraction, gap analysis, user confirmation, auto-tagging | 1E |
| 1G | `01G-sag-health-monitoring.md` | Health score (0-100), weekly Celery automation, blueprint evolution triggers, dashboard widget | 1F |
### Phase 2 — Module Builds
*Goal: All IGNY8 modules operational — content types, GSC, linking (internal + external), optimization, schema, social, video.*
| Sub | Doc | What | Depends On |
|-----|-----|------|------------|
| 2A | `02A-content-types-extension.md` | Pages, products, services, company, comparison, brand pages — each with own presets + prompts | 1E |
| 2B | `02B-taxonomy-term-content.md` | Term landing pages as first-class SEO pages, cluster mapping, rich content generation | 2A |
| 2C | `02C-gsc-integration.md` | OAuth, URL Inspection API (2K/day), auto-indexing, re-inspection schedule, search analytics, plugin sync | 1A *(parallel)* |
| 2D | `02D-linker-internal.md` | 7 link types, scoring algorithm (5 factors), anchor strategy, density rules, audit + new content mode | 1G |
| 2E | `02E-linker-external-backlinks.md` | FatGrid API, PRNews.io, Linking News, EIN, campaign gen from blueprints, T1-T5 tiers, tipping point detection | 2D + 2C |
| 2F | `02F-optimizer.md` | Cluster-aligned rewriting, keyword coverage, heading restructure, schema gaps, before/after scoring, batch | 2B |
| 2G | `02G-rich-schema-serp.md` | 10 JSON-LD types, on-page elements (TL;DR, TOC, tables, definitions, PAA), retroactive enhancement engine | 2A |
| 2H | `02H-socializer.md` | Native Django, 5 platforms (LinkedIn/Twitter/FB/IG/TikTok), OAuth, platform-specific adaptation, Stage 8, credits | 1E |
| 2I | `02I-video-creator.md` | Script gen from articles, TTS (cloud + self-hosted), FFmpeg composition, auto-subtitles, Stage 9 | 2H + 0F |
### Phase 3 — WordPress Ecosystem
*Goal: Complete WordPress product suite — standalone SEO plugin, connected premium mode, SAG-optimized theme, toolkit.*
| Sub | Doc | What | Depends On |
|-----|-----|------|------------|
| 3A | `03A-wp-plugin-standalone.md` | 10 modules: SEO meta, schema, sitemap, redirects, intelligence, linker, socializer, analytics, SMTP, import | 2D + 2G |
| 3B | `03B-wp-plugin-connected.md` | API client, content sync, blueprint sync, taxonomy creation, cluster manager, structure visualization | 3A + 1G |
| 3C | `03C-companion-theme.md` | 7 CPTs, 9 taxonomies, term landing pages, cluster hub templates, 15 section types, 50+ block patterns, 5 site-type starters | 3B |
| 3D | `03D-toolkit-plugin.md` | Performance (cache, critical CSS, image optimization), forms, security (firewall, hardening), SMTP, WooCommerce enhancements | 3C |
### Phase 4 — Business Layer
*Goal: Monetization infrastructure — managed services, agency tools, pricing aligned to feature releases.*
| Sub | Doc | What | Depends On |
|-----|-----|------|------------|
| 4A | `04A-managed-services.md` | Lite ($100/site/mo), Pro ($399/site/mo), backlink packages ($800-$8K/mo), client onboarding automation | 2E + 3B |
| 4B | `04B-whitelabel-reporting.md` | Agency dashboards, branded reports, white-label via Linking News | 4A |
| 4C | `04C-pricing-launch.md` | Plan pricing increase, WordPress.org plugin submission, go-to-market | 4B |
### Phase 5 — Multi-App Deployment
*Goal: Remaining 6 apps deployed on shared infrastructure, one at a time, monitoring RAM after each.*
| Sub | Doc | What | Depends On |
|-----|-----|------|------------|
| 5 | `05-other-apps-deployment.md` | Psydge → Snapify → Site Builder → Observer OS → AstroTiming → ASMS | Phase 4 complete |
### Reference Documents (Appendices — not build docs)
| Doc | What | Source |
|-----|------|--------|
| `REF-sag-methodology.md` | Pure SAG theory, dimensional framework, clustering rules | SAG-Master-Document.md |
| `REF-industry-sector-list.md` | 45 industries, 449 sectors, validation criteria | IGNY8-Industry-Sector-Master-List.md |
| `REF-niche-definition-process.md` | Template generation quality reference, hard constraints | SAG-Niche-Definition-Process.docx |
| `REF-current-state-v1.8.4.md` | Frozen baseline snapshot of v1.8.4 | IGNY8-Current-State.md + Platform Features docx |
| `SAGIndustry01HealthcareMedical.xlsx` | Healthcare SAG Excel template (formatting reference) | As-is |
## 6. Doc Structure Standard
Every build doc (00A through 05) follows this structure:
```
# [Phase.Sub] — Title
## 1. Current State
What exists today relevant to this sub-phase.
## 2. What to Build
Complete scope with acceptance criteria.
## 3. Data Models & APIs
New/modified models, endpoints, serializers.
## 4. Implementation Steps
Ordered steps Claude Code executes.
## 5. Dependencies & Cross-References
Which other docs this reads from or feeds into.
## 6. Acceptance Criteria
How to verify this sub-phase is complete.
## 7. Claude Code Instructions
Specific commands, file paths, test procedures.
```
Each doc is self-contained. Claude Code picks up one doc, reads it, executes it, verifies it — without needing to read the entire plan.
## 7. Source Doc Consolidation
After all V2-Execution-Docs are built, the following source locations get archived to `Igny8/Archive/`:
| Source Location | What's There | Action |
|-----------------|-------------|--------|
| `temp/IGNY8-Project-Files/` | All planning docs (duplicates) | Archive entire folder |
| `Igny8 V2 New Final Plans/` | SAG docs, plugin/theme plans, schema, linker, AI infra | Archive entire folder |
| `Live Docs on Server/igny8-app-docs/plans/` | Future module plans, dev guides, GSC, socializer | Archive plans/ subfolder only |
| `Live Docs on Server/igny8-wp-plugin-docs/` | Fix logs, audits, implementation plans | Keep as historical reference |
| `IGNY8-Complete-Platform-Features.docx` | Current feature inventory | Absorbed into REF-current-state, archive original |
| `Old plans November/` | Superseded plans | Already archived, no action |
**Live Docs operational folders stay untouched:** 00-SYSTEM, 10-MODULES, 20-API, 30-FRONTEND, 40-WORKFLOWS, 50-DEPLOYMENT, 60-PLUGINS, 90-REFERENCE, audits.
## 8. Key Principles
1. **Codebase is the single source of truth** — every technical claim in execution docs verified against actual code, not planning/reference docs
2. **Nothing working breaks** — nullable fields, feature flags, staging first
3. **SAG is attribute-first** — keywords are output, not input
4. **Same container pattern everywhere** — backend + celery_worker + celery_beat per app, shared infra (PG/Redis/Caddy) across all Alorig apps
5. **Current environment never touched** — all new work on new server
6. **All development via Claude Code** — SSH to VPS, timelines compressed vs manual dev
7. **Each doc is self-contained** — Claude Code executes one doc at a time without losing context
8. **Coexistence with existing models** — new SAG models must define migration path for existing Clusters/Keywords/Content, not ignore them
9. **Monitor real usage** — upgrade decisions are data-driven, not speculative
## 9. Timeline Estimate (Claude Code Execution)
| Phase | Scope | Estimated Duration |
|-------|-------|-------------------|
| 0 | Infrastructure & Migration | 3-5 days |
| 1 | SAG Core Engine (7 sub-phases) | 2-3 weeks |
| 2 | Module Builds (9 modules) | 4-5 weeks |
| 3 | WordPress Ecosystem (4 products) | 3-4 weeks |
| 4 | Business Layer | 1 week |
| 5 | Other Apps | Ongoing, post-IGNY8 |
| **Total (Phase 0-4)** | **IGNY8 complete** | **~8-12 weeks** |
*Timelines assume focused execution without context-switching to client work.*
---
*This document is the single source of truth for IGNY8 V2 execution. All 34 sub-phase docs in this folder implement the plan defined here.*