{
  "_class" : "hudson.model.FreeStyleBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.triggers.TimerTrigger$TimerTriggerCause",
          "shortDescription" : "Started by timer"
        }
      ]
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 775,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "2146eb6cda626967bfe67e1c156bc25e80917dc9",
            "branch" : [
              {
                "SHA1" : "2146eb6cda626967bfe67e1c156bc25e80917dc9",
                "name" : "refs/remotes/origin/dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "2146eb6cda626967bfe67e1c156bc25e80917dc9",
            "branch" : [
              {
                "SHA1" : "2146eb6cda626967bfe67e1c156bc25e80917dc9",
                "name" : "refs/remotes/origin/dev"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "2146eb6cda626967bfe67e1c156bc25e80917dc9",
        "branch" : [
          {
            "SHA1" : "2146eb6cda626967bfe67e1c156bc25e80917dc9",
            "name" : "refs/remotes/origin/dev"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/younex1/erp-nuxt-frontend.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#775",
  "duration" : 103520,
  "estimatedDuration" : 60620,
  "executor" : None,
  "fullDisplayName" : "build-logship-frontend #775",
  "id" : "775",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 775,
  "queueId" : 5861,
  "result" : "SUCCESS",
  "timestamp" : 1792713600765,
  "url" : "https://jenkins.younex.de/job/build-logship-frontend/775/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "deploy/pm2-root.service.d/override.conf",
          "reference/ci/deploy-production.sh",
          "nuxt.config.ts",
          "ecosystem.config.cjs",
          "package-lock.json",
          ".claude/rules/nuxt/dependency-upgrades.md",
          "package.json"
        ],
        "commitId" : "c45b03221311f76ad94f5002ccebe107050ee636",
        "timestamp" : 1792649418000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Dependencies: upgrade pass (npm audit 105 → 17, 0 critical) + prod Node 22.22.3\u000a\u000a- Nuxt 4.4.7 → 4.6.2 (Vite 8.3.5, Vue 3.5.44, @nuxt/ui 4.12.0, @sentry/nuxt 10.76.2), amCharts 5.21.3,\u000a  Capacitor 8.5.3 (android CVE fix, needs an APK release), vue-pdf 2.2.1 (pdfjs RCE fix), quagga2,\u000a  firebase-admin, form-data, imapflow, fast-xml-parser, mysql2, pg, sass, dompurify, bwip-js, three 0.186\u000a- Low-risk majors: nodemailer 10 (all transports are localhost:25 with TLS checks off), sharp 0.35\u000a  (libvips CVEs), better-sqlite3 13 (N-API prebuilds), sqlite3 6, @simplewebauthn 14, @elastic/elasticsearch 9\u000a- xlsx: npm 0.18.5 (unfixable advisories) → SheetJS CDN tarball 0.20.3 (same API, write path only)\u000a- Removed unused @nuxt/image (pulled vulnerable ipx) and ndarray-pixels; alga-css pinned exactly to\u000a  1.0.0-beta-51 (npm audit fix would move it to the foreign 1.0.0-wood-* line)\u000a- nuxt.config: vite.build.cssMinify = 'esbuild' — Vite 8's lightningcss rejects an invalid selector in\u000a  bulma-extensions.min.css and fails the build\u000a- Lockfile regenerated from scratch (prod installs with npm ci)\u000a- Prod Node v22.14.0 → v22.22.3 (Nuxt 4.6 engine floor): deploy-production.sh, ecosystem.config.cjs,\u000a  pm2 systemd drop-in; node pre-installed on the host via nvm, deploy script flips the default alias\u000a- Recipe .claude/rules/nuxt/dependency-upgrades.md\u000a- Held back: @sentry/nuxt 11, pdfmake 0.3, @anthropic-ai/sdk 1.x (separate tasks)\u000a",
        "date" : "2026-10-22 08:10:18 +0200",
        "id" : "c45b03221311f76ad94f5002ccebe107050ee636",
        "msg" : "Dependencies: upgrade pass (npm audit 105 → 17, 0 critical) + prod Node 22.22.3",
        "paths" : [
          {
            "editType" : "add",
            "file" : ".claude/rules/nuxt/dependency-upgrades.md"
          },
          {
            "editType" : "edit",
            "file" : "deploy/pm2-root.service.d/override.conf"
          },
          {
            "editType" : "edit",
            "file" : "reference/ci/deploy-production.sh"
          },
          {
            "editType" : "edit",
            "file" : "ecosystem.config.cjs"
          },
          {
            "editType" : "edit",
            "file" : "package-lock.json"
          },
          {
            "editType" : "edit",
            "file" : "package.json"
          },
          {
            "editType" : "edit",
            "file" : "nuxt.config.ts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "server/api/accounting/settlement-exports/index.post.ts",
          "app/composables/useSettlementExportLog.ts",
          "app/components/accounting/SettlementGridFilters.vue",
          "app/components/accounting/SettlementLexofficeActions.vue",
          "app/pages/accounting/amazon-settlements.vue",
          ".claude/rules/accounting/lexoffice.md",
          "app/composables/useLexofficeSettlementExport.ts",
          "app/components/accounting/SettlementPeriodList.vue",
          "app/utils/settlementGridFilter.ts",
          "app/components/AgGrid/Accounting/AgLexofficeSyncStatus.vue",
          "server/api/accounting/settlement-exports/reset.post.ts",
          "app/pages/accounting/ebay-settlements.vue",
          "server/utils/settlementExportLog.ts",
          "server/api/accounting/settlement-exports/index.get.ts",
          "app/components/accounting/LexofficeHintsPanel.vue"
        ],
        "commitId" : "0253f6b9d29b056fc6eabf2fdcc0db355ace13dc",
        "timestamp" : 1792650145000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Settlements: per-period lexoffice export log (data/settlement-exports.db) — fee/Ads/adjustment/unmatched/payout rows get a CSV status, period list shows offen/teilweise/exportiert, default ticks = not-yet-exported periods, duplicate-export confirm, period-level reset; CSV filter no longer drops rows without an order marker\u000a",
        "date" : "2026-10-22 08:22:25 +0200",
        "id" : "0253f6b9d29b056fc6eabf2fdcc0db355ace13dc",
        "msg" : "Settlements: per-period lexoffice export log (data/settlement-exports.db) — fee/Ads/adjustment/unmatched/payout rows get a CSV status, period list shows offen/teilweise/exportiert, default ticks = not-yet-exported periods, duplicate-export confirm, period-level reset; CSV filter no longer drops rows without an order marker",
        "paths" : [
          {
            "editType" : "add",
            "file" : "server/api/accounting/settlement-exports/index.post.ts"
          },
          {
            "editType" : "edit",
            "file" : "app/composables/useLexofficeSettlementExport.ts"
          },
          {
            "editType" : "add",
            "file" : "app/composables/useSettlementExportLog.ts"
          },
          {
            "editType" : "add",
            "file" : "server/utils/settlementExportLog.ts"
          },
          {
            "editType" : "edit",
            "file" : "app/utils/settlementGridFilter.ts"
          },
          {
            "editType" : "edit",
            "file" : ".claude/rules/accounting/lexoffice.md"
          },
          {
            "editType" : "edit",
            "file" : "app/components/accounting/SettlementLexofficeActions.vue"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/accounting/amazon-settlements.vue"
          },
          {
            "editType" : "edit",
            "file" : "app/components/AgGrid/Accounting/AgLexofficeSyncStatus.vue"
          },
          {
            "editType" : "add",
            "file" : "server/api/accounting/settlement-exports/reset.post.ts"
          },
          {
            "editType" : "add",
            "file" : "server/api/accounting/settlement-exports/index.get.ts"
          },
          {
            "editType" : "edit",
            "file" : "app/components/accounting/SettlementGridFilters.vue"
          },
          {
            "editType" : "edit",
            "file" : "app/components/accounting/LexofficeHintsPanel.vue"
          },
          {
            "editType" : "edit",
            "file" : "app/components/accounting/SettlementPeriodList.vue"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/accounting/ebay-settlements.vue"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "reference/ci/deploy-production.sh"
        ],
        "commitId" : "91eaac695777f3eb9234ef9b642a052d98ad935c",
        "timestamp" : 1792650178000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Deploy script: keep data/settlement-exports.db (settlement export log) across deploys\u000a",
        "date" : "2026-10-22 08:22:58 +0200",
        "id" : "91eaac695777f3eb9234ef9b642a052d98ad935c",
        "msg" : "Deploy script: keep data/settlement-exports.db (settlement export log) across deploys",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "reference/ci/deploy-production.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "server/utils/leads/leadChat.ts",
          ".env",
          "server/utils/leads/leadAssessment.ts",
          "nuxt.config.ts",
          ".claude/rules/leads/ai-assessment.md",
          ".env-prod"
        ],
        "commitId" : "2898324c5ffdee9b00cd4ff5085aa3c52ea705da",
        "timestamp" : 1792668268000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Lead KI-Konsole: answer limit 8000 → 32000 output tokens (ANTHROPIC_CHAT_MAX_TOKENS, 1000–128000) + auto-continuation (up to 2 rounds) when an answer still hits max_tokens; 10 min client timeout\u000a",
        "date" : "2026-10-22 13:24:28 +0200",
        "id" : "2898324c5ffdee9b00cd4ff5085aa3c52ea705da",
        "msg" : "Lead KI-Konsole: answer limit 8000 → 32000 output tokens (ANTHROPIC_CHAT_MAX_TOKENS, 1000–128000) + auto-continuation (up to 2 rounds) when an answer still hits max_tokens; 10 min client timeout",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".claude/rules/leads/ai-assessment.md"
          },
          {
            "editType" : "edit",
            "file" : ".env"
          },
          {
            "editType" : "edit",
            "file" : "nuxt.config.ts"
          },
          {
            "editType" : "edit",
            "file" : "server/utils/leads/leadAssessment.ts"
          },
          {
            "editType" : "edit",
            "file" : "server/utils/leads/leadChat.ts"
          },
          {
            "editType" : "edit",
            "file" : ".env-prod"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app/pages/users/leads/index.vue",
          "app/components/admin/LeadForm.vue",
          "app/composables/useIsMobile.ts",
          "app/pages/users/leads/[id]/edit.vue",
          "app/components/leads/CardList.vue",
          ".claude/rules/leads/crm-qualification.md",
          "app/assets/langs/shared.js"
        ],
        "commitId" : "2146eb6cda626967bfe67e1c156bc25e80917dc9",
        "timestamp" : 1792668268000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Leads on phones: card list (name, company, status, stars, follow-up, offer/contract, phone + dial, e-mail, URL) replaces the grid ≤ 768 px with search/sort/filter toggle; lead page gets collapsible form + side cards, 2-column CTA grid, fixed back · call · save bar; fix global aside rule hiding the side column on mobile\u000a",
        "date" : "2026-10-22 13:24:28 +0200",
        "id" : "2146eb6cda626967bfe67e1c156bc25e80917dc9",
        "msg" : "Leads on phones: card list (name, company, status, stars, follow-up, offer/contract, phone + dial, e-mail, URL) replaces the grid ≤ 768 px with search/sort/filter toggle; lead page gets collapsible form + side cards, 2-column CTA grid, fixed back · call · save bar; fix global aside rule hiding the side column on mobile",
        "paths" : [
          {
            "editType" : "add",
            "file" : "app/components/leads/CardList.vue"
          },
          {
            "editType" : "add",
            "file" : "app/composables/useIsMobile.ts"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/users/leads/index.vue"
          },
          {
            "editType" : "edit",
            "file" : "app/assets/langs/shared.js"
          },
          {
            "editType" : "edit",
            "file" : "app/components/admin/LeadForm.vue"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/users/leads/[id]/edit.vue"
          },
          {
            "editType" : "edit",
            "file" : ".claude/rules/leads/crm-qualification.md"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://jenkins.younex.de/user/info",
      "fullName" : "info"
    }
  ]
}