Version 1.8.1
This commit is contained in:
184
CHANGELOG.md
184
CHANGELOG.md
@@ -1,7 +1,7 @@
|
|||||||
# IGNY8 Change Log
|
# IGNY8 Change Log
|
||||||
|
|
||||||
**Current Version:** 1.8.0
|
**Current Version:** 1.8.1
|
||||||
**Last Updated:** January 17, 2026
|
**Last Updated:** January 18, 2026
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -9,6 +9,7 @@
|
|||||||
|
|
||||||
| Version | Date | Summary |
|
| Version | Date | Summary |
|
||||||
|---------|------|---------|
|
|---------|------|---------|
|
||||||
|
| 1.8.1 | Jan 18, 2026 | **Automation Scheduling Overhaul** - Hourly scheduling (replaces 15-min windows), DefaultAutomationConfig singleton for centralized defaults, test mode for admin testing, Reset button fetches from backend, new migrations 0009-0012 |
|
||||||
| 1.8.0 | Jan 17, 2026 | **Major** - Unified Settings Consolidation: AI & Automation settings merged into Site Settings > Automation tab; Navigation Refactor Complete; Automation Overview & Run Detail pages; Publishing & Scheduling UX improvements; Skip Stage configuration; Content Calendar fixes |
|
| 1.8.0 | Jan 17, 2026 | **Major** - Unified Settings Consolidation: AI & Automation settings merged into Site Settings > Automation tab; Navigation Refactor Complete; Automation Overview & Run Detail pages; Publishing & Scheduling UX improvements; Skip Stage configuration; Content Calendar fixes |
|
||||||
| 1.7.6 | Jan 15, 2026 | **Navigation Refactor Complete** - Complete sidebar restructure, new Automation Overview page, Publish Settings page, Content Calendar improvements |
|
| 1.7.6 | Jan 15, 2026 | **Navigation Refactor Complete** - Complete sidebar restructure, new Automation Overview page, Publish Settings page, Content Calendar improvements |
|
||||||
| 1.7.5 | Jan 14, 2026 | **Automation Overview** - New dashboard for automation runs, detailed run history, real-time progress tracking |
|
| 1.7.5 | Jan 14, 2026 | **Automation Overview** - New dashboard for automation runs, detailed run history, real-time progress tracking |
|
||||||
@@ -47,6 +48,185 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## v1.8.1 - January 18, 2026
|
||||||
|
|
||||||
|
### Automation Scheduling Overhaul & Centralized Default Settings
|
||||||
|
|
||||||
|
This release introduces a complete overhaul of the automation scheduling system, moving from 15-minute window checking to hourly scheduling. It also introduces the `DefaultAutomationConfig` singleton model for centralized default settings management, test mode functionality for admins, and backend-driven reset functionality for the frontend.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### ⏰ Hourly Scheduling System
|
||||||
|
|
||||||
|
**Previous Behavior (v1.8.0):**
|
||||||
|
- Celery checked every 15 minutes for automations within a 15-minute window
|
||||||
|
- Complex time window calculations prone to edge cases
|
||||||
|
|
||||||
|
**New Behavior (v1.8.1):**
|
||||||
|
- Celery checks **every hour at `:05`** (`crontab(minute=5)`)
|
||||||
|
- Simple hour matching: `scheduled_hour == current_hour`
|
||||||
|
- Users select hour only (12-hour AM/PM format in UI, stored as 24-hour `HH:00`)
|
||||||
|
|
||||||
|
**Celery Beat Schedule:**
|
||||||
|
| Task | Schedule | Purpose |
|
||||||
|
|------|----------|---------|
|
||||||
|
| `check_scheduled_automations` | Every hour at `:05` | Check if automations should run |
|
||||||
|
| `check_test_triggers` | Every minute | Check for admin test triggers |
|
||||||
|
| `schedule_approved_content` | Every hour at `:00` | Schedule approved content |
|
||||||
|
| `process_scheduled_publications` | Every 5 minutes | Publish scheduled content |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 🔧 DefaultAutomationConfig Model
|
||||||
|
|
||||||
|
**New Singleton Model** (`backend/igny8_core/business/automation/models.py`):
|
||||||
|
|
||||||
|
A centralized configuration model for all default automation settings:
|
||||||
|
|
||||||
|
**Scheduling Defaults:**
|
||||||
|
- `is_enabled`, `frequency` (daily/weekly/monthly)
|
||||||
|
- `base_scheduled_hour`, `next_scheduled_hour` (auto-increment for new sites)
|
||||||
|
|
||||||
|
**Stage Defaults (per stage 1-7):**
|
||||||
|
- `stage_X_enabled` - Enable/disable individual stages
|
||||||
|
- `stage_X_batch_size` - Items per batch
|
||||||
|
- `stage_X_use_testing` - Use test AI model (AI stages only)
|
||||||
|
- `stage_X_budget_pct` - Credit budget percentage (AI stages only)
|
||||||
|
|
||||||
|
**Per-Run Limits:**
|
||||||
|
- `max_keywords_per_run`, `max_clusters_per_run`, etc.
|
||||||
|
- `max_credits_per_run`
|
||||||
|
|
||||||
|
**Publishing Defaults:**
|
||||||
|
- `auto_approval_enabled`, `auto_publish_enabled`
|
||||||
|
- `daily_publish_limit`, `weekly_publish_limit`, `monthly_publish_limit`
|
||||||
|
- `publish_days` (JSONField - e.g., `['mon', 'tue', 'wed', 'thu', 'fri']`)
|
||||||
|
- `publish_time_slots` (JSONField - e.g., `['09:00', '14:00', '18:00']`)
|
||||||
|
|
||||||
|
**Image Defaults:**
|
||||||
|
- `image_style` (default: 'photorealistic')
|
||||||
|
- `max_images_per_article` (default: 4)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 🧪 Test Mode (Admin Feature)
|
||||||
|
|
||||||
|
New fields on `AutomationConfig` for admin testing:
|
||||||
|
|
||||||
|
- `test_mode_enabled` - Enable test functionality for a config
|
||||||
|
- `test_trigger_at` - When to trigger (set to `now` for immediate)
|
||||||
|
|
||||||
|
**How It Works:**
|
||||||
|
1. Admin enables test mode and sets trigger time
|
||||||
|
2. `check_test_triggers` task runs every minute
|
||||||
|
3. When `test_trigger_at <= now`, automation starts with `trigger_type='test'`
|
||||||
|
4. Bypasses 23-hour blocking and schedule requirements
|
||||||
|
|
||||||
|
**Admin Actions:**
|
||||||
|
- 🧪 **Trigger test run** - Sets test mode and immediate trigger
|
||||||
|
- 🧹 **Clear test mode** - Disables and clears trigger
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 🔄 Reset Button Backend Integration
|
||||||
|
|
||||||
|
**New API Endpoint:** `GET /api/v1/integration/settings/defaults/`
|
||||||
|
|
||||||
|
Frontend reset button now fetches defaults from backend instead of using hardcoded values:
|
||||||
|
|
||||||
|
**Response Format:**
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"automation": {
|
||||||
|
"enabled": false,
|
||||||
|
"frequency": "daily",
|
||||||
|
"time": "02:00"
|
||||||
|
},
|
||||||
|
"stages": [
|
||||||
|
{"number": 1, "enabled": true, "batch_size": 50, "per_run_limit": 0, "use_testing": false, "budget_pct": 15},
|
||||||
|
...
|
||||||
|
],
|
||||||
|
"delays": {
|
||||||
|
"within_stage": 3,
|
||||||
|
"between_stage": 5
|
||||||
|
},
|
||||||
|
"publishing": {
|
||||||
|
"auto_approval_enabled": false,
|
||||||
|
"auto_publish_enabled": false,
|
||||||
|
"daily_publish_limit": 3,
|
||||||
|
"weekly_publish_limit": 15,
|
||||||
|
"monthly_publish_limit": 50,
|
||||||
|
"publish_days": ["mon", "tue", "wed", "thu", "fri"],
|
||||||
|
"time_slots": ["09:00", "14:00", "18:00"]
|
||||||
|
},
|
||||||
|
"images": {
|
||||||
|
"style": "photorealistic",
|
||||||
|
"max_images": 4
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**Note:** Image settings are NOT reset by the reset button - they come from a separate global system (`/api/v1/account/settings/ai/`).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 🗄️ Database Migrations
|
||||||
|
|
||||||
|
| Migration | Description |
|
||||||
|
|-----------|-------------|
|
||||||
|
| `0009_add_stage_use_testing_and_budget_pct.py` | Adds `use_testing` and `budget_pct` fields per AI stage |
|
||||||
|
| `0010_add_test_mode_fields.py` | Adds `test_mode_enabled` and `test_trigger_at` fields |
|
||||||
|
| `0011_add_default_automation_config.py` | Creates `DefaultAutomationConfig` singleton model |
|
||||||
|
| `0012_add_publishing_image_defaults.py` | Adds publishing and image default fields to `DefaultAutomationConfig` |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 🖥️ Admin Interface
|
||||||
|
|
||||||
|
**DefaultAutomationConfig Admin:**
|
||||||
|
- New admin page for managing centralized defaults
|
||||||
|
- Organized fieldsets: Scheduling, Stage Toggles, Batch Sizes, Testing Models, Budget Allocation, Per-Run Limits, Delays, Publishing, Images
|
||||||
|
|
||||||
|
**AutomationConfig Admin:**
|
||||||
|
- New Test Mode actions: "🧪 Trigger test run", "🧹 Clear test mode"
|
||||||
|
- Display of test mode status in list view
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 🎨 Frontend Fixes
|
||||||
|
|
||||||
|
**AIAutomationSettings Component:**
|
||||||
|
- Reset button fetches from `/api/v1/integration/settings/defaults/`
|
||||||
|
- Fixed Run Time dropdown layout (was bleeding outside card)
|
||||||
|
- Uses `grid grid-cols-2 gap-2` with wrapped dropdowns
|
||||||
|
- Toast message clarifies which settings are reset
|
||||||
|
|
||||||
|
**Dropdown Fixes:**
|
||||||
|
- Fixed `SelectDropdown` width issues in Run Time selection
|
||||||
|
- Hour and AM/PM dropdowns no longer overlap or bleed
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 📚 Documentation
|
||||||
|
|
||||||
|
**New Documentation:**
|
||||||
|
- [AUTOMATION-AND-PUBLISHING-SCHEDULING.md](docs/40-WORKFLOWS/AUTOMATION-AND-PUBLISHING-SCHEDULING.md) - Comprehensive guide to the scheduling system
|
||||||
|
|
||||||
|
**Reorganized:**
|
||||||
|
- Moved `AUTOMATION-ENHANCEMENT-PLAN.md` to `docs/plans/automation/`
|
||||||
|
- Moved `FINAL-PRELAUNCH-*.md` to `docs/plans/implemented/`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 🐛 Bug Fixes
|
||||||
|
|
||||||
|
- Fixed 404 on `/v1/settings/defaults/` (correct path: `/v1/integration/settings/defaults/`)
|
||||||
|
- Fixed "Cannot read properties of undefined (reading 'automation')" error in reset handling
|
||||||
|
- Fixed SelectDropdown bleeding outside card boundaries
|
||||||
|
- Fixed dropdown portals not opening when `overflow-hidden` was applied
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## v1.8.0 - January 17, 2026
|
## v1.8.0 - January 17, 2026
|
||||||
|
|
||||||
### Unified Settings Consolidation & Navigation Refactor Complete
|
### Unified Settings Consolidation & Navigation Refactor Complete
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Automation Module
|
# Automation Module
|
||||||
|
|
||||||
**Last Verified:** January 17, 2026
|
**Last Verified:** January 18, 2026
|
||||||
**Version:** 1.8.0
|
**Version:** 1.8.1
|
||||||
**Status:** ✅ Active
|
**Status:** ✅ Active
|
||||||
**Backend Path:** `backend/igny8_core/business/automation/`
|
**Backend Path:** `backend/igny8_core/business/automation/`
|
||||||
**Frontend Path:** `frontend/src/pages/Automation/`
|
**Frontend Path:** `frontend/src/pages/Automation/`
|
||||||
@@ -12,18 +12,20 @@
|
|||||||
|
|
||||||
| What | File | Key Items |
|
| What | File | Key Items |
|
||||||
|------|------|-----------|
|
|------|------|-----------|
|
||||||
| Models | `business/automation/models.py` | `AutomationConfig`, `AutomationRun` |
|
| Models | `business/automation/models.py` | `AutomationConfig`, `AutomationRun`, `DefaultAutomationConfig` |
|
||||||
| Service | `business/automation/services/automation_service.py` | `AutomationService` |
|
| Service | `business/automation/services/automation_service.py` | `AutomationService` |
|
||||||
| Logger | `business/automation/services/automation_logger.py` | `AutomationLogger` |
|
| Logger | `business/automation/services/automation_logger.py` | `AutomationLogger` |
|
||||||
| Celery Tasks | `business/automation/tasks.py` | `run_automation_task`, `check_scheduled_automations` |
|
| Celery Tasks | `business/automation/tasks.py` | `run_automation_task`, `check_scheduled_automations`, `check_test_triggers` |
|
||||||
| Publishing Tasks | `igny8_core/tasks/publishing_scheduler.py` | Scheduled publishing |
|
| Publishing Tasks | `igny8_core/tasks/publishing_scheduler.py` | Scheduled publishing |
|
||||||
| **Unified Settings** | `modules/integration/views/unified_settings.py` | **v1.8.0** Consolidated settings API |
|
| **Unified Settings** | `api/unified_settings.py` | **v1.8.0** Consolidated settings API |
|
||||||
|
| **Default Settings API** | `api/unified_settings.py` | **v1.8.1** `DefaultSettingsAPIView` for reset |
|
||||||
| Frontend Overview | `pages/Automation/AutomationOverview.tsx` | **v1.8.0** Run history dashboard |
|
| Frontend Overview | `pages/Automation/AutomationOverview.tsx` | **v1.8.0** Run history dashboard |
|
||||||
| Frontend Run Detail | `pages/Automation/AutomationRunDetail.tsx` | **v1.8.0** Detailed run view |
|
| Frontend Run Detail | `pages/Automation/AutomationRunDetail.tsx` | **v1.8.0** Detailed run view |
|
||||||
| Frontend Manual Run | `pages/Automation/AutomationPage.tsx` | Manual run UI |
|
| Frontend Manual Run | `pages/Automation/AutomationPage.tsx` | Manual run UI |
|
||||||
| **Site Settings** | `pages/Sites/AIAutomationSettings.tsx` | **v1.8.0** Unified settings UI |
|
| **Site Settings** | `pages/Sites/AIAutomationSettings.tsx` | **v1.8.0** Unified settings UI |
|
||||||
| Progress Bar | `components/Automation/GlobalProgressBar.tsx` | Full pipeline progress |
|
| Progress Bar | `components/Automation/GlobalProgressBar.tsx` | Full pipeline progress |
|
||||||
| Processing Card | `components/Automation/CurrentProcessingCard.tsx` | Real-time progress |
|
| Processing Card | `components/Automation/CurrentProcessingCard.tsx` | Real-time progress |
|
||||||
|
| **Scheduling Doc** | `docs/40-WORKFLOWS/AUTOMATION-AND-PUBLISHING-SCHEDULING.md` | **v1.8.1** Complete scheduling guide |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -35,7 +37,26 @@ The Automation module runs the complete 7-stage content pipeline automatically:
|
|||||||
Keywords → Clusters → Ideas → Tasks → Content → Image Prompts → Images → Published
|
Keywords → Clusters → Ideas → Tasks → Content → Image Prompts → Images → Published
|
||||||
```
|
```
|
||||||
|
|
||||||
**Settings Location (v1.8.0):** Site Settings → Automation tab
|
**Settings Location (v1.8.0+):** Site Settings → Automation tab
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Scheduling (v1.8.1)
|
||||||
|
|
||||||
|
| Task | Schedule | Purpose |
|
||||||
|
|------|----------|---------|
|
||||||
|
| `check_scheduled_automations` | Every hour at `:05` | Check if automations should run |
|
||||||
|
| `check_test_triggers` | Every minute | Check for admin test triggers |
|
||||||
|
|
||||||
|
**How it works:**
|
||||||
|
- Users select hour (12-hour AM/PM format), stored as `HH:00` (24-hour)
|
||||||
|
- Celery compares `scheduled_hour == current_hour`
|
||||||
|
- 23-hour block prevents re-runs within same day
|
||||||
|
|
||||||
|
**Test Mode (Admin):**
|
||||||
|
- `test_mode_enabled` + `test_trigger_at` fields on `AutomationConfig`
|
||||||
|
- Allows immediate triggering without waiting for schedule
|
||||||
|
- Bypasses 23-hour blocking
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -79,6 +100,8 @@ Keywords → Clusters → Ideas → Tasks → Content → Image Prompts → Imag
|
|||||||
| **stage_5_enabled** | Boolean | **v1.8.0** Enable stage 5 |
|
| **stage_5_enabled** | Boolean | **v1.8.0** Enable stage 5 |
|
||||||
| **stage_6_enabled** | Boolean | **v1.8.0** Enable stage 6 |
|
| **stage_6_enabled** | Boolean | **v1.8.0** Enable stage 6 |
|
||||||
| **stage_7_enabled** | Boolean | **v1.8.0** Enable stage 7 |
|
| **stage_7_enabled** | Boolean | **v1.8.0** Enable stage 7 |
|
||||||
|
| **stage_X_use_testing** | Boolean | **v1.8.1** Use testing model (AI stages 1,2,4,5,6) |
|
||||||
|
| **stage_X_budget_pct** | Integer | **v1.8.1** Credit budget % (AI stages) |
|
||||||
| **max_keywords_per_run** | Integer | **v1.8.0** Per-run limit stage 1 |
|
| **max_keywords_per_run** | Integer | **v1.8.0** Per-run limit stage 1 |
|
||||||
| **max_clusters_per_run** | Integer | **v1.8.0** Per-run limit stage 2 |
|
| **max_clusters_per_run** | Integer | **v1.8.0** Per-run limit stage 2 |
|
||||||
| **max_ideas_per_run** | Integer | **v1.8.0** Per-run limit stage 3 |
|
| **max_ideas_per_run** | Integer | **v1.8.0** Per-run limit stage 3 |
|
||||||
@@ -89,6 +112,27 @@ Keywords → Clusters → Ideas → Tasks → Content → Image Prompts → Imag
|
|||||||
| between_stage_delay | Integer | Seconds between stages |
|
| between_stage_delay | Integer | Seconds between stages |
|
||||||
| last_run_at | DateTime | Last execution |
|
| last_run_at | DateTime | Last execution |
|
||||||
| next_run_at | DateTime | Next scheduled run |
|
| next_run_at | DateTime | Next scheduled run |
|
||||||
|
| **test_mode_enabled** | Boolean | **v1.8.1** Enable test mode for admin |
|
||||||
|
| **test_trigger_at** | DateTime | **v1.8.1** When to trigger test run |
|
||||||
|
|
||||||
|
### DefaultAutomationConfig (v1.8.1)
|
||||||
|
|
||||||
|
Singleton model for centralized default settings. See [AUTOMATION-AND-PUBLISHING-SCHEDULING.md](../40-WORKFLOWS/AUTOMATION-AND-PUBLISHING-SCHEDULING.md) for full schema.
|
||||||
|
|
||||||
|
| Field | Type | Purpose |
|
||||||
|
|-------|------|---------|
|
||||||
|
| is_enabled | Boolean | Default: Enable scheduled automation |
|
||||||
|
| frequency | CharField | Default frequency (daily/weekly/monthly) |
|
||||||
|
| next_scheduled_hour | Integer | Next hour to assign (auto-increments) |
|
||||||
|
| stage_X_enabled | Boolean | Default: Enable each stage |
|
||||||
|
| stage_X_batch_size | Integer | Default: Batch size per stage |
|
||||||
|
| stage_X_use_testing | Boolean | Default: Use testing model |
|
||||||
|
| stage_X_budget_pct | Integer | Default: Credit budget % |
|
||||||
|
| max_X_per_run | Integer | Default: Per-run limits |
|
||||||
|
| auto_approval_enabled | Boolean | Default: Auto-approve content |
|
||||||
|
| auto_publish_enabled | Boolean | Default: Auto-publish content |
|
||||||
|
| publish_days | JSONField | Default: Days to publish |
|
||||||
|
| publish_time_slots | JSONField | Default: Time slots to publish |
|
||||||
|
|
||||||
### AutomationRun
|
### AutomationRun
|
||||||
|
|
||||||
@@ -133,9 +177,31 @@ Keywords → Clusters → Ideas → Tasks → Content → Image Prompts → Imag
|
|||||||
| GET | `/api/v1/automation/history/` | Get history | Last 20 runs |
|
| GET | `/api/v1/automation/history/` | Get history | Last 20 runs |
|
||||||
| GET | `/api/v1/automation/logs/` | Get logs | Activity log for run |
|
| GET | `/api/v1/automation/logs/` | Get logs | Activity log for run |
|
||||||
| GET | `/api/v1/automation/estimate/` | Get estimate | Credit estimate |
|
| GET | `/api/v1/automation/estimate/` | Get estimate | Credit estimate |
|
||||||
|
| **GET** | `/api/v1/integration/settings/defaults/` | **v1.8.1** | Get default settings for reset |
|
||||||
|
|
||||||
**Query Parameters:** All require `?site_id=`, run-specific require `?run_id=`
|
**Query Parameters:** All require `?site_id=`, run-specific require `?run_id=`
|
||||||
|
|
||||||
|
### Default Settings Endpoint (v1.8.1)
|
||||||
|
|
||||||
|
Returns centralized defaults from `DefaultAutomationConfig`:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"automation": { "enabled": false, "frequency": "daily", "time": "02:00" },
|
||||||
|
"stages": [
|
||||||
|
{ "number": 1, "enabled": true, "batch_size": 50, "per_run_limit": 0, "use_testing": false, "budget_pct": 15 },
|
||||||
|
...
|
||||||
|
],
|
||||||
|
"delays": { "within_stage": 3, "between_stage": 5 },
|
||||||
|
"publishing": {
|
||||||
|
"auto_approval_enabled": false,
|
||||||
|
"auto_publish_enabled": false,
|
||||||
|
"daily_publish_limit": 3,
|
||||||
|
"publish_days": ["mon", "tue", "wed", "thu", "fri"],
|
||||||
|
"time_slots": ["09:00", "14:00", "18:00"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
### run_progress Endpoint (v1.3.0)
|
### run_progress Endpoint (v1.3.0)
|
||||||
|
|
||||||
Returns unified progress data for frontend:
|
Returns unified progress data for frontend:
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# API Endpoints Reference
|
# API Endpoints Reference
|
||||||
|
|
||||||
**Last Verified:** January 17, 2026
|
**Last Verified:** January 18, 2026
|
||||||
**Version:** 1.8.0
|
**Version:** 1.8.1
|
||||||
**Base URL:** `/api/v1/`
|
**Base URL:** `/api/v1/`
|
||||||
**Documentation:** `/api/docs/` (Swagger) | `/api/redoc/` (ReDoc)
|
**Documentation:** `/api/docs/` (Swagger) | `/api/redoc/` (ReDoc)
|
||||||
|
|
||||||
@@ -155,6 +155,45 @@ POST /api/v1/writer/content/{id}/schedule/
|
|||||||
|--------|------|---------|---------|
|
|--------|------|---------|---------|
|
||||||
| GET | `/sites/{site_id}/unified-settings/` | `UnifiedSiteSettingsViewSet.retrieve` | Get all site settings (automation, publishing, AI) |
|
| GET | `/sites/{site_id}/unified-settings/` | `UnifiedSiteSettingsViewSet.retrieve` | Get all site settings (automation, publishing, AI) |
|
||||||
| PATCH | `/sites/{site_id}/unified-settings/` | `UnifiedSiteSettingsViewSet.partial_update` | Update settings (partial) |
|
| PATCH | `/sites/{site_id}/unified-settings/` | `UnifiedSiteSettingsViewSet.partial_update` | Update settings (partial) |
|
||||||
|
| **GET** | `/settings/defaults/` | **v1.8.1** `DefaultSettingsAPIView` | Get default settings for reset functionality |
|
||||||
|
|
||||||
|
### Default Settings Endpoint (v1.8.1)
|
||||||
|
|
||||||
|
Returns centralized defaults from `DefaultAutomationConfig` singleton:
|
||||||
|
|
||||||
|
```json
|
||||||
|
GET /api/v1/integration/settings/defaults/
|
||||||
|
|
||||||
|
{
|
||||||
|
"automation": {
|
||||||
|
"enabled": false,
|
||||||
|
"frequency": "daily",
|
||||||
|
"time": "02:00"
|
||||||
|
},
|
||||||
|
"stages": [
|
||||||
|
{"number": 1, "enabled": true, "batch_size": 50, "per_run_limit": 0, "use_testing": false, "budget_pct": 15},
|
||||||
|
{"number": 2, "enabled": true, "batch_size": 1, "per_run_limit": 0, "use_testing": false, "budget_pct": 10},
|
||||||
|
// ... stages 3-7
|
||||||
|
],
|
||||||
|
"delays": {
|
||||||
|
"within_stage": 3,
|
||||||
|
"between_stage": 5
|
||||||
|
},
|
||||||
|
"publishing": {
|
||||||
|
"auto_approval_enabled": false,
|
||||||
|
"auto_publish_enabled": false,
|
||||||
|
"daily_publish_limit": 3,
|
||||||
|
"weekly_publish_limit": 15,
|
||||||
|
"monthly_publish_limit": 50,
|
||||||
|
"publish_days": ["mon", "tue", "wed", "thu", "fri"],
|
||||||
|
"time_slots": ["09:00", "14:00", "18:00"]
|
||||||
|
},
|
||||||
|
"images": {
|
||||||
|
"style": "photorealistic",
|
||||||
|
"max_images": 4
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
**Unified Settings Response:**
|
**Unified Settings Response:**
|
||||||
```json
|
```json
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# IGNY8 Technical Documentation
|
# IGNY8 Technical Documentation
|
||||||
|
|
||||||
**Version:** 1.8.0
|
**Version:** 1.8.1
|
||||||
**Last Updated:** January 17, 2026
|
**Last Updated:** January 18, 2026
|
||||||
**Purpose:** Complete technical reference for the IGNY8 AI content platform
|
**Purpose:** Complete technical reference for the IGNY8 AI content platform
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -19,11 +19,12 @@
|
|||||||
| **Read design guide** | [30-FRONTEND/DESIGN-GUIDE.md](30-FRONTEND/DESIGN-GUIDE.md) |
|
| **Read design guide** | [30-FRONTEND/DESIGN-GUIDE.md](30-FRONTEND/DESIGN-GUIDE.md) |
|
||||||
| Understand frontend structure | [30-FRONTEND/PAGES.md](30-FRONTEND/PAGES.md) |
|
| Understand frontend structure | [30-FRONTEND/PAGES.md](30-FRONTEND/PAGES.md) |
|
||||||
| Trace a workflow end-to-end | [40-WORKFLOWS/](#workflows) |
|
| Trace a workflow end-to-end | [40-WORKFLOWS/](#workflows) |
|
||||||
|
| **Automation & Publishing Scheduling** | [40-WORKFLOWS/AUTOMATION-AND-PUBLISHING-SCHEDULING.md](40-WORKFLOWS/AUTOMATION-AND-PUBLISHING-SCHEDULING.md) |
|
||||||
| **Manage WordPress plugin** | [60-PLUGINS/WORDPRESS-INTEGRATION.md](60-PLUGINS/WORDPRESS-INTEGRATION.md) |
|
| **Manage WordPress plugin** | [60-PLUGINS/WORDPRESS-INTEGRATION.md](60-PLUGINS/WORDPRESS-INTEGRATION.md) |
|
||||||
| **Release plugin update** | [60-PLUGINS/PLUGIN-UPDATE-WORKFLOW.md](60-PLUGINS/PLUGIN-UPDATE-WORKFLOW.md) |
|
| **Release plugin update** | [60-PLUGINS/PLUGIN-UPDATE-WORKFLOW.md](60-PLUGINS/PLUGIN-UPDATE-WORKFLOW.md) |
|
||||||
| Look up model fields | [90-REFERENCE/MODELS.md](90-REFERENCE/MODELS.md) |
|
| Look up model fields | [90-REFERENCE/MODELS.md](90-REFERENCE/MODELS.md) |
|
||||||
| **Payment system (Stripe/PayPal/Bank)** | [90-REFERENCE/PAYMENT-SYSTEM.md](90-REFERENCE/PAYMENT-SYSTEM.md) |
|
| **Payment system (Stripe/PayPal/Bank)** | [90-REFERENCE/PAYMENT-SYSTEM.md](90-REFERENCE/PAYMENT-SYSTEM.md) |
|
||||||
| See prelaunch checklist | [plans/FINAL-PRELAUNCH.md](plans/FINAL-PRELAUNCH.md) |
|
| See prelaunch checklist | [plans/LAUNCH-VERIFICATION-CHECKLIST.md](plans/LAUNCH-VERIFICATION-CHECKLIST.md) |
|
||||||
| **Understand publishing flow** | [50-DEPLOYMENT/WORDPRESS-INTEGRATION-FLOW.md](50-DEPLOYMENT/WORDPRESS-INTEGRATION-FLOW.md) |
|
| **Understand publishing flow** | [50-DEPLOYMENT/WORDPRESS-INTEGRATION-FLOW.md](50-DEPLOYMENT/WORDPRESS-INTEGRATION-FLOW.md) |
|
||||||
| **AI model architecture (v1.4.0)** | [plans/4th-jan-refactor/final-model-schemas.md](plans/4th-jan-refactor/final-model-schemas.md) |
|
| **AI model architecture (v1.4.0)** | [plans/4th-jan-refactor/final-model-schemas.md](plans/4th-jan-refactor/final-model-schemas.md) |
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
# IGNY8 v1.8.0 Launch Verification Checklist
|
# IGNY8 v1.8.1 Launch Verification Checklist
|
||||||
|
|
||||||
**Version:** 1.8.0
|
**Version:** 1.8.1
|
||||||
**Created:** January 17, 2026
|
**Created:** January 17, 2026
|
||||||
|
**Updated:** January 18, 2026
|
||||||
**Purpose:** Final end-to-end verification before production launch
|
**Purpose:** Final end-to-end verification before production launch
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
Reference in New Issue
Block a user