# 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.*