18 KiB
IGNY8 Refactor Plan – Stage Implementation Guide
This document complements SITE_BUILDER_PLANNER_ARCHITECTURE_PLAN.md by outlining how to deliver the refactor in four controlled stages. Each stage lists scope, tasks, exits, and testing so workstreams can move independently without breaking user flows.
Stage 1 – Data & Services Foundation
Objective: Build all backend scaffolding (schema + services) required for the guided site builder, richer planner, and downstream metadata.
1. Sequenced Plan of Work
- Preparation
- Freeze any pending migrations; branch off
refactor-stage1. - Create feature flags (
USE_SITE_BUILDER_REFACTOR) in settings/env files. - Draft ERD updates and share with backend team for approval.
- Freeze any pending migrations; branch off
- Schema Implementation
- Site Builder tables
SiteBlueprintCluster: fields forcluster_id,role,coverage_status,metadata.SiteBlueprintTaxonomy: taxonomy type enum,cluster_id, optional external reference.WorkflowState: blueprint FK,current_step,step_status,blocking_reason, timestamps.
- Writer tables
ContentClusterMap,ContentTaxonomyMap,ContentAttributeMapwith FK constraints + indexes for performant lookups.
- Run migrations locally → staging; capture SQL diff in change log.
- Site Builder tables
- Service Layer
- Implement
WorkflowStateServicewith methods:initialize(site_blueprint)– create default states.update_step(step, status, meta)– persists transitions and emits audit logs.validate_step(step)– raises descriptive errors for UI.
- Implement
TaxonomyService:- CRUD handlers.
- Import adapters (WordPress categories/tags, WooCommerce product attributes).
- Helper to map taxonomy ↔ cluster(s).
- Update
ClusteringServiceprompts to emit:- Topic cluster suggestions.
- Attribute/feature recommendations per keyword set.
- Taxonomy hints (category/tag names).
- Implement
- API/Serializer Updates
- Planner serializers return
context_type,dimension_meta. - Writer serializers include
entity_type, taxonomy associations, validation errors. - Site builder endpoints expose workflow state + gating booleans.
- Planner serializers return
- Validation Hooks
- Add reusable validators (e.g.,
ensure_clusters_attached(site_blueprint)). - Integrate validators into existing actions (
generate_structure,create_tasks_from_blueprint).
- Add reusable validators (e.g.,
- Internal Tooling & Docs
- Update Postman collection / API reference for new endpoints + payloads.
- Write developer doc describing new models + services.
- Set up monitoring dashboards (Grafana/NewRelic) for:
- Migration duration.
- Celery task errors referencing new services.
2. Owners & Dependencies
- Backend Lead: owns migrations, services, validator integration.
- Data/DBA: reviews migration plan, handles staging rollout.
- QA: prepares regression scripts for planner/writer.
- Docs: updates
master-docs(backend + AI framework) with new tables/services. - Dependencies: PostgreSQL 15 features already available; no external API changes needed.
3. Deliverables & Exit Criteria
- ✅ Migrations applied to staging + rollback verified.
- ✅
WorkflowStateService,TaxonomyService,ClusteringServiceupdates merged with unit tests. - ✅ Planner/Writer legacy flows pass smoke tests (imports, clustering, idea creation, content generation).
- ✅ API reference + architecture docs updated.
- ✅ Feature flag defaults to OFF (no user-facing change yet).
4. Testing Matrix
| Area | Automated | Manual |
|---|---|---|
| Migrations | pytest migration test + Django fake migrations |
Dry run on staging, rollback rehearsal |
| Services | Unit tests for new service methods | Postman calls to workflow/taxonomy endpoints |
| Validators | Serializer/endpoint tests expecting 4xx when requirements unmet | Trigger via API (e.g., attempt sitemap gen without clusters) |
| Regression | Existing planner/writer test suite | Smoke test: keyword import → cluster → idea → task → content |
5. Rollout Checklist
- Merge migrations + services behind feature flag.
- Deploy to staging, run migration + regression script.
- Monitor Celery/DB logs for anomalies.
- After 24h stability, promote to production (still gated by flag).
- Announce availability to frontend team to begin Stage 2 work.
Stage 2 – Planner + Wizard UX
Objective: Ship the state-aware, self-guided planner + site builder experience on top of Stage 1 services.
1. Sequenced Plan of Work
- Planning & Design
- UX team finalizes wizard wireframes + microcopy for each step, including helper text/tooltips.
- Define telemetry schema (events:
wizard_step_started,wizard_step_completed,wizard_blocking_issue). - Review backend responses needed per step (cluster metrics, taxonomy suggestions, validation errors).
- Backend Enhancements
- Extend planner endpoints to return:
- Cluster stats (keyword count, projected hubs/support pages).
- Suggested taxonomies/attributes from Stage 1
dimension_meta. - Validation error payloads structured for UI (“missing clusters”, “taxonomy incomplete”).
- Add audit logging to
WorkflowStateService.update_stepfor troubleshooting.
- Extend planner endpoints to return:
- Frontend Infrastructure
- Build
builderWorkflowStore(Zustand):- State:
currentStep,completedSteps,blockingIssues,workflowState,loading. - Actions:
goToStep,completeStep,refreshState,setBlockingIssue. - Persistence: sessionStorage/localStorage to resume across refreshes.
- State:
- Hook store into new
/site-builder/workflow/{blueprintId}endpoints.
- Build
- Wizard Step Implementation
- Step 1 – Business Details
- Components for site type selection, hosting detection (show WP integration status), brand inputs.
- Save actions call blueprint PATCH + workflow state update.
- Step 2 – Cluster Assignment
- Table/list of clusters with filters (intent, volume, context type).
- Coverage meter (keywords covered vs. target).
- “Add cluster” action hitting
/blueprints/{id}/clusters/attach. - Blocking logic: enforce minimum cluster count/keyword count per site type.
- Step 3 – Taxonomy Builder
- Tree/table for categories, tags, product attributes, service groups.
- Import buttons (WordPress/WooCommerce) calling
TaxonomyServiceendpoints. - Mapping UI linking taxonomy items to clusters (drag/drop or select dropdown).
- Step 4 – AI Sitemap Review
- Grid grouped by cluster/taxonomy.
- Visual checklist (Hub page, Supporting pages count).
- Ability to edit page titles/types, reorder, remove.
- “Regenerate” button to re-run AI structure (with warning on credit usage).
- Step 5 – Coverage Validation
- Summary cards showing clusters covered/uncovered, taxonomy gaps, attribute coverage.
- CTA to jump back to specific step if gaps remain.
- Step 6 – Ideas Hand-off
- Select pages to push to Planner Ideas.
- Secondary prompt textarea; show preview of what data AI receives.
- Confirmation modal summarizing cluster/page counts.
- Step 1 – Business Details
- Planner Module Enhancements
- Cluster matrix view showing clusters vs. taxonomy/attribute coverage, clickable to drill into wizard step.
- Taxonomy management table (search, filters, bulk edits).
- Inline warnings (e.g., banner on Planner home when blueprint still missing requirements).
- UX Guardrails
- Breadcrumb/progress component with checkmarks.
- Disabled Next button shows tooltip listing unmet requirements.
- Contextual helper drawer per step (links to docs, best practices).
2. Owners & Dependencies
- Frontend Lead: wizard implementation + planner UI updates.
- Backend Support: ensure required data returned, logging in place.
- Design/UX: final visuals, helper content, accessibility review.
- Docs/Enablement: in-app help, video walkthroughs.
- Dependency: Stage 1 feature flag must be AVAILABLE with APIs stable.
3. Deliverables & Exit Criteria
- ✅ Wizard completes end-to-end (feature-flagged) for both IGNY8-hosted and WP-linked sites.
- ✅ Telemetry events firing and visible in analytics dashboard.
- ✅ QA scripts covering success/failure states executed, accessibility issues resolved.
- ✅ Documentation (knowledge base, tooltips) updated.
- ✅ Rollout plan ready (progressive enablement per account/site type).
4. Testing Matrix
| Area | Automated | Manual |
|---|---|---|
| Wizard Flow | Cypress tests for each step, gating logic, resume | Scenario walkthroughs (new site, WP import), cross-browser testing |
| Planner Views | Jest/unit tests for new components, store logic | Performance check on cluster matrix, UX review |
| Telemetry | Unit tests ensuring events dispatch | Verify dashboards receiving events |
| Accessibility | Lint checks (aria labels, keyboard nav) | Screen reader + keyboard-only validation |
5. Rollout Checklist
- Feature flag ON for internal testers → gather feedback.
- Fix critical issues, re-run automated suite.
- Enable for pilot accounts (one IGNY8 host, one WP host).
- Monitor telemetry/feedback; ensure support team ready.
- Gradually roll out to all accounts; announce in release notes + in-app banner.
Stage 3 – Writer / Linker / Optimizer Enhancements
Objective: Propagate the new metadata through content creation and optimization, ensuring validation before publish.
1. Sequenced Plan of Work
- Metadata Audit & Defaults
- Verify Stage 1 migrations populated defaults for legacy content/tasks.
- Script to backfill
entity_type,taxonomy_id,cluster_rolefor existing records (with audit log).
- Backend Pipeline Updates
- Ideas → Tasks: update services so every task inherits cluster/taxonomy/attribute metadata.
- Tasks → Content: adjust
ContentPipelineServiceto store mappings inContentClusterMap, etc. - Prompt Updates: AI prompts include cluster role, taxonomy context, product attributes to produce richer output.
- Validation Services: create reusable validators (e.g.,
ensure_required_attributes(task)) returning human-friendly errors.
- Linker & Optimizer Enhancements
- Linker service leverages mapping tables to suggest hub/supporting/attribute links; adds priority scoring.
- Optimizer scoring factors:
- Cluster coverage (are all hubs/supporting pages present?).
- Taxonomy alignment (page categorized correctly).
- Attribute completeness (product/service specs filled).
- New APIs:
GET /sites/{id}/progress(cluster-level completion + validation status).GET /writer/content/{id}/validation(aggregated checklist for UI).
- Frontend Enhancements
- Planner Ideas / Writer Tasks lists
- Columns/chips for cluster, taxonomy, attributes.
- Filters for entity type & validation status.
- Writer Editor
- Sidebar module with cluster summary, taxonomy tree, attribute form.
- Validation panel showing remaining requirements; publish button disabled until cleared.
- Linker UI
- Group internal link suggestions by cluster role; show context snippet, CTA to insert.
- Optimizer Dashboard
- Scorecards per cluster dimension with color coding + “next action” cards.
- Site Progress Widgets
- On site overview, show bars for hubs/supporting/attribute completion; link to problematic clusters.
- Planner Ideas / Writer Tasks lists
- Notifications & Workflow
- Inline toast + optional email when validation fails or content ready for review.
- Credit reminder banner when user tries to regenerate content/optimization tasks.
2. Owners & Dependencies
- Backend Lead: pipeline + services, validation APIs.
- Frontend Lead: writer/linker/optimizer UI, progress widgets.
- AI/Prompt Specialist: adjust prompts/templates and verify outputs.
- QA: regression scripts for writer workflow, linker, optimizer.
- Dependencies: Stage 2 wizard must deliver cluster/taxonomy data; Stage 1 mapping tables in place.
3. Deliverables & Exit Criteria
- ✅ All new tasks/content carry entity/taxonomy metadata; legacy content backfilled.
- ✅ Publish action blocked when required metadata missing; errors surfaced clearly.
- ✅ Linker/optimizer screens powered by new data with acceptable performance.
- ✅ Site progress dashboards live for pilot sites with feedback loop established.
4. Testing Matrix
| Area | Automated | Manual |
|---|---|---|
| Pipeline | Unit tests on service functions, serializer coverage | End-to-end run: blueprint → ideas → tasks → content |
| Validation | Tests ensuring validators trigger proper errors | Attempt publish without taxonomy/attributes; confirm UI flow |
| Linker/Optimizer | Service tests for scoring & suggestions | Performance profiling on large datasets; UX review |
| Progress Widgets | Component/unit tests | Compare counts vs. database for pilot site |
5. Rollout Checklist
- Deploy to staging with feature flag ON; run regression suite.
- Backfill metadata for existing content in staging; verify no issues.
- Pilot with internal content team; gather feedback on validation friction.
- Optimize slow queries (add indexes/caching) before production rollout.
- Update training docs/videos for writers; enable flag gradually across accounts.
Stage 4 – Publishing & Sync Integration
Objective: Achieve feature parity between IGNY8-hosted deployments and WordPress sites, using the shared metadata model.
1. Sequenced Plan of Work
- Sync Architecture Review
- Audit existing WordPress adapter + sync service.
- Confirm required endpoints (categories, tags, WooCommerce attributes/products) and authentication flows.
- Document data mapping between WP taxonomies and new IGNY8 taxonomy tables.
- Backend Enhancements
- Import
- Extend
ContentSyncServiceto fetch WP taxonomies, products, custom post types. - Map external IDs to
SiteBlueprintTaxonomy,ContentTaxonomyMap, storingexternal_reference. - Auto-create missing clusters/taxonomies with flag indicating “imported”.
- Extend
- Export
- Update
WordPressAdapterto create/update taxonomies before publishing posts/products. - Ensure product attributes/tags pushed before product content.
- Update
- Sync Health
- New endpoints:
/sites/{id}/sync/status,/sites/{id}/sync/run. - Track last sync time, mismatch counts, error logs.
- New endpoints:
- Deployment
SitesRendererAdapterconsumes cluster/taxonomy metadata to build navigation, breadcrumbs, internal links.- Deployment readiness check service summarizing cluster coverage, content publish status, validation flags.
- Logging/Monitoring
- Structured logs for sync runs (duration, items processed, failures).
- Alerts for repeated sync failures or deployment errors.
- Import
- Frontend Enhancements
- Sync Dashboard
- Parity indicators (taxonomies, products, posts) with status icons.
- Buttons for manual sync, retry failed items, view logs.
- Detail drawer showing mismatched items and suggested fixes.
- Deployment Panel
- Readiness checklist (clusters covered, content statuses, validation passes).
- Deploy + rollback buttons with confirmation modals.
- Toast/notification system for deploy/sync success/failure.
- WordPress Connection UI
- Surface integration status, credentials check, last sync info.
- Sync Dashboard
- Operational Runbooks
- Document sync troubleshooting steps, rollback procedures, and escalation path.
- Provide support scripts for forcing sync, clearing queue, recovering failed deployment.
2. Owners & Dependencies
- Backend Lead: sync/import/export logic, deployment readiness service.
- Frontend Lead: sync dashboard, deployment UI.
- Infra/DevOps: monitoring, alerting, runbooks.
- QA: end-to-end publish tests IGNY8↔WP.
- Dependencies: Stage 3 metadata stable; WordPress credentials for pilot sites available.
3. Deliverables & Exit Criteria
- ✅ End-to-end publishing works for blog/ecommerce/company templates on IGNY8 hosting and WordPress (posts/products/services).
- ✅ Sync dashboard shows green status for pilot accounts; manual retry resolves mismatches.
- ✅ Deployment readiness checks enforced; logs + rollback procedures documented.
- ✅ Release notes + training material published.
4. Testing Matrix
| Area | Automated | Manual |
|---|---|---|
| Sync Logic | Integration tests hitting mocked WP APIs | Staging sync from live WP instance; verify taxonomy parity |
| Deployment | Renderer tests verifying metadata usage | Deploy IGNY8 site, inspect navigation/internal links |
| Dashboards | Component/unit tests | Pilot user testing of sync dashboard + deployment flow |
| Runbooks | N/A | Tabletop exercises for failure scenarios (sync fails, deploy rollback) |
5. Rollout Checklist
- Enable Stage 4 flag in staging; run full sync/import tests.
- Pilot with one IGNY8-hosted and one WP-hosted site; gather feedback.
- Train support team on new dashboards/runbooks.
- Announce availability; roll out gradually to accounts with WordPress integrations.
- Monitor logs/alerts closely during first production syncs; iterate on tooling as needed.
Stage Coordination Notes
- Feature flags: introduce per-stage flags to roll out gradually.
- Monitoring: add dashboards for workflow step failures, sync errors, credit usage spikes.
- Documentation cadence: update
master-docs+part2-dev/planningafter each stage completes. - Entry/exit reviews: hold short readiness reviews before moving to the next stage to ensure dependencies satisfied.
This plan ensures each layer stabilizes before the next, keeping users on a guided, predictable experience throughout the refactor.