{
  "schemaVersion": 1,
  "evidenceId": "pos-item-import-boundary-5803f20",
  "status": "source-corrected-not-released",
  "reviewedAt": "2026-08-22",
  "canonicalPage": "https://posnic.com/import-products-from-excel",
  "claimScope": "Release-pinned CSV template checks, post-release input corrections and a separate source-only parser-to-repository-to-MongoDB runtime observation. The runtime result is not a packaged-release claim, throughput guarantee or capacity recommendation.",
  "stableRelease": {
    "releaseTag": "v1.3.0",
    "commit": "b531ef4308c4dc3a25f250551a54fc5616e3b8d9",
    "templateChecks": {
      "templates": 7,
      "testsPassed": 6,
      "testsFailed": 0,
      "actualBulkImportExecuted": false
    },
    "browserFileGate": {
      "acceptedBelowBytes": 337920,
      "maximumAcceptedBytes": 337919,
      "rejectedFromBytes": 337920,
      "feedback": "size should be less than 330kb !"
    }
  },
  "postReleaseSourceCorrection": {
    "commit": "c403ab8e7b091b1d97894afc0e6eefc8c1e30b89",
    "includedInStableRelease": false,
    "availableInPublishedDownload": false,
    "browserGuard": {
      "maximumCsvBytes": 10485760,
      "maximumDataRows": 10000,
      "extensionMatchCaseInsensitive": true,
      "emptyFileRejected": true,
      "actionableSplitMessage": true,
      "scope": "Shared CSV chooser used by built Posnic pages"
    },
    "itemApiGuard": {
      "maximumDataRows": 10000,
      "overLimitHttpStatus": 413,
      "runsBeforeItemRepositoryImport": true
    },
    "itemPlanLimit": {
      "behavior": "reject-whole-import",
      "reportsSubmittedRows": true,
      "reportsAllowedRows": true,
      "silentlyTruncatesRows": false,
      "scope": "Item import repository only"
    },
    "representativeAdmissionFixture": {
      "dataRows": 10000,
      "csvBytes": 1239066,
      "exceedsStableBrowserGate": true,
      "acceptedByPostReleaseBrowserGuard": true,
      "parsedByBrowserHandler": false,
      "sentToApi": false,
      "writtenToDatabase": false
    },
    "verification": {
      "verifiedAt": "2026-08-22T14:40:24.884Z",
      "verificationCommit": "5803f200636c777eef77e2e5e1fe31fb86b38fd5",
      "focusedBrowserPolicyTestsPassed": 7,
      "focusedBrowserPolicyTestsFailed": 0,
      "focusedItemApiTestsPassed": 295,
      "focusedItemApiTestsFailed": 0,
      "evidenceRunnerTestsPassed": 7,
      "evidenceRunnerTestsFailed": 0,
      "rootTestsPassed": 926,
      "rootTestsFailed": 0,
      "apiTestsPassed": 9425,
      "apiTestsSkipped": 13,
      "apiTestsFailed": 0,
      "apiSuitesPassed": 287,
      "apiSuitesSkipped": 2,
      "productionAssetBuildPassed": true,
      "compiledDashboard": "dashboard.56c34e88.js",
      "compiledDashboardBytes": 3328775,
      "policyAppearedBeforeHandler": true,
      "legacy337920MarkerPresent": false
    },
    "sourceFiles": [
      {
        "path": "frontend/static/script/js/core/import-file-policy.js",
        "sha256": "c8003b88293ed5ecdf53ec1cc9e2cb7064e63cb4d76fc373c449d29ce7ac4046"
      },
      {
        "path": "frontend/static/script/js/core/PosnicPro.js",
        "sha256": "6276918016bb944b24d742808b985da637a24f62ef3678ce0371c7b9812ab610"
      },
      {
        "path": "api/src/controllers/items.controller.js",
        "sha256": "31673175ebeb01b823d5620775473bdd0aa4acff465098dbd1d0fe75e994246c"
      },
      {
        "path": "api/src/repositories/item.repository.js",
        "sha256": "7a20d9a8f9026908ffd04ec64b95f34fa1dc73a609bf74c78f218b05ceae13bd"
      },
      {
        "path": "tests/import-file-policy.test.js",
        "sha256": "e4d6a512badcfb31d0b5ce7b36ff14e5aefa0d59996c2a398e8587d26fd988d5"
      },
      {
        "path": "docs/USER_GUIDE.md",
        "sha256": "6ccbba7bb51be59727aebaf7a9962fb2586cc75eb978ce73be3fbbc679f7dd6e"
      }
    ],
    "sourceHistory": [
      {
        "change": "Explicit browser, API and plan-limit guards",
        "commit": "c403ab8e7b091b1d97894afc0e6eefc8c1e30b89"
      },
      {
        "change": "Shared standards-aware CSV parser",
        "commit": "b672f2615e99de13c6f9c8dae72b5998730f4221"
      },
      {
        "change": "Whole-file duplicate-row rejection",
        "commit": "699fd8df2035d426608827e63776f333cbd9eff8"
      },
      {
        "change": "Reproducible isolated runtime evidence runner",
        "commit": "d4670372caebd8506b57b3ee679f9fef1f30c672"
      }
    ]
  },
  "sourceRuntimeEvidence": {
    "status": "observed-not-released",
    "testedAt": "2026-08-22T14:40:24.884Z",
    "commit": "5803f200636c777eef77e2e5e1fe31fb86b38fd5",
    "projectVersion": "1.4.0",
    "includedInStableRelease": false,
    "availableInPublishedDownload": false,
    "worktreeClean": true,
    "report": {
      "url": "https://posnic.com/assets/posnic-item-import-runtime-source-5803f20.json",
      "bytes": 10845,
      "sha256": "9fbe3b3fa15895062329785a7ece0225e716748e18cbfc8c0726521ed300d3b6"
    },
    "method": {
      "sharedBrowserParserExercised": true,
      "itemRepositoryExercised": true,
      "realMongoDBExercised": true,
      "browserFileReaderExercised": false,
      "httpControllerExercised": false,
      "authenticationExercised": false,
      "packagedDesktopExercised": false,
      "customerDataUsed": false,
      "oneCleanDatabasePerCase": true,
      "oneRunPerScale": true
    },
    "scaleObservations": [
      {
        "submittedRows": 100,
        "csvBytes": 14718,
        "sharedParserMs": 1.193,
        "repositoryAndDatabaseMs": 281.397,
        "persistedItems": 100,
        "reconciled": true
      },
      {
        "submittedRows": 1000,
        "csvBytes": 146259,
        "sharedParserMs": 4.596,
        "repositoryAndDatabaseMs": 1771.779,
        "persistedItems": 1000,
        "reconciled": true
      },
      {
        "submittedRows": 10000,
        "csvBytes": 1470601,
        "sharedParserMs": 32.916,
        "repositoryAndDatabaseMs": 15269.858,
        "persistedItems": 10000,
        "reconciled": true
      }
    ],
    "preservationChecks": {
      "distinctItemIds": true,
      "leadingZeroItemId": true,
      "leadingZeroBarcode": true,
      "quotedCommaAndQuote": true,
      "quotedMultilineField": true,
      "unicode": true,
      "zeroQuantity": true
    },
    "rejectionChecks": {
      "planLimitZeroWrites": true,
      "duplicateKeyZeroWrites": true,
      "requiredFieldZeroWrites": true
    },
    "matchedReimportChecks": {
      "itemCountUnchanged": true,
      "priceUpdated": true,
      "imagePreserved": true,
      "behaviorFlagPreserved": true,
      "priceHistoryWritten": true
    },
    "verification": {
      "evidenceRunnerTestsPassed": 7,
      "evidenceRunnerTestsFailed": 0,
      "rootTestsPassed": 926,
      "rootTestsFailed": 0,
      "latestApiTestsPassed": 9425,
      "latestApiTestsSkipped": 13,
      "latestApiTestsFailed": 0
    },
    "timingsPublishedAsPerformanceBenchmark": false,
    "independentlyReproduced": false
  },
  "limitations": [
    "The post-release correction is not part of the published v1.3.0 packages and must not be described as available in the stable download.",
    "The earlier representative admission fixture was admitted by the input policy only; it was not parsed by the browser handler or sent to the API.",
    "The separate runtime report did write and reconcile 10,000 generated rows, but it bypassed browser FileReader, HTTP, authentication and the packaged desktop.",
    "The 10 MiB and 10,000-row values are safeguards and are not throughput benchmarks or completion-time promises.",
    "The atomic subscription-limit correction covers item imports only; other import types were not evaluated in this source increment.",
    "The production asset build used a writable tracked-source copy and existing local dependencies; it was not a signed release artifact.",
    "No customer production catalog, independent reviewer, low-memory machine, spreadsheet application or concurrent till workload was used.",
    "The runtime timings are one observation per scale on one Windows x64 machine; Node peak RSS excludes mongod and the operating-system file cache.",
    "No fault injection, power loss, disk-full condition or crash recovery during a partially completed accepted import was tested.",
    "The import is not transactional across every submitted row.",
    "CSV correctness still depends on template headers, field validation, duplicate handling, category and supplier relationships, tax configuration and reconciliation.",
    "The source correction requires release packaging and a fresh end-to-end migration drill before its limits can support a stable-release claim."
  ],
  "relatedEvidence": [
    "https://posnic.com/import-products-from-excel",
    "https://posnic.com/assets/posnic-item-import-runtime-source-5803f20.json",
    "https://posnic.com/assets/pos-item-import-reconciliation.csv",
    "https://github.com/Posnic/POS/releases/tag/v1.3.0",
    "https://github.com/Posnic/POS/tree/b531ef4308c4dc3a25f250551a54fc5616e3b8d9",
    "https://github.com/Posnic/POS/tree/c403ab8e7b091b1d97894afc0e6eefc8c1e30b89",
    "https://github.com/Posnic/POS/tree/b672f2615e99de13c6f9c8dae72b5998730f4221",
    "https://github.com/Posnic/POS/tree/699fd8df2035d426608827e63776f333cbd9eff8",
    "https://github.com/Posnic/POS/tree/d4670372caebd8506b57b3ee679f9fef1f30c672",
    "https://github.com/Posnic/POS/tree/5803f200636c777eef77e2e5e1fe31fb86b38fd5"
  ]
}
