From 8eecf1538e2d6ecbfd031151fd4c5086960f7eab Mon Sep 17 00:00:00 2001 From: StillHammer Date: Fri, 19 Sep 2025 08:18:05 +0800 Subject: [PATCH] Fix Google Sheets metadata tracking issues MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit • AntiDetection_Level: Now shows actual adversarial mode instead of hardcoded "MVP" • Parent_ID offset: Fixed calculation to match Google Sheets row numbers (removed -1) • Pass adversarialMode parameter in all saveGeneratedArticleOrganic calls for proper tracking Fixes: - AntiDetection_Level column now displays: none, light, standard, heavy, adaptive - Parent_ID now correctly corresponds to Google Sheets line numbers - Consistent metadata across all versioning stages (v1.0 through v2.0) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- lib/ArticleStorage.js | 4 ++-- lib/Main.js | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/ArticleStorage.js b/lib/ArticleStorage.js index 89925e5..45cec6e 100644 --- a/lib/ArticleStorage.js +++ b/lib/ArticleStorage.js @@ -250,7 +250,7 @@ async function saveGeneratedArticleOrganic(articleData, csvData, config = {}) { mc0: csvData.mc0, t0: csvData.t0, personality: csvData.personality?.nom || 'Unknown', - antiDetectionLevel: config.antiDetectionLevel || 'MVP', + antiDetectionLevel: config.antiDetectionLevel || config.adversarialMode || 'none', elementsCount: Object.keys(articleData.generatedTexts || {}).length, textLength: compiledText.length, wordCount: countWords(compiledText), @@ -313,7 +313,7 @@ async function saveGeneratedArticleOrganic(articleData, csvData, config = {}) { range: targetRangeForId }); - const articleId = response.data.values ? response.data.values.length - 1 : 1; + const articleId = response.data.values ? response.data.values.length : 1; logSh(`✅ Article organique sauvé: ID ${articleId}, ${metadata.wordCount} mots`, 'INFO'); diff --git a/lib/Main.js b/lib/Main.js index 7e2ef5d..37da177 100644 --- a/lib/Main.js +++ b/lib/Main.js @@ -179,6 +179,7 @@ async function handleModularWorkflowWithData(data, config = {}) { version: '1.0', stage: 'final_version', source, + adversarialMode, stageDescription: `Version finale compatibility mode`, useVersionedSheet: false }); @@ -336,6 +337,7 @@ async function handleModularWorkflow(config = {}) { version: 'v1.0', stage: 'initial_generation', source: `${source}_initial`, + adversarialMode: 'none', stageDescription: 'Génération de contenu de base sans améliorations', useVersionedSheet: true // 🆕 Utiliser Generated_Articles_Versioned }); @@ -402,6 +404,7 @@ async function handleModularWorkflow(config = {}) { version: 'v1.1', stage: 'selective_enhancement', source: `${source}_selective_${selectiveStack}`, + adversarialMode: 'none', stageDescription: `Amélioration selective (${selectiveStack}) - ${selectiveResult.stats.elementsEnhanced || selectiveResult.stats.totalModifications || 0} modifications`, parentArticleId: parentArticleId, useVersionedSheet: true // 🆕 Utiliser Generated_Articles_Versioned @@ -474,6 +477,7 @@ async function handleModularWorkflow(config = {}) { version: 'v1.2', stage: 'adversarial_enhancement', source: `${source}_adversarial_${adversarialMode}`, + adversarialMode, stageDescription: `Amélioration adversarial (${adversarialMode}) - ${adversarialStats.elementsModified || adversarialStats.totalModifications || 0} modifications`, parentArticleId: parentArticleId, useVersionedSheet: true // 🆕 Utiliser Generated_Articles_Versioned @@ -568,6 +572,7 @@ async function handleModularWorkflow(config = {}) { version: 'v1.3', stage: 'human_simulation', source: `${source}_human_${humanSimulationMode}`, + adversarialMode, stageDescription: `Simulation humaine (${humanSimulationMode}) - ${humanSimulationStats.totalModifications || 0} modifications`, parentArticleId: parentArticleId, useVersionedSheet: true // 🆕 Utiliser Generated_Articles_Versioned @@ -661,6 +666,7 @@ async function handleModularWorkflow(config = {}) { version: 'v1.4', stage: 'pattern_breaking', source: `${source}_pattern_${patternBreakingMode}`, + adversarialMode, stageDescription: `Pattern Breaking (${patternBreakingMode}) - ${patternBreakingStats.totalModifications || 0} modifications`, parentArticleId: parentArticleId, useVersionedSheet: true // 🆕 Utiliser Generated_Articles_Versioned @@ -704,6 +710,7 @@ async function handleModularWorkflow(config = {}) { version: saveIntermediateSteps ? 'v2.0' : '1.0', stage: 'final_version', source: finalSourceTag, + adversarialMode, stageDescription: `Version finale complète avec toutes améliorations`, parentArticleId: parentArticleId, versionHistory: saveIntermediateSteps ? versionHistory : undefined,